うさみ日記

東京都日野市からまいりました宇佐見直人です。ITとかマーケとかの話や、勉強した話なんかをするよ。

ITエンジニア向け勉強会「吉祥寺.pm13」に行ってきたら特濃レベルに濃かった話(前編)。

行ってきました吉祥寺.pm。
前から興味があったエンジニアさん向け勉強会です。
「勉強会」と言いつつ、採用目的でちょっとでっかめの企業がやってるところも多いですが、
ここはなんというか、エンジニア界をよくしたい人の集まりって感じでした。


以下、connpass内の吉祥寺.pm13(吉祥寺.pm13 - connpass)のタイムテーブルを
「たしかこんなだったよなー」と補完したもの。


19:35〜19:50(15分)
Talk1: PythonでWebアーキテクチャーを学ぶ(shuheioza)

19:50〜20:05(15分)
Talk2: サーバインフラ・基盤技術について(progrhyme)

20:05〜20:20(15分)
Talk3: エンジニアの健康について(まみー)

20:20〜20:40(20分)
Talk4: 今あえてDRY原則について考える(しんぺい a.k.a. 猫型蓄音機)

20:40〜20:55(15分)
Talk5: App::RemoteCommandの話(skaji)

20:55〜21:00(5分)
休憩

21:00〜21:05(5分)
LT1: イミュータブルデータ・モデルを1年使ってみた(grimrose)

21:05〜21:10(5分)
LT2: こんな変数名は嫌だ(yuki_kimoto)

21:10〜21:15(5分)
LT3: Webコンポーネント関連の最新動向(tipo159)

21:15〜21:20(5分)
LT4: 3秒でログイン画面を実装する(Taria)

21:20〜21:25(5分)
LT5: 信頼できるエンジニアになる!

21:25〜21:30(10分)
QA&終了&片付け&解散

みっっっっっっっちり。
ほんとにこのみっちり感でした。

この日のテーマ

この日の吉祥寺.pmのテーマは
「新しい挑戦、新しい視点」
でした。
…といいつつ、あんまりテーマを絡めない感じの人もいて、
だいぶ自由。


それでは、手元のメモや登壇者さんのスライドから書き起こしてみよう。

1.Talk1: PythonでWebアーキテクチャーを学ぶ(shuheioza)

トトス (@oza_shu) | Twitterさんの2018年のテーマは
「ちゃんと調べて、ちゃんと理解する」ということでした。
「No more ふんわり理解」的な。


WEBサービスやってて、「Apacheがつまる」とか「C10K問題(クライアント1万台問題:ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと)」とか、
言葉は知ってたけど、
「じゃあ実際なにがどうなって詰まるの?」
という話が気になって、
自分でPythonTCPサーバを書いてみたりしたよ。というお話。


最初はシングルスレッドで
socket(),bind(),listen()…みたいな
ƒT[ƒoƒvƒƒOƒ‰ƒ€あたりに書いてあることを
自分で作っちゃってみたよ。という、ね。


んで、その後マルチスレッドとかマルチプロセスに挑戦してみたよ、と。
preforkしてたくさんのクライアントをさばくApacheっぽいのを作ってみたよ、と。
PostgreSQLはマルチプロセスでシンプルめで、
MySQLはマルチスレッドでむずいけどそれぞれに長所があってー、とか。
次はイベント駆動形プログラムとかNginxもやってみようかなー、とか。


この人これ仕事でやってるんじゃなくて、
仕事の傍らにやってるんだよなー、とか、
情報量が多すぎて耳から流れる血の熱さを感じながら思いました。

Talk2: サーバインフラ・基盤技術について(progrhyme)

2番手はprogrhyme (@progrhyme) | Twitterさん。
事前に告知されてたテーマは「サーバインフラ・基盤技術について」でしたが、
実際は「某社のの医療webサービス群を支える基盤技術」って感じのやつでした。
まあ、connpassの資料共有のとこにがっつり社名も載ってますけども。
なんか一応。


典型的なWEBサーバの構成というところでは、
Apache,Nginx,Java(Scala,Kotlin含む)とフレームワークのPlay,Spring Bootなど、
RubyはほとんどRails。DBはPostgres多めで,Mysqlもあるよ。
複数のバックエンド API コールを並列実行してまとめ て返すOCTOPARTSとか。
Jenkinsとか、Gitlabとか、Nexus Repository Managerとか、
インフラまわりだとKickstartとか、Ansibleとか、 Terraform,とか、Packerとか、
モニタリングのためのCacti、Kibana、Prometheus、Zipkinとかとか。


でも一番大事な話は
We are hiring!
エンジニアリング | エムスリー株式会社
というお話でした。


古い技術も使いつつ、新しいことにも積極的に挑戦してるよ。
という、今回のテーマに非常に合ったおはなし。
知らない単語がけっこうあるー。
自分の知ってる範囲の狭さを知りますね。

Talk3: エンジニアの健康について(まみー)

まみー (@mamy1326) | Twitterさん。
正式タイトルは
https://esa-pages.io/p/sharing/6349/posts/107/67d1802c31fcd0f72234.html:title=とある負傷兵の回復日誌」ですよ。

このリンク先、忙しくてどっか調子悪い人は
ぜひ一度見ておいて欲しい。

なんか原因わからないけど
どこかしら不調な人に向けて

10年以上かけて回復してきたお話をします


という、とある460時間/月を2ヶ月やった先輩の体験談。
強引な受注→プロマネの逃亡→隠された要件→増えない人員→増えない金額→納品後の症状→回復に10年
という、ハライチでも笑いに変換できないくらいの濃いい言葉の連続。


不眠、お腹痛い、手足しびれる、という症状から内科に行っても原因がわからず、
その後めっちゃ調べて神経科神経内科から神経内科を選択
(わかる不具合→神経内科、外に出たくない人と話したくない→神経科


対策のためには
寝よう、休もう、運動しよう、自分を知ろう(簡単な記録を取る)。
「負のループに自分がいるか知ろう」。
もし崩れたら
休息、逃げる、寝る、処置受ける。


そして大切なのは
「愛」。

Talk4: 今あえてDRY原則について考える(しんぺい a.k.a. 猫型蓄音機)

しんぺい live at 荻窪alcafe 2/16昼 (@shinpei0213) | Twitterさん。
話し始めて割りとすぐに「20分しかないんすけど今日スライドが100枚くらいあってー」と。
うわお。
資料はhttps://speakerdeck.com/shinpeim/jin-aetedryyuan-ze-nixiang-kihe-u:こちら


さてさてDRY原則です。
Don't Repeat Yourself。
Don't repeat yourself - Wikipedia


プログラムなんて動きゃいいんだよ。なんだって。
という邪悪な考えの真逆にある思想。
このへん。ふわっとしか知らなかったけど、
奥深くておもしろいのね。


DRY原則は間違えた理解に基づいてプログラムを作ると、
後になって身動きがとれないくらいひどいことになるけど、
正しく理解して「どこが変わりそうでどこが変わらなさそうか」をしっかり
見極めてから作ると、イイ感じのができるよ!というお話。
今時UIと中身を分けるのが当たり前になってきたけど、
それをどう分けるか、というお話。


とはいえ、どこをどうしたらいいかわかんない場合は、
まず「ベターっ」と書いてみるのもありだよ。とのことでした。


他に出てきた原則は
・単一責任原則(あるクラスを変更する理由は複数存在してはいけない)
開放閉鎖原則(拡張に対して開く、修正に対して閉じる)

Talk5: App::RemoteCommandの話(skaji)

Shoichi Kaji (@shoichikaji) | Twitterさん。
スライドが全編英語。解説はニホンゴ。


いっぱいあるサーバにいっぺんにコマンドを投げたい時に
超便利なツールを作ったからみんな使ってね、というお話。


その名はApp::RemoteCommand。


資料はこちらApp-RemoteCommand | Shoichi Kaji [blogs.perl.org]
App::RemoteCommandそのものはこちらApp::RemoteCommand - simple remote command launcher via ssh - metacpan.org


ざっくり言うと
SSH経由でパラレルにリモートコマンドを打つやつ
・Sudoのパスワードも打てる
・Scriptでもバッチでも打てる
というもの。


今時ですわなー。
何百台とあるサーバにコマンド打ったりするのかしら。
すごい世の中だよね。


ということで、
前編のトーク編でした。
どっかのタイミングで後半(LT部分)も書こう。


※主催者さん登壇者さん「そこは消せ!」っていうのがありましたらごめんなさい教えてください。

以下、感想

・エンジニア界、組織を超えた互助意識が最高
・オマエマーケちゃうんかい?と言われそうだけど、
 興味あって、現場に行けるんだから、行く
・それにおれ見た目ITっぽいから居ても違和感ないんだよ!
・ちなみに参加者は99%男性、私服、エンジニア
・平均年齢チョイ高めだけど「ITエンジニア王に俺はなる!」みたいな若者は
 行ってみるといいと思う


ちなみに、元はといえば主催で司会のmagnoliak (@magnolia_k_) | Twitterさんとプログラムとか全然関係無い知り合いで、
なんかおもしろそうだなーと思って行ってみたんです。
行ったら案の定おもしろくて濃かった。