エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。
技術書典17が2024/11/03に開催されます。(オンライン開催は11/02〜11/17)
今回エムスリーでは有志で新刊を携えて参戦します。過去最大の210ページの大ボリュームでお届けします。今回も多様な分野・技術について弊社スタッフが執筆いたしました。エムスリーのギークな面がふんだんに詰まった一冊となります。
オンラインでの購入は11/02以降、こちらからも可能です!
この記事では皆さんに新刊を手に取ってもらえるように、各章がどんな内容になっているのかを紹介します。
- エムスリーテックブックについて
- 第1章 「難読クイズReturns」
- 第2章 「Zoekt によるコード検索基盤開発と内部実装の読解」
- 第3章 「気軽に非QWERTY配列を試す 〜日英異配列タイピングの可能性〜」
- 第4章 「作って理解するPasskeys」
- 第5章 「セルオートマトンで動物の模様をつくる」
- 第6章 「MVCCを自作して掴むDBの核心」
- 第7章 「GPTによるマイクラ自動建築」
- 第8章 「エムスリーAI・機械学習チームはスクラムの夢を見るか?」
- まとめ
エムスリーテックブックについて
技術書典は技術書オンリーの同人誌イベントで、今回が17回目の開催になります。 今回は有志で「エムスリーエンジニアリンググループ執筆部」というサークル名で参戦します。
物理本+電子版は1000円で手に入れることが出来ます。既刊も500円とお得になっています。
以下が今回作成した技術書の目次になります!目次だけで分かる圧倒的ボリュームです!なのにお値段据え置き1000円です!
次からは筆者による章の紹介をしていきます。
第1章 「難読クイズReturns」
VPoEの河合(@vaaaaanquish)です。前作難読クイズに引き続き今回も難読クイズで勝負です。
キーワード: Python、難読化 ターゲット: • プログラミングを愛する全ての人
第2章 「Zoekt によるコード検索基盤開発と内部実装の読解」
AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。ZoektはSourcegraphやGitLabの内部で採用されているコード検索エンジンです。本章ではZoektを使った実践的なコード検索基盤構築から、Zoekt内部のアルゴリズム、データ構造、ランキングロジックをコードリーディングから紐解いて紹介しています。そしてコード検索APIの活用事例(VimやLLMでAPIを利用)なんかも紹介していきます。コード検索を導入orコード検索の仕組みが知りたい人は必見の章です。
キーワード: コード検索、Zoekt ターゲット: • 検索大好きなエンジニア • 内部実装好きというマニア • コード検索基盤がまだ無いチームに所属する方
第3章 「気軽に非QWERTY配列を試す 〜日英異配列タイピングの可能性〜」
永山です。 現代のキーボードの多くはQWERTY配列を採用していますが、Dvorak配列やEucalyn配列に代表される代替配列も多数存在しています。 しかし、実際にそれらを使用してみたという方は少ないのではないでしょうか? 代替配列を使用するにはいくつもの高いハードルが存在します。 この章ではショートカットキーをはじめとする導入の障壁となる問題点を回避・最小化しつつ、独自に設計した配列を日本語入力に限定して導入する方法を紹介します。
また多数の論文や文献の調査、そしてタイプライターの実践を通じてわかった、巷で語られるDvorak配列に関する言説の誤りについて指摘します。
キーワード: キーボード、論理キー配列 ターゲット: • キーボードが好きな人 • Dvorak配列などに興味を持ったことがあるが、実際に使用したことのない方
第4章 「作って理解するPasskeys」
末永です。最近パスキー対応しているサービスが増えてきています。では自分のサービスの認証にパスキーを導入するにはどうすれば良いでしょうか?そんな疑問に答えられるようにパスキーを使った認証を実装する記事を書きました。ステップバイステップで説明しているので手を動かしながら理解していけると思います。外部ライブラリは最小限にしているのでより実装のための理解ができるよう作りました。
キーワード: パスキー、Passkeys ターゲット: • パスキーを使った認証を実装してみたい人
第5章 「セルオートマトンで動物の模様をつくる」
マーケティング部門から参加している、青山です。実用性とは関係なく、知的に面白いものが好みでして、セルオートマトンで動物の模様を作ってみようとチャレンジしたのがこちらです。さて、うまく模様を作れるでしょうか。
キーワード: セルオートマトン、計算工学、アルゴリズム ターゲット: • セルオートマトンと聞いてピンと来る人 • アルゴリズムでグラフィックを描くことが好きな人
第6章 「MVCCを自作して掴むDBの核心」
AI・機械学習チームの横本です。先日、DB自作輪実装を終えました。非常に勉強になる内容でしたが、実はトランザクション制御が古典的な2Phase Lockの実装で終わっているのが少し心残りでした。
現代のデータベースでは一貫性を保ちつつ高い並行性が実現できるMVCC (Multi-Version Concurrency Control、多版型同時実行制御) という手法が広く採用されています。この章では、これまで概要を知っているだけだった MVCC について、実際に実装してみる(Postgresっぽい方式と MySQL っぽい方式の 2 通り)ことで、MVCC ベースの DB の核心を掴むことを目指します。
キーワード: データベース、MVCC ターゲット: • DB大好きな人 • 自作好きな人
第7章 「GPTによるマイクラ自動建築」
データ基盤チームに所属するソフトウェアエンジニアの橋口(@matsudo840)です。本章では、Minecraftで望みの建物を自動的に建築する試みを紹介します。LLMを使って要望を精緻化し、生成されたコードをMODを使ってMinecraftに流し込み、建築物を作っていきます。
キーワード: ゲーム、自動化、LLM ターゲット: • マイクラ好きのエンジニア • マイクラ好きの子供からすごいと言われたいパパママエンジニア • 気軽に読める記事を求めている方
第8章 「エムスリーAI・機械学習チームはスクラムの夢を見るか?」
AI・機械学習チームでソフトウェアエンジニアをしている中村伊吹(@inakam00) です。私は、前職から5年間スクラムを実践し、認定スクラムマスターでもあります。そんな自分がエムスリーのAI・機械学習チームにジョインし、高速に大量のプロダクト開発を行なっていく環境を体感したことで、スクラムではないアジャイルな開発もあるのではないか?と考えるようになりました。「芯からアジャイルな組織」その一端を本章ではお見せします。
キーワード: 開発フレームワーク、スクラム、アジャイル ターゲット: • スクラムを実践している人/チーム • スクラムの実践に苦戦したり疑問を感じている人 • エムスリーAI・機械学習チームの開発方法に興味がある人 • エモい記事を読みたい人
まとめ
新刊も含め、今回はオンラインで既刊5冊も販売しております。是非エムスリーテックブックを手に取ってみてください。そして現地で我々と握手!!!!!