Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インプットとアウトプットのサイクルを回す暮らし / Kichijoji.pm 29
Search
utagawa kiki
April 12, 2022
Technology
9.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
インプットとアウトプットのサイクルを回す暮らし / Kichijoji.pm 29
吉祥寺.pm 29
https://kichijojipm.connpass.com/event/244184/
utagawa kiki
April 12, 2022
More Decks by utagawa kiki
See All by utagawa kiki
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1.2k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
4.4k
tparseでgo testの出力を見やすくする
utgwkk
2
2.1k
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
4
2.5k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
3.3k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
4.6k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
21
17k
Dive into gomock / Go Conference 2024
utgwkk
14
8.7k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
4
3.8k
Other Decks in Technology
See All in Technology
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
2
420
サイバー捜査員研修(前半)
nomizone
1
1.4k
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
270
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
690
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
200
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
210
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
380
Pavlokで始める電撃駆動開発
sgrsn
0
160
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
300
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1.2k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.4k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
0
600
Featured
See All Featured
Accessibility Awareness
sabderemane
1
170
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
420
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Between Models and Reality
mayunak
4
380
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
200
A designer walks into a library…
pauljervisheath
211
24k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
We Have a Design System, Now What?
morganepeng
55
8.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
870
Transcript
インプットとアウトプットの サイクルを回す暮らし 吉祥寺.pm 29 @utgwkk (うたがわきき)
自己紹介 • @utgwkk (うたがわきき) • 株式会社はてな Webアプリケーションエンジニア • 主にTypeScriptとReactを書いて 暮らしています
これまでのあらすじ • アルバイトエンジニアとしてサーバーサイドのコード (Perl) を書いていた ◦ たまにJavaScriptも書く ◦ アルバイトはコードレビューのレビュワーにならない •
2021年に新卒入社 ◦ TypeScriptとReactを使う新規案件のエンジニアになる ◦ サーバーサイドのコードは書かない !! • 暮らしぶりがガラッと変わる
先に1年間暮らしてきた感想 • 思ったよりはやっていけていると思う • 今のところ、行き詰まっている感じもなく暮らせている
振り返ってみる • 試行錯誤をする • いろいろ目を通してみる • アウトプットをする • コードレビューをする
手を動かすのが手っ取り早い • ドキュメントやチュートリアルを読むだけだと実感がわかない • 世界観を把握するのには手を動かすのが手っ取り早いと思う ◦ ドキュメントを読むだけでは分からなかった実感を持てる ◦ うまくいく体験・うまくいかない体験ができる
簡単に試行錯誤できる環境を作る • 簡単にセットアップできるツールがあると良い ◦ Reactならcreate-react-appとか • 趣味なら何をやっても・いくら壊してもよい • 作りたいものを作ってみるのが手っ取り早い ◦
他言語からの移植でもよさそう ◦ 例: twitter-textのPerl実装 Twitter::Text を公開した - 私が歌川です
いろいろ目を通してみる • 片っ端からドキュメントを読む ◦ チュートリアルからAPIリファレンスまで ◦ たまに思い出して役に立つこともある • 片っ端から型定義ファイルを読む ◦
たまに役に立つものが見つかる • 分からなかったら実装を読みにいく ◦ git cloneしてVSCodeで読み進める ◦ GitHubの定義ジャンプがけっこう使える
規格書にあたってみる • そもそもどういう振る舞いが想定されているのか、が分かる • 意外となんでも規格書に書いてある • 例: Webフォントを分割して読み込む際にunicode-rangeを指定しなかったらどうな るのか -
私が歌川です ◦ 先に実験してから規格書を読んで確かめた
規格書を読むコツ • 1つのWebページに長大な規格が書いてあるとページ内検索が難しい • 必要そうなセクションだけエディタにコピペすると検索しやすい ◦ 関係ありそうな箇所を片っ端から持ってきたとしても、 元の規格書よりはだいぶ短くなるはず • 用語集に目を通しておく
わかったことをアウトプットする • 知識を反芻して理解を深める • チーム内にアウトプットする ◦ 調べたこと、検討したこと、やったこと、などなど ◦ 個人ではなくチームの知識にする •
インターネットにアウトプットする ◦ ブログ記事にまとめる
アウトプットのコツ • 前提を書く ◦ ランタイムやライブラリのバージョン ◦ いつ時点の情報か • 事実と考察を分ける ◦
何が起こった・何が出力された (事実) ◦ こういうことかもしれない (考察) ◦ 検証した結果も書けるとよさそう • 参考にした情報源を書く • 「理科系の作文技術」を読む
以前からやってた • Webフロントエンド開発にガッツリ携わる前も同じようなことをやっていた • 新しいことをやっても基本的なエッセンスは変わらなさそう ◦ 試行錯誤する ◦ 分からないことがあったら調べる ◦
分かったことをまとめる
ところで、コードレビューの話 • コードレビューやっていますか • アルバイトの頃はレビュワーをやっていなかった • いざレビュワーをやってみると考えることがけっこうあると気づく ◦ コツはある ◦
コードレビュー - hitode909の日記 • 油断するとコードレビューに時間を使いすぎてしまう ◦ さくさくコードレビューしまくる問題 - 私が歌川です ◦ 午前中に自分用のレビュータイムを取ってみている
コードレビューで心がけていること • レビューコメントに[MUST][SHOULD][MAY][nit]など (温度感) を書く ◦ 必ず修正してほしいのか、実装方法の提案ぐらいなのかを明確にする ◦ 温度感が違っていたらチューニングできる •
[memo][感想]とかも使うことがある ◦ レビューしていて気づいたことがあったら書いておくと吉 ◦ そこから議論が発展して、よりよい解法に落ち着くこともある
なぜコードレビューの話をしたのか • コードレビューはコミュニケーション • 一種のインプット・アウトプットともいえる ◦ レビューする場合も、レビューしてもらう場合も ◦ こういう書き方ができる、こういう場合を考慮している、といった知識を 吸収できる
ここで一句 (まとめ) • サイクルを 回して質を 高めあう • 解説: インプットとアウトプットは両輪になっていて、両方のサイクルを 回して知識の質を高めていくことだなあ