
はじめに
こんにちは!
DMM.go運営の松井建登です。
普段は、プラットフォーム開発本部における開発生産性や、プロダクト品質に関するプロダクトの開発/ツール導入を行っています。
本記事では、2024年7月23日(火)に開催されたDMM社内のGo勉強会「DMM.go #8 - 24新卒エンジニアが語るGo 」について紹介します。
DMM.go #8について
今回のDMM.goは、サブタイトル「24新卒エンジニアが語るGo 」の通り、登壇者がすべて24新卒のエンジニアで構成されています。
2024年7月23日現在、24新卒エンジニアは新卒研修を受けており、Go言語を利用したバックエンド開発の研修も含まれています。
(バックエンド研修について詳しく知りたい方は、こちらの記事をご参照ください)
この研修を経て、Go言語に関心を持った24新卒のエンジニアが有志で集まり、自ら学習・開発した内容を発表することになりました。
24新卒エンジニアたちはまだ研修中のため、空き時間を利用して学んだことや開発したことを紹介します。
イベント詳細は、以下のURLを確認してください。
connpass: DMM.go #8 - 24新卒エンジニアが語るGo
また、イベントのアーカイブは以下のYouTubeから視聴できます。
YouTube: DMM.go#8 - 24新卒エンジニアが語るGo
当日の様子
前回に続き、DMM.go #8でも「オフライン + リアルタイム配信」のハイブリッド開催を行いました。
- オフライン参加者に配ったノベルティ

- 発表中(磯貝和希)

登壇内容
屋比久怜央: 「range over funcで始めるグラフアルゴリズム」
屋比久怜央のShort Sessionでの登壇です。
DMM.go #8で唯一のShort Sessionの枠になります。
登壇内容は、2024年8月にリリース予定のgo1.23で導入される「range over func 」 をトポロジカルソートに適用したことについてです。
range over func自体は、GitHubでGo1.23のマイルストーンとして積まれているため、聞いたことがある方が多いと思います。
(range over funcの具体的な機能は、Go1.23のRelease Notesを参照してください)
今回は、「トポロジカルソートといった各イテレーションの中で完結するアルゴリズムの実装には、パフォーマンス改善が見込める」という登壇内容になっています。
まだ登壇を見ていない方は、スライドや動画をぜひ見てみてください。
登壇スライド: range over funcで始めるグラフアルゴリズム
磯貝和希: 「Dive Into Slices Sort」
磯貝和希のLTでの登壇です。
登壇内容は、Go言語で利用できる2つのSort関数の比較についてです。
具体的には、下記のことを紹介していました。
- Slice Packageで採用されているpdqsortアルゴリズムについて
- 昔からあるSort Packageと最近導入されたSlice Packageの比較
pdqsortアルゴリズムの内部実装や、Go言語のsortに関するエコシステムが今後どのようになっていくのか気になる方は、スライドや動画をぜひ見てみてください。
登壇者のコメント
DIVE INTO Slices Sortというタイトルで、Slices Packageのソート関数について発表しました。
今回は、サブタイトルが「24新卒エンジニアが語るGo」のため、学生をターゲットとした発表内容を考えました。
DMMの24新卒には、Goのソースコードを読んで理解を深め合う文化があります。
そのようなDMMの新卒文化をできるだけ感じてもらえて、かつ大学のアルゴリズムの授業でやったであろうquicksort, insertion sort, heapsortの話だったら比較的聞きやすいのではと思い、この発表内容を選定しました。
また、登壇してみて、Goのコード理解を深め、達成感を得られました。
しかし、発表に対するレビューから、自分の次の課題が浮き彫りになりました。
そのため、次はその課題に取り組み、さらに成長を目指したいと思います。
登壇スライド: Dive Into Slices Sort
清水諄孔: 「Game Boy Emulator作成で学んだ Golangのメモリライフタイム」
清水諄孔のLTでの登壇です。
X(旧Twitter)には、登壇タイトルを見て新卒1年目がGame Boyを知っていることにびっくりされている方がいらっしゃいました。
登壇内容は、Game Boy Emulatorを作成することで、Go言語のメモリのライフタイムを知るといったものになっています。
登壇を見ることで、Go言語のメモリ管理について簡単に知ることができます。
また、各メモリ領域の説明から話しているため、メモリついて詳しくない方でも、スライドを見ながら理解できると思います。
Go言語のメモリ管理について知りたい方は、スライドや動画をぜひ見てみてください。
登壇スライド: Game Boy Emulator作成で学んだ Golangのメモリライフタイム
松本響輝: 「いまいちどスライスの挙動を見直してみる」
松本響輝のLTでの登壇です。
登壇内容は、コードを書いていると、必ず書いたことがあるスライスについてです。
スライスは、駆け出しエンジニアの頃に学び、何となく書いている方は多いのではないでしょうか。
今回の構成は、下記のようになっています。
- Go言語で内部ではスライスがどのように作られているのか
- スライスを利用する上で、気をつけたい罠とその対策
スライスを何となく書いている方は、この機会にスライドや動画をぜひ見てみてください。
登壇スライド: いまいちどスライスの挙動を見直してみる
内田敦也: 「GopherはAHCの夢を見るか?」
内田敦也のLTでの登壇です。
登壇内容は、Go言語を使って、AHCに挑戦する話になっています。
AHCとは、ヒューリスティックコンテスト(AtCoder Heuristic Contest)の略で、競技プログラミングのコンテストです。
競技プログラミングと聞くと、PythonやC++などの方が有名だと思います。
登壇を見ることで、Go言語で並行処理を実装する時に利用するgoroutineやGCの挙動を、競技プログラミングで利用できるのかについて知ることができます。
競技プログラミングや、Go言語で挑戦するとどうなるのかについて気になる方は、スライドや動画をぜひ見てみてください。
登壇スライド: GopherはAHCの夢を見るか?
懇親会
全発表の終了後には、軽食とドリンクを用意し、懇親会を開催しました。
懇親会では、参加者同士はもちろん、DMM社員と参加者との交流が行われました。
DMM社員との交流では、登壇者への発表内容の深掘りや、DMM社内のGo言語の取り組みなどの話題が飛び交っていました。

参加者アンケートの結果
DMM.goでは、会の終わりに参加者アンケートを実施しています。
前回は数件しか回答がありませんでしたが、今回は20件以上の回答がありました。
アンケートの回答数が増えることで、登壇者のモチベーション向上や会自体の品質向上に繋がります。
参加していただいた方は、ぜひ回答していただけると嬉しいです。
次回のテーマについて
次回のDMM.goのテーマは、参加者アンケートを参考に決めたいと考えています。
アンケート結果から候補としては以下の通りです。
- DMM社員が行ったGoでの個人開発
- DMMのプロダクトでGoを採用した事例
- Go + ソフトウェアアーキテクチャ
- DMM社員が行ったOSSへのコントリビューション

おわりに
本記事では、2024年7月23日(火)に開催されたDMM.go #8について紹介しました。
今回は「24新卒エンジニアが語るGo」をサブタイトルとし、登壇者を24新卒エンジニアのみで構成しました。
年々、外部登壇に積極的な新卒エンジニアが増えており、社内での技術共有やコミュニケーションを活性化させる重要な要素となっています。
そのため、これからも社内外を問わず積極的に技術の発信や共有を行い、エンジニア同士のつながりを深める取り組みを継続していきます。
Go言語に興味がある方やDMM.comに興味がある方は、次回イベントで足を運んでいただけると嬉しいです。