Dec
22
fukuoka.ex#4 (懇親会も):Elixirのビッグデータ分析~福岡Elixir会
福岡Elixir会メンバー登録(無料)…https://fukuokaex.connpass.com
Registration info |
一般参加枠 Free
FCFS
LT枠 Free
FCFS
|
---|
Description
下記URLから福岡Elixir会にメンバー登録すると、MeetUpイベントやもくもく会のお知らせがメールで届きます(無料)
https://fukuokaex.connpass.com
福岡Elixirコミュニティ「fukuoka.ex」とは?
「fukuoka.ex」は、ビッグデータ分析やAI・機械学習向けデータ加工(クレンジング/フィルタリング/変換)、もしくは大量アクセスのあるWeb・APIサーバ構築といった、「膨大なデータとアクセスの高速処理」と「高い柔軟性・開発効率」を両立できる関数型プログラミング言語「Elixir」と、そのWebアプリケーションフレームワーク「Phoenix」を福岡で広め、ワイワイと盛り上げていくコミュニティです。
Elixirは、プログラミング初級者でも非常にとっつきやすい言語・ライブラリ仕様なので、「プログラミングが初めて」の方はもちろん、「オブジェクト指向言語はやったことあるけど関数型言語が初めて」という方や「他の関数型言語が難しくて脱落した」という方にも、自信を持ってオススメできます。
Phoenixは、Webアプリケーションの世界では最もメジャーな「Ruby on Rails」を開発していたメンバーが作った、大量アクセス処理と高速分散処理が可能なWebアプリケーションフレームワークで、Rails同等の高度なWebアプリ・JSON APIの開発をとても気軽に行えます(中でも、WebSocket性能は、あらゆるFWの中でも最速の部類)
「fukuoka.ex」では、MeetUp(勉強会、プログラミング入門/もくもく会)やハッカソンを通じて、Elixir/Phoenixの習得と、業務利用やプロダクション開発の採用、Elixir以外の最新テクノロジーとの連携、といった領域で役立つ情報を交換できればと思っています
東京では今年、「Elixir Conf 2017」という大型イベントで300人を動員し、盛り上がっていますが、福岡でもこの勢いに乗りつつ、東京に負けない展開・活動を一緒にしていきましょう
※もし「関数型言語」に苦手意識や拒否症がある方は、文末をご覧ください
※Twitterハッシュタグ「#fukuokaex」でもワイワイやっていきます
MeetUp#4・・・Elixirでビッグデータ分析(基本編)
fukuoka.exは、「膨大なデータとアクセスの高速処理」と「高い柔軟性・開発効率」、そして「プログラミングの楽しさ」の全てを実現したいエンジニア同士で集まり、情報交換したり、刺激し合う場として、隔月にMeetUpを定期開催しています
今回のMeetUpは、Elixir/Phoenixを使って、ビッグデータ分析の基礎となる大量データのハンドリングや、AI・機械学習との連携について、複数のセッション・LTを予定しています
単品のCPU性能が2000年代前半に頭打ちとなり、マルチコア化したものの、そのパワーを引き出せるプログラミング言語がほとんど無い中、Elixirは、マルチコアのCPU全てをフル活用できる仕組み(Flow/GenStage/Stream等)を非常にカンタンなプログラミングで引き出すことが可能なため、昨今、高性能が求められる、ビッグデータ分析やAI・機械学習向けデータ加工の強力なツールとなります
またEixirは、30年近く電話交換機での高速性能と並行分散処理を支え続けた「Erlang VM」をベースに持つため、安定性や耐障害性に関しても、他の言語が追随できないレベルで洗練されており、長期間の安定稼働やホットリロードといった、ビッグデータを日々ドライブする業務システムに欠かせない運用面も抜け目ありません
このような、言語およびVMの両面で、低レイテンシー/大量接続に特化した設計を、ビッグデータ分析やAI・機械学習に適用すると、どのような活用方法や事例となるかは、後述の「タイムテーブル」にて内容をご確認ください
なお、会の終了後(21:00以降)、お酒と軽食(無料)で懇親会も行いますので、セッション・LTの登壇者に質問したり、日頃会話できないようなエンジニアとの交流をお楽しみください(もちろん、セッション・LTのみの参加も可です)
開催:2017年 12月 22日 (金) 19:00〜21:00(18:45 受付開始)
場所:株式会社TechJIN(最寄駅: 天神)
住所:福岡県福岡市中央区天神3-4-3 大隈ビル8F
(空港線天神駅から徒歩5分、西鉄天神駅から徒歩10分)
Tel:092-406-8016
タイムテーブル
時間 | 発表者 | 内容 |
---|---|---|
18:45-19:00 | - | 開場(受付開始) |
19:00-19:05 | - | はじめに |
19:10-19:35 | _keitamatsuo | #1:セッション「Flow&GenStageで超高速な マルチコア並行・並列処理をサクッと書く」 |
19:40-19:50 | y_ueno | #2:LT「ElixirからOracle接続して、ビッグデータ分析に備える」 |
19:55-20:05 | nagafuchi | #3:LT「PhoenixでビッグデータSaaSの活用状況を可視化」 |
20:10-20:20 | YujiKawakami | #4:LT「PythonライブラリをElixirで開発してみた」 |
20:25-20:45 | piacere | #5:セッション「データサイエンスプラットフォーム構築 ~Elixir高速データクレンジング&集計→AI・ML(Keras)連携~」 |
20:50-21:50 | - | ♪~ 懇親会 ~♪ |
持ち物
お名刺を受付でお渡しいただければ、スムースに受付が完了します
(プラス数枚、名刺持ってきていただくと、懇親会での交流がスムースになります)
LT発表者の方は、LT資料の入ったPCを持参してください
※当日、プロジェクターに接続(HDMI)いただき、発表していただきます
その場でコードを試したい方も、PCを持ち込んでいただいてOKです
なお、ゲストWifi利用可能ですので、Pocket Wifiやテザリング端末は無くても大丈夫です
「でもElixirって、使いづらくて覚えにくい『関数型言語』でしょ?」
一般的に「関数型言語」と言えば、言語の習得が難しく、組織として選定しづらいイメージがありますが、Elixirは、言語仕様や構文がシンプルかつ簡単なので、「育成や習得の容易性」を切り捨てること無く、関数型のメリットも享受できます
関数型のメリットは、以下の通りです
- 状態が無いことで、同じ入力を何度行っても同じ出力しか返さないので、意図しない挙動にならない
- 変数がイミュータブル(作成後にその状態が不変)なので、マルチスレッドや並行処理で競合しない
- プログラム構造が小さな関数群で構成され、シンプルに保たれるため、変更容易性が向上する
- 少ないコードで、凝縮度の高い高度な処理が書ける
更に、Elixirならではの以下メリットも上乗せされます
- マルチコアCPUを簡単にフル活用できる
- マルチクラスタ(AWS、GCP、Azure)のスケールアウトも楽々実現
- 長期間の安定運用を実現してきた「Erlang VM」の元で動作する
- 関数の引数でのパターンマッチが可能で、呼出時の事前条件チェックや関数呼び分けには、快感すら感じる
- リスト設計に慣れていくと、他言語で数百行かかる複雑な処理も、数行のコードで組むことが可能になる
- JSONパースが得意なので、Google APIやBacklog API等、様々なWeb APIとの連携に強い
- データ変換とバイナリデータ検索に特化しているので、ファイルヘッダ解析やIoT/ドローン制御にも向いている
- できあがったコードは、オブジェクト指向言語の1/100の量になることもあり、見た目も100倍エレガント
- 習得がカンタンなので、入門者・初級者向けでもあるし、ベテランなら驚くほど生産性が高まる
付録:fukuoka.ex参加後の復習 or 来れなかったときの自習コンテンツ
過去fukuoka.exでセッションした「Elixir入門」スライドをSlideShareにて公開中!
■入門編
■応用編
- Elixir入門「第2回:PC間で通信するアプリをサクっと書いてみる」
- Elixir入門「第5回:Visualixirで見るマルチプロセス」
- Elixir入門「第6回:Elixirはtry…catchを書かない~障害対応のパラダイムシフト~」
■その他