お知らせ 【技術コミュニティ運営者の皆さま】成長し続けるエンジニアを支援する「Forkwell」と「connpass」が連携し、connpass上でイベントを開催する技術コミュニティを2020年3月末まで支援いたします。詳しくはこちら by Forkwell

このエントリーをはてなブックマークに追加

12月

14

fukuoka.ex#17:Elixir実践テクニック公開します②

福岡にて、Elixirでワイワイする会です。会の後に、お酒と軽食で懇親会(無料)やります

Organizing : fukuoka.ex(福岡Elixirコミュニティ)

Hashtag :#fukuokaex
Registration info

一般参加枠:トラックA「DBトランザクションと認証フレームワーク」

Free

FCFS
5/10

一般参加枠:トラックB「Flowによる並列処理のビジュアライゼーション」

Free

FCFS
2/10

fukuoka.ex運営枠 ※一般参加の方はコチラに申込みしないでください

Free

FCFS
5/5

リモート視聴枠

Free

FCFS
7/10

会場でツイートする枠(Elixir初心者はコチラでご参加を)

Free

FCFS
3/5

Description

fukuoka.ex#17:Elixir実践テクニック公開します②

これまでのfukuoka.ex MeetUpは、セッション/LTといった登壇がメインでしたが、現在は、より実践的で、集まった皆さまも参加していくMeetUpを行っています

具体的には、fukuoka.ex運営メンバーである、fukuoka.exアドバイザーズ/キャストが、過去会で登壇したり、日頃研鑽してきた数々のElixir実践テクニックを、「座談会+モブプログラミング」という形でダイレクトに伝えていきます

今回は、以下の2トラックを予定しています

なお、会の終了後(21:00以降)、お酒と軽食で懇親会もありますので、各トラックのパーソナリティに質問したり、普段の業務では出会えないElixirに関心高いエンジニアとの交流をお楽しみください(もちろん、会のみの参加もOKです)

トラックA「DBトランザクションと認証フレームワーク」

Elixir連載コラム「ElixirでSI開発入門」シリーズで紹介された、数々のテクニックの集大成である、DBトランザクションと認証システムのフレームワーク「Materia」を使った、Phoenix Webアプリケーション開発のサンプルを解説します

造り方のコツが分かった方から、各々「Materia」を使ったWebアプリ開発をソロ/ペア/モブでプログラミングを開始していくような進行になります

Elixir+Phoenixによる、SI開発を実感してみたい方必見のトラックです

トラックB「Flowによる並列処理のビジュアライゼーション」

fukuoka.ex#4 MeetUpで紹介した並列ライブラリ「Flow」で生成されるElixirプロセスを、fukuoka.ex#2 MeetUpで紹介したプロセス可視化ツール「Visualixir」と組み合わせることで、並列処理プロセスのビジュアライゼーションについて、Play with Dockerでライブ環境構築します

その後、手元のローカルPCかDockerで実行していただき、Flowのコードを別ノードに分散するモブデモを作っていきます

後半は、サーバサイドとフロントエンドのソースを流し読みして、アプリケーション構造を見ていきます

「Elixirって、今どんな感じなの?」

Elixir/Phoenixにとって2016~2018年は、マルチコアのCPU全てをフル活用できる「Flow」「GenStage」や、GenStageを基盤とした「Dynamic Supervisor」がリリースされ、PhoenixもHTTP/2対応やwebpack対応が進み、Elixirならではの独自色を出しながら、「Elixir/Phoenixでプロダクト開発やSI案件開発を不自由無く行える」フェーズへと進化しています

Githubに登録されているElixirライブラリも、36,000件を突破し、2年前の7,000件程度と比べ、5倍以上へと急増しました

2014~2015年付近は、Elixirも未だ未成熟で、「Erlangを覚えなければElixirは使えない」という認識が一般的でしたが、現状は、Elixir単独で充分にプロダクト開発/SI案件開発を行えています

2017年にはGCP(Google Cloud Platform)でのElixir正式採用、2018年にはAWS Lambdaでのカスタムランタイム正式採用、といった追い風もありました

全世界で見れば、2014年は、200社程度しか採用していなかったのが、2016年は1,100社を超え、有名どころで言うと、SlackやDiscordでも積極的に使われるようになりました

以前は、大量アクセスを有するゲームサーバでのElixir活用が目立っていましたが、現在は、フィンランドやスウェーデン、イギリスを始めとする、金融/証券/SNS/メッセージング基盤などの分野でも活用されています

福岡においても、Elixir/Phoenixをプロダクト開発/SI案件開発で採用されるケースが増え、他言語よりも明らかにレスポンス速度が速いWeb+DBが数日で構築できた事例や、1年以上ダウンせずに運用が回った事例など、実運用の実績も増えています(福岡以外でも、LINEやニコニコ動画、mixi、gumiでの活用事例もあります)

今は、まさにElixir/Phoenixを始めるには、もっとも美味しいタイミングと言えるでしょう

海外と福岡のおける導入企業/規模/事例は、以下fukuoka.exポータルにて紹介しています
https://fukuokaex.fun/

更に、fukuoka.exでは、これまでの言語では表現できなかったような次世代の高生産性Web/API開発スタイルの確立や、大規模インフラでもDBサーバをネックにしないためのスケールアウトの仕組み、ElixirとGCP上のAIエンジンを繋いだ画像解析システム、数倍のパフォーマンスを発揮できるGPU/FPGA活用、Elixirプロセスよりも更に軽量なプロセスライブラリ実装、ElixirによるElixirコンパイラ開発といった、先端領域でのElixir活用も、今まさに熱く展開しています

※fukuoka.exのコミュニティの成り立ちやビジョンは、文末少し上をご覧ください

※もし「関数型言語」に苦手意識や拒否症がある方は、文末をご覧ください

開催:2018年 12月 14日 (金) 19:00〜21:00(18:45 受付開始)

場所:株式会社Fusic(最寄駅: 天神)

住所:福岡市中央区天神4-1-7 第3明星ビル6F
(地下鉄天神駅下車、天神地下街 東-1b出口から徒歩3分)  ※1階にファミリーマートの入ったビルの6階です

タイムテーブル

時間 発表者 内容
18:45-19:00 - 開場(受付開始)
19:00-19:10 fukuoka.exキャスト
shozo_koga
はじめに
19:10-19:15 (全員) 「30秒お互い、どこから来たの?」で場を暖めてー(^o^)
19:15-19:55 tuchiro
トラックAご参加の方
トラックA「DBトランザクションと認証フレームワーク」【第1部】
y_ueno
トラックBご参加の方
トラックB「Flowによる並列処理のビジュアライゼーション」【第1部】
19:55-20:00 (全員) 記念撮影→乾杯
20:00-20:40 tuchiro
トラックAご参加の方
トラックA「DBトランザクションと認証フレームワーク」【第2部】
y_ueno
トラックBご参加の方
トラックB「Flowによる並列処理のビジュアライゼーション」【第2部】
20:40-22:00 - ♪~ 懇親会 ~♪
-22:00 - 閉会

持ち物

PCを持参してください

なお、ゲストWifi利用可能ですので、Pocket Wifiやテザリング端末は無くても大丈夫です

福岡Elixirコミュニティ「fukuoka.ex」とは?

「fukuoka.ex」は、大量アクセスのあるWeb・APIサーバ構築や、ビッグデータ分析/AI・機械学習向けデータ加工といった、「膨大なアクセスやデータの高速処理」と「高い開発効率」を両立できる関数型プログラミング言語「Elixir」と、そのWebアプリケーションフレームワーク「Phoenix」を福岡で広め、ワイワイと盛り上げていくコミュニティです

Elixirは、シンプルな言語仕様により、「プログラミングが初めて」という方でも比較的とっつきやすく、同時に、関数型言語にありがちな複雑さ(トリッキーな構文、数学やアカデミックに走り過ぎる、等)無しに関数型の強力さだけを抽出した、現実のアプリケーション開発を行うエンジニアに寄り添ってくれる言語です

Phoenixは、Webアプリケーションの世界では、最もメジャーな「Ruby on Rails」を作っていたメンバーによって開発された、大量アクセスと高速分散の捌きが得意なWebアプリケーションフレームワークで、Rails同等の高度なWebアプリ開発を、とても気軽に行えます(中でも、WebSocket性能は、あらゆる言語のFW中でも最速)

「fukuoka.ex」では、MeetUp(登壇会/勉強会)やプログラミング入門会、もくもく会、ハッカソン等を通じて、「Elixir/Phoenixの習得機会」と「実際のアプリケーション開発に役立つノウハウ」の提供を定期的に行うことで、福岡でのElixirプロダクション採用を増やし、Elixirに触れることで得られる「プログラミングの楽しさ」を福岡のエンジニアに体感する機会を増やすことをビジョンに掲げています

「でもElixirって、使いづらくて覚えにくい『関数型言語』でしょ?」

一般的に「関数型言語」と言えば、言語の習得が難しく、組織として選定しづらいイメージがありますが、Elixirは、言語仕様や構文がシンプルかつ簡単なので、「育成や習得の容易性」を切り捨てること無く、関数型のメリットも享受できます

関数型のメリットは、以下の通りです

  • 状態が無いことで、同じ入力を何度行っても同じ出力しか返さないので、意図しない挙動にならない
  • 変数がイミュータブル(作成後にその状態が不変)なので、マルチスレッドや並行処理で競合しない
  • プログラム構造が小さな関数群で構成され、シンプルに保たれるため、変更容易性が向上する
  • 少ないコードで、凝縮度の高い高度な処理が書ける
  • リスト設計に慣れていくと、他言語で数百行かかる複雑な処理も、数行のコードで組むことが可能になる
  • できあがったコードは、オブジェクト指向言語の1/100の量になることもあり、見た目も100倍エレガント
  • オブジェクト指向言語経験者の移行は大変(関数型全般に言える)だが、移行後は、何倍も生産性が高まる

更に、「Elixirならでは」の以下メリットも上乗せされます

  • 習得がカンタンなので、プログラミング経験が無い入門者・初級者向け
  • 関数の引数でのパターンマッチが可能で、呼出時の事前条件チェックや関数呼び分けには、快感すら感じる
  • JSONパースが得意なので、Google APIやBacklog API等、様々なWeb APIとの連携に強い
  • マルチコアCPUを簡単にフル活用できる
  • マルチクラスタ(AWS、GCP、Azure)のスケールアウトも楽々実現
  • 長期間の安定運用を実現してきた「Erlang VM」の元で動作する
  • データ変換とバイナリデータ検索に特化しているので、ファイルヘッダ解析やIoT/ドローン制御にも向いている

実際に、Elixirがどの位カンタンに習得できるかと言うと、たった3つの関数を覚えるだけ、30分~1時間もあれば、Web+DB/Web+API/Webグラフ表示まで実現できてしまいます

通常の関数型言語と一線を画す、このElixir/Phoenixのパワーを直接体感してみたい方は、「ExcelでElixirマスター」シリーズをご覧ください

Presenter

Media View all Media

If you add event media, up to 3 items will be shown here.

Feed

piacere

piacere published fukuoka.ex#17:Elixir実践テクニック公開します②.

12/07/2018 14:57

fukuoka.ex#17:Elixir実践テクニック公開します② を公開しました!

Group

Ended

2018/12/14(Fri)

19:00
21:00

開催日時が重複しているイベントに申し込んでいる場合、このイベントには申し込むことができません

Registration Period
2018/12/07(Fri) 14:57 〜
2018/12/14(Fri) 21:00

Location

株式会社Fusic

福岡市中央区天神4-1-7 第3明星ビル6F

Attendees(22)

MasatakaMiki

MasatakaMiki

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

koyo

koyo

トラックAとBめっちゃ迷って決めきれないのでとりあえずAにしていますfukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

FooCoolSueK(フクスケ)

FooCoolSueK(フクスケ)

fukuoka.ex#17:Elixir実践テクニック公開します②に参加を申し込みました!

yamaguchi

yamaguchi

fukuoka.ex#17:Elixir実践テクニック公開します②に参加を申し込みました!

oskamathis

oskamathis

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

まいく

まいく

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

hisaway_ex

hisaway_ex

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

zacky1972

zacky1972

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

piacere

piacere

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

Takuto.Yoshimura

Takuto.Yoshimura

fukuoka.ex#17:Elixir実践テクニック公開します② に参加を申し込みました!

Attendees (22)

Canceled (6)