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
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
73
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
38
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
33
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
220
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
100
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
130
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
190
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
280
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
350
Other Decks in Programming
See All in Programming
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
770
Leading Effective Engineering Teams in the AI Era
addyosmani
7
570
Devvox Belgium - Agentic AI Patterns
kdubois
1
140
理論と実務のギャップを超える
eycjur
0
170
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
140
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
620
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
850
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
150
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
260
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Balancing Empowerment & Direction
lara
5
700
Navigating Team Friction
lara
190
15k
We Have a Design System, Now What?
morganepeng
53
7.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Writing Fast Ruby
sferik
629
62k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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の操作で • 「それってなんてツールですか?」 • 「今の操作ってどうやったんですか?」 といった感じで、予期せぬ学びが生まれたな〜と思いました
来年も「それ、なんですか?」をたくさんやります
働くをもっと楽しく、創造的に