Aug
24
【スポンサー枠を増枠】fukuoka.ex#13:夏のfukuoka.ex祭=技術のパラダイムシフト
福岡にて、Elixirでワイワイする会です。会の後に、軽食で懇親会やります(スポンサー付いて無料)
Organizing : fukuoka.ex(福岡Elixirコミュニティ)
Registration info |
一般参加枠 Free
FCFS
セッション発表枠 Free
FCFS
|
---|
Description
スポンサー枠で増席しました(それでも、ゆったり座れる広い会場)
約1年越しの念願、LINE Fukuoka開催です!
fukuoka.ex発足とほぼ同時期の、2017年6月から、ずっと構想し続けていた「LINE Fukuokaでのfukuoka.ex MeetUp開催」が、遂に実現する運びとなりました
fukuoka.exの1年の活動・実績を総括し、今後の方向性を示す重要なMeetUpでもあるので、どうぞライブでこの場にお立ち会いください
fukuoka.ex#13・・・夏のfukuoka.ex祭=技術のパラダイムシフト
いきなりマジメな歴史のお話ですが、古来より「夏祭り」というものは、豊作を祝う「秋祭り」とは異なり、地域毎に起こる疫病や飢饉、地震、津波といった災害が起こったことを伝承し、これまでの災害への取り組みに対する不足を改め、新たな備えをする慣習を発祥としています
つまり、今まで通りの思考/行動のままでは、通用しない状況が発生していることをみんなで共有し、その状況に対する新たな策を練り、勢いをつけて乗り越えていくリハーサルをする、というのが、「夏祭り」の役割ということです
これを今風に表現するなら、「パラダイムシフトをいかにトレンドに乗って、楽々とソフトランディングしていくか」と言ったところでしょうか
今回のMeetUpは、「時代が求めるテクノロジーが変わった」という状況変化の共有を皮切りに、そうした状況に対する新たな策としてのElixir/Phoenix(≒ElixirのWebアプリフレームワーク)と、fukuoka.exの成果物(福岡でのプロダクション採用拡大、世界的にも珍しい独自研究・開発など)の位置付けを改めて整理し、これからの時代を乗り越えていくための今後の方向性を、セッション・LTにて、皆さまとぜひシェアしたいです
また、半年の間、継続してきた「fukuoka.ex祭り ~最初の派手な1年(あなたも join!!)~」の前半総括の場として、中間成果・実績発表も行いたいと考えております
具体的なコンテンツは、後述のタイムテーブルをご覧ください
なお、会の終了後(21:00以降)、お酒と軽食で懇親会も行いますので、セッション・LTの登壇者に質問したり、日頃会話できないようなエンジニアとの交流をお楽しみください(もちろん、セッション・LTのみの参加も可です)
※Twitterハッシュタグ「#fukuokaex」でもワイワイやっていきます
※fukuoka.exのコミュニティの成り立ちやビジョンは、文末少し上をご覧ください
※もし「関数型言語」に苦手意識や拒否症がある方は、文末をご覧ください
~ Elixir/Phoenixの現状について ~
Elixir/Phoenixにとって2016~2018年は、マルチコアのCPU全てをフル活用できる「Flow」「GenStage」や、GenStageを基盤とした「Dynamic Supervisor」がリリースされ、Phoenixも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正式採用、といった追い風もありました
福岡においても、Elixir/Phoenixをプロダクト開発/SI案件開発で採用されるケースが増え、他言語よりも明らかにレスポンス速度が速いWeb+DBが数日で構築できた事例や、1年以上ダウンせずに運用が回った事例など、実運用の実績も増えています(福岡以外でも、LINEやニコニコ動画、mixi、gumiでの活用事例もあります)
全世界で見れば、2014年は、200社程度しか採用していなかったのが、2016年は1,100社を超え、現在は、ゲームサーバだけに限らず、フィンランドやスウェーデン、イギリスを始めとする、金融/証券/SNS/メッセージング基盤などの分野で活用されており、世界的にも有名なSlackやDiscordでも積極的に活用されています
今は、まさにElixir/Phoenixを始めるには、もっとも美味しいタイミングと言えるでしょう
開催:2018年 8月 24日 (金) 19:00〜21:00(18:45 受付開始)
住所:福岡県福岡市博多区博多駅中央街8-1 JRJP博多ビル12F
(博多駅から徒歩5分)
タイムテーブル
時間 | 発表者 | 内容 |
---|---|---|
18:45-19:00 | - | 開場(受付開始) |
19:00-19:05 | fukuoka.exキャスト shozo_koga |
はじめに |
19:05-19:10 | (全員) | 「30秒お互い、どこから来たの?」で場を暖めてー(^o^) |
19:10-19:20 | fukuoka.ex代表 piacere |
#1-LT:fukuoka.ex祭りの中間成果・実績発表 |
19:20-19:35 | SIマイスター tuchiro |
#2-セッション:ElixirでSI案件開発を始める 第3回「Elixirでスケールアウト可能なWeb+DB開発」 |
19:35-19:50 | 性能探求者 y_ueno |
#3-セッション:Elixir Flowで膨大なImageリストを捌く |
19:50-19:55 | (全員) | 記念撮影(座ったままでOKです)→乾杯 |
19:55-20:00 | (全員) | スポンサー紹介動画 |
20:00-20:15 | LINE KYOTO 開発室 amillerchip |
#4-セッション:LINEのAIアシスタント「Clova」の拡張Elixir SDKについて |
20:15-20:30 | カーネルハッカー zacky1972 |
#5-セッション:ZEAM(Zacky's Elixir Abstract Machine)開発ログ 第4回「Pythonを捨ててElixirに移行する日」 |
20:30-20:40 | 福岡Elixirプログラマ piacere |
#6-セッション:マーケティングに強いCTOが語る技術未来とElixir 第4回「2020年までに福岡を『エンジニアの楽園』にするには?」 |
20:40-21:30 | - | ♪~ 懇親会 ~♪ |
-21:30 | - | 閉会 |
持ち物
LT発表者の方は、LT資料の入ったPCを持参してください
※当日、プロジェクターに接続(HDMI)いただき、発表していただきます
その場でコードを試したい方も、PCを持ち込んでいただいてOKです
なお、ゲスト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マスター」シリーズをご覧ください