Shinjuku.ex #10 行ってきたメモ
新宿で迷子になっていたので、2つめの途中から参加しています。
パーフェクト"Elixir情報収集" @keithseahus さん
www.slideshare.net
exgettextの話 @k1complete さん
Exgettextの話 from k1complete
www.slideshare.net
ドキュメントの地域化
ElixirユーザのためのOTP入門 @mururururu さん
Elixirアプリケーションの設計
- どう設計するのか、他の言語とは異なる設計になる
- コード読むしかない
- よく出てくるパターンを知る
- 闇雲に読んでもダメ。OTPを勉強するのは大事
OTPとは何か
ビヘイビア
よくあるパターン
- GenServer
- クライアント、サーバ
- Agent
- 状態を持つ
- GenEvent
- イベントハンドリング
- Task
- ただ計算を行うなど
- Supervisior
- プロセスの監視
- Application
- 始点
実際に何が起きているのか、実際にどんな風にできているのか、サンプルアプリ(KVS)を作ってみていくことで学ぶ
OTPをよしなに選択して使えるとElixirがかけると言って良いのでは?
Phoenix
- ライブラリ側でOTP supervisiorツリーを実装
- 添付写真(https://gist.github.com/mururu/17c489dac3d6b2b24528#file-phoenix-png)
- 左はユーザからのコネクション
- 右はデータベース周り、ステートフルとか
使うのに意識することはないが…
まとめ
OTPはパターン
Eilixirを書くということは、スーパーバイザツリーを設計するということ
Ruby on Rails vs Phoenix @ma2ge さん
ここ2、3ヶ月海外でも記事が増えている。流行りだしている
- Elixir/Phoenixはバックエンド、ミドルウェアだけ?
- そろそろRails置き換える力があるのでは
- scaffold
- eex like erb
- ドキュメント充実
- WebSocket
- Performance Railsアプリのパフォーマンスを改善するにはPhoenixと言いたい
Ruby on Rails
プログラマの幸せと生産性
Phoenix
違い
開発における違い
- ファイル構造
- scaffold
- 同じ
- named_routeほぼ同じ
- controller
- Rails
- renderを明示的に指定する必要がない
- Rails
- View/Template
- Phoenix
- templateとViewは独立
- Viewはプレゼンテーションレイヤのみ
- form_forが最近実装された
- ラベル未対応くらい
- templateとViewは独立
- Phoenix
- Model
- Elixir
- スキーマ定義必要
- 依存ライブラリ ecto
- スキーマ定義必要
- Elixir
- Query
- ecto
- Mailer
- gen_smtp必要
- assets
- brunch.io, gulp, etc..
- JSはJSに任せる
- brunch.io, gulp, etc..
- Test
- Ecosystem
- Rails
- gems
- Eilxir
- hex
- 数は少ない
- よく出来ていて作りやすい
- 他の言語のいいところを吸収していて、可能性がある
- hex
- Rails
まとめ
ミドルウェアだけでなくウェブアプリケーションに使ってもいいのでは
ポテンシャルはある
個人的には、@mururururuさんのOTP入門で、実際にOTPが何をどういう風に抽象化しているのかというところをライブコーディングで学べたのが良かったですね。また機会があれば参加したいです。