エラーが発生したとき、ログを追ったりデバッグを繰り返したりするのは大切な作業ですよね。でも、それだけだと「エラーが起きた後の対処」に留まってしまいます。もっと良い方法があるとしたら?
設計の段階から、エラーが「見つけやすい」仕組みや「そもそも起きにくい」コードの書き方を取り入れることで、システムの信頼性がグッと上がり、あとから困ることも減ります。
このセッションでは、例外の基本的な役割や考え方から始めて、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空間にオブジェクトを配置するための、位置と回転の計算方法」について説明します。イベントに参加される方々の技術的背景は様々とのことなので、実装の詳細には触れず、あらゆる言語環境に応用可能な「考え方」をお話しできるように努めます。
Shopifyは、柔軟な拡張性と豊富なAPIを備えたECプラットフォームとして、幅広い開発アプローチを提供してきました。
従来は、Liquidを用いたテーマカスタマイズが主流でしたが、現在ではRemixを基盤としたHydrogenによるフルスタック開発が新しい中心となっています。
本セッションでは、Shopifyのプラットフォームとしての特徴に触れながら、LiquidとHydrogenそれぞれのアプローチを取り上げ、
Hydrogenがもたらす開発の可能性を紹介します。
新卒3ヶ月のエンジニア3人で、全社に対してAIセミナーを企画し、開催しました。
具体的には、ノーコードAIアプリ作成プラットフォームであるDifyのハンズオンを企画し開催しました。
主に非エンジニアでも動かせる簡単なハンズオンで、バックオフィスや多くの事業部、オフィス向けに開催しました。
その時の非エンジニア向けのDifyハンズオンの様子、その結果どのような変化が社内に起こったのかを紹介します。
また、それによって考えた社内のAIに関する考え方やその変化を開催側から紹介しようと思います!
会員登録や配達情報設定のように、名前や住所などといった個人情報をフォームにまとめて入力する場面が少なからずありますが、こんなときの強い味方がブラウザに備わっている「自動入力」機能です!
…と声高に叫びたいところですが、いざ使ってみると、変なところに名前が入ったり、電話番号が変に途切れたりと的外れな入力がされてしまい、修正や削除のためにかえって入力の手間がかかってしまうことがよくありませんか?
本LTでは、ブラウザの自動入力機能の仕組みを解説しながら、ユーザー(フォーム入力者)の立場からできることと、開発者(フォーム作成者)の立場からできることを紹介します!
社会人8ヶ月目の新人エンジニアどすこいです!プロダクトに配属した後に挑んだ最も大変だったタスクの話です!
僕のいる事業部のプロダクトはサブスクリプションでお客様からお金を支払っていただいているサービスです。
プロダクトのKPIに関わる数値として、新規契約数、更新契約数、解約契約数、有効契約数があります。
しかし、このプロダクトはこれらのKPIの数字を出すロジックが整備されておらず、次のような困難がありました。
技術同人誌を書こう。
アウトプットの一つの形としての「技術同人誌」。
書くことで様々なメリットがあります。自分の知識の整理、コミュニティとのつながり、名刺/ポートフォリオとして。何より楽しい。
技術同人誌に関わるようになって20年以上経ちますが、ネタ切れするどころか様々なアウトプット、つながりを日々生み出してくれています。
そんなアウトプットの効能、始め方をご紹介します。
なんか難しいかも?と思ってませんか?そんなことないですよ。
また、技術同人誌の現物を持って行きます。
技術同人誌という世界を知らなかった人はまずは読む方で飛び込んでみましょう。
読んだことあるという方は、書いてみましょう。ハードルが高い?
いえいえ。さくっと始める方法がいくつもありますね。
UnJSは、独立したJavaScriptライブラリ、ツール、ユーティリティの集まりです。2024年11月現在、63のパッケージが存在します。
このLTでは、UnJSのJavaScriptツールをテンポよく紹介します!
CLIを簡単に構築できる「citty」、どこでも動くWebサーバー「Nitro」、軽量で高速なルーター「radix3」など、Starをたくさん獲得し、すでに様々な場所で使われているツールから、あまり日の目を見ないけど地味に役立つツールまで、5分で一気にお届けします。
このトークではLambda + Monolith = Lambdalithの特徴と、それを加速するエコシステムとして AWS Lambda + Hono + CDKを想定し、私が実際にOSSコントリビュートしたことにより如何に活用しやすくなったかを紹介します。
近年 PostgreSQL あるいは(MySQL との互換性を持つ)TiDB などにやや押され気味(?)の MySQL。
MySQL は集計系の複雑なクエリを苦手としていますが、それをカバーする技術として、Oracle Cloud(OCI および on AWS)で HeatWave が提供されています。が、色々なイベントの懇親会で個人的に HeatWave のことを話題に出してみても、残念ながら「知らない」という反応がほとんどでした。
というわけで、本トークでは
などについて触れていきます。
LLM を使ったチャットシステムの構築には RAG(Retrieval-Augmented Generation:検索拡張生成)が用いられるケースが多く、RAG の内側ではよくベクトルストアが使われています。
ただ、ベクトルストアには RAG 以外の使い道もあります。
本トークでは、ベクトル検索およびベクトルストアでできることについて、RAG 以外を中心に説明します。
Pythonは動的型付け言語ですが、型を書くこともできます(Python 3.5で追加された型ヒント)。
しかしながら他の言語と比べると、Pythonの型は独特だと思います。
一生懸命型を書いても見るのは型チェッカだけで、処理系は実行時に無視します。
またよく見かける書き方は、実は適切ではありません(発表者はリンタを公開してます)
この発表を通して、ふだんPythonを使っている方には「私もっとうまく型ヒントを書けるな〜」、Pythonを使っていない方には「型の考え方おもしろいな〜」という学びを持ち帰っていただけたら嬉しいです。
持ち帰れるもの
ASP.NET Core Blazor のプロジェクトを新規作成すると色々なコードがあってよくわからないまま使っている人も多いと思います。
ここでは、コンソール アプリケーションを新規作成したところから ASP.NET Core Blazor までを解説をしながら変換していきます。ASP.NET Core の基本やミドルウェアなどについての解説もあわせて行います。
皆さん、GitHub Copilot使ってますか?
コード補完、便利ですよね。
また、分からないことをCopilot Chatで質問できます。
Chat相手には @vscode や @docker と特定のトピックの専門家も指定できます。
さらに、Chat相手を自分用にカスタマイズして実装できる機能がGitHub Copilot Extensionsです!
私はCopilot Extensionsを11月に知ってから、JavaScriptで書かれたサンプルコードを、手に馴染むPythonで再実装してきました。
発表を聞いた方が、GitHubのAPIを利用した独自のChat相手を手に馴染む言語で作れるよう、得た知見を共有します。
持ち帰れるもの
新規配信者の課題である「コメントの少なさ」に対し、配信の盛り上げ役となるAI「waiwai-ai」を開発しました。本トークでは、waiwai-aiが視聴者のコメントを生成・投稿する仕組みを支える技術スタックについて解説します。具体的には、Slack APIを通じてコメントを投稿し、Difyを活用して生成AIを動かすアーキテクチャ、さらに音声認識と仮想オーディオデバイスによるリアルタイム字幕生成の実装詳細を紹介します!!