SlideShare a Scribd company logo
1 of 32
Running Elixir in Production
2016-09-03 RubySapporo.beam
おおはら つねの
Ooharabeamlang.tokyo
Elixi
r
Productio
n

使
う
 正気
? 癖チョッ
ト
 筋
良
い
通っ
た言語
いやい
や
子曰、学而時習之、不亦説乎、
有朋自遠方来、不亦楽、
人不知而不慍、不亦君子乎。
『論語』
提供
株式会社えにしテック
http://www.enishi-tech.com/
株式会社ファームノート
http://farmnote.jp/
From Sapporo, with Love for Ruby & Beam.
RubySapporo.beam
From Tokyo, with Love for Elixir.
beamlang.tokyo
tokyo.ex
Agenda
自己紹介
|> 趣旨
|> 開発環境
|> 開発
|> (負荷)テスト
|> 運用初期〜
|> 運用中後期
|> コミュニティ
|> まとめ
自己紹介
• おーはら@ohrdev
• 札幌(学生,SIer:10年) => 東京(web系:5年)
• RubySapporoNightがきっかけでRubyに◯◯◯
– 大通り近くのAppleStoreで島田さんが定期開催
• ボブおじさん、パターン、etc の紹介LTに刺激
– SapporoRubyKaigiは皆勤(多分)
• 東京でElixir関係のmeetup・イベントを主催/運営
– ElixirMeetup,tokyo.ex,phoenixハンズオン,VR.tokyo
• Rubyの会社のサーバーサイドエンジニア
• 普段使っている技術
– Elixir/Erlang/Ruby/Lisp/AWS/etc
• Elixirの運用アプリ: 本番x2、開発・検証x1
– Elixirアプリ: 運用1年半, elixir1.0 -> elixir1.3.1
– Phoenixアプリ: 運用1年, phoenix0.14 -> phoenix1.2
よろしく
おねがい
します🙇
趣旨
• 今日のゴール
– Elixirのプロダクション運用/開発事例を紹介
– (私が)運用/開発フェーズで踏んだ地雷と地雷処
理内容を紹介
– 導入にあたって気をつけると捗るポイントを知る
• 目論見
– Elixirの導入の一助に
– コミュニティの活性化の一助に
開発環境
• vim/atom (IDEを使ってるメンバーは居ない
– 特に理由はない、公式的にはemacs推奨(らしい)
– plugin: vim-elixir
• バージョン管理
– 開発: kerl + exenv
※elixirのバージョンはerlangのバージョンに依存
– 本番: ansible + AMI
• CI
– Jenkins + mix test
開発環境
• バージョンアップ、deployment周りについては
– http://www.slideshare.net/ohr486/running-web-
app-on-elixir をご参照ください
• 基本的な考え方はRailsとあまり変わらない
– 強いて言うなら、Elixirだけでなく、Erlangのバー
ジョンも一緒に上げていく所
• ElixirのバージョンはErlangのバージョンに依存する為
開発
• 単体テスト
– モックライブラリ
• meck : https://github.com/eproxus/meck
• mock : https://github.com/jjh42/mock
– モックライブラリに癖があるので、きちんとテスト
設計しないとメンテ不可能になる場合も・・・
• TDD
– Ruby + Guard + mix test
– phoenix_live_reload
開発:tips
• mockライブラリ
– :meck (erlang)
• 癖がある
• Test毎に定義したモックをunloadする必要がある
– unloadしないとモック内容が別のtestでも有効になる
• 定義していないモックをunloadするとnot_mocked error
– 特定のTestでのみsetupでまとめてunloadできない
– Mock (elixir)
• meckの面倒な処理をまとめて行うマクロ
• 細かいところには手は届いていない
(負荷)テスト
• observerがとても手軽&便利
– observer監視をネットワーク越しにやると捗る
– アイデア
• ローカルのErlangノードと、サーバー上のErlangノード
に名前をつけて、cookie(セキュリティ用のキー)を設定
• ローカルのErlangノードと、サーバー上のErlangノード
を通信可能にする(sshでトンネルを掘る)
• ガリガリやるなら専用のベンチツールを
(負荷)テスト:tips
• observer
– GUIサーバーモニタリングツール
– 利用するにはErlangのコンパイル時に、
ws(wxWidgetsのErlangバインディング)を有効にし
ないと利用できない
– iex(1)> :bserver.start
– erl –run observer
(負荷)テスト:tips
• empd: Erlang Port Mapper Daemon
– 分散Erlang環境におけるノードの名前解決を行う
– 使用ポートはデフォルトで4369
• ノード間の通信ポート
– inet_dist_listen_min, inet_dist_listen_max で指定
可能、VMのパラメータとして起動時に渡す
(負荷)テスト:tips
• 分散Erlangのノード間の通信ポート
– inet_dist_listen_min、inet_dist_listen_maxで使用
するポートの範囲を指定可能
– VMの起動オプションとして引き渡す
(負荷)テスト:tips
Remote Server Local Server
epmd epmd
EralngVM
name:remote
EralngVM
name:monitor
sshdsshd
Port 4369Port 4369
Port 9001 Port 9001〜5
Port 22
ssh –N –L
9001:localhost:9001 –L
4369:localhost:4369
root@remotehost
erl -name monitor@127.0.0.1 -setcookie my-cookie -run observer
iex --name remote@127.0.0.1 --cookie my-cookie
--erl “-kernel inet_dist_listen_min 9001 inet_dist_listen_max 9001” –S mix
運用初期〜
• リリース時:5000DAU -> 現在:60万DAU
• トラフィックが増えた時にトラブルは起こる
– DBのコネクション数増加
– ログのローテーション
– ログ出力に伴うI/O負荷
– (phoenixアプリの)データ転送量が増大
運用初期:tips(redis)
• DBコネクションの増加
– Ecto : コネクション管理機能がバンドル
• https://github.com/devinus/poolboy
– Redis: コネクション管理機能を含まない場合あり
• https://github.com/artemeff/exredis
• 意識せずに書くと、1Req=1Process=1Connectionに
運用初期:tips(redis)
Our App
front
P P
RedisP P
P P
P P
Request Handling process Redis Client
Handling process毎に
Redis Client(コネクショ
ン)を作ると・・・
リクエストの数だけ
Redisへのコネクション
ができてしまう
Timeoutで接続が切
れるまでコネクション
が残るので
too many connection error!
運用初期:tips(redis)
Our App
front
P P
RedisP P
P P
P
Request Handling process Redis Client
worker pool
pool
boy
予めClient(worker)を
プーリングしておく
プールの中のworkerを使い回す
運用初期:tips(log1)
• ログのローテーション
– (exrmでreleaseした場合、デフォルトだと)ログファ
イルは、erlang.log.1,erlang.log.2,… と吐かれる
– デフォルトの設定だと
• 100キロバイト毎に新しいファイルに
• 世代数は5、それ以上はローテ(古いのが消える)する
– 高トラフィック(ログが大量に吐かれる)と古いログ
が消えてしまう
運用初期:tips(log1)
• ログのローテーションの設定
– 環境変数で変更可能
• http://www.erlang.org/doc/man/run_erl.html
– RUN_ERL_LOG_MAXSIZE
• ログローテーションが走るサイズ
– RUN_ERL_LOG_GENERATIONS
• 世代管理数
– 上の2つの設定値を調整してログが消えないよう
にする
運用初期:tips(log2)
• ログ出力に伴うI/O負荷
– ElixirのLoggerはバックエンドを指定できる
• 現状、backendはconsoleのみ(fileはない)
• デフォルトのままログを出力すると、consoleモードでロ
グが出力される
• consoleモードだと、ログを同期書き込み(o_sync)を行う
(ので負荷が高い)
– logger_file_backend を使おう
• https://github.com/onkel-dirtus/logger_file_backend
運用初期:tips(画像)
• 前提: AWSのEC2上のphoenixアプリ
• Phoenixアプリの画像の実態は、
– APP_ROOT/priv/images 以下のファイル
AWS Private Network
EC2 instance
ROOT/priv/imag
es/xxxxx
G
W
Image
files データ転送量、すご
く・・・お高いです・・・
運用初期:tips(画像)
• priv以下のアセットファイルをCDNに転送
• phoenixのstatic_pathの参照先をCDNに
– https://github.com/ohr486/asset_sync
AWS Private Network
EC2 instance
ROOT/priv/imag
es/xxxxx
G
W
AWS CloudFront
priv/images/x
xxxx
asset_sync
運用中後期
• 日々のチェック
– エラー検知
• sentryでエラーを通知
• Clientはravenを使用
– https://hex.pm/packages/raven
– サーバーメトリクス
• AWS CloudWatch で取得
• NewRelic (erlangのライブラリ)
– https://github.com/wooga/newrelic-erlang
運用中後期:tips(sentry)
• Setnryへの通知
– スタックトレースは、erlangのget_stacktrace/0で取得
– http://erlang.org/doc/man/erlang.html#get_stacktra
ce-0
– 最後に起こった例外を取得できる
運用中後期:tips(sentry)
運用中後期:tips(newrelic)
• NewRelicのクライアント
– https://github.com/wooga/newrelic-erlang
– Newrelicのメトリクスendpointをhttpで叩いてるけ
ど、正式なものではないので使わない方が無難
• https://discuss.newrelic.com/t/erlang-interaction-with-
collector-newrelic-com/4900/2
• CのAgentSDKがあるのでそちらを使ってくれとのこと
– https://docs.newrelic.com/docs/agents/agent-sdk/getting-
started/new-relic-agent-sdk
– (datadogで良いのでは・・・)
コミュニティ
• 少ない
– 知見共有の場や、どうしても困ったときの駆け込み寺
になるので多い方が良い(よね?)
– ruby: コンサルいっぱい、xxx.rbで相談
– Erlang: 時雨堂、コンサル数人
– Elixir: コンサル数人
• Elixir
– 徐々に増えつつある
• Erlang
– 定期開催はsapporo.beamくらい?
– (計画中(tokyo.erl?))
まとめ
• プロダクション運用の中で踏んだ地雷につい
て紹介しました
• 地雷の処理について紹介しました
• Elixirのプロダクション導入の一助になれば幸
いです

More Related Content

What's hot

Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramBehind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramLINE Corporation
 
Jsugプレゼン資料new
Jsugプレゼン資料newJsugプレゼン資料new
Jsugプレゼン資料newWataru Kakizoe
 
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIScotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIDaisuke Fujimura
 
iQONを支えるクローラーの裏側
iQONを支えるクローラーの裏側iQONを支えるクローラーの裏側
iQONを支えるクローラーの裏側Takehiro Shiozaki
 
[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScaling[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScalingTomohiro Motoki
 
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24akahira
 
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜Kosuke Ogawa
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトShuichi Tsutsumi
 
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードiOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードYuki Asai
 
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近iOSアプリエンジニアの最近
iOSアプリエンジニアの最近Kengo Suzuki
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことShuichi Tsutsumi
 
マルチデバイス時代だからこそ a-blog cms 2.0
マルチデバイス時代だからこそ a-blog cms 2.0マルチデバイス時代だからこそ a-blog cms 2.0
マルチデバイス時代だからこそ a-blog cms 2.0Kazumich YAMAMOTO
 
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"Keisuke Takahashi
 

What's hot (15)

Redmineでいこう
RedmineでいこうRedmineでいこう
Redmineでいこう
 
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramBehind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
 
Jsugプレゼン資料new
Jsugプレゼン資料newJsugプレゼン資料new
Jsugプレゼン資料new
 
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIScotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web API
 
iQONを支えるクローラーの裏側
iQONを支えるクローラーの裏側iQONを支えるクローラーの裏側
iQONを支えるクローラーの裏側
 
[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScaling[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScaling
 
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
 
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜自作アプリを Apple Watch対応した話 〜FastCheckin編〜
自作アプリを Apple Watch対応した話 〜FastCheckin編〜
 
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクトiOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
 
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードiOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワード
 
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近iOSアプリエンジニアの最近
iOSアプリエンジニアの最近
 
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったことWatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
 
マルチデバイス時代だからこそ a-blog cms 2.0
マルチデバイス時代だからこそ a-blog cms 2.0マルチデバイス時代だからこそ a-blog cms 2.0
マルチデバイス時代だからこそ a-blog cms 2.0
 
Cowboyとelixir
CowboyとelixirCowboyとelixir
Cowboyとelixir
 
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
 

Similar to running-elixir-in-production

PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key泰 増田
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳Uchio Kondo
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO についてTomoya Kawanishi
 
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめテスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめkinunori
 
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップSORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップSORACOM,INC
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTKiyoshi Ogawa
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~Amazon Web Services Japan
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~Hideki Takase
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介Dai Utsui
 
Weeklycms20120218
Weeklycms20120218Weeklycms20120218
Weeklycms20120218Yoshi Sakai
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開Hideki Takase
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTMasahiro Nagano
 
Osaka Venture Meetup #3
Osaka Venture Meetup #3Osaka Venture Meetup #3
Osaka Venture Meetup #3Kiyotaka Oku
 

Similar to running-elixir-in-production (20)

PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO について
 
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめテスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
 
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップSORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWEST
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Weeklycms20120218
Weeklycms20120218Weeklycms20120218
Weeklycms20120218
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
 
Osaka Venture Meetup #3
Osaka Venture Meetup #3Osaka Venture Meetup #3
Osaka Venture Meetup #3
 

More from Tsunenori Oohara

パンチラに関する考察
パンチラに関する考察パンチラに関する考察
パンチラに関する考察Tsunenori Oohara
 
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Tsunenori Oohara
 
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11Tsunenori Oohara
 
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LTRe:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LTTsunenori Oohara
 
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発Tsunenori Oohara
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2Tsunenori Oohara
 
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄Tsunenori Oohara
 
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)Tsunenori Oohara
 
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介Tsunenori Oohara
 

More from Tsunenori Oohara (18)

Elixirハンズオン2
Elixirハンズオン2Elixirハンズオン2
Elixirハンズオン2
 
meguro.rb LT
meguro.rb LTmeguro.rb LT
meguro.rb LT
 
Elixir解答
Elixir解答Elixir解答
Elixir解答
 
Elixir言語紹介
Elixir言語紹介Elixir言語紹介
Elixir言語紹介
 
パンチラに関する考察
パンチラに関する考察パンチラに関する考察
パンチラに関する考察
 
how-to-learn-elixir
how-to-learn-elixirhow-to-learn-elixir
how-to-learn-elixir
 
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
 
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
 
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LTRe:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
 
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
 
tokyo.ex3 LT
tokyo.ex3 LTtokyo.ex3 LT
tokyo.ex3 LT
 
Elixir lang bootstrap
Elixir lang bootstrapElixir lang bootstrap
Elixir lang bootstrap
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2
 
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
 
elixir in production
elixir in productionelixir in production
elixir in production
 
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
 
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
 
地獄Spec
地獄Spec地獄Spec
地獄Spec
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介: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論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介: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論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

running-elixir-in-production