Scalaわいわいランドは2024年12月13日、Scalaわいわい勉強会#4を開催しました。
【オフライン】Scalaわいわい勉強会 #4【東京】 - connpass

今回もハッシュタグは#scala_waiwaiとなっております。発表に対する感想や盛上がりが確認できます。ぜひご覧ください。
今回はトーク3本(うち一本はお題枠『初心者向け』)、LT3本の構成になりました。
Talks
@Arthur1__ - ScalaからはじめるOpenFeature入門

OpenFeatureという現在進行形で普及が進んでいる枠組みについてScalaのWebサーバを題材として解説していただきました。動的に設定を切り替えるFeature Flagの仕組みを体系化して規格化したOpenFeatureを実装したライブラリのデモが行なわれ、参加者は沸いていました。
Pure Scalaなライブラリは何かと応用が利いて便利なのですが、他方でJava用ライブラリを使えない縛りが発生するのでなかなか悩ましいですね。個人的にはScalaが盛上がって公式ライブラリがScalaから出るのが一番嬉しいですが・・・
Feature Flagみたいな仕組みをなんとなく自前で作りがちだけど標準化されてるなら乗っかるのは良さそぅ #scala_waiwai
— ishikawa-r (@stoneream) 2024年12月13日
@gakuzzzz - 型とデータ構造で制約を表現する

今回の初心者向け枠で発表いただいたのががくぞさん。便利な構造を使うことで簡単・安全に制約を表現できるよ!ということを、素朴な例からインクリメンタルに改善していき、最終的に非常に簡潔なコードになる過程に会場は興味津々でしたね。
「便利な構造」は最初から言語に搭載されているものもあれば(Mapなどが良い例ですね)、ライブラリを利用することで導入できるもの(NonEmptyListなどがそうですね)、必要に応じて自作するものもあります。Scalaはこうした便利な構造を作ってプログラミングをしやすくするという能力に長けた言語だな〜という感想を抱きました。
制約が型やデータ構造で表現されていると、ドキュメント生成とかでも役に立ちそう。ドキュメントの持続的な保守というのは大変だから(あるいは型があればコンパイル通る通らないで色々わかるからそれで十分という説はある) #scala_waiwai
— Arthur (@Arthur1__) 2024年12月13日
@xuwei_k - 数十万行のプロジェクトをScala 2から3に完全移行した

Scala 2から3への移行の際にやったことや大変だったことを紹介していただきました。ScalafixというScalaのコードを自動書き換えするツールが大活躍している様子が伺えました。Scalaはこの手のメタ的な処理をする機構が揃っていて嬉しいですね。
xuwei_kさん謹製のScalafixルールはたくさん公開されているので、移行を考えている方はぜひご利用ください。
Scala 2 -> 3知見無限に助かる #scala_waiwai
— Arthur (@Arthur1__) 2024年12月13日
LTs
@924leon1 - ScalaをCloud Runに載せてみた
なんと今回Scala歴6ヶ月のLeonさんがLT枠で登壇してくださいました!!!🎉🎉 内容もしっかりしており、GraalVMでのビルドにチャレンジしたという内容で会場も盛り上がっていました。
GraalVMによるネイティブイメージの生成は関係するコンポーネントが多くて若干厄介なのですが、ScalaのペライチのコードをビルドするときはScala CLIを利用する方法が、sbtのプロジェクトをビルドするときはsbt-native-packagerがイージーだと思っています(windymelt談)。
git に 90MB のバイナリファイルを置くの草#scala_waiwai
— ちぇっちぇ (@Chen__TS) 2024年12月13日
@stoneream - Monixと常駐プログラムの勘どころ
手ごろな非同期処理をしたい!というときにMonixが選ばれることがあるようです。常駐プログラムあるあるなエラー回復などをMonixで実装しており面白かったです。
加えて、Monixは最近メンテがないよねぇといった話題がオーディエンスから出るなどのコミュニケーションが発生していて良かったですね。
処理は途中で落ちる
— Leon (@924leon1) 2024年12月13日
-> 悲しいけどこれが現実…#scala_waiwai
@Chen__TS - fs2-ioを試してたらバグを見付けて直した話
fs2というScala界では割とメジャーなストリーミング処理ライブラリでバグに遭遇してこれを直したという発表でした。
バグが治ったこと自体は大変めでたいのですが、ちぇんさんはなぜか(?)ライブラリのバグを踏み抜いて直す確率が妙に高く、ある意味最先端を走っているということでしょうか。修正しようとして出したPull RequestがまだDraft状態なのにレビュワーの方がやってきたという話題も飛び出し、メンテナの方の熱量もすごいなと思いました・・・
うんうん > 案外バグがある #scala_waiwai
— Kory (@Kory__3) 2024年12月13日
Coffee Sponsor
今回のScalaわいわい勉強会では、ワンダーソフト株式会社さまよりコーヒースポンサーとしてハンドドリップでコーヒーの提供をいただきました!
夜ということもあり少なめでの提供となりましたが、冬の寒さもありたいへん好評でたくさん飲んでもらえていました。コーヒーの良い香りもしつつ勉強会を開催できました。ありがとうございました!
#scala_waiwai
— 和田俊輔 👼 (@letusfly85) 2024年12月13日
素敵なオフィスにお邪魔してコーヒーをサーブさせていただいています! pic.twitter.com/ZavPYFNzBu
ホットコーヒーありがたい!⛄️ #scala_waiwai
— ishikawa-r (@stoneream) 2024年12月13日
懇親会
今回Scalaわいわい勉強会では満員近く多くの参加をいただきました!軽食と飲み物を片手に最近のScalaの動向や発表・LTの感想に花が咲いているようでした。

おもしろ取り組みとして、その場の思い付きでメッセージボードを配置したのですが、沢山のメッセージをいただきました!嬉しいです。


新たな取り組み
今回よりScalaわいわい勉強会では、参加時に取る名札の色で撮影の可否を表明できるようにしました。赤い名札が撮影NG、黄色い名札はOKという仕組みとしました。この取り組みは好評だったため今後も続けます。

また、実験的に発表を録画してアーカイブ配信としてYouTubeなどのプラットフォームに配信する試みも行っています。現在がんばって編集していますのでもう少々お待ちください・・・!

あとがき
はやいもので、Scalaわいわい勉強会を立ち上げたときからあっという間に4回目に到達してしまいました。最初のうちは手探りでものごとを進めることも多かったのですが、勉強会/カンファレンス主催筋(?)がついてきたのか、ある程度ソツなく調整や企画を行うことができるようになってきました。何事も経験ですね。
発表内容はライブラリ・型による制約・言語のバージョンアップデートと比較的しっかりめのものが多いようでしたが、初心者枠ではそれをうまく噛み砕いて分かりやすく説明してもらえていました。なんと今回は学生さんや初学者、未経験の方の参加も多かったのですが、アンケートによれば楽しめていただけていたようでした。とても嬉しいです!今後も継続して初心者向けの企画を続けていければと思いますし、オフライン開催に限らずオンライン開催で多くの方に参加してもらいたいな〜という構想もあります(まだ何も決まっていませんが!)
時は師走、年の瀬ということもありちょうど忙しい時期でして、ちょっと参加者を集めるのに苦労したのですが、これを知見としてやってきやすい時期に開催していきたいと思いました。
会場提供いただいた株式会社ネクストビートさま、ありがとうございました!設備が非常に使いやすく、設営のお手伝いもいただいてお世話になりました。会場がとても広く、一区画を運営チーム専用に提供してくださる太っ腹ぶりに感銘を受けました。本当に助かりました・・・。

To Be Continued...
今後の勉強会やイベントにご期待ください !ぜひConnpassグループや公式Twitter/Xアカウント(@ScalaWaiwai)をフォローしていただけると最新の情報をお届けできます。
撮影場所: 株式会社ネクストビート 東京オフィス
文責:
id:Windymelt