こうの 4つの異なる言語・フレームワークにおける「列挙型(Enum)」の比較から学ぶ、設計思想の多様性と型安全性の未来
中級者以上を対象 (複数の言語のいずれかで開発経験があり、基本的な型システムやデータベース連携の概念を理解しているエンジニア)
Java、C#、Ruby、JavaScript(TypeScript)を想定しています。異なるコミュニティが集まるこの場所で、あえてすべての言語に共通する、そして最も設計思想の違いが表れる機能の一つ、「列挙型(Enum)」を徹底的に解剖します。
一見シンプルなEnumですが、その実装は言語の哲学そのものです。本セッションでは、この共通概念が各言語でどのように進化し、開発者にどのような設計上の恩恵と制約をもたらしているのかを、実用的なコード例を交えて比較・考察します。
本トークでは次の内容について話を進めます。
まず、JavaとC#という兄弟のような言語におけるEnumの根本的な違いを明確にします。
JavaのEnumはEnum定数がフィールドとコンストラクタを持つ「クラスインスタンス」です。これにより状態と振る舞いをカプセル化し、ポリモーフィズムを実現する設計哲学を解説します。
C#のEnumは「名前付きの整数定数」として扱います。拡張メソッドや[Flags]属性による実用的な拡張に焦点を当てます。
そして後発のPHPのEnumはJavaのメソッドとC#のバッキング値の良いところを取り入れ、特にDB連携を意識したモダンな設計になっている点を紹介します。
ネイティブでEnumを持たない言語が、いかにしてこの概念を取り込んだかを探ります。
TypeScriptのEnumは開発時の型安全性と、それがJavaScriptにトランスパイルされた際の挙動の危うさ(数値の型安全性の問題など)を示します。最近のJavaScriptへのネイティブEnum導入に関するTC39の議論にも触れ、この機能の未来を予測します。
一方、Ruby on Railsのenumは言語本体ではなく、フレームワーク(Rails)の機能としてDB連携に特化することで、生産性と利便性を極限まで高めたアプローチを考察します。静的型付けの世界では見られない、Rails特有の「規約の力」を強調します。
最後に、これらの比較を通して得られる重要な知見を共有します。
多値の表現力としてJavaの複数のフィールド vs PHPの単一のバッキング値 vs TSの柔軟性。
振る舞いのカプセル化としてEnum自身にロジックを持たせるべきか、外側でswitchで分岐すべきか。
永続化とリファクタリングとしてDBに依存するRailsのenumと、依存しないJava/C#のEnum、どちらが長期的な保守性に優れるのか。
など、Enumを基準として各言語ごとにどのように「列挙型」と向き合っていくべきかを示します。
このセッションは、単なる機能紹介に留まらず、あなたの日常的なコーディングにおける「良い設計とは何か」「型安全性とは何か」という問いに、複数の視点から答えを与えます。他言語のEnumを知ることで、あなたのメイン言語のEnumが持つ強みと制約を再認識し、より深く、より保守性の高いコードを書くための新たな視点と熱意を持ち帰ってください。
MakKi ORMやフレームワークに依存しない、SQL主導のDBマイグレーション。
スキーマを長期的に管理するための合理的アプローチを、ツールと思想の両面から考察します。
ある程度経験を積んだエンジニアなら誰しも一度は「これはSQLで書いたほうが早い」と感じたことがあるでしょう。
ORMやDSLによるDB操作は安全面など様々なメリットがある一方で、RDBMSの機能や性能を限界まで引き出すことはできません。
DBのマイグレーションに関しても同様に、SQLで書きたい、あるいは書かざるを得ない場面が稀によくあります。
データの寿命がサービスのそれよりはるかに長いことはよく知られています。ではスキーマの寿命はどうでしょう。
スキーマはDBと共に生きるものであり、フレームワークやライブラリ、ツールといった周辺技術よりもずっと長命なのです。
寿命の短いものでスキーマを管理するより、DBと寿命をともにするSQLを用いるのが合理的ではないでしょうか。
一方で、SQLだけでDBマイグレーションを運用するには多くの課題があります。
本セッションでは、SQLだけで安全かつ確実にDBマイグレーションを行うために必要な要素を整理し、それを支えるためのツール「migy」とそのコンセプトを紹介します。
SQLをマイグレーションの中心に据えてRDBMSの力を最大限に活かしつつ、長期的な信頼性を実現するためのアプローチを提案します。
杉山貴章 2025年5月、Java 25がリリースされました。
「えっ、Javaってもう25まで進んでるの?」――そう驚いた方、実はJavaはその間、驚くほど大きく変わりました。
あなたのイメージするJavaのバージョンはいくつでしょうか?
Java 11ですか?それとも8ですか?まさか7以前なんてこと…。
Java 8/11の時代から、Javaは6ヶ月ごとに新バージョンをリリースしながら着実に進化を続けてきました。
型推論、レコード、パターンマッチング、仮想スレッドなど、新しい機能が次々と投入されており、昔の知識のままで最新のコードを見たら、「これ、本当にJava?」と二度見してしまうことでしょう。
Java仮想マシンやガベージコレクタの改善、AOTコンパイラのサポートなどによって、実行時のパフォーマンスも劇的に向上しました。
本講演では、「懐かしのJava」から「モダンなJava」への変化を、実際のコード例とともに紹介します。
「Javaは古い」「冗長で書きにくい」というイメージを持っている人にこそ、変貌したJavaを見ていただきたいです。
Javaもどんどん変わっているということを知ってもらいたい
miki ---私はこんな人!---
私は日頃、QA(テストエンジニア)として案件にアサインされています。
作業範囲はIT、ST、リグレッションなど状況に応じて様々。
管理ツールなどは利用しつつ、未だテスト設計そのものはほぼ手書きになっているのが現状です。
そんな中、社内外ともに積極的なAI利用が求められ、苦手なAIと真正面から向き合わないといけない日々が到来してしまいました。。
---こんな方に聞いて欲しい---
開発に関わるすべての方。
現場でバリバリ開発やテストをしている方も、案件管理などマネジメントラインの方も、すべてが対象です。
---テスト設計とAI---
私はテスト設計(≒QA)とAIはとても「相性が悪いもの」だと思っています。
本当は気軽にあれもこれもAIに読み込んで処理してもらいたい・・・
でも現実はそうはいかず、ただ資料を読み込ませたりルールを指定するだけだと、結果を出力する度に内容が変わっていたり、あるものを「ない!」と元気に返してくれたり、なんだかんだで使い物にならず頭を抱えます。
仕様書/設計書は基本的に日本語で書かれていますので、時に書き手により文体や表現の違う文章を処理しないといけません。
フローチャートなど、AIが苦手とする図表などがふんだんに含まれている場合も多々あります。
そもそも、昨今アジャイル開発が増えている中、仕様書がちゃんと作成されていないことも・・・
そう、テスト設計はAIと相性の良さそうなプログラミング言語ではなく「自然言語」、ひいては「人」を相手にしないといけない、という大きな壁が立ちはだかるのです。
また、利用できるAIには制限があります。
できれば日本語の処理に強いものを利用したいのですが、予算や会社都合が発生したりします。
私はいまcursorを利用しているのですが、そもそも開発者ではないのでエディタ系の画面がまず見慣れない・・・
こんな思わぬ落とし穴もあったりします。
---この登壇でお伝えしたいこと---
近年、AI活用をテーマにした有効なお話はたくさんありますが、たまには扱いが下手な人が、苦手なりに頑張るお話があっても良いんじゃないかな?と思い、この内容で応募させて頂きました。
特に開発とQAではAIが作業効率に寄与する割合に大きな差があるものの、現場目線だとそれが伝わりにくく「やりたくないだけでしょう?」と思われてしまうこともしばしば。
そんな誤解を少しでも解消すべく、どのようなことに苦戦し、試行錯誤しているのか・・・をお話する予定です。
また、この問題の解決にはエンジニアの協力がとても重要だと感じていることもお伝えできればと思っています。
haruki ※政治に関する話題は最低限にしている、あくまで技術的な視点でのトークです。
※特定の政治家・政治団体・政党のお名前を一切お話しません。
テクノロジー × デモクラシー
何かを作ってみたい、アウトプットをしてみたい方
政治なんてさっぱりわからない!という方(政治の知識は不要です。私も無いです)
学生の発表なので難しい話はしません、できません!
みなさんは「デジタル民主主義2030プロジェクト」をご存知でしょうか。
「デジタル民主主義2030」は、技術の力で市民の声を活かし、政治をより良い形に進化させることを目指したプロジェクトです。透明性と信頼を重視し、多くの人々が政策に参加できる未来を目指しています。
今回は、このプロジェクトから生まれたオープンソースソフトウェア(OSS)である "Polimoney" について、技術的な視点からご紹介します。
「Polimoney」は、政治とお金にまつわる「複雑なデータ」や「アナログな業務フロー」といった課題を、テクノロジーの力でボトムアップに解決しようとする「シビックテック」(※)の取り組みです。
(※市民がテクノロジーを活用して社会課題を解決する活動)
このプロジェクトは誰でも活動に参加できるのが特徴で、学生である私もcontributorとして開発に参加しています。
「なぜ今、この領域にエンジニアリング(OSS)が必要なのか?」という視点から、私たちが直面している課題と、それをどう乗り越えようとしているかをお話しします。
デジタル民主主義2030 https://dd2030.org/
polimoney https://polimoney.dd2030.org/
Masaki Suzuki 【テーマ】
・ ノーコードツールによるコードレス(=コードを書かない)開発の導入による恩恵・課題など
・ Lambdaレス(=コードレス)アーキテクチャの特徴
※以後「コードレスアーキテクチャ」について「Lambdaレスアーキテクチャ」と記載します。
【想定する参加者層】
・ ノーコードツールやLambdaレスアーキテクチャについて興味を持っている方、知りたい方
・ 業務改善に興味を持っている方、業務改善が課題となっている方
・ AWS Step Functionsについて興味を持っている方、知りたい方(使用経験は必須ではありませんが、経験があるとなお一層理解が深まります)
※ エンジニアである必要は全くありません。非IT部門の方にとっても十分役に立つ内容となっています。
【トーク概要】
私は今年、KDDIグループ約4000人が使用するJira/Confluenceのオンプレ→クラウド移行を実施しました。
そしてその際、業務改善として実施したオペレーションの自動化において、AWS Step FunctionsおよびJira Automationなどノーコードツールによる「Lambdaレスアーキテクチャ」を導入しました。
もともとアプリ開発といえば「コードを書く」ものであり、AIが台頭した現在は「AIにコードを書かせる」という流れになっていますが、やはり現在でも「コードを書く」のが主流だと思います。
しかし近年は運用工数削減や非エンジニアの方でもアプリ開発ができる事、そして「Lambdaレスアーキテクチャ」の普及もあり、AWS Step Functionsのようなノーコードツールによる「コードを書かない」開発を導入するケースも増えています。
はたして「コードを書かない」開発は「コードを書く」開発と比較して何が良いのでしょうか?
そして、何が課題になるのでしょうか?
そこでこのセッションでは、先ほどの業務でのLambdaレスアーキテクチャの導入経験から学んだ
・ Lambdaレスアーキテクチャの特徴
・ ノーコードツールの恩恵と課題
・ AWS Step Functionsを導入する際の注意点・ノウハウ
について、エンジニアおよび非エンジニア、両方の観点からお話ししたいと思います。
【セッションゴール】
・ Lambdaレスアーキテクチャ、ノーコードツールの概要、およびノーコードツール導入によるメリット・注意点をエンジニアと非エンジニア、両方の観点から理解できるようになる
・ AWS Step Functionsを導入する際のノウハウや注意点を理解できる
Masaki Suzuki 【テーマ】
・ システムやデータベースなどの大規模マイグレーションを担当する際、それをどう実施するか(=担当者観点)
・ 大規模マイグレーションが発生した際、それに対して何をすべきか(=ユーザー観点)
【想定する参加者層】
・ 大規模マイグレーションを担当する可能性のある方(インフラ管理、IT資産管理者など)
・ システムやデータベースなどを利用したアプリケーションを開発・運用使用している方(アプリケーションエンジニア、クラウドエンジニアなど)
※自分が大規模マイグレーションの担当者でなくても、十分役に立つ内容となっています。
【トーク概要】
皆さんが普段使用しているシステム・データベースなどのリソースは、いつの日か必ずEoL(End of Life)がやってきます。
そしてその際、もしかしたら会社並びにアプリユーザー全体に影響を及ぼすような大規模なマイグレーションが発生するかもしれません。
もし自分がそんな大規模マイグレーションの担当になったとしたら、皆さん何をすればいいのか、何に気を付けたらいいのか、お分かりになるでしょうか?
またそうでなくても、大規模マイグレーションが発生したリソースを使ったアプリを開発・運用していた場合に、何を対応すればいいでしょうか?
このセッションでは、某有名決済アプリ関連のデータベースマイグレーション、そして弊社にてKDDIグループ4000人以上が使用するJira/Confluenceの大規模マイグレーションの経験から、
・ 自分が大規模マイグレーションの担当になった際、何に注意し、何をすればいいのか
・ 大規模マイグレーションが発生したリソースを使ったアプリを開発・運用していた場合に、どんな対応をすればいいのか
についてお話したいと思います。
また大規模マイグレーションの担当者観点から見た「大規模マイグレーションが発生した際のアドバイス」もお話しする予定です。
【セッションゴール】
・ 大規模マイグレーションの担当になった際に注意すべきこと、意識すべきこと、実施すべきことを理解できる
・ 大規模マイグレーションが発生した際に対応すべきこと、意識すべきことが理解できるようになる
infixer HTMLのbuttonタグはWebサイトに必ずと言っていいほどあるとても重要なUIとして存在します。
しかし、ボタンを押すという一見単純なUIでありながら、HTMLのbuttonタグとしてみると現代では、様々なContent attributesが存在しています。 またフロントエンドエンジニアとしてボタンUIをコンポーネント化する際の設計時に、責務について頭を悩ます存在でもあります。
このLightning TalkではHTMLのbuttonタグの仕様を紹介します。 内容を聴いてWebUIのボタンについて一緒に理解しましょう!
はやせ 生成AIの普及により、エンジニアの開発スタイルは劇的に変化しました。
Claude CodeやCodexなどのコーディングエージェントを利用することで、誰でもある程度のコードを書けるようになり、知らないことの調査やエラー解決も短時間で可能になりました。
しかし、その一方で「生成されたコードを理解できていない」や「AIの回答の成否を判断できていない」といった課題も顕在化してきており、AIに使われる側に回ってしまうケースも増えています。
だからといって、AIを禁止にするのはナンセンスです。
むしろ、これからの時代、AIを使いこなす力は不可欠なスキルとなります。
そのために必要なのは、AIに依存するのではなく、AIを活用して成長するための新しい育成デザインです。
開発スタイルが変化したのと同じように、育成のアプローチも変化させる必要があります。
本セッションでは、AI時代のエンジニア育成において実際に遭遇した課題と、それに対する実践的なアプローチを紹介します。
実際にチームで試行錯誤しながら取り組んでいる施策として、AIを使わずに問題解決を考える「No AI Day」や、AIとの対話を通じて理解を深める「learnコマンド」、「パーソナライズされたAIコードレビュー」などを共有します。
AI時代に求められるのは、AIに「使われる側」ではなく「使う側」になるための育成です。
現場での試行錯誤から得た知見を通して、明日からチームで試せる実践的なアプローチを共有します。
□い芸人 ■ 対象聴衆/前提スキル
■ 登壇者プロフィール
通信事業者向けの研修事業を経て、2013年からCPaaS領域に携わる。
2016年よりTwilioのエバンジェリストとして活動し、現在はVonageのエバンジェリスト。
電話・WebRTC・生成AIを組み合わせた音声アプリケーションの開発・普及に取り組むフルスタックエンジニア。
年間100件以上登壇し、APIと音声の融合領域でコミュニティ啓発を行っている。
元、赤い芸人。
■ セッション概要
Web技術の進化により「電話」はいま、APIで自在に制御できる時代を迎えています。
さらに生成AIの登場によって、音声の世界にも新しい開発体験が生まれました。
本セッションでは、電話の基本構造からVoIP/WebRTC、STT・TTS、生成AI連携まで、Webエンジニアにも馴染みのある技術を軸にわかりやすく解説。
デモでは「AIがリアルタイムに電話対応する」仕組みを紹介し、音声通信の新しい可能性を体感していただきます。
■ 学び・持ち帰りポイント(Take-aways)
HTTP/WebSocketなどWeb標準技術で“電話”を扱う基本概念を理解できる
VoIP/WebRTC/STT/TTS/生成AIを組み合わせた音声アプリ構成をイメージできる
通話のリアルタイム処理(音声ストリーミング・LLM連携)の仕組みを知る
「電話×AI×Web」領域の開発ネタ・実験アイデアを持ち帰れる
にしこりさぶろ〜 登壇や記事執筆といった発信活動は、エンジニアのキャリアアップに良い影響をもたらします。
発信活動を通して、自身の知見・経験が言語化され、誰かの課題を解決し、キャリアの可能性が広がる。発信活動を継続することで、新たな仲間との出会いも生まれ、活動そのものが「楽しい!」と感じるようになる。
多くの人々が「何かを得られる」「何か楽しいことがある」と信じ、実際にリターンがあるからこそ、富山の地でのイベントが10年も続くのだと思います。
そんな発信への熱い想いを持つであろうみなさんの組織に、発信文化は根付いているでしょうか?
発信が組織の文化として根付くには、自分以外のメンバーも継続的に発信へと取り組んでいる必要があります。一方で見落としがちですが、発信活動(特に外部への発信)は、しばし多くの労力を伴います。自身の思考整理にはじまり、情報の裏取り、執筆作業、発表練習などなど。発信をしたことのない誰かに、発信活動を通して「何かを得られる」「何か楽しいことがある」と感じてもらい、能動的な行動へとつなげるには、様々な壁を超えなければなりません。
本セッションでは、長らく個人で発信活動を続けつつ、業務ではDevHRとして試行錯誤を積み重ね、組織全体の発信数が年間10件にも満たなかった状態から、直近半年で50件を超えるまで引き上げた実績も交えつつ、「組織全体で壁を超え、発信を文化として根付かせる」ために必要なことについて、シェアできたらと思います。
成功体験
失敗体験
転機
※以降、直近の発信文化醸成の試行錯誤を交えつつ、Learning Outcomeへとつなげていきます。
つかも 概要
エンジニアとして実務に携わり始めた私は、最初の数ヶ月で数々の"しくじり"を経験しました。
例えば、SQL の条件指定ミスでスコープ外のデータが見える危険なバグを作成したり、「善意のリファクタリング」が先輩の変更とコンフリクトして修復不能に陥ったり...。さらには、AI レビューツールの提案を鵜呑みにして無駄な修正を繰り返すという、しくじりも経験しました。
しかし今となって思うのは、これらの失敗こそが最高の学習材料でした。特に AI ツールを活用するようになってから学んだのは、AI やツールが答えをくれる時代だからこそ、「自分の頭で考え、判断する力」が重要であるということです。
このセッションでは、ジュニアエンジニアが現場で直面する様々な課題と、そこから学んだ「AI 時代に必要な判断力」について等身大でお話することで、これから同じ壁にぶつかるジュニアエンジニアや、彼らを支える先輩エンジニアの助けになる時間にしたいと思います。
対象者
トーク構成
第 1 章:新米エンジニアの洗礼
第 2 章:俺のしくじりを超えてゆけ
第 3 章:AI レビューツール導入編
第 4 章:失敗から得た学び編
伝えたいこと
AI やツールが正答を示してくれる時代だからこそ、私たちは「判断する力」を磨かなければならないと感じています。
AI は確かに効率的で、間違いを減らしてくれます。
しかし、すべてを委ねてしまえば、自分で考え、判断し、失敗から学ぶ機会が失われてしまいます。
ツールは答えをくれますが、どの答えを採用するかは、最終的に自分が決めなければなりません。
このセッションで伝えたいのは、「失敗を恐れず、自分の考えで決めること」の大切さです。
優秀なエンジニアの成功談ではなく、“何度もしくじりながら少しずつ判断力を磨いてきた ジュニアエンジニア”として、同じように悩む誰かの背中をそっと押せる時間にしたいと思います。
【テーマ】
サーバーサイドレンダリング(SSR)における「クロスリクエスト状態汚染」の危険性と、その根本原因となる設計上の問題の解説。モダンWebフレームワーク「Astro」を例に、リクエストごとに状態を安全に分離するための具体的な設計パターンと実践的対策。
【想定する参加者層(前提知識)】
Webアプリケーションの開発経験がある方 (特定のフレームワーク(Astroなど)の知識は必須ではありません。)
【トーク概要】
「ローカル開発では完璧に動くのに、本番環境で時々データがおかしくなる…」 そんな経験はありませんか?その原因、もしかしたらサーバーサイドでの「状態管理」の実装にあるかもしれません。
サーバーサイドレンダリング(SSR)のような、サーバー上でリクエストごとに処理を行うアーキテクチャは、Webのパフォーマンスを向上させる強力な手法です。しかし、クライアントサイドの感覚で安易に状態管理ライブラリを導入すると、実は時限爆弾を抱えている可能性があります。
同時リクエストが多発するサーバー環境では、あるユーザーのために用意された状態が、競合によって別のユーザーに漏洩してしまう、「クロスリクエスト状態汚染」という深刻な問題を引き起こす可能性があるのです。これは単なる表示の不具合に留まらず、個人情報漏洩に直結しうる、極めて危険なセキュリティリスクです。
このセッションでは、多くのWeb開発者が見落としがちな、このサーバーサイド特有の落とし穴を深掘りします。 なぜこの問題が起こるのか?その根本原因は、サーバー上でただ一つの共有データ置き場を、複数のリクエストで使い回してしまうという、設計上の問題にあります。 セッションでは、モダンなWebフレームワーク「Astro」と状態管理ライブラリ「Nanostores」を具体的なケーススタディとして取り上げ、どのようなコードが「地雷」となり、公式ドキュメントがなぜサーバーサイドでの安易な利用に警鐘を鳴らしているのかを、実際のコードを交えて解説します。
黒曜 ClaudeやChat GPTなどの生成AIでは、プロンプトを記述することで出力をコントロールします。
この際、自然言語ではなく疑似コードを用いてプロンプトを記述することで、手順や論理構造を端的に指示するテクニックが知られています。
疑似言語にはJavaScriptの文法を用いる例が多いですが、SudoLangなど専用の文法も考案されています。
この手法は一見便利そうですが、実際にどれだけ正確に意図が伝わるのでしょうか?
if文のネストは正しく解釈されるのか? for文やwhile文によるループは正確な回数繰り返されるのか? C言語のマクロ・Go言語のGoroutine・Prologのバックトラックなど、言語ごとの特殊な機能は正しくエミュレートされるのか?
わたし、気になります!
というわけで試した結果を共有します。
想定する参加者層
生成AIに関心を持っているエンジニア。
特にプロンプトエンジニアリングの経験は問いません。
テーマ
生成AIの疑似言語によるプロンプティングの正確性・限界を確認する
(レギュラーセッションと同内容で応募していますが、LT枠に収めるため事前説明は省いてプロンプト例と結果を出して一言解説つけるくらいのテンポ感を想定しています)
黒曜 ClaudeやChat GPTなどの生成AIでは、プロンプトを記述することで出力をコントロールします。
この際、自然言語ではなく疑似コードを用いてプロンプトを記述することで、手順や論理構造を端的に指示するテクニックが知られています。
疑似言語にはJavaScriptの文法を用いる例が多いですが、SudoLangなど専用の文法も考案されています。
この手法は一見便利そうですが、実際にどれだけ正確に意図が伝わるのでしょうか?
if文のネストは正しく解釈されるのか? for文やwhile文によるループは正確な回数繰り返されるのか? C言語のマクロ・Go言語のGoroutine・Prologのバックトラックなど、言語ごとの特殊な機能は正しくエミュレートされるのか?
わたし、気になります!
というわけで試した結果を共有します。
生成AIに関心を持っているエンジニア。
特にプロンプトエンジニアリングの経験は問いません。
生成AIの疑似言語によるプロンプティングの正確性・限界を確認する
Capi(かぴ) 昨今のITエンジニアは求められる知識と技能が広がり続けています。私自身もWeb業界にいてその変化を強く感じてきました。これまでも新しい技術を学び、自分のできることを増やす機会は多くありましたが、生成AIの登場によって学び方は少し変わりました。
これまでバックエンドエンジニアとしてキャリアを積んできた私がフロントエンド開発に挑戦し、日々の実践と生成AIの活用を通じて成長していった過程をお話しします。
最初はTypeScriptでCLIツールやREST APIを作るところから始め、React.jsで小さなアプリを作ってアウトプット。転職後は実務でフロントエンド開発を進んで担当し、ペアプログラミングを実施することで自然と自らフロントエンド開発を進められるようになりました。
学びを支えたのは「継続して手を動かすこと」と「生成AIを学習の加速装置として使う姿勢」です。自分に無い実装の引き出しを他の人と一緒に実装することで獲得したり、AIの出力を鵜呑みにせず一次情報を調べ、実装で確かめることで理解を深めました。人との協働による実践的な成長と生成AIによる学習サイクルの高速化がうまく融合しました。
その積み重ねの結果、私はフロントエンド中心のプロジェクトに参加し、自身の責務を果たすことができました。
このセッションでは、「新しい領域を学ぶためにできる工夫」、「生成AIによって変化した自学習」、「実践を通じてどう変わっていったか」を、私自身の経験をもとにお話しします。
話すこと(変更の可能性あり)
・ 新しい領域を学ぶときの工夫
・ 生成AIによって自学習がどのように変化したのか
・ たくさんの実践を経て自分がどう変化したのか
ダイス FlutterによるWeb開発の基礎から最近の技術まで解説します。
1つのコードから複数プラットフォームに展開する開発手法、Flutter Webで既存Webコードを活用する方法、そしてWebAssembly (WASM)の対応状況と使い方を、実例を交えて解説します。
FlutterやDartの経験は不要です。
Flutterはマルチプラットフォーム開発に対応しており、Webアプリの開発にも対応しています。
この発表では、Flutter Web開発を中心にFlutterについて解説します。
Flutterの基礎として、1つのコードでiOS、Android、Web、デスクトップすべてに対応できるマルチプラットフォーム開発を紹介します。 またFlutter Webについて取り上げ、レンダリング手法について紹介します。
Flutter Webの中で既存のWebComponentsを埋め込んで使う方法を紹介します。Flutter Webではまだサポートされていない技術や、既存のWebの資産を再利用したいときに便利な方法です。
WebAssemblyの対応状況や、WebAssemblyを有効にする方法を紹介します。Flutter 3.22以降で正式対応したWASMビルドで、Flutter Webのレンダリングがどう変わるのか既存のレンダリングと比較します。
FlutterやFlutter Web開発の良さをお伝えできたらなと思います!
nus3 去年の Burikaigi では WebDriver BiDi とは何なのか話しました
https://speakerdeck.com/yotahada3/webdriver-bidi-burikaigi2025
今回は 2025 年の WebDriver BiDi の動向として
をふりかえり、2026 年の WebDriver BiDi がどうなっていくのかを予想します。
satoken ブレットボードで回路を組んだり、はんだ付けをしたり電子工作に慣れてくると基板を作りたくなりませんか?なりますよね。
JLCPCB を初めとした安価な中国メーカーの誕生により以前よりも基板を作るハードルはグッと下がりました。
しかしブレットボードやユニバーサル基板で試作した回路を実際どうやって基板にするかわからない方も多いことでしょう。
このセッションでは Kicad を使い、カンファレンスや勉強会などで使えるような名刺基板を作って発注するところまでを解説をしながら行います。
このセッションを聞けばすぐに皆さんも基板を作ることができるようになるでしょう。
ぜひ自分だけの基板を作ってTinyGoで遊んでみませんか。
・ 電子工作が好き、興味がある方
・ 基板を作ってみたい
・ もの作りが好き
・ TinyGoに興味がある方
杉山貴章 Javaで外部デバイスを直接制御する―
かつてそれは、JNI(Java Native Interface)による煩雑な連携とJVM外でのメモリ管理が必要で、できれば避けて通りたい領域でした。
しかし、Java 22で正式に導入されたFFM API(Foreign Function & Memory API) によって状況は大きく変わりました。
FFM APIは、Javaからネイティブ関数や外部メモリを安全かつ効率的に扱うための新しい標準APIです。
MemorySegmentやLinkerといった抽象化を通じて、JNIのようなヘッダ生成やネイティブラッパー無しで、Cの関数ポインタや構造体を安全に操作できます。
JDK標準として提供されるため、追加ライブラリに依存せずポータブルなコードを書くことが可能です。
本セッションでは、FFM APIを活用して Cライブラリやデバイス制御をJavaから安全かつ簡潔に扱う方法 を解説します。
簡単な電子工作を題材に、JNIとの違い、FFM APIの基本的な構造、メモリ管理モデル、そして実際のコード例を交えながら、Javaがネイティブの世界とどう橋渡しできるのかを紹介します。
Javaの最新動向に興味があって、Javaでいろんなことがしてみたい人。
電子回路は最低限しか扱わないので電子工作未経験でも大丈夫です。
Javaもどんどん進化してるということを見てもらいたい