2020-12-12: Raw Crystal 2020だった
やったこと
Raw Crystal 2020
Zoomで。
字幕とかないのが結構しんどい。
"Crystal Land ...how it started and how it's going"
発表者は@bcardiffさん。
コミュニティをどうやっていくか、みたいな話だった。
みんなパッケージ作って公開していこうぜ、とか。
コミュニティが広がって、色々パッケージがある状況にしないと、概念実証的な言語だと思われてしまうぞ、みたいなのは気が引き締まるところでもある。
このページでCrystalを使っている企業の一覧が見れるらしい。
ふむふむ。
https://man.as/crystal-production
1.0に向けてみたいな話ではなかったかー。
Crystalは"for humans and computers"というモットーをこれからも大切にしていってほしいと思うのだった。
なんか参加者の場所と年齢投票があったけど、場所はヨーロッパで年齢は30-35が多かった。
若者に刺さる言語ではないんだろうなぁ。
"Building an Observability Platform with Crystal"
発表者は@wyhainesさん。
普段はRubyだそうな。
Minionという監視プラットフォームを作ってる?
現在開発中?
この辺?
エージェントとAPIサーバーからなる。
Rubyでエージェントを書いていた。
デプロイがしんどい。メモリ使用量を低く抑えられない。
RubyKaigi 2015でCrystalを知った。
RubyからCrystalへ。
APIサーバをCrystalに。
エージェントはGoで書こうとしたけど、結局Crystalに。
エージェント。
バイナリサイズ、メモリ使用量共にいい感じ。
APIサーバ。
Railsはヘビー。
Athenaを使ってる? いい感じっぽい。
ORMは使ってないらしい。
デモ。Windowsなのが気になる。
- Rubyiss can come up to speed on Crystal quickly!
- Crystal is NOT Ruby!
せやな。
"You don't need ORM... but the life is too short"
@imdrasilさん。
セドさんがRubyKaigiでActiveRecordやめとけSQLを書けって言ってたらしい。
そうだったんか。
JenniferというORMを作ってる人?
mappingマクロを使う方式。古くない?
まあJSON.mappingとかと同じ感じっぽい。
https://github.com/imdrasil/jennifer.cr
トラック2の方で面白そうな話をしてるのでそっちへ。
(入り方を分かってなかった)
"Generative Art, SVG, and Celestine"
@redcodefinalさん。
Crystalでジェネラティブアートする話。
Perlinノイズ面白いなぁ。
絵の出来上がっていく感じ楽しい。
これらしい。ちょっと試してみたいかも。
https://github.com/celestinecr/celestine
"How I got Lucky"
@jeremywoertinkさん。
Railsでの開発をやっていた人らしい。
(Rails?)アプリケーションをCrystalに移植しようとして失敗したらしい。
そしてLuckyに行きついたとな。
RailsからLuckyへの移行でパフォーマンスが3倍に。
あとデプロイがシンプルになったとか。
バイナリとアセットをzipにして、DockerでElastic Beanstalkに突っ込むみたいな。
Luckyはthoughtbotで2017に開発がはじまった。
作者は@paulcsmithさん。
色々機能があるっぽい。
Compile-time preloadwarnings - Catch N+1 queries
気になる。
丁寧でよさそう。
ダッシュボードも面白いな。
というわけでここで力尽きた。
さすがに時間が悪い。
ありがとうございました。
シャニ
GW04&05のリリイベの申し込みをした。
楽しみー。
あと摩美々をプロデュースしたりしていた。
ミリシタ
年末配信。
ミリ女イベがきた。
やっていくか‥‥?
そんな時間あるのか?
Quine
Odinというプログラミング言語がある。
Go言語をもっと一貫性のあるシンタックスにしたみたいな言語、という印象。
あとやたら整数型の種類が多い。なんでだろう。
Goroutineみたいなのは無さそう?
QuineもGo言語を意識した形にしたつもり。
https://github.com/MakeNowJust/quine/blob/21fb0a97e18aea0f8078d96cedbdb322a00dc44b/quine.odin
odin run quine.odinで実行できる‥‥らしいが、なぜかld: library not found for -lcが出て失敗する。
オブジェクトファイルは吐かれているのでgcc -o quine quine.oとすればビルドはできたが‥‥。
一応この辺のissueで報告されてるのらしい。
https://github.com/odin-lang/Odin/issues/792
とりあえず今後に期待かなぁ。