【Elm】フロントエンドエンジニア/Fintechスタートアップ

時給 3,000円 ~ 6,000円
雇用形態: 業務委託から正社員
勤務地:
Erlang
の転職・求人情報
1~4件(4件)

時給 3,000円 ~ 6,000円
雇用形態: 業務委託から正社員
勤務地:

時給 3,000円 ~ 6,000円
雇用形態: 業務委託から正社員
勤務地:

時給 4,000円 ~ 6,000円
雇用形態: 業務委託から正社員
勤務地:

時給 3,000円 ~ 6,000円
雇用形態: 業務委託から正社員
勤務地:


アカウントを作成して、求人情報のブックマークや応募の管理ができます。
求人に関するサマリ
Erlangは、並行処理と分散システムの構築に特化した関数型プログラミング言語です。1986年にエリクソン社で開発され、その後オープンソース化されました。Erlangの名前は、その創始者であるJoe Armstrong氏にちなんで付けられたという説もありますが、実際には「Ericsson Language」の略称だとされています。プログラマーの間では、その独特な構文と強力な並行処理機能で知られています。
Erlangの基本的な設計思想は、「Let it crash」という考え方に基づいています。これは、エラーが発生した際にプログラム全体を停止させるのではなく、問題のある部分だけを再起動させるという方針です。この考え方により、Erlangは高い信頼性と可用性を実現しています。実際、99.9999999%(9ナイン)の稼働率を達成したシステムも存在します。
また、Erlangは「アクターモデル」という並行計算モデルを採用しています。このモデルでは、各プロセスが独立して動作し、メッセージの送受信によって相互作用します。これにより、複雑な並行処理を比較的シンプルに実装できるのがErlangの大きな特徴です。
Erlangの名前の由来には諸説ありますが、最も広く受け入れられているのは「Ericsson Language」の略称だという説です。エリクソン社の通信システム部門で開発されたことから、この名前が付けられたと考えられています。
Erlangの歴史は1980年代半ばにさかのぼります。当時、エリクソン社では通信システムの開発に適した言語を探していましたが、既存の言語では要求を満たせませんでした。そこで、社内で新しい言語の開発が始まったのです。
1986年、Joe Armstrong氏を中心とした開発チームがErlangの開発を開始しました。当初の目的は、大規模な電話交換システムを効率的に開発・運用することでした。その後、1998年にErlangはオープンソース化され、広く一般に公開されました。
Erlangは、他の主要なプログラミング言語とは異なるいくつかの特徴を持っています。まず、Erlangは関数型言語であり、命令型言語とは異なるパラダイムを採用しています。関数型プログラミングでは、副作用を最小限に抑え、関数の合成によってプログラムを構築します。
また、Erlangの並行処理モデルは、多くの言語で採用されているスレッドベースのモデルとは大きく異なります。Erlangのプロセスは軽量で、数百万個のプロセスを同時に実行できます。これは、Java等の言語でスレッドを扱う場合と比べて、はるかに効率的です。
さらに、Erlangは「ソフトリアルタイムシステム」をサポートしています。これは、厳密なリアルタイム性は保証されませんが、高い応答性を実現できる特徴です。この特性は、通信システムや金融システムなど、迅速な応答が求められる分野で重宝されています。
Erlangの最大の特長の一つは、強力な並行処理機能です。Erlangでは、プロセスと呼ばれる軽量な実行単位を使用して並行処理を実現します。これらのプロセスは非常に軽量で、1台のマシンで数百万個のプロセスを同時に実行できます。
Erlangのプロセスは、オペレーティングシステムのプロセスやスレッドとは異なり、Erlang仮想マシン(VM)上で動作します。これにより、プロセスの生成や切り替えのオーバーヘッドが大幅に削減されています。実際、1秒間に数十万個のプロセスを生成することも可能です。
また、Erlangのプロセスは互いに独立しており、メモリを共有しません。これにより、データの競合や複雑なロック機構を気にせずにプログラミングできます。プロセス間の通信はメッセージパッシングによって行われ、これがErlangの並行プログラミングモデルの基礎となっています。
Erlangは、分散システムの構築に非常に適した言語です。Erlangの分散処理機能は、言語レベルでサポートされており、複数のノード間でシームレスに処理を分散できます。これは、大規模なシステムや高可用性が求められるアプリケーションの開発に大きな利点をもたらします。
Erlangの分散処理システムでは、異なるノード上のプロセス間でも、同一ノード上のプロセス間と同じように通信できます。つまり、プログラマーは分散環境を意識せずにコードを書くことができるのです。これにより、システムの拡張性が大幽に高まります。
さらに、Erlangは「ロケーション透過性」という特徴を持っています。これは、プロセスがどのノードで実行されているかを意識せずにプログラミングできるという意味です。システムの一部を別のノードに移動させても、コードの変更なしに動作を継続できるのです。
Erlangの大きな特徴の一つに、優れた障害耐性があります。Erlangは「Let it crash」という設計思想に基づいており、エラーを積極的に検出し、迅速に回復することを重視しています。これにより、高い信頼性と可用性を実現しています。
Erlangのプロセスは互いに独立しているため、一つのプロセスがクラッシュしても、他のプロセスには影響しません。さらに、Erlangには「スーパーバイザー」と呼ばれる機能があり、これがプロセスの監視と再起動を担当します。クラッシュしたプロセスを迅速に再起動することで、システム全体の安定性を保つのです。
また、Erlangには「リンク」や「モニター」といった機能もあります。これらを使用することで、プロセス間の依存関係を定義し、関連するプロセスの障害を検知して適切に対処できます。この仕組みにより、複雑なシステムでも高い信頼性を維持できるのです。
Erlangのもう一つの注目すべき特長は、ホットスワップ機能です。これは、実行中のシステムを停止させることなく、コードを更新できる機能です。この機能により、24時間365日稼働が求められる通信システムや金融システムなどで、高い可用性を維持しながらシステムを更新できます。
ホットスワップは、Erlangの動的コード置換機能を利用しています。新しいバージョンのモジュールをロードすると、実行中のプロセスは自動的に新しいコードを使用し始めます。古いバージョンのコードは、それを使用しているプロセスがなくなると自動的に削除されます。
この機能は、長時間の停止が許されないミッションクリティカルなシステムで特に重要です。例えば、大規模な通信ネットワークでバグを修正する場合、システム全体を停止させることなく、問題のある部分だけを更新できるのです。これにより、ダウンタイムを最小限に抑えながら、継続的な改善が可能になります。
Erlangは、その起源が通信システムの開発にあることから、通信業界で広く利用されています。特に、大規模な通信インフラストラクチャーの構築と運用に適しています。例えば、エリクソン社のAXD301スイッチは、Erlangで開発された代表的な製品です。このスイッチは、99.9999999%(9ナイン)という驚異的な稼働率を達成しました。
また、WhatsAppやDiscordなどの大規模なメッセージングプラットフォームもErlangを採用しています。WhatsAppは、2014年の時点で、わずか50台のサーバーで4億5,000万人のユーザーをサポートしていたと報告されています。これは、Erlangの効率的な並行処理と分散システム機能のおかげです。
通信業界でのErlangの利用は、リアルタイム性、高可用性、スケーラビリティが求められる場面で特に効果を発揮します。例えば、電話交換システム、ボイスオーバーIP(VoIP)サービス、ネットワーク管理システムなどがErlangの得意分野です。
Erlangは、金融業界でも重要な役割を果たしています。高速な取引処理、リアルタイムの分析、高い信頼性が求められる金融システムに、Erlangの特性がマッチしているのです。例えば、ゴールドマン・サックスやJPモルガン・チェースなどの大手金融機関が、一部のシステムでErlangを採用していることが知られています。
特に、高頻度取引(HFT)システムの開発にErlangが使用されることがあります。Erlangの低レイテンシー、高スループット、優れた障害耐性は、ミリ秒単位の反応速度が求められるHFTシステムに適しています。実際、一部の取引所システムもErlangで構築されています。
また、ブロックチェーン技術の分野でもErlangが注目されています。例えば、Aeternity(イーターニティ)というブロックチェーンプラットフォームは、Erlangで開発されています。Erlangの並行処理能力と分散システムのサポートが、ブロックチェーンの要求に合致しているのです。
Erlangは、多くの著名な企業で採用されています。その中でも特に注目すべき事例をいくつか紹介します。まず、前述のWhatsAppは、Erlangを使用して大規模なメッセージングプラットフォームを構築しました。2014年にFacebookに19億ドルで買収された際も、その技術基盤としてのErlangの価値が評価されたと言われています。
また、Amazonの一部のサービスもErlangで構築されています。特に、Amazon Simple Storage Service(S3)の開発にErlangが使用されたことで知られています。S3は、世界中の企業が利用する重要なクラウドストレージサービスですが、その信頼性と拡張性の実現にErlangが貢献しています。
さらに、スウェーデンの音楽ストリーミングサービスSpotifyも、バックエンドシステムの一部にErlangを採用しています。Spotifyは、数百万の同時接続を処理する必要がありますが、Erlangの並行処理能力がこれを可能にしています。実際、Spotifyのエンジニアは、Erlangを使用することで、わずか4台のマシンで70万人の同時接続ユーザーをサポートできたと報告しています。
Erlangは関数型プログラミング言語です。これは、プログラムを数学的な関数の組み合わせとして表現するパラダイムです。Erlangの関数型プログラミングの特徴として、以下のようなものがあります。
まず、Erlangでは変数の再代入ができません。一度値が束縛されると、その変数の値は変更できません。これは「イミュータブル(不変)」と呼ばれる性質です。イミュータブルな変数を使うことで、副作用を減らし、プログラムの動作を予測しやすくなります。
また、Erlangでは高階関数がサポートされています。関数を引数として渡したり、戻り値として返したりできるのです。これにより、より抽象的で再利用性の高いコードを書くことができます。例えば、リスト操作の多くは高階関数を使って簡潔に記述できます。さらに、Erlangはパターンマッチングを多用します。関数定義や変数束縛、制御構造などで広く使われるこの機能により、複雑な条件分岐を簡潔に記述できます。パターンマッチングは、Erlangプログラミングの基本的なテクニックの一つです。
Erlangには、いくつかの基本的なデータ型があります。整数(integer)、浮動小数点数(float)、アトム(atom)、タプル(tuple)、リスト(list)などが代表的です。これらのデータ型を適切に使い分けることで、効率的なプログラムを書くことができます。
整数型は任意の大きさの整数を扱えます。これは、大きな数値計算が必要な場合に便利です。浮動小数点数は、IEEE 754規格に準拠しており、科学計算などで使用されます。アトムは、名前を持つ定数で、シンボルとして使用されます。例えば、`ok` や `error` などがよく使われるアトムです。
タプルは、固定長の複数の要素をグループ化するのに使用されます。例えば、`{name, "John", age, 30}` のようなデータ構造を表現できます。リストは可変長のデータ構造で、同じ型の要素を任意の数だけ格納できます。Erlangでは、リスト操作が非常に効率的に行えるよう設計されています。
Erlangの制御構文は、他の言語とは少し異なります。例えば、if文やswitch文の代わりに、case式やパターンマッチングを使用することが一般的です。これにより、より簡潔で読みやすいコードを書くことができます。
再帰は、Erlangプログラミングの中心的な概念の一つです。多くのアルゴリズムが再帰を使って実装されます。Erlangは末尾再帰に最適化されているため、効率的な再帰処理が可能です。例えば、リストの処理やツリー構造の探索などで再帰が活用されます。
また、Erlangには「ガード」と呼ばれる機能があります。これは、関数定義やcase式で使用され、条件を追加するのに使われます。ガードを使うことで、複雑な条件分岐を簡潔に表現できます。例えば、`is_integer(X) andalso X > 0` というガードは、Xが正の整数であることを確認します。
Erlangの開発環境をセットアップする方法は、使用するオペレーティングシステムによって異なります。ここでは、主要なOSでのインストール手順を簡単に説明します。
Windowsの場合、Erlang Solutions社が提供する公式インストーラーを使用するのが最も簡単です。これは、Erlangの実行環境とツールを一括でインストールしてくれます。macOSユーザーの場合は、Homebrewというパッケージマネージャーを使用してインストールするのが一般的です。`brew install erlang`というコマンドで簡単にインストールできます。
Linuxの場合、ディストリビューションによってインストール方法が異なります。UbuntuやDebianでは、aptパッケージマネージャーを使用して`sudo apt-get install erlang`というコマンドでインストールできます。Red Hat系のディストリビューションでは、yumを使用します。また、ソースコードからビルドすることもできますが、これはある程度の技術力が必要です。
Erlangの開発には、いくつかの重要なツールとライブラリがあります。まず、Erlangに付属するシェル(erl)は、対話的にErlangコードを実行できる環境です。これは、小さなコードの動作を確認したり、デバッグをしたりするのに便利です。
ビルドツールとしては、rebarが広く使用されています。rebarは、Erlangプロジェクトの依存関係管理、コンパイル、テスト実行などを自動化してくれます。最近では、rebar3という新しいバージョンが主流になっています。これは、より多くの機能を持ち、使いやすさが向上しています。
また、OTPフレームワークもErlang開発には欠かせません。OTPは「Open Telecom Platform」の略で、分散システムの構築に必要な多くのライブラリやデザインパターンを提供しています。スーパーバイザーツリー、ジェネリックサーバー、アプリケーションの構造化などの機能を利用でき、大規模なErlangアプリケーションの開発に不可欠です。
効率的なErlang開発環境を構築するには、適切な統合開発環境(IDE)やテキストエディタの選択が重要です。多くの開発者は、VS Code(Visual Studio Code)にErlangの拡張機能を追加して使用しています。これにより、シンタックスハイライト、コード補完、デバッグ機能などが利用できます。
また、IntelliJ IDEAにErlang pluginを追加して使用するのも人気があります。これは、より高度なコード解析や実行環境の統合が可能です。Emacsを好む開発者もいます。Emacsは、erlanگ-modeという拡張機能を使うことで、Erlang開発に適した環境を構築できます。
開発環境の構築には、バージョン管理システムの導入も重要です。Gitが最も一般的に使用されています。Gitを使用することで、コードの変更履歴を管理し、チーム開発を効率化できます。また、GitHubやGitLabなどのプラットフォームと組み合わせることで、コードレビューやCI/CD(継続的インテグレーション/継続的デリバリー)の導入も容易になります。
Erlangの実行環境の中心となるのが、BEAM(Bogdan/Björn's Erlang Abstract Machine)と呼ばれる仮想マシン(VM)です。BEAMは、Erlangのコードを効率的に実行するために設計されており、Erlangの並行処理モデルを実現する上で重要な役割を果たしています。
BEAMの主な特徴の一つは、軽量プロセスの管理です。Erlangの各プロセスは、BEAMによって効率的にスケジューリングされます。これにより、数百万個のプロセスを同時に実行できるのです。BEAMは、プリエンプティブマルチタスキングを採用しており、各プロセスに公平に実行時間を割り当てます。
また、BEAMはガベージコレクション(GC)も担当します。Erlangの各プロセスは独自のメモリ領域を持っており、BEAMはプロセスごとに個別にGCを実行します。これにより、GCによる全体的な停止時間(ストップ・ザ・ワールド)を最小限に抑えることができます。2017年の調査では、BEAMのGCによる停止時間は平均で1ミリ秒未満だったと報告されています。
Erlangのプロセスは、BEAMによって管理されます。プロセスの生成は非常に高速で、1秒間に数十万個のプロセスを生成できます。これは、Javaなどの言語でスレッドを生成する場合と比べて、はるかに効率的です。
各プロセスは独立したメモリ空間を持ち、他のプロセスとメモリを共有しません。これにより、データの競合や複雑なロック機構を避けることができます。プロセス間の通信は、メッセージパッシングによって行われます。BEAMは、このメッセージの送受信を効率的に管理します。
また、BEAMはプロセスの監視と再起動も担当します。あるプロセスが異常終了した場合、それを監視していた他のプロセス(スーパーバイザー)に通知が送られ、必要に応じてプロセスを再起動できます。これにより、システム全体の耐障害性が高まります。実際、99.9999999%(9ナイン)の可用性を達成したシステムも存在します。
Erlangのメッセージ伝達システムは、BEAMによって効率的に管理されています。各プロセスは、他のプロセスに対してメッセージを送信でき、受信したメッセージは受信プロセスのメールボックスに格納されます。
メッセージの送受信は非同期で行われます。つまり、送信プロセスはメッセージを送信した後、受信プロセスの応答を待つことなく処理を続行できます。これにより、システム全体の効率が向上します。一方、受信プロセスは、自身のメールボックスに格納されたメッセージを、必要なタイミングで取り出して処理できます。
BEAMは、大量のメッセージを効率的に処理できるように最適化されています。例えば、WhatsAppのシステムでは、1秒間に約7,600万件のメッセージを処理していると報告されています。これは、Erlangのメッセージ伝達システムの性能を示す一例と言えるでしょう。
Erlangでの効率的な開発には、コードの適切な分割とモジュール化が不可欠です。モジュールは、関連する関数をグループ化し、コードの構造を整理するのに役立ちます。一般的に、1つのモジュールは1つのファイルに対応します。
モジュール化の利点は多岐にわたります。まず、コードの再利用性が高まります。よく使う機能を別モジュールにまとめることで、複数のプロジェクトで同じコードを使い回せます。また、モジュール化によってコードの可読性も向上します。機能ごとにモジュールを分けることで、プログラムの全体構造が把握しやすくなるのです。
さらに、モジュール化はテストの容易さにも貢献します。各モジュールを独立してテストできるため、バグの特定と修正が容易になります。実際、多くのErlangプロジェクトでは、モジュールごとにユニットテストを書くことが一般的です。これにより、コードの品質を高く保つことができます。
Erlangでは、テストとデバッグに関する豊富なツールとフレームワークが提供されています。まず、ユニットテストのためのeunitフレームワークがあります。eunitを使用すると、モジュールごとに簡単にテストケースを作成し、実行できます。
また、Erlangには強力なデバッグツールが組み込まれています。例えば、debuggerモジュールを使用すると、コードの実行を対話的に追跡できます。ブレークポイントの設定や、変数の値の確認なども可能です。さらに、traceモジュールを使用すると、プロセスの動作やメッセージの流れを詳細に追跡できます。
効果的なテストとデバッグの方法として、プロパティベーステストも注目されています。QuickCheckというツールを使用すると、ランダムに生成されたデータを使って、プログラムの特性(プロパティ)をテストできます。これにより、開発者が想定していなかったエッジケースも発見しやすくなります。実際、QuickCheckを使用することで、従来のテスト方法では発見できなかったバグが見つかったという報告もあります。
Erlangアプリケーションのパフォーマンスを最適化するには、いくつかの重要なポイントがあります。まず、プロファイリングツールを活用することが重要です。Erlangには、fprofileやeprofといったプロファイリングツールが用意されています。これらを使用して、どの部分の処理に時間がかかっているかを特定できます。
また、データ構造の選択も重要です。例えば、頻繁に要素の追加や削除を行う場合は、リストよりもキュー(queue)モジュールを使用した方が効率的です。大量のデータを扱う場合は、ETSテーブルの使用を検討するとよいでしょう。ETSは高速なインメモリデータベースで、大量のデータを効率的に格納・検索できます。
並行処理の最適化も、Erlangのパフォーマンスチューニングにおいて重要です。プロセスの数を適切に調整することで、システム全体のスループットを向上させることができます。ただし、プロセスの数が多すぎると、オーバーヘッドが増大する可能性があるので注意が必要です。一般的に、プロセッサコアの数の2〜4倍程度のプロセス数が適切だとされています。
Erlangは、1986年の誕生から30年以上経った今も、活発に開発が続けられています。現在のErlangは、OTP(Open Telecom Platform)と統合されており、Erlang/OTPとして一つのパッケージとして提供されています。最新のリリースでは、パフォーマンスの向上や新機能の追加が継続的に行われています。
最近の主な開発の焦点は、並行処理のさらなる最適化、JITコンパイラの改善、そしてIoTやブロックチェーンなどの新しい技術領域へのサポート拡充です。例えば、OTP 23では、ジャストインタイム(JIT)コンパイラが大幅に改善され、特定のワークロードで最大25%のパフォーマンス向上が報告されています。
また、Erlangの姉妹言語であるElixirの人気も、Erlangエコシステムの発展に貢献しています。ElixirはErlang VMの上で動作し、Erlangの強力な機能を活用しつつ、より現代的で使いやすい構文を提供します。これにより、新しい開発者がErlangエコシステムに参入しやすくなっています。
Erlangのコミュニティは、小規模ながら非常に活発です。世界中で定期的にErlangに関するカンファレンスやミートアップが開催されています。最大のイベントの一つは、毎年開催されるErlang User Conference(現在はCode BEAM)です。ここでは、Erlangの最新の開発動向や、実際の使用事例などが共有されます。
オンラインコミュニティも活発で、Stack OverflowやReddit、Slackなどで、Erlangに関する質問や議論が日々行われています。特に、Erlang Forumは、初心者から熟練者まで幅広い開発者が集まる場所として知られています。ここでは、技術的な質問から、Erlangの将来に関する議論まで、様々なトピックが取り上げられています。
また、オープンソースの貢献も活発です。GitHubでは、多くのErlangプロジェクトが公開されており、世界中の開発者が協力してコードの改善や新機能の追加を行っています。例えば、Erlangの主要なビルドツールであるrebar3は、コミュニティの貢献により継続的に改善されています。
Erlangを学ぶための豊富なリソースが用意されています。まず、公式ウェブサイト(erlang.org)には、詳細なドキュメントや、初心者向けのチュートリアルが掲載されています。また、「Learn You Some Erlang for Great Good!」という無料のオンライン書籍は、Erlangを学ぶ上で非常に人気のあるリソースです。
書籍も多数出版されています。「Erlang Programming」や「Designing for Scalability with Erlang/OTP」などは、Erlangの深い理解を得るのに役立ちます。また、Udemyや Courseraなどのオンライン学習プラットフォームでも、Erlangのコースが提供されています。
サポートに関しては、前述のオンラインフォーラムやSlackチャンネルが非常に有用です。多くの経験豊富な開発者が、質問に丁寧に回答してくれます。また、有料のサポートを必要とする企業向けには、Erlang Solutions社などが専門的なサポートサービスを提供しています。これらのリソースとサポートにより、Erlangの学習と実践がより容易になっています。
Erlangは、その独特な設計思想と強力な機能により、特定の分野で非常に高い評価を得ています。並行処理と分散システムの構築に特化したこの言語は、今後もテレコミュニケーション、金融システム、IoTなどの分野で重要な役割を果たすことが期待されています。継続的な開発と活発なコミュニティの支援により、Erlangは今後も進化を続けていくでしょう。
エンジニア、PM、デザイナーの副業・転職採用サービス「Offers(オファーズ)」では、非公開求人を含む豊富なIT・Web業界の転職・副業情報を提供しています。高年収の求人・高時給の案件や最新技術スタックを扱う企業など、あなたのスキルを最大限に活かせるポジションが見つかります。専任のキャリアアドバイザーが、入社日調整や条件交渉をきめ細かくサポート。転職・正社員求人、副業・業務委託案件、募集をお探しの方はOffersまでご相談ください。閉じる

開催前
昨今、多くの生成AIが開発現場に浸透していますが、「Codex、Claude、Geminiの中で、自分のタスクには明確にどれが一番いいのか」を自信を持って選べていますか? 「なんとなく誰かが良いと言っていたから」「SNSでトレンドになっていたから」と、周りの評判に流されるまま、使っている方も少なくないはずです。しかし、AIのポテンシャルを100%引き出すためには、評判ではなく「その作業に本当に向いているAIを選ぶこと」が重要です。 ・何度もやり取りを重ねる長丁場の作業で、最後まで文脈を忘れずに頼れるAIはどれか ・テキストだけでなく、画像などのデータを扱うときに一番打率が高いのはどれか とはいえ、次々と新しいモデルが登場する中で、それぞれの本当の強みを自分で見極め、タスクごとに最適なAIを切り替えて使いこなすのは至難の業です。 そこで本イベントでは、LLMのフルスクラッチ開発やエージェント構築の最前線で活躍されている株式会社松尾研究所の尾崎氏をお迎えし、Claude・Codex・Geminiそれぞれの強みと使い分けの考え方を紐解きます。現在Geminiを使わなくなった背景なども含め、実践者ならではの視点でお話しいただきます。 一つのAIに絞るべきか複数を使い分けるべきか迷っている方から、すでに併用しているが最適化したい方まで、幅広いエンジニアのご参加をお待ちしています。
.png)
開催前
現代のWeb開発において、認証機能の実装認証機能の実装に悩んだことはありませんか? セキュリティリスクや運用コストの観点から「認証基盤は自作するな」が定石となり、多くの開発者がIDaaSを選択肢に入れてきました。しかし、いざ実務に組み込もうとすると、以下のようなジレンマに直面します。 ・データの二重管理: IDaaS上のユーザー情報とアプリDBのデータをどう同期するか ・機能の制約: パスキや2FA、Azure ID(Entra ID)など、必要な認証方式に対応できるかは「IDaaS側の仕様(都合)次第」になってしまう そうした中、「自作は避けたいが、IDaaSの制限に縛られたくもない」という設計の壁を打ち破る選択肢としてTypeScriptベースの認証ライブラリ「Better-Auth」が今注目を集めています。Auth.js(旧NextAuth.js)を引き継いだチームによって開発され、OAuth・2FA・パスキーといったモダンな認証方式に対応しながら、自前でデータを保持できる柔軟さを備えたライブラリです。 しかし、非常に革新的である一方、「実際に使ってみてどうなのか」「IDaaSと比べてどういうケースに向いているのか」を具体的にイメージできている方はまだ少ないのが現状です。 そこで本イベントでは、プロダクト開発でBetter-Authを実践的に活用されている池内氏と柿氏をお迎えし、Better-Authの特徴や導入の実際、そして既存の認証ソリューションとの使い分けを紐解きます。 認証基盤の選定に悩んでいる方から、Better-Authが気になり始めた方まで、幅広いエンジニアのご参加をお待ちしています。

開催終了
昨今、AIコーディングエージェントの普及により、個々の作業スピードは格段に向上しました。一方で、AIを使って複数のタスクを同時に進める「並行開発」のやり方に関してはいまだに1つの正解がなく手探りの状態が続いているのではないでしょうか。 仕様を決めてからフロント・バックエンドそれぞれにエージェントを立てて動かす方法や、Gitブランチの並行管理、さらにはプルリクエストの自動レビュー&修正する方法など、考えることは多岐にわたります。「結局シングルタスクに集中するのが最強では?」という問いも含め、並行開発の最適解はまだ見えていません。 そこで本イベントでは、「Multi-Folder Git Clone」などの自作ツールを開発し、AIエージェントを活かした並行開発の環境整備について精力的に発信されているUbieの鹿野氏をお迎えし、~並行~開発を実現するための開発環境の工夫をデモ付きで紐解きます。 デモでは鹿野氏より実際の画面をお見せいただきながら、エディターや複数ブランチの管理方法、コンテキストスイッチのタイミングまで、並行開発を加速させる具体的なツールやフローを深堀していきます。 これからAIを用いた並行開発に取り組もうとしている方から、今以上に効率的に並行開発を回していきたい方まで幅広いエンジニアのご参加をお待ちしています。
開催日:
2026年7月15日(水)12:00~13:00
.png)
アーカイブ公開中
昨今、LLMの社会実装が進み、AIエージェントを活用したプロダクトや業務フローが増えてきました。しかし、AIエージェントを「作って動かして終わり」になっていないでしょうか。一度構築したエージェントの精度をいかに担保し、改善し続けられる仕組みを作るかという点に注目が集まっており、最近では「エージェントハーネス」という言葉も耳にするようになりました。 一方で、「そもそもエージェントハーネスとは何か」「コンテキストエンジニアリングとは何が違うのか」といった基本的な部分から整理したいと感じている方も多いのではないでしょうか。 そこで本イベントでは、AI研究の最前線を走る株式会社松尾研究所の長谷氏をお迎えし、エージェントハーネスの起源や注目が集まっている背景から、具体的な活用方法、そして今後の進化の方向性までをわかりやすく解説いただきます。エージェントハーネスを適切に整えることで、AIエージェントの精度は一度きりのチューニングではなく、継続的に改善し続けることができるその考え方と実践を紐解きます。 前半のLTでは、長谷氏よりエージェントハーネスとは何か、LLMの進化とともになぜ重要視されてきたのかという前提知識を整理いただきます。 後半のディスカッションでは、LTの内容をさらに深堀りながら、具体的な使われ方や松尾研究所での活用事例まで現場目線で深掘りしていきます。 エージェントハーネスという言葉が気になり始めた方から、AIエージェントの制御・改善に課題を感じている方まで、幅広いエンジニアのご参加をお待ちしています。
開催日:
2026年7月9日(木)19:00~20:00

アーカイブ公開中
昨今、AIエージェントの活用が一般的になってきたことで、「プロジェクト全体のコードを横断的に理解させるには、コードベースが一つにまとまっている方が適しているのではないか」という議論が増えています。 一方で、モノレポにはCIのパフォーマンスやコンテキストの絞り方など運用上の課題も存在し、組織規模やプロダクトのフェーズ、チーム体制などによって最適解は異なります。「どちらが正解か」を一概に難しいと感じている方も多いのではないでしょうか。 そこで本イベントでは、iOSやKotlinを含む複数言語のコードを一つのリポジトリに集約して運用されているカウシェと、バックエンド・フロントエンドともにモノレポ化を進めてきたLayerXの2社をお迎えし、それぞれのリポジトリ構成の実例をもとに、モノレポの実際を紐解きます。 前半のLTでは、カウシェからはモノレポになった歴史や複数言語を集約したメリット・デメリットを、LayerXからはリポジトリ統合プロジェクトの進め方や意思決定の裏側をお話しいただきます。 後半のディスカッションでは、両社を交え、モノレポにするタイミングや、CI・IDEとい開発体験に関する課題の課題、AIとの親和性を上げるための工夫やスコープの絞り方など、現場目線でさらに深掘りしていきます。 モノレポへの移行を検討している方から、すでにモノレポ運用で課題を感じている方まで、幅広いエンジニアのご参加をお待ちしています。
開催日:
2026年6月11日(木)19:00~20:00