Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LonestarElixirConf2019から知る世界のElixir事情

506dbe86c6801a3178c0e756df14dbb7?s=47 piacerex
April 17, 2019

 LonestarElixirConf2019から知る世界のElixir事情

506dbe86c6801a3178c0e756df14dbb7?s=128

piacerex

April 17, 2019
Tweet

Transcript

  1. マーケティングに強いCTOが語る技術未来とElixir 第6回 Lonestar ElixirConf 2019 から知る世界のElixir事情 2019/03/01 ver 0. 5作成

    2019/04/15 ver 0. 9作成 2019/04/17 ver 1. 0作成
  2. 1 1. Lonestar ElixirConf 2019概要 2. 前夜 (トレーニング、スピーカーディナー) 3. 各セッションの紹介

    (Day1) 4. 各セッションの紹介 (Day2) 5. 世界のElixir事情を直接、体験した結果… 目次
  3. 2 1. Lonestar ElixirConf 2019概要

  4. 3 Lonestar ElixirConf 2019とは? 「Lonestar ElixirConf 2019」は、オースティンで開催される、 「ElixirConf US」「ElixirConf EU」に次ぐ規模のカンファレンス

  5. 4 えっと、そもそも、オースティンってどこ? 「オースティン」が、どこにあるかご存知ですか?(どんな場所かも) アメリカの南側、テキサス州にある都市です 日本からは、10,000Km以上、離れた場所にあります 私達も、あまりオースティンや テキサスのことを知らなかったの ですが、ご存知無い方に、 どんなイメージか聞いてみたい です

    (たとえば、気温とか…)
  6. 5 オースティンの冬の最低気温は日本と同じ…つまり寒い テキサス/オースティンは、最低気温は、日本の平均気温と同じ、 最高気温も日本の夏の最高気温とあまり変わらない…といった 感じで、実は日本と比べ、すごく暖かい…ということは無いです (更に曇りの日が多く、南の場所な感じは、全くしませんでした) 「テキサスだから暑い」みたいなイメージで、厚着をしてこなかった ざっきーさんは、かなり寒そうでした(^^u 到着した翌日昼の 気温は、6℃と、

    日本より寒く、 このライトダウンは なかなか厳しい…
  7. 6 福岡からオースティンまでの移動は…23時間! 福岡から飛行機で23時間 (3つの便をノンストップ乗り継ぎ)

  8. ちなみに、ざっきーさんの スライドは福岡空港で…

  9. なんと、ゼロページw (いつものfukuoka.ex MeetUp とおんなじノリやー)

  10. そんな訳で、 空港で怒涛のスライド 共同作成開始(^^u

  11. 10 オースティンの空港からElixirConf公式ホテルまで オースティン・バーグストロム国際空港からElixirConf公式ホテル の「HAYTT PLACE」に到着したときは、すっかり夜中で、ホテル のルームサービスも終わってたけど、フロントのお兄さんが、フレンド リーで、イヤな顔1つせず、巨大バーガーをデプロイしてくれました 空港までの移動は Uver大活躍

  12. 11 ホテルの周りは、ショッピングセンターくらいしか無い… オイルマネーで潤った後、ハイウェイでバイパスされた?(冗談) 近所のマックは、直線距離で 10分なのに、ハイウェイ横断 ができず45分…車社会ねぇ

  13. 12 Lonestar ElixirConf 2019の会場 「Norris Conference Center」という、ホテルから車で10分の ところにあるカンファレンス会場 (レストランが近くに並んでいます) 行きは送迎あるけど

    帰り道はUver大活躍 (日本で実感し切れない Uverの偉大さを知る) 歩くと54分… 公式ホテルがそんなに遠いとは (やっぱ車社会だからだろうか)
  14. 13 Lonestar ElixirConf 2019トレーニングプログラム Confに先立って、講師7名による、 5種類のトレーニングを開催 好きな開発技術を丸一日 (1.5時間 x 4コマ)

    ハンズオン形式でガッツリ学べる 一番人気は 約40名も参加 高瀬さんは約20名の仲間と 共にNervesトレーニング参加
  15. 14 Lonestar ElixirConf 2019セッションプログラム Day1 Day2

  16. 15 2. 前夜 (トレーニング、スピーカーディナー)

  17. 16 高瀬さんが参加した、「Device to the Cloud with Nerves and NervesHub」は、ラズパイ等のIoTボードでElixirアプリの 稼働を可能にする「Nerves」のトレーニングでした

    Nervesアプリ/ファームの開発方法を、 コア開発者のFrank Hunleth (ConfではLT参加)、Justin Schneck (Confでは オープニングキーノートを担当) から直接学べる贅沢なセッション トレーニングプログラムの様子 高瀬さんとFrank Hunleth 高瀬さんとJustin Schneck 本日の高瀬さんセッション でミニ再現にチャレンジ! ハンズオン資料と機材を譲り受けて 内容を展開する許可を頂きました!
  18. 17 スピーカーディナーの様子 スピーカー特権として、Conf前夜には、トレーナー、スピーカー、 スポンサー、スタッフが参加の特別ディナー会が催されました 世界中のアルケミスト (Elixir使いを指す言葉、PHP使いのこと を「ペチパー」と言うのと同じ) とフランクに交流できるのが、現地 参加ならではの醍醐味です ↓ざっきーさんと私、

    Frank Hunlethの席 (シカゴのグループは500名もいる!) ↓高瀬さんと Chris Freezeの席
  19. 18 3. 各セッションの紹介 (Day1)

  20. 19 Conf開始前の会場の様子 200名収容の会場は満席で、開始前に、無料の朝食を提供 日本人の参加は、どうやらfukuoka.exの3名だけのようです (アジア人は10名未満で、韓国や台湾の人がチラホラ…) 記念Tシャツ に着替えて ゴキゲンw

  21. 20 Nerves Project Nervesプロジェクト共同創始者で、ElixirConf 2018でもキー ノートも務めた Justin Schneck から、Nervesの最新版での 1.8対応やビルドターゲット複数対応、NervesHubを紹介

    ホストからssh接続してstdio表示、RingLoggerでgrep検索、 push over sshでファームウェア更新と、ライブデモ満載でした Nervesの詳しい 内容は高瀬さんの セッションにて https://www.youtube.com/watch?v=ItIv2ndtzFM
  22. 21 Socrates and Distributed State on the BEAM SalesLoftのエンジニア、Dan Dresselhaus

    から、分散環境 の状態管理の課題と、解決策としてのElixir実装「Raft」を解説 https://github.com/toniqsystems/raft ※Raftは、論文で紹介されるアルゴリズム名と同じ 分散状態保持について、6つの観点で、複数GenServer/ Erlangクラスタ/Delta CRDT/Redis/Kafkaといった分散 環境と、Raftの挙動の違いを、アニメーション付で理解できます https://www.youtube.com/watch?v=-7WCKKhuhfY
  23. 22 Cadre: Building reliable distributed stateful systems in Elixir TimexやDistilleryを手掛け、ElixirConfのスポンサー企業、

    DockYardにも所属している Paul Schoenfelder が、ラージ スケールするサービスをElixirで構築する際のポイントを解説 分散ステート管理の課題と、解決策であるETS/Registry/ Mnesiaが抱える課題、それを解決できる「Cadre」の紹介 https://www.youtube.com/watch?v=xSOuB5P_mk0
  24. 23 Ecto Without a DB ElixirConf 2014からスピーカーを務める、Greg Vaughnが、 Ectoの4つのコンポーネント (下記URL)

    のうち、DB無しで独立 して利用できる「Schema」「Changeset」 を、iexでライブデモ https://hexdocs.pm/ecto/Ecto.html Schemaの構造解析を、inspectのstructs OFFでmap表示 したり、DB無の検索IFにおける入力チェック例は、貴重な内容 https://www.youtube.com/watch?v=k_xDi7zAcNM
  25. 24 Things you might not have tried with Ecto オースティンでDockYardに勤務し、Ectoのコミッターも務める

    Luke Imhoff が、EctoのDB無時のChangeset/Typeと、 DB有時の様々な操作 (主キー、Join、Index、タイムスタンプ、 制約、バルク操作) についてテクニカルなEctoの利用を披露 「Type」で文字列をElixirネイティブ型に変換したり、バルク操作 4種類を分類する様は、なかなか日本で手に入りにくい情報 https://www.youtube.com/watch?v=3EyDkiDzbj8
  26. 25 The Business Case for Elixir DockYardのCEO、Brian Cardarella は、Elixirを企業内に プロモートする方法について、9つの説得ポイントで解説

    (Apple やMOTOROLA、Adobe、スクエニが導入済企業として紹介) これから自社にElixir導入される方には、ぜひ動画を見て欲しい https://www.youtube.com/watch?v=jIwWsLTCC4s
  27. 26 Linguistic Domination and Translation as a Counter-hegemonic Practice アトランタで、Elixir

    MeetUpを主催している Osa Gaius が、 OOPや「the four」が展開する言語の覇権 (Hegemony) に ついての状況を説明した後、関数型プログラミングであるElixirで それらを翻訳していくと、随分シンプルになる…という主張を展開 GoFをElixirに翻訳する中で、関数パターンマッチがいかに強力 で、覇権には存在しないパラダイムシフトであることを改めて認識 (ビデオがアップされていない…残念)
  28. 27 Happy Hour & Lightning Talks Conf両日のセッション終了後には、スポンサー提供の「Happy Hour」ありました (日本で言うハッピーアワーと同じ意味です) 話題は、各国のElixir技術動向から、仕事の内容やお困りゴト、

    Elixir以外に好きな言語、あと好きなFinalFantasyのシリーズ ナンバー…とか 更に、Day 1のHappy Hour後には、LTタイムが あり、5分LT一本が一般応募受付されていました (当日にGoogleフォームで申込み)
  29. 28 バリエーション豊富なElixirを知る「Lightning Talks」 Nerves、MMO、Telemetry、機械学習など、ネタが豊富 https://www.youtube.com/watch?v=QKMqnHQ85A4 https://www.youtube.com/watch?v=jAfSrissuXg https://www.youtube.com/watch?v=WsUym0ewM_8 https://www.youtube.com/watch?v=jTTgdsLaleU https://www.youtube.com/watch?v=DvwgGz_5D5I https://www.youtube.com/watch?v=XwcmEX7LHeY

    https://www.youtube.com/watch?v=AjYHt6qs7lQ
  30. 29 LTが始まってもロビーから帰ってこない人達(^^u… Happy Hourから戻らず、閑散としてても、フランクにLT始まる かくいう私も 長旅の疲れと 英語でCPU利用 100%でグッタリ

  31. この後、怒涛の スライド修正とリハーサル で1日目終了(^^u

  32. 31 4. 各セッションの紹介 (Day2)

  33. 32 Phoenix LiveView Phoenixメインコミッター、Chris McCordからは、昨年から待ち 続けた、革新的フロント技術「LiveView」の解説とデモでした スピーチ後、「普通にファン」として突撃してきて、 Phoenix+Vue.jsで作ったEsunaを見せたり、 LiveViewでEsunaを再構築する話をしてきました LiveViewで

    何ができるかは 古賀さんの セッションにて (ビデオがアップされていない…残念) とてもフレンドリー
  34. 33 The Factory of the Future with Elixir, Phoenix, and

    Nerves Clark Kampfe は、モノづくりの歴史の例として、「エンジン」と、 作るための道具が、改善や品質向上され、プログラミングが出現 し、「気にしなくても上手くやってくれる事」が増えた結果、ポインタ もデータ破壊も無いElixirが、いま私達の手にある流れを解説 Elixir/OTP/Phoenix/Nervesといった素晴らしいツールが あっても魔法では無いので私達がデザインすることが大事と強調 https://www.youtube.com/watch?v=0Cn_n76qTIQ
  35. 34 Building a smart sprinkler controller with Nerves 「風呂モニターでおうちハック」や「駐車場モニター」等から、IoTの エンジニアをスタートしたTodd

    Resudekからは、IoTデバイス群 と、それらのUI薀蓄、その後Nervesでスプリンクラーの実装解説 Nervesでの実践的なコードが示され、ビジュアルも楽しい登壇 https://www.youtube.com/watch?v=qklciKp7sD8
  36. 35 Monitoring Your Elixir Application with Prometheus (プレゼン準備で観れず、YouTubeで視聴…ElixirConf多謝) LTでも紹介された「ExVenture」を開発する、SmartLogicの Eric

    Oestrichは、モニタリングツール「Prometheus」にElixir からカスタムログを出したり、Elixirにアタッチする例を交えて解説 中でも、Phoenix 1.4でも導入されたDI的存在「Telemetry」 を監視系にアタッチして使う例は、あまり例が無いので貴重でした https://www.youtube.com/watch?v=ETUD9SaRCjY
  37. 36 Bringing Elixir to Production (プレゼン準備で観れず、YouTubeで視聴…ElixirConf多謝) SalesLoftのSteve Busseyから、Elixirをプロダクション利用/ 運用するにあたって、他言語との連携をどう取るかや、言語習得 のメンタリングと新言語のパラダイム/エコシステムの習得、性能

    の確保、リリースの組み方など、網羅性高い珠玉の経験値共有 これからElixirをプロダクション採用検討する方は、ぜひご覧を (そして、いつかfukuoka.exでも共有してください) https://www.youtube.com/watch?v=sXyA4ztG1A4
  38. 37 Hastega: Challenge for GPGPU on Elixir 我らが、fukuoka.exカーネルハッカー、ZACKYさんの登壇です 初日セッションも通して、もっとも会場が盛り上がったセッションで、 登壇後には、Elixir創始者

    José Valim との、Elixir本体にも 影響出そうな会談が繰り広げられました (この議論は、今も続いています) 本日、本登壇内容をZACKYさん のセッションで皆さんと共有します https://www.youtube.com/watch?v=lypqlGlK1So Hastegaの 実装に興味津々
  39. 38 The River (changed from Elixir.next) Phoenixコミッター Bruce Tate から、川の始まりや成長、変化

    になぞらえて、Elixirという流れが José と Plataformatec から 始まり、様々なプレイヤーや企業が関わり、現在のElixirの姿に なり、これからどのような変化や動きが訪れるかが解説されました José自身のElixir完了宣言が引用され、彼曰く、自らのパート は終わり、私達が何を担い、投票するかが、今後の流れとのこと https://www.youtube.com/watch?v=KW85rW6-PgI
  40. 39 KeyNote①: Erlang Ecosystem Foundation Elixir創始者 José Valim からKeynote2つが披露されました 1つ目は、「Erlang

    Ecosystem Foundation」で、Elixirと Erlangの技術開発やOSSプロジェクトを支援する団体の設立と、 5つの初期ワーキンググループの役割が発表されました https://www.youtube.com/watch?v=qCA-Qu-TPoM
  41. 40 KeyNote②: The Road to Broadway 2つ目は、GenStageの後継機能として、耐障害設計に焦点が 充てられた「Broadway」についての解説でした GenStageで未達成の「スーパーバイザツリー設計」「データ消失 回避シャットダウン」「障害時イベント消失軽減」を実現する実装

    https://www.youtube.com/watch?v=a3FtBNMzMxM
  42. この後、HappyHourに 参加し、それから23時間 の飛行機旅で帰国し…

  43. 帰国後、mixiで懇親会、 Akatsukiで帰国報告会 まさに弾丸スケジュールw

  44. 43 5. 世界のElixir事情を直接、体験した結果…

  45. 44 世界のElixir事情を直接、体験した結果… ➢ テクノロジー面 • 私自身、世界のElixirの動きは追っており、知っていること も多かったが、一方で、それがどのくらいのスピードや勢いで 進化しているのかの「肌感」は、まぁまぁズレていた感触 • ElixirConfのビデオ配信で、この感覚は分からない?

    • 国内Elixir事情、「世界と同期できてない感」、高まる… ➢ 交流面 • コミッターやスピーカーと直接会うことで、意見交換可能に • 現地に行って、拙いながらも会話したり、セッションを聞くと、 Elixir仲間ばかりの環境と内容で、かなりモチベートされる ➢ 体験した後の「マインドと行動の変化」 • MeetUpの動画配信は、Elixir布教に重要かも知れない • 来年のElixirConfで壇上に上がりたい • 会場やTwitter/Slackでもっと会話できるようになりたい
  46. 最後に覚える言語は、 Elixirのつもりだったけど…

  47. 実は、 だった (^_^u…

  48. Elixirのためなら マスターするのも厭わない いま毎日、修行中… ・英語で書かれた英文法本をパワポにまとめ中 ・英文コラム読み (Elixirに限らず) ・海外エンジニアとほぼ毎日チャット ・海外Elixirエンジニアを積極フォロー ・海外のElixir質問に英語で答える ・英語圏向けツイート

    (今回MeetUpも)
  49. Elixirへの愛の高さは https://speakerdeck.com/cooldaemon/erlang-falsele-sisatoxin-sa 鉄人にも負けてない(^^)

  50. 加えて、 来年のElixirConf に向けて…

  51. 50 FBトップ画面で鼓舞 (≒プレッシャーをかけているw) ZACKYさんの リハーサル時に それっぽいのを コッソリ撮影

  52. こんな感じで…

  53. 52 「世界のElixirの波」に巻き込まれたい方、絶賛募集中 2019/8/27~30開催のElixirConf USに行ってみませんか? まだ一般参加の募集 は始まっていませんが、 イベント告知のメール 通知は受付開始して いますので、気になる ようであれば下記から

    登録してみてください https://elixirconf.com/2019
  54. 53 「世界はハードルまだ高い…」という方に向けては… 2019/6/1東京開催のErlang & Elixir Festはお手軽です https://elixir-fest.jp/

  55. そして、 未だオフレコですが、 fukuoka.exも… (スミマセン、会場限定のネタです)

  56. ご清聴ありがとうございます