Submit Search
Upload
how-to-learn-elixir
•
Download as PPTX, PDF
•
1 like
•
1,502 views
Tsunenori Oohara
Follow
how to learn elixir
Read less
Read more
Technology
Report
Share
Report
Share
1 of 14
Download now
Recommended
最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」
Jun Ootani
Lisper はじめました(大嘘)
Lisper はじめました(大嘘)
Nobutada Matsubara
Elixirハンズオン2
Elixirハンズオン2
Tsunenori Oohara
Elixir言語紹介
Elixir言語紹介
Tsunenori Oohara
My開発環境の話
My開発環境の話
Yuta Ohashi
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Tsunenori Oohara
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
俺のHelvetica neue ultralightがこんなに可愛いわけがない
俺のHelvetica neue ultralightがこんなに可愛いわけがない
keisei_1092
Recommended
最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」
Jun Ootani
Lisper はじめました(大嘘)
Lisper はじめました(大嘘)
Nobutada Matsubara
Elixirハンズオン2
Elixirハンズオン2
Tsunenori Oohara
Elixir言語紹介
Elixir言語紹介
Tsunenori Oohara
My開発環境の話
My開発環境の話
Yuta Ohashi
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Tsunenori Oohara
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
俺のHelvetica neue ultralightがこんなに可愛いわけがない
俺のHelvetica neue ultralightがこんなに可愛いわけがない
keisei_1092
meguro.rb LT
meguro.rb LT
Tsunenori Oohara
Elixir解答
Elixir解答
Tsunenori Oohara
パンチラに関する考察
パンチラに関する考察
Tsunenori Oohara
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Tsunenori Oohara
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
Tsunenori Oohara
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tsunenori Oohara
Tokyoex6 EEx
Tokyoex6 EEx
Tsunenori Oohara
running-elixir-in-production
running-elixir-in-production
Tsunenori Oohara
hello waf, hello phoenix
hello waf, hello phoenix
Tsunenori Oohara
tokyo.ex3 LT
tokyo.ex3 LT
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
Tsunenori Oohara
elixir in production
elixir in production
Tsunenori Oohara
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Tsunenori Oohara
地獄Spec
地獄Spec
Tsunenori Oohara
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
More Related Content
More from Tsunenori Oohara
meguro.rb LT
meguro.rb LT
Tsunenori Oohara
Elixir解答
Elixir解答
Tsunenori Oohara
パンチラに関する考察
パンチラに関する考察
Tsunenori Oohara
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Tsunenori Oohara
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
Tsunenori Oohara
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tsunenori Oohara
Tokyoex6 EEx
Tokyoex6 EEx
Tsunenori Oohara
running-elixir-in-production
running-elixir-in-production
Tsunenori Oohara
hello waf, hello phoenix
hello waf, hello phoenix
Tsunenori Oohara
tokyo.ex3 LT
tokyo.ex3 LT
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
Tsunenori Oohara
elixir in production
elixir in production
Tsunenori Oohara
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Tsunenori Oohara
地獄Spec
地獄Spec
Tsunenori Oohara
More from Tsunenori Oohara
(17)
meguro.rb LT
meguro.rb LT
Elixir解答
Elixir解答
パンチラに関する考察
パンチラに関する考察
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tokyoex6 EEx
Tokyoex6 EEx
running-elixir-in-production
running-elixir-in-production
hello waf, hello phoenix
hello waf, hello phoenix
tokyo.ex3 LT
tokyo.ex3 LT
running web app on elixir
running web app on elixir
Elixir lang bootstrap
Elixir lang bootstrap
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
elixir in production
elixir in production
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
地獄Spec
地獄Spec
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
how-to-learn-elixir
1.
How to learn
Elixir, How to adopt Elixir. おーはら@ohrdev
2.
Who are you? •
おーはら(ohr486) • Tiwtter: @ohrdev • Community: tokyo.ex, JapanElixirAssociation, ElixirConfJapan(2017/2018) • Work: 目黒の会社でサービス基盤を作ってます • Like: 寺社仏閣, 仏像鑑賞, 仏像制作, VR, FF14(白60) • Like Lang: 日本語, Lisp, Erlang
3.
Agenda • 今日の発表のゴール • 誰に向けた発表か •
なぜElixir? • 習熟度レベル • 壁を突破する為には • どうElixirを現実で適用していくか • まとめ
4.
今日の発表のゴール • Elixirを使ってみようかなという気になる • Elixirを使うべき(使っても良い)タイミングを知る •
(このあとの懇親会で)気持ち良くお酒を飲むための準備が整う
5.
誰に向けた発表か • Elixirという言語がある事は知っているが、触ったことが無い • 最近Elixirを触りはじめた •
チュートリアルの後に何をすれば良いのかわからない • 社内にElixirを導入したい • 仕事でElixirを使いたい
6.
なぜElixir? • 問題解決の手段として • メリット・デメリット、得意不得意はある、そのうえで、 •
得意な分野: 可用性を求められるシステム(落ちないサーバーなど) • 不得意な分野: スピードを求められるシステム(大規模数値計算など) • 現在では代わりとなるツール・言語はそこそこ存在する • ただし、全知万能のX言語は存在しない • エンジニア・プログラマとしての成長として • 違う考え方、パラダイムを知るの事で問題解決の引き出しが増える • アクターモデル、Shared Nothing Architecture • 関数プログラミング、マクロ、プロトコル • 並行プログラミング、OTP
7.
習熟度レベル • Elixirを触ったことが無い • Elixirをインストールした •
チュートリアルを終えた • アプリを作ってみた • WebAppを作ってみた • ライブラリを作ってみた • 仕事で使ってみた 見えない壁 見えない壁 • 適当な問題(課題,不満,欲求) • モチベーション(有限) • 組織的な課題(システムの要件) • 組織に対する説得(トレンド,上司) • リスクの管理(人材,成功確率) • モチベーション(有限) Level.1 Level.2 Level.3
8.
壁を突破する為には(level. 1 |>
2) • 適当な問題 • 並列処理が効くツール • クローラー • チャット・コミュニケーションアプリ • Mastodonクローン(?) • etc • ライブラリ制作 • マクロを使う必要がある(メタプログラミング) • (注意)マクロは強力だが、使いすぎに注意、マクロを使わなくて良いなら、*使うべ きではない*
9.
壁を突破する為には(level. 1 |>
2) • 参考文献 • 「プログラミングElixir」 • https://www.amazon.co.jp/dp/B01KFCXP04/ • 「すごいErlangゆかいに学ぼう」 • https://www.amazon.co.jp/dp/B00MLUGZIS • 「Metaprogramming Elixir」 • https://www.amazon.co.jp/dp/B00U1VU2GA • 「Programming Phoenix 1.3」 • https://www.amazon.co.jp/dp/1680502263/
10.
壁を突破する為には(level. 2 |>
3) • 組織的な問題 • Elixirエンジニアの採用・教育 • ○: 今いるエンジニアを教育する • ✖️: 採用しようとしても、そもそも居ない(非常に少ない) • Elixirアプリの運用知見 • Webアプリに限って言えば、Railsアプリ運用と被る部分がかなり多い • AWS/GCPに乗れば、ある程度カバーできる(負荷分散・監視・etc) • 上司説得工数 • 素振り(社内ツールから) • 技術的な問題ではなく社会学的な問題 • レベル(社内実績)を上げて、数字(ベンチマーク)で殴る • 「そのサービスには本当にElixirは必要なのか?」を常に自問(やりたいから、だ けではNG) • 「Adopting Elixir」
11.
壁を突破する為には(level. 2 |>
3) • 参考文献 • 「マイクロサービスアーキテクチャ」 • https://www.amazon.co.jp/dp/4873117607 • 「Erlang in Anger」 • https://www.erlang-in-anger.com/ • 「Adopting Elixir」 • https://pragprog.com/book/tvmelixir/adopting-elixir
12.
どうElixirを現実で適用していくか • 既存システムからの差し替えの場合 • 一気に全システムをElixirにリプレースするのは危険! •
言語・エコシステム・コミュニティの成熟度が高いとは言えない • 部分的に、徐々に差し替えていくのが現実的 • 新規システムの開発の場合 • マイクロサービスとしてピンポイント適用がおすすめ • ただし、マイクロサービスはサービス全体としての複雑度が高くなりやすいので、 アーキテクチャ設計は慎重に • 得意不得意な事がはっきりしているので、メリットを生かせる箇所に
13.
どうElixirを現実で適用していくか • 組織のスケールが必要(Elixirを使える人を増やしていく) • Elixirを使えるエンジニアを雇うのではなく、Elixirを使えるようにエン ジニアを教育していくのが現実的 •
アプリケーション • ライブラリ開発 • チューニング • インフラ • オートスケーリング • デプロイメント • チューニング • 設計 • 適用箇所の選定 • マイクロサービスアーキテクチャ
14.
まとめ • Elixirの習得、導入についてのお話をしました • Hello,
world から現実世界への適用までに2つの壁があります • 「なぜElixirなのか?」は常に自問しましょう • つづきは懇親会で!
Download now