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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
710
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
4.1k
tparseでgo testの出力を見やすくする
utgwkk
2
1.8k
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
4
2.3k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
3k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
4.5k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
21
17k
Dive into gomock / Go Conference 2024
utgwkk
14
8.7k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
4
3.7k
Other Decks in Technology
See All in Technology
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.2k
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
560
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
150
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
300
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
840
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
130
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
390
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
130
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
250
protovalidate-es を導入してみた
bengo4com
0
170
200個のGitHubリポジトリを横断調査したかった
icck
0
120
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
A designer walks into a library…
pauljervisheath
211
24k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Tell your own story through comics
letsgokoyo
1
950
Scaling GitHub
holman
464
140k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Spectacular Lies of Maps
axbom
PRO
1
800
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][感想]とかも使うことがある ◦ レビューしていて気づいたことがあったら書いておくと吉 ◦ そこから議論が発展して、よりよい解法に落ち着くこともある
なぜコードレビューの話をしたのか • コードレビューはコミュニケーション • 一種のインプット・アウトプットともいえる ◦ レビューする場合も、レビューしてもらう場合も ◦ こういう書き方ができる、こういう場合を考慮している、といった知識を 吸収できる
ここで一句 (まとめ) • サイクルを 回して質を 高めあう • 解説: インプットとアウトプットは両輪になっていて、両方のサイクルを 回して知識の質を高めていくことだなあ