【イベント】#WEBエンジニア勉強会11 がセーフティ!だった話
WEMにまたまた行ってみました
比較的初心者向けの勉強会を偵察してネット上の知り合いに順次ご挨拶していく作戦を今年も続行…ということで、Web Engineer Meetup略してWEMの『WEBエンジニア勉強会』にまたまた行ってきました。
今回は主催のOSCAさんの配慮で、楽しみにしてくれている人や確実に参加できる人が参加できるよう申込枠を工夫し、先着順だけで申込枠が埋まらないように…とのことで、一般参加枠にブログ枠、お手伝い枠と分けての募集になりました。
WEBエンジニア勉強会は主に渋谷近辺で活動、だいたい1~3年目ぐらいの若手の方も多い、Web技術を総合的に扱った勉強会となっております。2017年から始まり、2018年11月が11回め、2019/2/1開催の今回が第11回。
web-engineer-meetup.connpass.com
- WEMにまたまた行ってみました
- 金曜夜の渋谷へ
- 「みてね」を推す理由
- オープニング・乾杯!
- WEBエンジニアが知っておきたい決済の仕組み
- 心理的安全性の「持ちつ持たれつ」
- テーマ確認中
- gRPC入門
- 先輩エンジニアにも知ってもらいたい、駆け出しプログラマが陥いるよくある失敗の理由
- Word Cloudでツイートを可視化してみた
- mdx-deckとcode-surferでスライドを作ろう!
- フロントエンドコーディングにおけるPageSpeed Insights対策 kkoudev
- その他
- WEM11終了
- リンク集と告知
金曜夜の渋谷へ
場所は第10回に引き続き、渋谷のファーストタワー7Fにあるあのミクシィさんのところ。前回は渋谷駅の中をだいぶ歩いてハチ公口とか宮益坂口のほうから出て首都高速3号沿いに歩いたのですが、今回は新南口から出ても裏から行けるというのを知りました。
ふつうに駅から来た方々は、警察署前の歩道橋でまだ工事が終わっていなかったので遅れた人が多かったようです。
今夜は知ってる人もLTする #webエンジニア勉強会11 に向けてしゅっぱーつ。インフルじゃないけど咳がなかなか治らないので、マスク持参で大人しくしてます😓
— いわしまん (@iwasiman) 2019年2月1日
はい、ワタクシ風邪気味だったので一番後ろに陣取って静かにしていました…思ったより咳が出なくてよかったです。やはり酒で喉を潤すと調子が出ます。(おい)
ブログ書く枠で参加したので、なんかブログ書いてる感をなんとなく出すために今回は普段家でネット全般と音楽とブログ書く用にしか使ってないMacBookを持ってきてみました。会社は基本オールWindowsなので、家の外に持ち出すのはしがないラジオsp.53の収録以来2回目です。なんとなく勉強会っぽくなってきたぜ〜
※以下、当日の様子を伝える意図で一部実況ツイートを引用させていただいております。リアルで面識のない方、すみません。
「みてね」を推す理由
最初の前座LT枠はngmtさん(@ngmt83)。おっ渋谷ミクシィでやるだけに、スポンサー枠でミクシィ社員の人もLTするのか〜と申し込んだときは勝手に思っていたのですが、mixi関係者でなく一般の方でした…!w
内容はミクシィ謹製の子供の写真管理・閲覧に特化したSNS要素少なめの家族アルバムアプリ『みてね』の良さを語るお話。僕もiPhoneホームの1画面めにアイコンをおいているぐらい常用しています。
ご専門がデザインではないとのことで、資料では『融けるデザイン』という本を引用して論を進めていきます。GUIだけでなくアプリケーション自体のレベルでメタファを採用して物理アルバムを連想させている、某GAFA製の基本アプリ群のようになんでもできる万能性を提供するのではなく、機能をあえて制限することでシニア世代にも使いやすく魅力を伝えている、ITがわかるリテシーが高い子育て世代が難しい作業をし、ITがよくわからないシニア世代は見るだけで済むように棲み分けがよく作られている…などなど。
- 作者:渡邊恵太
- 発売日: 2015/01/21
- メディア: 単行本(ソフトカバー)
僕も普段から使っていて『みてね』はよく作られてると思うのですが納得の話。メタファの話や、UIをシンプルに抑えることで裏側の複雑さを隠蔽してシンプルに見せる…などの話はAppleのデザイン論なんかでもよく聞く話ですね。
そして画面例ではかわゆいお子さんの写真を出すのかな…と思ったら案の定プロレスラーのマスクでマスキングされていました。(笑)
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
前座LT始まりました。
大人な発言:「嘘でも手を上げた方が良いです」
このUIだと年配世代は難しい人が出るだろうなあ…。 #WEBエンジニア勉強会11 pic.twitter.com/T4kEMMi5vn
— 神田 佳積 (@kazumiks) 2019年2月1日
前座は @ngmt83 さんのmixiアプリ「みてね」話。僕も常用してますが、確かに写真を登録するスマホが使える世代と見るだけの上の世代でうまく棲み分けてる…というのは納得ですね。祖父母世代にフォトアルバムを贈るとよく喜ばれます。 #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
前座LTはその性質上最初に終わるので勉強会に集中できて素晴らしい! #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
なお御本人のブログでLT裏話などいろいろ読めます。 ngmt83.hatenablog.com
ふだんはRubyやフロントエンド系をやられているようですね。その後は『表参道.rb』でRailsの状態遷移管理という技術ネタでまたLTされたそうです。
オープニング・乾杯!
というわけで改めて主催のOSCAさん(@engineer_osca)からの自己紹介が入って乾杯。SIerでも参加してイイ勉強会でワイも安心、セーフティなイベントです。
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
まずは乾杯!
・・・からの後の連絡事項。
そして、いつものOSCAさんの名前の読み方を覚えるところから始まります。
SIerでもこの勉強会は参加していいんです!!
— なおと (@naoto_7713) 2019年2月1日
#WEBエンジニア勉強会11
初参戦〜!#WEBエンジニア勉強会11
— ぺい@3月からwebエンジニア (@pei_dev) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
WEBエンジニア勉強会は、エンジニアの誰もが発表できる場を目指している。
「個々のエンジニアが輝ける場の提供。」
カッコいい!
誰でも発表できる場、個々のエンジニアが輝ける場というのはイイですね。セーフティ!
初心者に優しい勉強です!!
— なおと (@naoto_7713) 2019年2月1日
#WEBエンジニア勉強会11 pic.twitter.com/lBoBZgYyJv
僕はメインの言語や技術が今の最先端よりは遅れているものの一応Web開発10年〜の範疇に入りますが、今回の参加者陣で一番多いのが0〜1年なんですねえ。思わず会場を見回してしまいましたがあまりそんな風には見えません。むしろワシにはつよつよWebエンジニアばかりに見えるでのう(ゴホゴホ)
#WEBエンジニア勉強会11 にきました!
— T. Ishimaru (@thom_i40) 2019年2月1日
サーバーサイドエンジニアが多い。 pic.twitter.com/kpFF8YemPD
アンケートの仕事分野ではサーバサイドが一番でした。ネットだとフロントエンド界隈の情報が特に目立って見えますが、JSの技術群も結局(サーバレスな仕組み含め)サーバーがないと動かないし、まだまだサーバサイドも健在というところでしょうか。アプリ基盤エンジニアという方もけっこう多いですね。
WEBエンジニアが知っておきたい決済の仕組み
そしてメインの発表1発目はykaganoさん。(@ykagano)
今までSIer→電子マネー→Web系と3社経験、いずれも決済系がご専門ということで経歴も面白い方です。私的にはJavaがメインとのことでセーフティなキモチになります。
最近クレカ不正利用で話題になったPayPayの話も出る中、メインのお話はWebアプリやスマホアプリでもよく出てくる決済の仕組みの裏側の話。大手企業では決済サイト自社構築、中小ではパッケージソフトやApplication Service Providerの方のASPを導入する方が多いとのこと。クレジットカードを持たない若い世代や上の世代のどちらがメイン顧客かによっても変わり、決済方法も多数あります。
そして決済の仕組みでは独自の用語や登場人物、処理の流れのフローがあり、これらを少しでも知っていると実案件の時に話が円滑に進められますよ…というお話。
@zuckey_17 さんが参加できず、 @ykagano さんがトップバッター。 #WEBエンジニア勉強会11 pic.twitter.com/2m3Rn4gPS5
— 神田 佳積 (@kazumiks) 2019年2月1日
決済方法のカオスマップがカオスすぎる・・・ #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
「俺たちは、雰囲気でクレジットカードで決済している。」(キリ
・・・ので、裏側の仕組みはわかりません😑
決済方法の仕組み
— なおと (@naoto_7713) 2019年2月1日
オーソリ、クリアリング、セツルメント、アクワイアラー、イシュアー
カタカタが多くて混乱中です😵
#WEBエンジニア勉強会11
セキュリティの認証・認可で Authorization で Authとか「オース」はよく使うんですが、決済系だと「オーソリ」を使うらしいらしいです。やっぱ文化が少し違うんだなあ。 #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
CA○ISさん・・・#WEBエンジニア勉強会11
— ぺい@3月からwebエンジニア (@pei_dev) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
「資料に書けない組織が支配している」w
カードなんとなくで使ってたけどそうなってたのね
— the.arc (@arc_candy) 2019年2月1日
なんとなくでしかないけど分かったような気になったw
#WEBエンジニア勉強会11
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
決済の話と聞いて、Web Paymentsの話題かなーと予想していたら、その裏のクレジットカードの世界がつかめました^ ^
Web Paymentsは1年くらい前の勉強会で知ったのですが、今はどうなっているんでしょうhttps://t.co/i7LdwRqbDh
決済代行サービスを使うとAPIでエラーが起きたときに「アクワイアラー側のエラーなので原因不明です、問い合わせ中です」みたいなことが稀によくあるので、みなさん気をつけてほしい #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
決済処理の流れが走るネットワークは資料に書けない大きな組織に支配されていたり、けっこう独自のカタカナ用語が出てきたりと、普段知らない世界の様子が知れるLTでした。
心理的安全性の「持ちつ持たれつ」
今度は 星 永亮さん (星 永亮@ユアマイスターCTO)。職人さんとユーザをつなぐWebサービス『あなたのマイスター』などを運営中のユアマイスター社のCTO自らのご登壇です。
なんと以前は楽天カードで働いていたとのことで、ひとつ前の@ykaganoさんの決済の話とうまく繋がりました。
お題はあの「心理的安全性」。Googleが社内で2012〜2016年に渡る調査プロジェクトでチームと組織に大きな影響を与えると発表したことで話題になったワードですが、ITエンジニア界隈ではとりわけ最近、様々な場面でよく目にします。LTの場での知っているかのアンケートでも、ほとんどの人が挙手していました。
心理的安全性とは、対人関係においてリスクある行動をとった時の結果に対する個人の認知の仕方。これを前提条件、インプット、アウトプットの3つに分解して論じていきます。
会場ではあまり反応が出なかったものの最近話題のあのグループが出てきたり。心理的安全性を低める/高める実例で「積極的な姿勢を示すか」「理解を示すか」「相手を受け入れるか」「共に意思決定する姿勢を示すか」の4分野で多数の実例が出てきたり。まずは自分の行動を省みて心理的安全性を高め、強くて優しいチームを作っていきましょう。そしていい行動を見つけたら「セーフティィィィィ!!」と褒めましょう…という天の声に満ちたLTでした。
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
2番目の発表者の星さん
「心理的安全性とは? 保ち方、壊し方 などについて」
以前は、楽●カードで決済周りをやられていた。
一つ前のLTから繋がっているw
心理的安全性の話です。
— なおと (@naoto_7713) 2019年2月1日
僕もつい最近知った言葉ですが、昔からあったのかな🤔
#WEBエンジニア勉強会11
心理的安全性まじ大事だと最近思ってる、これが無いとチームは新しいことを何も生まないとさえ思う#WEBエンジニア勉強会11
— ながいくん (@tenu530) 2019年2月1日
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
2020に活動を休止する◯や、過去に解散したS◯APは心理的安全性を高められなかったから説(私は爆笑)
チームが機能するとはどういうことか ― 「学習力」と「実行力」を高める実践アプローチ エイミー・C・エドモンドソン https://t.co/WgJpdgOond @amazonJPさんから #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
心理的安全性の話はやっぱ面白いよね #WEBエンジニア勉強会11
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
心理的安全性が低い時の話を聴いて
ふと貴方の頭の中で思い浮かべた方の顔、
その方とは心理的安全性が低い状態です。
心理的安全性の話を聞くと、前職の会社を思い出してしまう…。残念ながらネガティブという点で…。現職もだが…。 #WEBエンジニア勉強会11
— 神田 佳積 (@kazumiks) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
心理的安全性を高めるための秘訣。
「持ちつ持たれつ」
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
同意できる点/できない点を率直に伝える
(受け入れることが理解ではない)👀
心に刻みたい
LTはネタを入れていくのが大事なんですね…!
— れん@エンジニア×資産設計プランナー (@bandit15th) 2019年2月1日
心理的安全性を低める行動として、共に意思決定をする姿勢を示さないっていう表現すごく腑に落ちました🙋#WEBエンジニア勉強会11
心理的安全性、楽しい会話の理論化されてる感が良い。飲み屋のおもしろおじさんはこれだわ。 #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
心理的安全性を低める/高める例、思い当たる節がある人も多いんじゃないでしょうか。僕もむかし人材系の教育を受けた時に心理学のラポールの話を知ってから意識するようになりました。 #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
心理的安全性を高めるためにはどうするかを聞いています。
— リョッキー/エンジニア(未経験から) (@ryokky59) 2019年2月1日
弊社エンジニアに当てはまることばかりでスッと頭に入ってくる。
自分がやれてるかを意識していこう
#WEBエンジニア勉強会11
会場では皆それぞれ思い当たる節があるのか、わかりみのツイートが特に多かったです。やはり世代問わず仕事の分野問わず、心理的安全性はITエンジニアならみな関心の深い分野なのだなと再確認。最近Engineering Managerとかマネジメントやチームビルディング周りが注目されているのとも関連するでしょう。特に急成長中やエンジニア採用拡大中の若い会社、少数精鋭でプロダクトを作っていく会社さんだと強いチームを作るのに特に重要視しているのかなあと思ったり。
かくいう僕も思い当たる節は多数あり、あー駆け出しの頃に遭遇したあの炎上案件とか絡みづらい人とかマネジメントできてない人とか教え方の下手な人とかまさにこの心理的安全性が低い例だよなあとか、うまくいったあのプロジェクトや雰囲気作りが抜群にうまいあの人とかあのシーンはまさに高い例だよなあとか、も〜いろいろあります。人にものを教える側に立つようになってから自分も特に意識するようになりましたが、いつも気に留めておきたいところですね。
いろんな人に知ってほしい内容
— the.arc (@arc_candy) 2019年2月1日
セーフティ!w #webエンジニア勉強会11
指差し確認「safety!」 #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
セーフティィィィィィ!! #WEBエンジニア勉強会11
— rahasii (@rahasii_) 2019年2月1日
この勉強会 Safety! #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#WEBエンジニア勉強会11@inase17000
— nikkie (@ftnext) 2019年2月1日
心理的安全性が高い行動に「Safety!」っていうの良いですね❤️
そして心理的安全性が高いことを見つけたら「セーフティ!」と褒めようという天の声に従い、TLにはセーフティが溢れていきました。心理的安全性が高い状態に守られたセーフティな勉強会、それがWEBエンジニア勉強会#11…!
なおスライドに出てきた2020年に活動を休止する英語にするとStormな某グループの1枚写真、ウケなかったと御本人が言っていたような気がしましたが、Webエンジニア勉強会は割と反応抑えめで静かに聴く人が多い(ような気がする)ので、LTする側からだとそう見えたのではないでしょうか。(笑) 一番後ろから見ていると静かにウケていた人はけっこういたような…セーフティ!
なおユアマイスター社はエンジニアブログでも様々な情報を発信中です。最近は振り返りにKPT法でもYWT法でもなくFun, Done, Learnの手法を取り入れたとのこと。
yourmystar-engineer.hatenablog.jp
星さんはあのEngineering Manager Meetupにも参加したり、社内勉強会でもこの心理的安全性のLTをされたそうですね。
ほかPHPカンファレンス登壇の記事を拝見すると社内にインターンの学生さんが非常に多いとのことで、こういう開発環境だからこそ、心理的安全性のような要素にはひときわ注意してしているのかな…と思いました。
yourmystar-engineer.hatenablog.jp
テーマ確認中
さて次はテック系Podcast『しがないラジオ』でお馴染みのzuckeyさん。(zuckey@しがないラジオの編集の人)。主催のOSCAさんも過去にsp.6a/sp.6bゲスト出演、何を隠そう僕もこの2019年2月下旬にsp.53でゲスト出演してしまいます。
あまり発表者の側で見ない(気のする)zuckeyさんのLTが見られる!…はずだったのですが、ノロウィルスの呪いに掛かったそうで無念の病欠。え〜ズッキーさんに見せるためにアテクシはMacのシェルカバーにしがないラジオステッカーを貼ってきたのに〜(ギギギ)
そんな、急に空いてしまったセーフティなLT枠に颯爽と立ち上がったのは……
gRPC入門
しがないラジオ勢のピンチをしがないラジオリスナー勢が救う。さすが、ワイたちのみずりゅさんだぜ…ということで、社内の勉強会で使ったという資料を元にみずりゅさんがgRPCに入門させてくださいました。(@MzRyuKa)
GO言語採用の有名どころだったりエンジニアがブラックホールのように集まっていったりする某メルカリのイベントで「王」から熱い王の力的な何かを受け取ったとのことで、お話はあのgRPCへの入門。
情報処理の試験にも時々出てくるRPC(Remote Procedure Call)はネットワークで繋がった先のマシンにメッセージを送ったりメソッドを呼び出したり遠隔操作するための手法や通信内容のプロトコル。開発者がコードレベルで直接はいじらなくてよいようになっているので、よくライブラリなどの名前とかの一部に出てきたりします。
gRPCのgはなぜ小文字なのかちょい謎ですがやはりGoogleのgでしょうか、gRPCはこのRPCのプロトコル。Protocol Buffersというシンプルでパフォーマンス最優先のフォーマットで通信します。Go言語でコードを書いてコンパイルするとサーバ側とクライアント側で各言語のコードを生成してくれるとのことで、gRPCの実体は「通信部分を抽象した主要言語対応のフレームワーク」+「gRPCという方式で通信するための決まりのプロトコル」、この両方を含んでいるのでしょうか。(僕もよく理解しきっていません...)
今の主要プログラム言語にはほぼ完全対応していて、ないのはVisual BasicとかPerlぐらいですね。会場でも反応がありましたがGoogleらしくG製のAltJS言語のDartも入っているのが面白い。
会場では遠いとよく確認できませんでしたが、発表には実際のコードも登場し、GoのコードってやはりCの系譜が濃いのだなあと思いました。
FizzBuzzや公式のクイックスタートも試したそうですがRubyやPythonでもそのままでは動かず、後日判明した原因はネットワークのProxy周りの設定だったとのこと。こういう通信が発生する新しい技術やライブラリ系は、会社のネットワークとそれ以外だと動きが違ったりプロキシ周りでハマったりするのは割とある気がします。
最近は遂にブラウザから利用するgrpc-webというのも登場したとのこと。ブラウザとWebサーバーはHTTPプロトコルで会話するのは絶対の決まりなのでこれは仕方なく、このWebサーバーがリバースプロキシとなって、別のgRPC用のサーバーとgRPCで会話する流れだそうです。
全体的にこれから発展中の新しい技術らしく、ハマるポイントはまだまだ多そうだなという印象。
急遽LTするのは、みずりゅーさんだ!!
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
gRPCのお話!(機械学習モデルのAPI化で聞いたことがあるので楽しみ)
— nikkie (@ftnext) 2019年2月1日
#WEBエンジニア勉強会11
「GRPC王から熱いなにかをもらった」 #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
gRPC速いとか、定義自体がドキュメントになったりと便利と聞くけど、webで手軽に試せない感があるのでまだそんなに試せてない(((^-^)))
— ながいくん (@tenu530) 2019年2月1日
gRPC Webが出てたからこの機会に触ってみても良いなあhttps://t.co/kSGIKOgE1b
#WEBエンジニア勉強会11
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
積読(Pythonで手を動かす用)https://t.co/QmSXp5w18a
GO言語のサンプルが出てきました。主要各言語に対応したコードを出力してくれるんですねえ。GoogleはまだDart言語の栄光を諦めていないらしい? #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
.@MzRyuKa さん代役なのに周到な準備してる #WEBエンジニア勉強会11
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
proxyが何をしているのかよくつかめなかったので後で読もうhttps://t.co/bXwbNitHyJ
なろうっぽいシメw #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
gRPCプロキシ含めてハマるポイント多いからまずは自宅で試してみるといいらしい
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
「gRPCチョットできる」はすごくできるやつですね!!
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
補足:Proxy配下でno_proxyでハマるパターン1
— みずりゅ (@MzRyuKa) 2019年2月1日
Docker上でgRPCを動かす際、Docker環境内でno_proxyが設定されていても効きません。
この場合、Docker内に入って「unset http_proxy」「unset https_proxy」を実施、ホストOSから引継いだproxy環境変数を無効化します。#WEBエンジニア勉強会11
急な代役の割にガチで濃い技術話で割と反応も多かったです。先進的な領域にチャレンジしている会社さんやブログなんかだと時々キーワードとして出てくるgRPC、これからも要チェックですね。
先輩エンジニアにも知ってもらいたい、駆け出しプログラマが陥いるよくある失敗の理由
続いての前代未聞の"できない系LT"は転職LT会や#技術書典5の『セイチョウ・ジャーニー』著者の一人、最近はマツリカ社の採用窓口担当でも活動しているVTRyoさん。(VTRyo@転職LT 〜春の転職祭り〜)。
キャー界隈ではお馴染みのあのRyoさんですよ! 転職LT会#4はこのときは企画中でしたがその後3月に場所も決定、#技術書典6の本タイトルは『挫折論への招待』で準備中です。最近はForkwell Pressのインタビュー記事にも登場しました。
僕にとっては社外との接点を開くきっかけになった飲み会のメンバーでもあるので懐かしいところ。行動力の塊なのでまったくそう見えないのですが、実はプログラミングは初心者(本人談)で本格的な経験は4か月ぐらい(本人談)だそうですねえ。
ということでお話はプログラミング初心者あるあるな話を言語化し、自分でも整理すると気づきがある、難しく考えすぎてハードルを上げないほうが良い、経験や習慣を積むとセンスも身につく、先輩エンジニアもこのへんを忘れずにいよう…という話。
非常に共感できる内容で会場の実況ツイートにもわかりみが溢れていました。ITエンジニアなら誰でも一度は通る道でしょう。僕もずいぶん昔ですが大学は非情報系だし本格的にプログラミングしたのは社会に出てからなので、最初の頃は相当酷かったわ…(笑)
資料の中で経験値不足で気付けていないパターンに、Ruby言語での実例が2つ出てきます。仕事でRubyを扱っていない僕でもぱっと見でなんとなく原因が類推できますが、こういうどれだけ短い時間でエラーから復帰できるかも経験の力がかなり効いてくるんですよね。
そして資料の中で悩みながら相談すると、マネージャー氏からかなりセーフティな優しい回答が返ってきています。さりげなくマツリカ社の開発環境は心理的安全性が保証されていることを示す、さっすが採用窓口だぜ…!
「なぜ僕はプログラミングが苦手なのか」は前代未聞のLTの挑戦
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
「できない系LT」とか言いながらアウトプット実績がえぐい #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
挫折論への招待、読みたい!
VTRyoさんの転職LT行った事ある(転職はしないけど・・・) #webエンジニア勉強会11
— ykagano (@ykagano) 2019年2月1日
「お前センスない禁止」よし!Safetyだな #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
こういう自分をさらけだす系のLTはめっちゃ好きです#WEBエンジニア勉強会11
— ながいくん (@tenu530) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
パワーワード
「お前エラー読んでないだろう」
ヒェー
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
エラー文
・読んでいない(エラー見なくても「さっき書いたとこだ!」と思い当たる)
書いたとこ全部消すと動くが、なにか書くとエラー
→向き合おう
初心者あるあるめっちゃわかる。こういうの言語化してくれるのすごいありがたい…#WEBエンジニア勉強会11
— さどはら (@sado_not_maso) 2019年2月1日
私がそうなんだけど、エラーでなんとなく問題点わかるんだけど、その解消法が思いつかなかったりするよね、やっぱ場数かぁ
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
エラー文
・読み解けていない
経験値不足で気づけない
見たこと無いエラーは「それは何?」となる
→エラーは踏みまくるしかない
「経験値は向き合った数で決まる」
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
私はPython書くのですが、Pythonのエラーが読めるようになって、Pythonと会話しながら書けるようになりました
Python「この変数ないですよ」→私「あっ、タイポだ」
これもエラーを踏みまくったからかもしれません
苦手かもと成功体験のはざまにいる感あります #webエンジニア勉強会11
— rahasii (@rahasii_) 2019年2月1日
プログラミング初心者の頃に立ちはだかった壁って経験者だと忘れがちですが、初心に帰って言葉にまとめるのはよいですね。自分も最初センスまったくなかったわw #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
センス = いい習慣の積み重ね
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
#WEBエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
ハードル勝手に上げている
「サポート受けてでも機能しているじゃないか」
センスとは、環境・経験・習慣により必要な感覚が揃っているということ
センスとは「いい習慣の積み重ね」👏
エンジニア歴2ヶ月のワイ
— リョッキー/エンジニア(未経験から) (@ryokky59) 2019年2月1日
・自分をセンスないと思う
・Twitterにいる人強く見える
・難しく考えすぎ
・ハードルを勝手に上げてる
痛いほど共感してる模様
#webエンジニア勉強会11
個人的にはセンスなんてものはほぼ存在しなくて、俗に言うセンスがある人っていうのは習得にかかるコストが人より小さいだけだと思う。パワプロをやってたらセンス○とかセンス✖︎とかで伝わるかな #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
よい習慣を身につける…というのはプログラミング関係の名著とかにもよく出てくるので、ここではセンスと表現されてましたがだいたいそういうところに繋がっていくのかなあ。 #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
ツイートしながら自分への自戒を込めて「とにかくやってみなはれ」。果たして自分は挑んでいるのだろうか。現職を捨ててでも。 #webエンジニア勉強会11
— 神田 佳積 (@kazumiks) 2019年2月1日
マツリカのマネージャーさん、良い人過ぎない?? #webエンジニア勉強会11 pic.twitter.com/EDxMS3ocCl
— はっせー (@Dear_you_cry) 2019年2月1日
『テスト駆動開発入門』著者でエクストリーム・プログラミング(XP)の考案者、アジャイルの創設メンバでもある伝説級の海外すごすごエンジニアにケント・ベックという人がいます。この人の名言に
というのがあります。
このLTでは「センス」という文脈によっていろんな意味を持つ言葉で表わされていましたが、本質的にはこういうところに繋がっていくのかなーと思います。
まだ経験の浅い人でも自由に発表できるこのWEBエンジニア勉強会のようなセーフティな場も大事だし、経験を積んだ後も駆け出しだった昔を忘れずに駆け出しエンジニアに接するセーフティな気持ちも大事ですね。
Word Cloudでツイートを可視化してみた
www.slideshare.net
前回のWEBエンジニア勉強会#10でも発表していたなおとさん。(なおと)
元SIerで転職後今はフリーランスのエンジニアとして活動しています。
qiita.com
私的には最近FBでも友達申請が来たのでOKしたら友達候補が更新されてVTRyoさんが出てくるようになりましたw(関係ナシ)
さてお題はTwitterで勉強会トレンドや1年のツイート集計まとめなどで時々出てくるワードクラウドの話。動いてるからヨシ!の猫のインパクトが大きい作成手順はまずTwitterのAPIを申請、これが英語でけっこう面倒。その後ツイートをすべて取得、絵文字やURL削除のデータ加工、そして形態素解析ライブラリで単語を抽出、最後にWord Cloudのライブラリへ送って例の画像が作成となります。
こういうデータ解析系の作業が得意なのはやはりPython、wordcloudはPython製のライブラリなんですね。
これぞライブ感のある勉強会の醍醐味、その場でハッシュタグ「#WEBエンジニア勉強会11」のツイートを検索してWord Cloud化するという実演になりました。
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
Word Cloudでツイート可視化のお話。なおとさん👏
(Twitter APIの申請でハマっている人間としてはそのあたりの話が聞けたらいいなー)
この勉強会でやるのか楽しみ
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
ハッシュタグもWordCloudの対象なら、「webエンジニア勉強会11」が一番大きくなるのかな。
あと、心理的安全性とセンスも多そう。LT終わりが楽しみ
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
Twitter APIの申請理由もコピペ (その発想はなかった)
先人の知恵を頼ろう
Word Cloud へ至る手順の解説。難しいコードは出てこないとのことで初心者にもSafetyです👍 動いてるからヨシの猫インパクトがあるw #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
Word Cloudってなんかサービスで公開されてるんかと思ってた、手元でごにょごにょする必要があるんやな #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
wordcloudhttps://t.co/gArT8H7HLz
形態素解析、単語に区切ってくれる
— the.arc (@arc_candy) 2019年2月1日
エンジニア、勉強、会って区切りとかになってしまうからうまく調整が必要 #webエンジニア勉強会11
ライブ感すごい。おもしろい。 #webエンジニア勉強会11
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
ハッシュタグへの貢献レースが始まってしまうw #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
「誰が最も貢献しているかも出せる」
ロジック気になります。
一番多い語を一番つぶやいている人?
単純に考えて単語「WEBエンジニア勉強会11」が一番多いだろうというのは見当がつきます。誰が貢献しているかはのロジックは……長期間の解析だとイイネやRTの数も計算に入るのでしょうか。数時間程度の勉強会の実況ツイートだとツイート数が基本になるのかな? などと皆考えていますと…
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
Twitterで貢献している人がわかるのか。。。
(バッチ実行中)
今日の勉強会のツイートを実際に解析してます。絵が出ました! #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
おぉーワードクラウドだ
— takumontakumon (@inouetakumon) 2019年2月1日
#WEBエンジニア勉強会11
よく知らなかったけど、文字色はランダムなのかな #webエンジニア勉強会11
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
20:50頃 pic.twitter.com/KeGp5ULxQ2
LT楽しかったです。セーフティーですね
— なおと (@naoto_7713) 2019年2月1日
ツイート数の合計は368でした!!また、word cloudしたものです。#webエンジニア勉強会11 pic.twitter.com/Ytx1JAPDMA
Safety、セイフティ、セーフティーで分散して弱くなっている #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
セーフティ!!!!!!!!
— ひろやま@滝の上のジャングル (@janhampino) 2019年2月1日
#WEBエンジニア勉強会11
これの画像アップしてほしいw
— the.arc (@arc_candy) 2019年2月1日
どんなことがバズったのかわかりやすいし面白いw#webエンジニア勉強会11
予想通り「WEBエンジニア勉強会11」が一番。短期間のツイート集計だったからか、他は単語の表記揺れもありかなりばらける結果となりました。Twitter貢献度はやはりツイート数がベースのようで…
ツイート数暫定一位は私です #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
Twitter貢献度、2位でした!
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
貢献している人はつぶやき数なんですね。恐縮です。。
なんか自分の名前が出るのはちょっと恥ずかしい…。 #webエンジニア勉強会11
— 神田 佳積 (@kazumiks) 2019年2月1日
ビッグなのは「WEBエンジニア勉強会11」、「心理的安全性」もけっこう大きいWord Cloudでした。最も貢献したユーザは @ngmt83 さん! #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
word cloudおもしろいそう〜#WEBエンジニア勉強会11
— ぺい@3月からwebエンジニア (@pei_dev) 2019年2月1日
形態素解析おもしろそー #WEBエンジニア勉強会11
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
コードクラウド画像化とかも気になる。ちょっとしたオフ会とかの集まりにも良いかも #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
mecabじゃないならjanomeでしょうか?
mecabは辞書登録ができる 便利そうです!
meCab以外のPythonのライブラリ
— the.arc (@arc_candy) 2019年2月1日
meCabなら辞書登録機能でWEBエンジニア勉強会が1単語にできる
OSCAさんの補足から #webエンジニア勉強会11
MeCabじゃないならJanomeかな。https://t.co/u0F8ScXcNX
— T. Ishimaru (@thom_i40) 2019年2月1日
#webエンジニア勉強会11
↓下のその後のなおとさんのツイートによるとツイート総数はみずりゅさんが1位でした。ngmtさんが貢献度1位だったのは他のファクターが計算ロジック影響したからでしょうか。
ツイートデータ合計数 :368
— なおと (@naoto_7713) 2019年2月1日
みずりゅ( @MzRyuKa ) : 47ツイート
nikkie( @ftnext ) : 36ツイート
ngmt( @ngmt83 ) : 36ツイート
いわしまん( @iwasiman ) : 30ツイート
神田 佳積( @kazumiks ) : 27ツイート
後から振り返れるので、とてもありがたいです😊
#webエンジニア勉強会11
という感じでライブ感あふれるLTでした。当日ツイートにあったようにイベントのネタにも面白そうですね。2−3時間の勉強会でこの分布なので、数日に渡るカンファレンスなんかで集計するともっと文字の大小がはっきり分かるクラウドになりそうです。
詳細なコード含めた手順、自分のツイートで集計した例はなおとさんのQiitaでも見ることができます。
mdx-deckとcode-surferでスライドを作ろう!
そして次はトマトアイコンがかわいいたくもんさん。(@inouetakumon)
お仕事はSIerということで現役SIerのワイもセーフティなキモチになれます。発表ではさらっと流していましたが、Javaのフレームワークを作ってるとのことでおおっ!となりました。Java界隈ならド定番の鉄板はSpring Framework、Scalaと共用したりRailsチックな開発をするならPlay Frameworkなどもありますがそのへんをラップしているのかな。それとも完全独自に作っているのかな?
さて本題は発展著しいモダンJavaScript/Node.js界隈のライブラリの一つ、JavaScriptでスライドが作れてしまうスライド作成ツールMDX-Deckの紹介をMDX-Deck製のスライドでやるというメタ感マシマシなもの。勉強会当日は遠かったのでコードの細部まではよく見えなかったのですが、上の資料スライドはよく見るとアニメーションがバシバシ動いてかなり作り込んであります!
フロントエンドJSフレームワーク群で有力なReact独特の技術というか書き方に「JSX」があり、これはReactコンポーネントの実装コード中に文字列でビュー部分の表示内容のHTMLタグが書けるからでJavaScript+XMLの略です。
感じが似ている「MDX」はMarkdown+JSXの略っぽい感じの技術で、なんとブログやWikiでお馴染みのMakrdown形式のテキストファイルの中にReactコンポーネントが書けるというもの。MDX-Deckがこの技術を使ってスライドを作るライブラリで、Node.jsで動くWebサーバー上のコンテンツとしてブラウザ上で表示できてしまうんですね。
資料の中で実例が出てきますが、拡張子.mdxのテキストファイルにマークダウン記法で文字を書いて、その後に普通にReactコンポーネントを各種パラメーター付きで書いています。この時点で何やらJSの黒魔術感があってすげえええ!ってなります。
見る限り基本的な資料を作って表示するのはnpmでコマンドを打つだけなので意外と簡単に動きそうですね。配色テーマも変えられたり、画像やレイアウトなどスライド用の各種コンポーネントがあったり、code-surferというコードの見た目を綺麗にするプラグイン、mdx-deck-live-codeというReactコンポーネントのライブコーディングができるプラグインがあるそうです。これはJavaScriptの勉強会なんかでどやっと見せたら最先端を走ってる感がマシマシでしょうねー。
トマトのアイコンかわいい #webエンジニア勉強会11
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
結構、Sier多いなぁ #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
たくもんさん、スライドを作る
MDX-DeckやCode Surferってなんだろう?
javaのフレームワークを作っている!
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
続いてたくもんさん( @inouetakumon )の「mdx-deckとcode-surferでスライドを作ろう!」。お仕事がSIerということでなんか安心しますw FW作ってるのは凄いなあ。#WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
スライドはKeynote作っています。
— なおと (@naoto_7713) 2019年2月1日
MDX-DECKというスライドツールがある
MDXはMarkdownとjsxで書く。黒魔術みたい
#webエンジニア勉強会11
この黒魔術が目の前で展開されるだけあって当日も感嘆の声が多かったです。
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
Markdownのコードの中にReactのコンポーネントが書ける?
脳が理解した瞬間、ちょっとびっくりして手に持ってたもの落としそうになった。
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
MDX-DeckはNode製のスライド作成ツール
MDX:markdown+JSXの書き方
使うとReactの練習ができそう
mdxカックイイ #WEBエンジニア勉強会11
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
.mdxファイルにMarkdown で元のテキストを書いて、なんとReactコンポーネントがそのまま書けるということで黒魔術のかほりが…w 意外と手順は簡単のようです。 #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
ReactチョットデキルマンだったらMDX-Deck使ってみたかった #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
スライド資料、本日はesaのスライド(実体はたぶんreveal.js)で実施しました。
MDX-DECK、jsxでかけるのめっちゃよさそう #WEBエンジニア勉強会11
— Rin(しま) (@408rin) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
私はReveal.js系のGitPitchを多用しているのですが、MDX-Deckはローカルで確認できるのがすごく便利そうですねー
スライドがすごくきれいです
- 画像の全画面表示
- 左右の分割レイアウト
- 色反転
- ソースコード
- アニメーション
Reactのエコシステムすごいな。スライドも静的サイトもスマホアプリも全部Reactで実現してるのか #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
code-surferのプラグインがエンジニアのプレゼンには便利そう
— the.arc (@arc_candy) 2019年2月1日
#webエンジニア勉強会11
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
code surferはソースコードの表示がきれいになるプラグイン
- ズームしてハイライト
- 範囲や文字単位でハイライト可能
- 別のファイルからソースコード読み込める
- Reactのコンポーネントとソースコード(React関係のLTでライブコーディング可能)
node.js性スライド作成mdx
— the.arc (@arc_candy) 2019年2月1日
プラグインもいくつかあってコードレビューがしやすいcode-surfer
プラグインまだ3つだけどこれからもっと増えるはず #webエンジニア勉強会11
MDX-DECKのデモ。
— みずりゅ (@MzRyuKa) 2019年2月1日
隣に座っている、いわしまんさんが「すげぇ」と感嘆の声を出すくらいスゴイ。
#WEBエンジニア勉強会11
隣に座っている、みずりゅさんが手に持ったものを落としそうになるぐらいスゴイ、それが MDX-DECK!w #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
MDX-Deckの紹介面白かった。
— 𓁟エスノ𓁠 (@E_Snow) 2019年2月1日
スライド作成ソフトの選択肢としてリッチにいけるの熱い。
#webエンジニア勉強会11
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
MDX-Deckすごい!
私がGitPitchで作るスライドよりきれい!触ってみたいなー
公開はWebサイトとして公開(GitHub Pagesなど)←ここがGitPitchとの違いですね
よく考えたらスライド作成ツールの紹介をするスライド作るのってハードル高くてしんどいよな・・・
— ngmt (@ngmt83) 2019年2月1日
こんな表現・アニメーションできるんだぜって見せつけなきゃいけないんだから、たくもんさんすごい #webエンジニア勉強会11
MDX-Deck自体はまだ1.x系の比較的新しいライブラリ、プラグインも上記の2つとまだまだこれから発展していく余地のある技術のようですが、Node.js界隈の技術でこんなことまでできてしまうのか…復権後のJavaScriptの広がりはほんとすげえな…と黒魔術を前に思うのでした。
なお、たくもんさんのブログに、当日紹介しきれなかったコンポーネントや実行方法やはまりどころなど、各種補足情報が詳しく載っています。
フロントエンドコーディングにおけるPageSpeed Insights対策 kkoudev
最後を飾るのは現ミクシィのエンジニア長岡さんによる発表。最近はgRPCも触っているとのこと。(Kou)
Google PageSpeed Insights とは、サイトのパフォーマンスや問題点の改善方法をレポートしてくれるG製のツール。この計測で低いスコアが出た時にどう解決していくかのお話です。
レンダリングブロック:
JSやCSS読み込み中にHTMLの並行読み込みが止まってしまう。CSSにはpreload属性、JSにはdeferやasyncで対応。ファイル数を減らすのも効果大。preload属性は実はIEとFirefoxは未対応、解決するnpmのライブラリがある。
またCritical Path CSSという技術を使い、読み込み時に一瞬だけCSSが適用されないFOUCの状態を避けられる。
画像読み込みの改善:
画像のファイルサイズも小さい方がモバイルには良い。これもnpmのライブラリに画像最適化のものがある。
またiPhoneはX以降、2x解像度のRetinaディスプレイの更に上をいく3x解像度のものが出てきている。これはimgタグのsrcset属性に複数指定しておくと、画面解像度に応じて画像ファイルをブラウザが選んでくれる。IE11は未対応なのでPolyfill系のライブラリで回避。
CSSにもback-ground-image: にimage-setという関数で実現できる。これもChromeとSafariしか対応していないので、Polyfill系で回避。
また初期は使わない画像はlazyloadと呼ぶ遅延読み込みで後から読むとスコアが上がる。srcset属性に対応しているのはvanilla-lazyload というライブラリ。
サーバサイドの改善:
CDNを使ったり、Expiresを指定したり色々ある。→詳しくはWEM#5のOSCAさんの資料 HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)へ。
めちゃくちゃ実学的で参考になる話でした。JSフロントエンドのAngular/React/Vue.jsも本格的に使うと結局WebpackなどでJSファイルをまとめてバンドルするするので、ファイル数が少ないほうが読み込み速度が速いのは知っていましたがここまで奥が深いとは…なんというかもうsrcset属性とかCSSの中で関数が使えるとか存在自体を知りませんでした(笑) Chromeも同時に6ファイルしか並行して読み込めないんですねえ。
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
とりの発表は、kkoudev@会場提供のミクシィさん。
発表内容は「フロントエンドコーディングにおけるPageSpeed Insights対策」とのこと。
え、gRPC使われていたんですか?
使っている人って聞いた時、手あげてもらえなかったw
レンダリングブロックというパワーワード#WEBエンジニア勉強会11
— ykagano (@ykagano) 2019年2月1日
早速PageSpeed Insights判定してもらった。ただの静的サイトだからスコアがいいのは当然んだろうけど #webエンジニア勉強会11 pic.twitter.com/36HiCNJVYi
— ngmt (@ngmt83) 2019年2月1日
接続数が6で固定されているのはHTTP/1.0だからー。HTTP/2.0対応すれば制限なくなる! #webエンジニア勉強会11
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
自分のhugo+netlifyで作ったポートフォリオ測定してみたよhttps://t.co/taW6Rleyqc
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
#WEBエンジニア勉強会11 pic.twitter.com/ZcletZIuRq
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
一瞬だけ、cssの適用が遅れる場合がある。
個人的には気にしないんだけど、気にする人は気にするよなぁ。
cssのレンダリングブロックを回避しつつ、一瞬画面崩れが発生するのを防ぐ。Critical Path CSS #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
FOUCのことをずっと「がっこん」って言ってた
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
#webエンジニア勉強会11
パフォーマンスめっちゃ大事だけどサービスの購入/購読に繫げることが前提なのでその辺の釣り合い難しい #WEBエンジニア勉強会11
— Rin(しま) (@408rin) 2019年2月1日
いかにサイトを速く読み込ませるか、かなり濃い話が続きます。Critical Path CSS ってマネジメントの人が聞いたら別のものを連想しそうだw #WEBエンジニア勉強会11
— いわしまん (@iwasiman) 2019年2月1日
そして資料の中でもIEが世話の焼ける子なのがさりげなく書いてありますが、IEのみ特別対応が必要なくだりで、IE11のつらみに共感する人多し(含む自分w)
恥ずかしながらへーしゃグループ内はWindows 7が多いので、社内システムはまだまだIE11が標準で現役で動いているものが多いです。最近は社内標準のマシンがWindows 10にリプレイスしつつあるのでEdge対応を進めているシステムもあります。社外のお客さんでもけっこうまだIE11のところはあるんですよね。このへんはSIer系の案件に多い辛みでしょうか。
IE11は手の掛かる子なんです。
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
またIE11...#WEBエンジニア勉強会11
— takumontakumon (@inouetakumon) 2019年2月1日
ie11考えたくないなぁw #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
なんと…。もうIE11は終わりにしましょう。 #webエンジニア勉強会11 https://t.co/n54qUHYpuf
— 神田 佳積 (@kazumiks) 2019年2月1日
IE11が手が掛かる子なのはもう仕方ないw
— the.arc (@arc_candy) 2019年2月1日
愛でようw
#webエンジニア勉強会11
速度向上の話は楽しいのう
— ながいくん (@tenu530) 2019年2月1日
IEの面倒は見たくないけど#WEBエンジニア勉強会11
IEーーーーー!!!!!!貴様ーーーー!!!!! #WEBエンジニア勉強会11
— ダムの人 (@issidaaan) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
SafariはWindowsにどこまで対応しているかわからないし、Chromeは使用禁止にされている組織もあるし、IE11は(感情面も含めて)論外だし、Firefoxにも対応していないレンダリングあり。うーん、ブラウザは何使えばいいの?
レガシー商材はIEユーザー多いらしいんだよなあ やめてくれないかなあ #WEBエンジニア勉強会11
— ダムの人 (@issidaaan) 2019年2月1日
HTMLとCSSの初めて聞いた属性とかたくさん出てきました…これがフロントエンドの最前線か…🧐
— いわしまん (@iwasiman) 2019年2月1日
そしてIE11は未対応が多いといういつものパターン。
#WEBエンジニア勉強会11
MS社自らがEdgeへの移行を推奨する記事を2018年に公式に出していますが、なかなか滅んでくれないIE、このへんはWebに触れているエンジニアならどこでもよく話題に出るところですね。
https://blogs.technet.microsoft.com/jpieblog/2018/07/18/internet-explorer-support/blogs.technet.microsoft.com
FOUCのことをずっと「がっこん」って言ってた
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
#webエンジニア勉強会11
いかにも勉強会っぽいLT#WEBエンジニア勉強会11
— ykagano (@ykagano) 2019年2月1日
いろいろプラグインあるんだのぅ。これはうちのフロントエンドエンドバックエンドエンジニアにも共有しよう。 #webエンジニア勉強会11
— 星 永亮@ユアマイスターCTO (@inase17000) 2019年2月1日
もうなんか自分の知らない世界がまだこんなにあるんだって思うと楽しいよな #WEBエンジニア勉強会11
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
本1冊書けそうなLTだ……#WEBエンジニア勉強会11
— ながいくん (@tenu530) 2019年2月1日
勉強になりすぎる #webエンジニア勉強会11
— ngmt (@ngmt83) 2019年2月1日
webサイトのパフォーマンスの工夫は凄いですね。
— なおと (@naoto_7713) 2019年2月1日
#webエンジニア勉強会11
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
Page Speed Insightsの指摘点と改善策のお話。
フロントエンドは全然知らないので、勉強になりましたー
今回の話では出てきてないけど画像の最適化でchromeだったらwebp、safariだったらjpeg2000などブラウザに応じたフォーマットで配信するのも大事だったりする #WEBエンジニア勉強会11
— Rin(しま) (@408rin) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
レンダリングブロック
→(1)CSSはpreload指定、JSはdeferやasyncを指定、(2)読み込むファイルを1つにまとめる(webpack)
画像の読み込みの指定
→imgタグのsrcset属性、CSSのimage-set()、画像そのものが大きい時、遅延読み込み(lazy load)
サーバサイドでの圧縮も
@kkoudev さんのLTはいつも明日からの業務に役立つ内容で本当にありがたいです。 #webエンジニア勉強会11
— rahasii (@rahasii_) 2019年2月1日
という感じで最後のLTにふさわしい、非常にためになるお話でした。
その他
自分は今回は後ろの方で見ていたのですがあまり持ち出してないMacBookを持ってきました。
- 平日にWindowsでばんばん仕事をしたあとに触るとキー配列とかで戸惑う!(これは自分のせい)
- 画面が大きくてキーボードがあると圧倒的に実況ツイートもしやすい! 会場のWiFiから繋いで関連情報も探しやすい! 勉強会にノートPCを持ってきてる人の気持ちがよく分かりました。
- 勉強会の後にバッテリーが切れたので、外で使うと持ちはこんなもんなのだなという感じ。Windowsノートとさして変わらないのかな?
そしてテック系ブログでときどきお見かけするテク、様々な言語のコーディングでもおなじみのVisual Studio Code+エクステンションの「テキスト校正くん」でブログの下書きを書くというのをやってみました。
- 同じ日にWindows上でVSCodeに触った後にMacで触るとショートカットが出てこなくて困る! テーマ変更もぱっと出てこなくてやばいと思いました。(これも自分のせいw)
- キータッチ中にテキスト校正くんが赤の波線で指摘を出してくれるのはいいのですが、高速にメモをとってる途中にこれが出ると邪魔なときが多い。
ということで、いつもはふつうのテキストエディタ(定番だというCotEditorを入れてます)で書いているのですが、普段どおり書いて仕上げのチェックに「テキスト校正くん」を走らせるのが自分のスタイルには良いのかな、という感じ。
★後から合流した、gRPC兵士を目指しているみずりゅさんと同テーブルでした。キャー安定のみずりゅさんですよ! 同じテーブルで実況ツイートしてお互いのMDX-Deckへの反応をツイートするのは不思議なキモチですね。最近はFORTEさんのPodcast『aozora.fm』でIT話からゲーム話まで計4回出演しています。
★転職LT会で出会った、#完全SIer脱出マニュアル に従って突撃しまくって遂にWeb系企業に転職に成功したぺいさん(@pei_dev) と再会できました。確かこの週が前職SIer勤務最後の週とツイートしていたはず。おおお、遂に脱出するのか…! 次の会社までしばらく間があるのかと思ってつい「これで晴れてしばらくはニート期間ですか?」とかアホなことを聞いてしまいますた。
見ればぺいさん、前回はスーツだったのにこのWEM#11では私服で来ていました。おおー私服の世界に行ってしまうのか…くっ眩しい…これがWeb系の光…暗黒SIer帝国の闇に還ろう…(約束)
★懇親会は断念したのでなおとさんとも話できなかった!
★その後やんばるさん始め何人かの方とTwitterでつながることができました。やった〜。
★昨年の『あにべん!』でアイマス愛に溢れたアツい発表をしてくれたnikkieさんが今回もブログ書く枠で参加して会場のどこかにいたのですが、コンタクトできずじまいでした。って前回のWEM#10と同じオチや!
WEM11終了
最後まで残った面子は懇親会に行っていたのですが、三々五々に解散して渋谷の夜は更けていく感じでした。
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
発表できなかった人もチャンスある
本日の感想ブログを書きましょう。
ブログ今回も書こう
— the.arc (@arc_candy) 2019年2月1日
インプットとアウトプットがバランスができてないと身につかないと別の勉強会で聞いたし。
#webエンジニア勉強会11
初めて参加しましたが、久々にLTを発表したいなーと思った勉強会でした、ありがとうございました! #WEBエンジニア勉強会11
— ながいくん (@tenu530) 2019年2月1日
#webエンジニア勉強会11
— nikkie (@ftnext) 2019年2月1日
いろいろな話が聞けて世界が広がりましたー。
登壇者・運営者・参加者の皆さま、ありがとうございました!
ブログ枠参加なので私の勉強会はもうちょこっと続きます。
ひとまずブログですが、次回3月会は登壇して情報共有したり、終わった後の懇親会にお邪魔したりしたいなー
#webエンジニア勉強会11 終了。その後主な方々と飲みに行くふいんきだったのですが、、風邪気味なので今夜は退散しました😇
— いわしまん (@iwasiman) 2019年2月1日
皆さんお疲れ様でした。やはり社外と接すると刺激が大きいなあ。
初参加でしたが、色々な分野の話が聞けて参考になりました!
— りと (@itkmry) 2019年2月1日
ありがとうございました!!#WEBエンジニア勉強会11
#WEBエンジニア勉強会11
— ワツヨ@JSとVueとNode (@watsuyo_2) 2019年2月1日
を横目に「渋谷のVue.js」第三回無事終了しました!
zeroichi開発も渋谷のVue.jsも回数を重ねてきて少しづつ形になっていけばいいな
良かった。参加者の方ありがとうございます。自分はもっとアウトプットしないとなー #WEBエンジニア勉強会11
— ykk256 (@ykk2561) 2019年2月1日
久々にLTしました。最近はずっと主催ばかりだったのでいい刺激でした。司会業も楽しいけどたまにはゲストで話すのもよいですね
— VTRyo@レベル0 (@3s_hv) 2019年2月1日
#WEBエンジニア勉強会11
懇親会終了!
— ykagano (@ykagano) 2019年2月1日
皆さんおつかれさまでした!!#webエンジニア勉強会11
本日も無事に #WEBエンジニア勉強会11 を終えることが出来ました。 スタッフの皆さん、登壇者の皆さん、参加者の皆さん、ミクシィさん、ありがとうございました。 次回の #WEBエンジニア勉強会12 は03月29日(金)です。 次回も宜しくお願いします。
— OSCA (@engineer_osca) 2019年2月1日
#webエンジニア勉強会11
— なつみ (@natumi_bp) 2019年2月1日
転職する前にいい刺激になった👩🏻💻
私もかっこいいエンジニアになれるかしら💃
なーんで私は新卒転職マンになってしまったんだ🙃🙃🙃
懇親会含めてやはり刺激になるなー
— the.arc (@arc_candy) 2019年2月1日
登壇した皆様お疲れさまでした!#webエンジニア勉強会11
今回の #WEBエンジニア勉強会11 、今回はLTしないで主催に専念したので、登壇者の登壇の模様を撮ろうと一眼レフ持ってきたのに、すっかり撮るの忘れてた。。。 いや、こう見えても僕はセミプロ写真家なんですけどね、やはり主催は心に余裕ないってことですな。。
— OSCA (@engineer_osca) 2019年2月1日
#WEBエンジニア勉強会11
— みずりゅ (@MzRyuKa) 2019年2月1日
一人になった瞬間、今日の資料は字が小さかったよなとか、文字ばっかりでインパクトなかったよなとか、色々考えちゃう。
でも、次は頑張ろうとも思えるWEBエンジニア勉強会は、セーフティ!
全体としては心理的安全性やプログラミング習熟のようなハイコンテキストで普遍的な話もあり、みてねアプリや決済のような実務的な話もあり、gRPCやNode.js界隈などフロントエンドとWebの最前線の話もあり、前回のWEM#10に引き続き多彩な内容&セーフティなイベントでした。
普段だったらお誘い頂いたら懇親会に確実に行っていたのですが、この日は風邪気味だったので退散しました。主催のOSCAさん、準備&登壇した皆さん、参加者の皆さん、会場提供のミクシィさん、ありがとうございました。セーフティ!
リンク集と告知
今回は普段に比べて参加記録のブログエントリが多く、OSCAさんたちも喜んでおられました。前回に比べて天気も良かったのでキャンセル率も低く赤字も避けられたそうです
また記事中のツイート引用で僕たちが出てきたりして、あーやっぱりフィードバックってしたほうがみんなハッピーになるんだなと改めて思ったりしました。てへ。
やんばるさんのエントリ。Pythonなどから自力でものを作る楽しさに目覚め、現在Webエンジニア転職活動中とのこと!
shonansurvivors.hatenablog.com
みてねを推すLTをされたngmtさんのエントリ。
主催のOSCAさんのエントリ。 techblog.oscasierra.net
開催形式で飲食の話が出ています。僕は基本的に人のありがたい話を聞くのにメシ食いながらとは何事じゃ〜と思う人なのでLT中は別に飲み物だけでもいいかなと思う派です。(とかいって当日はピザ食べてますがw)
終わった後に集合テーブルを何卓かセッティングして作そこに軽食セット、懇親会…というスタイルのほうが参加者同士の交流は活発になりますね。しかしミクシィさんのあの会場だとこのスタイルは物理的に難しいのかなとも思います。
たくもんさんのエントリはMDX-Deckの補足話の他に参加レポートも入っています。 takumon.com
ブログ書く枠で参加したnikkieさんのエントリ。 nikkie-ftnext.hatenablog.com
OSCAさんの会社の後輩の期待の新人the.arcさんのエントリ。 arc-tech.hatenablog.com
次回のWEM#12は2019年3月29日(金)@渋谷TECH PLAY SHIBUYA で決定しました。
今回登壇したVTRyoさんらが主催している転職LT会の4回目、『転職LT#4 〜春の転職まつり〜 【はじめてのイベント参加歓迎】』は同じ週の2019年3月25日(月)、サポーターズCoLabで開催決定。毎回参加者が順調に増えているので今回は抽選制になりました。2/11 12:00から受付開始して既にLT枠が埋まるという盛況です。うーむ両方行きたいなあ〜
最後に、このWEM#11ではノロの呪いでLTできなかったzuckeyさんらが発信しているテック系Podcast『しがないラジオ』。好評配信中のsp.51a/sp.51b FORTEさん回に続き、2/13(水)に配信されたのが『エンジニアの登壇を応援する会』などでお馴染みのariakiさんの『sp.52【ゲスト: ariaki4dev】楽しい「エンジニアの登壇を応援する会」 主催者が語る、「5年後の目標」の立て方と大切さ』。
そしてその次の2/18(月)〜の週のどこかで配信されそうなsp.53に、前後編で僕がゲスト出演してしまいます。😇😇😇😇😇
SIerからの脱出を煽っているラジオに遂にリスナーから現役SIerが出てしまう! ということで、前編のお題はsp.53a『エンプラ開発20年史と、SIer世界のエンジニアの楽しい生存戦略』。
約20年というスケールでIT界全体と主にWebアプリケーションの開発の歴史を俯瞰したり、90年代後半のインターネッツなしの時代に転職した話、現役SIerの立場からのキャリア話や楽しい四方山話などをしとります。2010年代のいわゆるWebエンジニア的な立場からすると違うところも、本質はまったく変わらないところも、両方あると思います。ご興味がありましたらお暇な時にでもアクセスよろしくお願いします。
(追記)→そしたら意表をついて予想より早く、週末の2019年2月16日(土)に配信されておりました!😇😇😇😇😇