Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@im_miolab

プログラミング言語Elixirの北九州コミュニティ「kokura.ex」についてお話します!

More than 1 year has passed since last update.

この記事は、「fukuoka.ex Elixir/Phoenix Advent Calendar 2019」18日目の記事です。
きのうは @masatam81 さんの「Elixirで大規模データを扱う場合のメモリ管理」でした。

はじめに

kokura.ex 管理人のim_miolabと申します。
Qiitaアドベントカレンダーの季節まっただ中ですね。
そんなお祭り的な雰囲気のなか、記事を書いてみました!

こんな記事です

Elixirコミュニティ「kokura.ex」の取りくみ事例を中心に、2019年のふりかえりをかねてメモ的につづるポエムです。

Elixirは、開発しやすく、大量データの取り扱いに威力を発揮し、プログラム入門者でも勉強しやすいというお話も交えて、つらつら書いていきます。

(もし記事中おかしな箇所等あったら、そっと教えていただけると幸いです!)

自分は何者か?

北九州に住んでる人間です。かるめに自分のことを説明しますと、

  • 2019年にWeb/ITエンジニアへ転生しました。2019年12月時点で業務において書くことが多い言語はPython。
  • 転生前は、電気設計エンジニアを長らくやってました。(ジャンルは強電)
  • 兼業パン屋です。実店舗を土日営業+オンライン販売やってます。
  • 話は前後しますが、2019年5月から、いろんなWeb/IT勉強会に参加しはじめました。その流れの中で、福岡のElixirコミュニティfukuoka.ex のもくもく会に参加するようになりました。
  • そうこうしてるうち、気がついたらkokura.exの管理人になってました。

というわけで、Elixirを書く時間がだんだんと増えてきたので、うれしい限りです!

Elixirとは?

  • 膨大なアクセスやデータの高速処理
  • 高い開発効率と育成容易

を両立できるプログラミング言語です。
とりわけ、データを変換することに主眼がおかれています。

導入事例としては、

  • 大量アクセスのあるWeb・APIサーバ構築
  • ビッグデータ分析/AI・機械学習向けデータ加工
  • IoT連携

などが挙げられます。

Elixirの構文 (Hello world)

ちなみに、Elixirの構文で定番のHello Worldを書くとすると、たとえば以下のように記述することができます。

hello_world.exs
defmodule HelloWorld do
  def hello_world do
    IO.puts "Hello world and Elixir!"
  end
end

HelloWorld.hello_world

Elixirインストール済みのPCで、お手元のターミナルやプロンプトからelixir hello_world.exsと入力すると、

bash
$ elixir hello_world.exs

Hello world and Elixir!

このようにHello worldが出力されます。

もしくは、ElixirのREPLであるiexから、以下のようにして出力することもできます。

bash
$ iex

iex()> IO.puts "Hello world and Elixir!"
Hello world and Elixir!
:ok

詳細や解説は本記事では割愛しますが、こんな感じです。

他にも、.exsファイルから.exファイルにコンパイルして実行...などのやり方もあります。

また、ここでは詳しく触れませんが、パイプライン演算子|>をつかって、データや要素 |> 処理 |> 処理をうけた結果を処理...のように、自然な流れでコードを書くことができる点も、Elixirの特徴です。

kokura.exとは?

kokura.exは、福岡の人気Elixirコミュニティfukuoka.exから2019年にブランチし、北九州小倉で活動をしている新生Elixirコミュニティです。

2019年10月からは、月1ペースで勉強会を開催しています。

そのほか小倉(北九州)では、

Elixir気運が高まってきており、これからのさらなる盛りあがりが期待されます!

kokura.exでは、どんな活動やってるの?

2019年秋~冬時点でのメインコンテンツは、各参加者PC持込みによるもくもく会形式の勉強会です。
はじめましての方や、プログラミング未経験の方、おれはつよつよだぜ!って方、業務でElixirされてる方、といった方々がいらっしゃいます。

入門者の方には、ハンズオン形式のお題をご用意しており、環境構築のお手つだいもしています。

Excelから関数型言語マスター1回目:データ行の”並べ替え”と”絞り込み”
 →入門者の方におすすめです。

LiveViewでSPA開発①: Elixirのみでフロントのリアルタイム入力/反映するSPAを実現(APIとJavaScriptは書いていない)
 →ElixirのWebアプリケーションフレームワークPhoenixの、「サーバーサイドの記述だけでフロント処理を動的生成できる」強力なモジュール LiveView を体験したい方はゼヒゼヒ。

テスト駆動開発を、Elixirでゆるふわにやってみる (テスト自動化つき)
 →Elixirでのテスト駆動開発をゆるふわに始めてみたい方は、こちらもどうぞ!

さいごの3つ目はオマケで自分の記事です^^;
Elixirはテストがすごく書きやすい!というのが自分の印象です。

このほかにもVue.jsとの連携機械学習など、いっぱいお題ありますので、ご自身の興味あるトピックに取り組まれるとよいかと思います!

リモートでイベント参加

その他、kokura.exのおおきな特徴は、会場参加のみならず、リモート参加にも対応している点です。
福岡以外にお住まいでオンラインからご参加される方もおおいです!

具体的なご参加方法は、

  • エンジニアにおなじみのチャットツール slack
    (質問やソースコード載せたり、成果物を共有したりなど)
  • オンラインミーティングツール Zoom
    (会場とリモートとがリアルタイムに動画でつながります)
  • つぶやきたい人ご用達の Twitter
    (モチベup!にも意外と一役かいます)

を駆使し、会場参加者とリモート参加者の方々が、リアルタイムに楽しくもくもく&ワイワイできる場となっています。
上記ツールが未経験 or 不慣れな方にはフォローしますし、じっさいに手を動かして「slackやZoomといったツールを使いつつElixirリモート開発を実体験する場」としてご参加されてみるのも、けっこう良い経験になるのかもしれません!

kokura.exが目指すところ

  • これから先端技術をやりたい方
  • 最新のプログラミングを学びたい方
  • 未来に向けてWebやITに強くなりたい方

など、技術への興味レベルが高い方や、プログラミングに関心が高い方のご参加を歓迎します。

Elixirにはそのポテンシャルがあると考えて自分は行動していますし、またコミュニティ運営管理者として、

  • Elixir/Phoenixにふれる機会
  • 実際のアプリケーション開発に役立つノウハウを共有しあい研鑽できる場
  • プログラミングの楽しさにふれ、没頭できるひととき

の提供にたずさわれていることを嬉しく思っています。

おわりに

以上、kokura.exのお話を書いてみました。

Elixirや勉強会にご興味もたれたら、

  • お近くにお住まい方 → ぜひ一緒にやりましょう!
  • 距離的に直接参加がむずかしい方 → リモートでのご参加お待ちしています!

2020年は、kokura.exでは「もくもく会」のほかにも、「ハンズオン」や「ミートアップ」イベントの開催も考えています。
イベントの開催情報や参加申込は、「connpass」やハッシュタグ「#kokuraex」で探してみられてください!

ps.

Elixir Advent Calendar 2019 もありますので、こちらもぜひご覧ください。
自分も12/4の投稿枠で参加してますので、よろしかったらどうぞ!


明日の「fukuoka.ex Elixir/Phoenix Advent Calendar 2019」19日目の記事は、@NeunKrain さんです。お楽しみに!

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
im_miolab
「kokura.ex」「KitaQもくもく会」管理人してます / Elixir, Python, JavaScript / 音楽, 大東流・兵法二天一流, 鉄道 / 得意技 電気設計(強電)
fukuokaex
エンジニア/企業向けにElixirプロダクト開発・SI案件開発を支援する福岡のコミュニティ

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?