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
リポジトリリーディング手法
Search
gessy0129
PRO
February 28, 2024
Technology
0
10
リポジトリリーディング手法
gessy0129
PRO
February 28, 2024
More Decks by gessy0129
See All by gessy0129
◯◯エンジニアになった理由
gessy0129
PRO
0
110
30代エンジニアのキャリアを語る納涼LT!
gessy0129
PRO
0
19
Findy様戦略発表会登壇資料
gessy0129
PRO
0
14
急拡大組織のハードシングス〜100名組織〜
gessy0129
PRO
0
16
ANDPADの攻めと守り
gessy0129
PRO
0
14
急拡大してる組織が新卒採用やってみた
gessy0129
PRO
0
23
Other Decks in Technology
See All in Technology
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
2
220
Platform Engineeringのエッセンスを小規模な開発組織に取り入れた事例紹介
ham0215
4
720
10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜
10xinc
5
970
Android15(SDK35)から強制される、Edge-to-Edgeに対応しなければならない
sansantech
PRO
0
330
Technology that powers Lambda / AWS Lambda を支える技術
_kensh
21
5k
OSTという文化を組織に根付かせてみた
sansantech
PRO
3
590
公共交通データとアプリ制作 - Mini Tokyo 3D の初期制作過程を振り返る
nagix
2
190
LLMマルチエージェントのフローエンジニアリングを支えるLLM Ops
pharma_x_tech
4
1k
GraphQLを安全に使うためにやっていること
hayashikengo
1
170
人工衛星の開発体験向上のために、ソフトウェアからできること
sksat
2
330
HashHub会社案内「なぜ今、パブリックブロックチェーンに賭けるのか」
hashhub
3
75k
Kubernetesって何? -大規模なKubernetesを運用するKubernetes as a Serviceチームの話を添えて-
lycorptech_jp
PRO
12
4.3k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Music & Morning Musume
bryan
46
6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Designing the Hi-DPI Web
ddemaree
278
34k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
Teambox: Starting and Learning
jrom
131
8.7k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
Transcript
技術支援に関わる上でリポジトリをど うリーディングしているかについて語 る(仮) 2024/02/22 gessy0129
Yoshiharu Geshi BIRTH: 1983/01/29 BEFORE:ANDPAD NICKNAME:gessy、げっしー LIKE:焼肉、温泉、ハンバーガー、日本酒、ビール OTHER:#墨田区 #浅草 #既婚
#息子 #小学生 #マンション住み #EX-CA #EX-ヤフー #EX-アンドパッド gessy0129
【PR】過去の登壇とか(はてブが励みです) https://www.wantedly.com/companies/forstartups/post_articles/419125 https://levtech.jp/media/article/column/detail_232/ https://logmi.jp/tech/articles/328464 https://flatt.tech/magazine/entry/20230615_andpad_interview https://andpad.connpass.com/event/243436/ https://note.com/ivs19/n/n3ec29dd72f95 https://aws.amazon.com/jp/blogs/startup/cto-night-and-day-2022-nagasaki-day2/ https://www.itmedia.co.jp/news/articles/2206/22/news058.html https://www.itmedia.co.jp/news/articles/2207/04/news030.html
アジェンダ Hackとは リポジトリリーディングについて
Hackとは?
ライフハック 2004年頃、プログラマーの間で広まった仕事術です。人に見せられないくらい簡単なスクリプト や習慣を1日に数回実行することで、 20分、30分と時間を節約し生産性を上げていきます。 元々は、『こんなやり方があったんだね』と驚いたり、『これはいいね』とニヤッとすることをハック と言うんですが、これを繰り返すことで大きな成果となり、人生が変わっていくということで、ライ フハックという言葉が生まれました。 (引用元:デジタル整理スタイル| ライフハッカー堀正岳さんの、小さな習慣で毎日の仕事が楽 になる情報整理術)
◯◯ハック 仕事の効率を高めて、人生を変えよう!
◯◯ハック 仕事の効率を高めて、人生を変えよう! 物事の効率を高めるためのコツ・ノウハウ ex : グロースハック この人はハッカーではなく、クラッカー
PR【synthesia】 冒頭の動画で使わせていただいたサービスです。 社内向け研修動画などがテキスト流し込むだけで作れるという Hackもついでにご紹介でした。
リポジトリリーディングHack
後から参画したPJのソースコードはどこから? Survey 1. ER図から? 2. API仕様書から? 3. config 系のファイルから? 4.
依存関係管理ファイルから? 5. その他? アンケート取ろうと思ったのですが、 会場が見えないので SKIPします
注意! これからお話するのは僕の手法です 絶対にこうすべきという話ではありません 自分だったらどうかな? を思い浮かべながら聞いて下さい
Hack 全てのコードを読もうと思わない 全体を俯瞰しながらポイントを見つける 役割を理解する
全てのコードを読まない 過去の自分の関わったプロジェクトなどを思い浮かべて欲しい 毎日、全てのコードに触ってましたか? いつも触るものって決まってませんでしたか? 全然触ってないものとかありませんでした? ER図も、API仕様書にも言えること 利用頻度や改修頻度が低いものまで熟読して理解する必要はない
全てを読もうと思うと圧倒される どこから手を付けて良いの? 周りのエンジニアなんで読めるの? 凄すぎでは・・・ 量が多すぎて何も理解できない
全体を俯瞰しながら見る 重要ポイントはどこになるのか? 重要ポイントを探す旅をする
重要ポイントを探す旅① CIの実行環境を見る このサービスで使う重要なソフトが全て書いてある
重要ポイントを探す旅② CIで動くJobを見ておく 開発するうえで気にしなければいけないことが載ってる
重要ポイントを探す旅③ CIで動くWorkflowsを見ておく Deployやブランチ運用が書いてあったりする
CI の設定は見れるようになっておこう 日常的に運用すること 開発時に気にしなければいけないこと デプロイ周り ほぼ全てがそこに詰まってる
CI が何も書いてなかったら?
ER図も見てみよう! ER図が生成されていたらラッキーぐらいの温度感でいよう 生成されてなかったとしても、 SchemaSpyとかで数分で作れるので嘆かない! ER図で見るべきポイントはここ
【再掲】全てを読もうと思うと圧倒される どこから手を付けて良いの? 周りのエンジニアなんで読めるの? 凄すぎでは・・・ 量が多すぎて何も理解できない
【再掲】全てを読もうと思うと圧倒される どこから手を付けて良いの? 周りのエンジニアなんで読めるの? 凄すぎでは・・・ 量が多すぎて何も理解できない 全てのテーブル名、カラム名が 表示されてないといけないのは幻想
ER図はここを見よう Relationshipの数が多ければ多いほど重要な情報 プロジェクトの中でどこに重要情報が保存されてるかを理解する
監視ツールを見に行こう
監視ツールで見ること 何をMonitorしてるの? Dashboardにはどんな情報があるのかな? Metricsはどんなものがあるかな? 過去の障害など経験が詰まっていて 気にしておくと安全に開発出来る!
エラートラッキングを見に行こう
ここまで見たらほぼ完璧 サービスの根本や各種ルールなどは一通り理解できてる状態だと思います。 後は、issue に沿って開発をしていきましょう! ドキュメント化されてなかったら あとから来る人のためにOutputとして ドキュメントを残しておきましょう!