Media Do Tech Do Blog

株式会社メディアドゥのエンジニアによるブログです。

Tech Do 第13回開催レポート

f:id:hrk02:20190322103515p:plain

はじめまして。 id:ariaki です。
株式会社メディアドゥでは、「Tech Do」という名前で、毎月ITエンジニア向け勉強会を行っています。
いつもは社内で開催されている本イベントですが、今回は1周年(13回目)を記念してお試しで一般公開しました。
当社エンジニア3名によるセッションと、一般募集した3名のLTと盛りだくさんの内容になりました。
イベントの様子はTwitterハッシュタグ「#techdo」で呟かれてますので、ぜひそちらも併せてご覧ください。

セッションの紹介

AWS Amplify SDK+SFCによるフロントエンド開発

speakerdeck.com

最初のセッションは @kentfordev さんです。
サーバーレス+IaCをキーワードに、Amazon S3 にファイルをアップロードする簡単なツールの開発手順が解説されました。
このセッションではモダンな技術がたくさん紹介されています。

前半は CloudFormation を用いたAWS各コンポーネントの設定方法の紹介です。
私も最近 CloudFormation を試していますが、YAML や JSON で設定を書けるのは管理がすごく楽になりますよね。
セッション内では、以下2つの設定方法が紹介されました。

後半は AWS AmplifyReact を用いたサンプルプログラムの話題です。
Stateful / Stateless 実装の違いや、Stateless ではコードがシンプルに書けることを解説されました。

ガトリング砲をぶっ放せ

speakerdeck.com

2つめのセッションは、私(@ariaki4dev)が登壇しました。
タイトルだけ見ると、なんとも物騒ですよね。
ここでは、Scala で書かれたオープンソースのロードテストツール「Gatling」について説明しました。

Webサービスに対するロードテスト(負荷試験)を行う場合、多くの方は最もメジャーなツール「Apache JMeter」を使われているのではないでしょうか。
みんなが使っているものっていうだけで、なんとなく興味が薄れたりしませんか?
今回はそんな気持ちから、いつもとは少し違うツールを試してみたことが登壇のきっかけです。
セッション資料はインストール・環境設定・簡単なサンプルコードを記載していますので、これまで触れたことない方に是非試していただきたいです。

実際に使ってみた所感は以下のとおりです。

  • Pros
    • テストシナリオが Scala DSL コードで書ける
    • 複雑なシナリオやセッションなども手軽に作れる
    • テスト結果(HTML)がきれいでわかりやすい
  • Cons

エンジニアにとっては何よりもテストシナリオをコードで書けることが嬉しいですよね。
セッション資料に記載されている Scala DSL の簡単さを是非ご確認ください。
JMeter では GUI 操作もしくは XML を書く必要があり、複雑なシナリオの書きやすさは断然 Gatling に軍配があがります。
しかし、Gatling は一部機能が有償版の Gatling Frontline にのみ存在するなど、JMeter と比べて機能面で見劣りする部分がありますので、お使いの前に機能が必要十分か検証されることをおすすめします。

EPUB Generator 作ってみた

3つめのセッションは、@kutsuna_ma さんによる EPUB に関する話題です。
当社では電子書籍の配信事業を行っており、普段から EPUB を商材として取り扱っています。
多くのエンジニアは直接ファイルの中身を加工することがありませんので、仕様を理解していない方がいるかもしれません。
そんな社員に向けて、EPUB フォーマットの基礎知識に始まり、Java を用いて簡単な生成ツールの作成までを解説されました。

途中で紹介されたでもプログラムのソースコードは以下に公開されています。

github.com

私たちの勉強会 Tech Do は、「技術書典6」で技術合同誌を刊行します。
この合同誌では、本セッション「EPUB Generator 作ってみた」の内容をまとめた記事を改めて収録する予定ですので、是非チェックしてください。
合同誌の詳細については、後ほどあらためて別記事にてご紹介させていただきます。

LT大会

後半のLT大会では、3名の方にそれぞれ以下のような内容でご登壇いただきました。

  • 1年生になったら / @sapi_kawahara
    • 新しい技術でつまづいたけど、いきなり AWS 楽しい
    • 乗り越えたときが幸せになれる
  • 本当に怖いPub/Sub話 / @harada_hi
    • 一般的な Pub/Sub と Redis のそれは全く違う
    • 気づかず実装したら大事故になる可能性があるので、ちゃんと仕様を確認しよう
    • Production 環境でしか発生し得ないようなレアケースの問題もある
  • Puppeteerに操られた話 / @yagirihara
    • Puppeteer の紹介
    • Puppeteer Recorder の紹介
    • async/await にハマったり、シナリオの自動作成は限界がある
    • でもやっぱり Puppeteer 便利!

おわりに

弊社エンジニアの多くは、これまで登壇などのアウトプットを経験していませんでした。
私たちは『Tech Do』を通じて学習の大切さを学び、積極的な学習を始めています。
例えば、あるチームでは毎週一回 AWS Loft Tokyo に赴き、自習会を行っています。

2018年3月から始まったTech Doは、今月でちょうど1周年を迎えました。
これからもこの活動を続けることで、弊社のエンジニアが新しい技術をキャッチアップし、興味のある分野を伸ばし、社会に対してより良いサービスを提供できるように精進していきたいと考えています。