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
Ryu-nakayama
December 15, 2023
Programming
0
1.7k
今年学んだ便利ツール_便利技
2023/12/15のmobile.stmn#3登壇資料
Ryu-nakayama
December 15, 2023
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
iOSアプリでフロントエンドと仲良くする
ryunakayama
0
23
「ジェン文字」使ってますか?
ryunakayama
0
31
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
320
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
58
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
38
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
270
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
150
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
160
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
210
Other Decks in Programming
See All in Programming
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
130
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.1k
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
160
CSC307 Lecture 03
javiergs
PRO
1
480
Basic Architectures
denyspoltorak
0
630
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
620
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
820
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
CSC307 Lecture 01
javiergs
PRO
0
680
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
120
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
360
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
300
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
The Pragmatic Product Professional
lauravandoore
37
7.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Writing Fast Ruby
sferik
630
62k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
The Language of Interfaces
destraynor
162
26k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Building AI with AI
inesmontani
PRO
1
660
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Transcript
Chatwork株式会社 中山 龍 2023年12月15日 今年学んだ便利ツール/便利技
自己紹介 中山 龍 (なかやま りゅう) • Chatwork株式会社 ◦ iOSエンジニア ◦
2023年4月 新卒として入社 ◦ 社内最年少 (2002年6月生まれの21歳) • 愛知県在住 ◦ フルリモート勤務 ◦ 今のところ本イベントLT枠 皆勤賞 2 @ryu_develop
develop 開発する際のローカルのブランチ状況(例) 3 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数
develop 開発する際のローカルのブランチ状況(例) 4 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている
develop 開発する際のローカルのブランチ状況(例) 5 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている 今から紹介する3つの合せ技で解決している ので、その方法を紹介します
便利ツール1: 『Fork』
Fork Fork: gitのクライアントアプリ 7 • コマンドを叩くことなくgitの操作ができる • GUIで表示でき、コードの変更箇所やブランチの状況などが確認しやすい • コンフリクトの解消もできる
• 部分を選択してステージしたり取り消したりもできる などなど、gitの操作がとても楽になる
Fork 複数ブランチのコミットをGUIで見れたり、コミットの情報も見やすい 8
Fork ポイント!タブとしてディレクトリ単位で開くことができる 9
Fork コミットするときも変更がある箇所を確認しやすい 10
Fork コンフリクトの解消もGUIで比較しながら行える 11
便利ツール2: 『iTerm2』
iTerm2 13 iTerm2: ターミナルアプリ 同期からのおすすめで使ってみた • ブランチ名が表示されていたり • 変更の有無が表示されたり •
コマンドに色がついたり • 過去に実行したコマンドを基に入力中のコマンドを推測してくれたり こちらの記事( Mac初心者に優しいターミナルにする( iTerm2/Oh My Zsh) )を参考に設定した
iTerm2 14 iTerm2: ターミナルアプリ Mac標準のターミナルよりも多機能で、コマンド弱々の自分のような人でもある補 完に助けてもらえるのが良い! (あと、コマンドラインがカラフルだったほうが少しテンション上がる) 【役立つシーン】 • ForkにはないようなGitコマンドを何度も実行する必要があるとき
• 自分がいるディレクトリは現在どのブランチなのかを知るとき
便利技: git-worktree
git-worktreeとは git-worktree: ディレクトリの移動でブランチを切り替えられる便利技 16
develop 開発する際のローカルのブランチ状況(例) 17 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている
• stashしてブランチを切り替える • ブランチごとに新しくcloneする 複数ブランチを扱う場合 どうブランチを切り替えるか?
• stashしてブランチを切り替える • ブランチごとに新しくcloneする 複数ブランチを扱う場合 どうブランチを切り替えるか? git worktree
git worktreeのイメージ 1つのリポジトリに対して ブランチごとに作業ディレクトリ を作成するイメージ 20 リポジトリ ブランチ1 のワークツリー ブランチ2
のワークツリー ブランチごとに ディレクトリ作成
git worktreeで実現できること 21 git stashをして切り替える必要がなくなる 複数ヶ所で同じブランチをいじってしまうのを防げる 各ブランチが独立したディレクトリ(ワークツリー)として存在する → ディレクトリを移動するだけでブランチが切り替わる clone場合、同じブランチから複数cloneできてしまい、複数のディレクトリから同じブラ
ンチをいじってしまうことが発生する git worktreeなら同じブランチから複数のディレクトリを作成できない → 複数のディレクトリで同じブランチをいじってしまうのを防げる
git worktreeで実現できること git stashをして切り替える必要がなくなる 複数ヶ所で同じブランチをいじってしまうのを防げる 各ブランチが独立したディレクトリ(ワークツリー)として存在する → ディレクトリを移動するだけでブランチが切り替わる clone場合、同じブランチから複数cloneできてしまい、複数のディレクトリから同じブラ ンチをいじってしまうことが発生する
git worktreeなら同じブランチから複数のディレクトリを作成できない → 複数のディレクトリで同じブランチをいじってしまうのを防げる 複数ブランチを扱いやすい! 22
過去資料 23 過去にLTした資料もあるのでどうぞ 👀
3つを合わせて...
3つ合わせて... 1. iTermで過去に実行したgit-worktreeのコマンドを呼び出し、コマンド内の 「対象ブランチ」などの部分を少しだけ書き換えて実行する → 対象ブランチを扱うディレクトリが作成される 2. 扱いたいブランチと紐づいたディレクトリを、Forkでタブとして開く 3. Gitの操作を行いたいときには、Forkのタブを切り替える。それだけでGitの操
作をするブランチの切り替えが済む 25
最後に
便利ツールや便利技について紹介してきましたが... 社会人になって、新しい環境に入ってみて思った。 他人から学ぶことってめっちゃ多い 27 ペアプロ中に使ってるツールとか、Xcodeの操作で • 「それってなんてツールですか?」 • 「今の操作ってどうやったんですか?」 といった感じで、予期せぬ学びが生まれたな〜と思いました
来年も「それ、なんですか?」をたくさんやります
働くをもっと楽しく、創造的に