スキーマ駆動開発は、通常Web API開発で利用される手法です。たとえば、Protocol Buffers(Protobuf)を用いてデータ構造やエンドポイントをスキーマとして定義し、それを基にサーバーとクライアントのコードを自動生成することで、開発効率を向上させることが一般的です。この手法は、データの一貫性や自動化されたドキュメント生成など、多くの利点をもたらします。
本セッションでは、このスキーマ駆動開発の考え方をCLIツール開発に応用するアプローチを提案します。
発表では実装・公開済みのツールである Clio の紹介を含めます。
https://zenn.dev/nfurudono/articles/719e3aafac6065
https://github.com/naoyafurudono/clio-go
純粋関数という言葉をご存知でしょうか?
引数が同じなら常に同じ結果を返し、副作用のない関数を純粋関数と言います。
この純粋関数の基礎的な部分から、純粋関数を使うことによる良さを説明します。
そして、既存の関数を少しずつリファクタリングしていく過程を通して、開発に組み込むことを支援します。
目次は次の通りです。
サンプルコードの言語はJava/TypeScriptを利用する予定ですが、設計パターンの一つとしてどの言語でも役に立つ考え方となります!
なおこのセッションでは以下を目的としません
高齢の親など、離れて暮らす家族に異常がないか、見守るためのテクノロジーについて
私が実践していることを話します
既製品を使う方法(スマートスピーカ、監視カメラ、活動がわかる家電)
自分で開発する方法(RaspberryPiでセンサデータやカメラ映像解析)
などを解説します
スマートホーム化は見守りが必要な高齢者宅の方がメリットが大きく
親が高齢化するにあたって、誰しもが必ず直面する問題です。
現状の最新の見守りテクノロジーを知ると同時に、将来に備えることが大事です
またその過程で起きた不思議なバグ、祖母が就寝するとDBインサートが失敗するという現象について
物理現象と連動するシステムの不思議なバグについて話します
主にQiitaでバズったこの記事について話します
https://qiita.com/bohemian916/items/46f9f1e8bb32fc0a1f99
このセッションでは、AndroidのSDKのアップデートに関することを話します。
Android 15のリリースに伴い、targetSdkVersion 35 から強制的にEdge-to-Edgeが適用されるため、その対応について
2025年にはAndroid SDKのバージョン頻度が年2回に更新されるため、その情報についてまとめる
私が携わっているプロダクトでは、GraphQLを採用しており、周辺ライブラリにはHasura、gqlgen、Apollo Client、GraphQL Code Generatorなどを使用しています。
私は開発初期から参画し、技術選定からローンチ、運用に至るまで一貫して担当してきました。
このセッションでは、それぞれの技術選定を振り返り、実際に良かった点や課題に感じた点を率直にお話しします。
さらに、これらの経験を踏まえ、もし同じプロダクトをゼロから開発するとしたら、どの技術を選び、何を考慮するかについて紹介します。
エラーが発生したとき、ログを追ったりデバッグを繰り返したりするのは大切な作業ですよね。でも、それだけだと「エラーが起きた後の対処」に留まってしまいます。もっと良い方法があるとしたら?
設計の段階から、エラーが「見つけやすい」仕組みや「そもそも起きにくい」コードの書き方を取り入れることで、システムの信頼性がグッと上がり、あとから困ることも減ります。
このセッションでは、例外の基本的な役割や考え方から始めて、PHPやJavaのように例外を持つ言語と、RustやGoのように例外を使わない言語のエラーハンドリングを比較。それぞれの特徴を活かした設計方法をお話します。難しい話だけでなく、「こうすれば実務で役立つ!」という具体例も紹介しますので、チームのディスカッションにもぜひ活用してください!
このセッションでは、3Dモデルを作成するだけではなく、ECサイト上に組み込まれたWebアプリケーションとしての3Dモデル生成機能について、どのように実現したのか実例を交えながら解説します。
得られること
話さないこと
肩こりに悩み、この夏から自作キーボードと呼ばれるタイプの分割キーボードを使い始めました。
使えば使うほど、カスタマイズして自分好みにしたくなる素敵なキーボードです。
そのキーボードの魅力とわたしがどのようにカスタマイズしているのかについてお話します。
普段使っているものに自分が合わせるだけではなく、もの側を自分に合わせていくという考え方をお伝えします。
自分がいつも何気なく使っているものに対して、もっと自分の快適さや主体性を求められるんじゃないかということを考える機会になると思います。
Java言語仕様まわりのトピックスを取り上げます。
2024年3月 Java 22
2024年9月 Java 23
2025年3月 Java 24
での更新内容などについて1年ぶんをまとめます
JavaのWebアプリケーションはJava EEを基本としてサーブレット/JSPを中心に作られていましたが、Spring Bootが主流になるなどJava EE / Jakarta EEの存在感は薄れてきています。また、クラウドやコンテナが使われるようになり、QuarkusやMicronautなどフルスタックのフレームワークもあらわれはじめ、標準規格としてもMicroProfileが活動をはじめました。
このセッションでは、リクエスト処理のフレームワークについて命令形式・宣言形式・コンポーネント形式の3つにわけて紹介し、それらの実行環境についてクラウドにあわせてどのような変化があったかを整理して現状を紹介します。
これまで、地図やGPSを活用したアプリケーションをいくつか開発してきました。その際、現場で役立つアプリを設計するために、私が工夫したことを話します。具体的には、「スマホの機能(GPS・加速度センサ・カメラ)を活用して、ゴルフ場で距離・高低差を測り、弾道をシミュレーションする方法」と「緯度経度情報をもとに、AR空間にオブジェクトを配置するための、位置と回転の計算方法」について説明します。イベントに参加される方々の技術的背景は様々とのことなので、実装の詳細には触れず、あらゆる言語環境に応用可能な「考え方」をお話しできるように努めます。
社会人8ヶ月目の新人エンジニアどすこいです!プロダクトに配属した後に挑んだ最も大変だったタスクの話です!
僕のいる事業部のプロダクトはサブスクリプションでお客様からお金を支払っていただいているサービスです。
プロダクトのKPIに関わる数値として、新規契約数、更新契約数、解約契約数、有効契約数があります。
しかし、このプロダクトはこれらのKPIの数字を出すロジックが整備されておらず、次のような困難がありました。
UnJSは、独立したJavaScriptライブラリ、ツール、ユーティリティの集まりです。2024年11月現在、63のパッケージが存在します。
このLTでは、UnJSのJavaScriptツールをテンポよく紹介します!
CLIを簡単に構築できる「citty」、どこでも動くWebサーバー「Nitro」、軽量で高速なルーター「radix3」など、Starをたくさん獲得し、すでに様々な場所で使われているツールから、あまり日の目を見ないけど地味に役立つツールまで、5分で一気にお届けします。
新規配信者の課題である「コメントの少なさ」に対し、配信の盛り上げ役となるAI「waiwai-ai」を開発しました。本トークでは、waiwai-aiが視聴者のコメントを生成・投稿する仕組みを支える技術スタックについて解説します。具体的には、Slack APIを通じてコメントを投稿し、Difyを活用して生成AIを動かすアーキテクチャ、さらに音声認識と仮想オーディオデバイスによるリアルタイム字幕生成の実装詳細を紹介します!!
最近では、Reactを使ってアニメーションを実装するシーンでは、Motionが人気です。
Webアニメーションの実装では、古くからGSAP(GreenSock Animation Platform)が有名でした。特にタイムラインという形のAPIで動画編集のようにアニメーションの変化を指定できるAPIが人気でした。
しかしながら、GSAPとは違いタイムラインに基づくアニメーションを実装するためのAPIがMotionには提供されていません。
本LTでは、Motionを使用してタイムラインをベースしたアニメーションの実装例を紹介します。
国のルールである「法律」は、一見するとプログラミングとは無縁の存在ですが、法律の姿を複数の視点から捉えてみると、意外にもコンピュータプログラムやシステム開発と共通する興味深い特徴が数多く浮かび上がります。
そのために、システムのプログラムの刷新は、まるで法律を大改正するような注意と配慮が必要になります。
本セッションでは、私が現職で取り組んでいるSaaS製品のフロントエンド刷新プロジェクトの事例と現状を紹介し、一方で「法律の脱レガシー」に近い取り組みの1つである「法律の現代語化」にも触れて両者の共通点を考察。法律の現代語化の一事例の顛末を教訓としてフロントエンド刷新プロジェクトの今後の注意点を探ります。
フロントエンド刷新の進め方や難点を学べるだけでなく、難解なイメージを持たれがちな法律の存在を身近に感じることもできる一粒で二度おいしい発表です!
OSS(オープンソース・ソフトウェア)の開発に参加したことはありますか?
それはハードルが高いな、と思ったそこのあなた、実は少しコツをつかめば誰でも気軽に参加できるんです!
このトークでは、その最初の一歩を支援する取り組み「OSS Gate」について紹介します!
OSS開発に興味がある方、世界を広げたい方、社員教育の題材をお探しの方などに、
「OSS Gate」という面白い取り組みがあることを知っていただき、今後活用していただければと思います。
「OSS Gate」は、OSS開発に参加する「入り口」を提供する取り組みです。
定期的に有志のワークショップを開催し、OSS開発をみんなで体験しています。
様々なソフトウェアの開発を、世界中のエンジニアと一緒に、自由にできる、
そんな魅力的なOSS開発の世界への「入り口」として、ぜひ「OSS Gate」をご活用ください!
Open UIは、Web プラットフォーム全体のInteroperabilityをUIの側面から高めることに取り組む、W3CのCommunity Groupです。
本セッションでは、<select />
の進化とGlobal Design Systemの話を交えつつ、UIにおけるWebの歴史的変遷、課題、そしてWeb UIのこれからの展望を包括的に紐解きます。
富山での教員時代の原体験をもとに、富山で開発した個人開発サービス『席替えメーカー』についてお話します。
『席替えメーカー』は、学校の業務を改善し、教員の負担を軽減することを目的として開発したWebサービスです。
2021年3月にリリースしてから、累計ユーザー数は50万人を突破し、今では日本中の教員の方が使ってくださるサービスに成長しました。
本セッションでは『席替えメーカー』の紹介だけでなく、サービスをリリースするまでの開発の過程や、実際にターゲットとしていた教員の方にサービスを認知してもらうために行ったマーケティング施策など、複数の観点でお話します。
ただサービスを開発するだけでなく、実際に多くの方に使ってもらえるようなサービスに育てたいという想いを持った方のお役に立てるようなセッションにしたいと思います。