Scalaわいわいブログ

プログラミング言語Scalaのコミュニティ『Scalaわいわいランド』のブログです。

株式会社ドワンゴ会場提供でScalaわいわい勉強会 #2を開催しました #scala_waiwai

Scalaわいわいランドは2024年2月27日にScalaわいわい勉強会2を開催しました。

scala-tokyo.connpass.com

ハッシュタグは前回に引き続いて #scala_waiwai となっております。現場の様子はTwitter(X)でご確認いただけます。

発表資料紹介

今回は発表3本、LT3本の構成となりました。発表順に紹介します。

@nomadblacky: ReckonerのScalaプロジェクトにおけるオブザーバビリティの取り組み

speakerdeck.com

一番最初の発表はオブザーバビリティの話。最近は OpenTelemetry が広がりを見せており、Scalaでもotel4sといったライブラリが出ていたり、そもそもOpenTelemetryのリファレンス実装がJavaで書かれていたりと、結構Scalaユーザにとっては嬉しい環境が整っているんですよね。OpenTelemetryはかなり柔軟なメトリックやトレーシングの取得に対応していますが、もともとScalaは大規模な開発や分散したシステムの開発などでも重宝されてきたので、そこでとても良いシナジーが出ると思います。読者の皆様も、これを機に観測パワーをアップさせてみてはいかがでしょう。

@ponkotuy: Scala3移行話

ponkotuy.github.io

Scalaユーザたるもの、いつかはScala3にアップデートしたいという想いを胸に秘めているのではないでしょうか。もしくは最初からそうなってるかですね。幸福な家庭はどれも同じようなものだが、Scala3へのアップデートの道程は人それぞれである、とトルストイが言ったり言わなかったりしたそうですが、@ponkotuyさんの場合なんとかなったようです。オーディエンスはというと、笑いあり涙ありといった感じでした。みんなでアップデート頑張りましょう。

会場での質疑応答で以下のような話がありました。

Q. うちはScala 2.13と3とでクロスコンパイルするところまでは行けている。アーティファクトを切り替える最後の切っ掛けは?

  1. ロスコンパイルは辛いので、プルリクを作って一気にScala3に持ち上げ、そのままマージした。

@tanishiking: Scala to WebAssembly: How and Why

speakerdeck.com

Scalaチームと一緒に働いているコントリビュータにしてScalaわいわい勉強会の共同創設者でもある@tanishikingさんがお届けしたのはWebAssemblyのお話。WASMってアレでしょ?なんか速くなるんでしょ?といったフンワリした状態から、ScalaGC、そしてScalaでまさに今進んでいるWebAssembly向け実装の今に至るまでを、実装者の視点からわかりやすく紐解いていただきました。WASMまわりのエコシステムもまさに今成長していく途上であり、相互に協働しながら発展していく中で、WASM対応言語としてのScalaが大きく成長してくれたらいいな、と願っています。

会場では実際に簡素なScalaのコードをWASMに変換して実行するデモが提供されました。1+1が計算できたことに会場では歓声が上がりました。

(LT) @YOU40014332: sbt-assemblyにハマってDB接続できず時間が溶けた話

(写真撮り忘れました :bow: )

speakerdeck.com

ここからはLTコーナーです。Scalaユーザであれば1回くらいはsbt-assemblyでUberJARを生成したことがあろうかと思うのですが、だいたいlog4jあたりのコンポーネントMETA-INFという謎の(謎ではないが)ディレクトリを衝突させて初心者殺しになっているんですよね。ありますよね?

この発表では、同じくしてMETA-INFで衝突が起こり、それを回避するために衝突ファイルを破棄するというあるあるな操作を行っていたところDB接続がなぜか壊れるという、一見すると因果関係が分からない謎の現象に苛まれたお話が紹介されました。

ちなみに会場で様子を伺ってみたところ、やっぱりみんなMETA-INFをコッソリ捨てているようでした。落とし穴に気付けて良かったね!

(LT) @Arthur1__: 見せ算をScalaで実装してみた

speakerdeck.com

今日イチのエンタメ発表はこちら。M-1勝戦に登場した、四則演算に突如として追加された謎の演算「見せ算」(見せ算の結果は「眼」と呼称する)。これをScala3の様々な便利機能を用いて軽々実装していくのですが、どういうわけか途中から大学院の講義が始まり・・・?

ちなみに会場では見せ算を履修している参加者がおらず、ピンときていなくて逆にそれが面白い状態になっていたのが印象的でした。みんなで見てください。

(LT) @by110416: Scala 3 にコントリビュートしよう

speakerdeck.com

発表の最後を締め括るのは、LTとは思えない超本格的内容のお話だった。皆さんScala3自体にコントリビュートしたことはありますか?もし無くても大丈夫!このスライドを読めば、多分コンパイラにコントリビュートできますよ!?

というお話なのですが、内容は至って実用的。コンパイラにコントリビュートする手段にはどのようなものがあるのか?どういった種類のバグがあるのか?どういうタグなら手を付けやすいか?テストはどう書かれているのか?といった、コントリビュートってどうやるんだよという至極当然の疑問を包括的に取り扱った、たいへん分かりやすい入門ドキュメントになっているわけです。こんなドキュメント、今まで無かった!Scalaに上達してきたら読んでほしい、実戦形のLTです。

まとめ

今のところ勉強会の発表者は先着順でストンと決まっているんですけれど、Scalaって結構難しいイメージを長いこと持たれているというか、それ系の発表が多くなるんじゃないかな〜なんて思ってたんですが、蓋を開けてみると本当に丁度良い塩梅になってまして、上級者が喜ぶコンテンツあり、入門者でも楽しめるコンテンツありのビュッフェスタイルみたいな感じになりました。実際、今回が初めての参加なんですとか、Scalaのことは知らないのだけれど参加してみました、なんて教えてくださった方もいらしたりして、開催者としては本当に嬉しい限りです。これもひとえに参加者の皆様の暖かい熱意のお陰でして、Scalaわいわいランドを一緒に盛り上げていこうという知的試みがうまく結実した果実なのではなかろうかと想います。本当にありがとうございました。

また、発表が全て終わった後の懇親会でも、Scalaの今後や教育、登壇者への質問などでたいへん会場は沸き立ち、会場を閉めるギリギリまで交流が続いていたのも、このコミュニティを立ち上げて良かったなと実感するポイントでした。オフライン勉強会の醍醐味ですね。

今更ではありますが、Scala初心者/上級者を問わず、Scalaわいわいランドでは一緒にScalaコミュニティを盛り上げてくれる仲間を募集中です。Scalaのわいわいを支える草の根コミュニティとして、これからも多様なコンテンツと交流を一緒に形作っていきましょう。まぁ要するに、一緒にScalaの話がしたいぜ!ってことです。このブログのリンクコーナーからDiscordサーバに参加できます。

謝辞

今回の会場提供を行ってくださった株式会社ドワンゴさま、加えて会場責任者として準備・運営などで多大な助力をいただいた@hsjoihsさまに深く感謝いたします。会場設備が大変整っており運営容易でした。

重ねてですが、今回参加してくださった皆様、そして今回は参加できなかったけれど遠方より念を飛ばしてくださった皆様、ありがとうございました!

Coming Soon...?

例によって次回の開催のことは何もまだ考えていないのですが、2ヶ月後らへんで開催できるといいですね(何も計画していません)。完全にコミュニティで運営しているScalaわいわい勉強会は会場提供していただける企業様やスペース様、そしてお行儀良く参加してくださる参加者あっての勉強会でして、もし勉強会に来てみて良かったよ〜という方がいらっしゃいましたら、是非次回の会場提供を御一考いただいたり、ご勤務先の方に「良かったよ」なんて、言っていただけると大変助かります。

一緒にScalaシーンを、ひいてはプログラミングコミュニティ全体を盛り上げて温めてまいりましょう。

株式会社はてな後援、Scalaわいわい勉強会を開催しました! #scala_waiwai

さる2023年10月13日にプログラミング言語Scalaの勉強会『Scalaわいわい勉強会』を開催しました。この記事では会場の様子や勉強会の理念、その他もろもろを紹介します(この記事はid:Windymeltid:tanishiking24による共同執筆です)!

わいわいしている様子(活況でした)

Scalaわいわい勉強会とは?

Scalaわいわい勉強会とは、Discordコミュニティ『Scalaわいわいランド』が母体となっている勉強会で、今回が初開催となりました。今回は2本のメイントークと4本のLT、そして懇親会という構成で、株式会社はてな 東京オフィス(青山)にて開催されました。会場は活況で、参加者同士の活発なコミュニケーションが行われました。 SNS等では知己を得ているもののオフラインで会うのは初めて、というケースも多く見受けられ、オフライン開催の意義を感じることができました。 実際に会って会話するとコミュニケーション密度がとても高いので、参加した誰もが満足しているようでした。

scala-tokyo.connpass.com

ScalaわいわいランドとはScalaの日本語コミュニティで、Discordで活動しています。メンバーは100名を突破し、有名なメンテナから勉強中の初心者までが集い、日々活気ある交流が行われています。Scalaに興味のある方、勉強している方はぜひご参加ください。

Invite link for Scalaわいわいランド

トーク内容

Scalaわいわい勉強会ではトーク2本、LT数本が発表されました。ここに各内容をかいつまんで紹介します。

Scala Days Madrid レポート by id:tanishiking24

ScalaのLSP基盤であるMetalsや、Scalaをネイティブバイナリにコンパイルして実行する基盤であるScala Nativeに積極的にコントリビュートされているid:tanishiking24 に、先日開催されたScala Days Madridに参加したレポートをお話してもらいました。

tanishiking24.hatenablog.com

Http4s入門 by id:Windymelt

私によるトークです。RubyにおけるRack、PythonにおけるWSGIのように、ScalaにおいてもHTTPサーバのインターフェイスを定めたHttp4sというライブラリが存在します。加えてそれに付属するサーバ実装であるEmberを利用することで、使い勝手の良い形式でHTTPアプリケーションを作成できます。このスライドでは、Http4sを紹介しつつ基本的なサーバの実装方法をアラカルト的に紹介しました。

www.3qe.us

LT大会

以下のような4つの内容でLTが行われました(順不同)。デバッグにまつわる発展的な内容から、ビギナー向けの内容まで幅広く発表が行われました。うち1つの発表はプライベートLTで非公開です。オフライン開催の醍醐味を感じることができました。

speakerdeck.com

speakerdeck.com

speakerdeck.com

Scalaわいわい勉強会の理念

Scalaわいわい勉強会とその母体となったScalaわいわいランドは、「Scalaを楽しく学んでほしい」という理念から生まれました。

私がScalaを学び始めた頃はScalaは人気の絶頂で、日々多くのブログ記事などの学習リソースが作成されていました。 しかし今では、Scalaの人気は以前よりも落ち着き、Scalaでは他のプログラミング言語ほど、活発な日本語でのアウトプットが見られなくなってきたように思われます。

こうした状況の遠因として、一つは、ミュニティが怖い、うっかり間違った事を書くと強めの言葉で指摘される、というイメージがあること。また、もう一つはコミュニティが多くの熟練のScalaエンジニアで構成されてしまい、初心者を意識したアウトプットが減っていることのように思われます。

プログラミング言語コミュニティを支えるのは大多数の初心者であり、彼ら彼女らが安心して間違ったことを発言できる心理的安全性の高い環境、そして初学者が参考にできる潤沢な学習リソースがなければ、新規参入が減り、初学者から上級者までがいる多様性のある健全なコミュニティが形成できなくなってしまうと思います。

この考えをもとに、私たちは初心者から上級者までをうまく包括できるScalaのコミュニティを建設できないかと考えるようになりました。そして、Scalaに関する様々な話題について、誰もが安心して発言できる場としてScalaわいわいランドというDiscordサーバを作成しました。この試みは成功し、今では100人を越えるメンバーがサーバに参加しており、Scalaの最も活発な日本語コミュニティとなっています。

開催してみてどうだったか

開催前は正直不安でした。人が来てくれるのかも分からなかったし、うまく会場を運営し盛り上げられるかも分からなかったためです。なにより、ここ数年の空白期間によってオフライン勉強会設営のノウハウは完全に頭から脱落していました。 しかしながらはてな東京オフィスの id:arthur-1 さんによる会場設営、株式会社はてな東京オフィススタッフの id:yktu さんによるサポート(ケータリング、名札の用意、誘導標識などなど)、また参加者・LT発表者の皆様と急遽かけつけてくれたスタッフの皆様のご協力のおかげでイベントを盛り上げることができました。

多くの参加者の皆様も勉強会の理念に賛同していただけたようで、今後このような勉強会があるならまた参加したい、というありがたいお声もいただけました。主催者として嬉しい限りです。Scalaわいわいランドとわいわい勉強会が中心となって日本のScalaシーンを盛り上げていきたいですね。

後援という形で会場と費用面でのバックアップをいただいた株式会社はてな様、当日のスムーズな開催にご協力いただいた東京オフィスの皆様、本当にありがとうございました。そして会場を盛り上げてくれた参加者の皆様、参加してくれてありがとう!

参加レポート記事など

togetter.com

blog.magnolia.tech

note.com

nhayato.hateblo.jp