Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ファイルを作らずGitにCommit!
Search
Takeru Hayasaka
September 28, 2018
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ファイルを作らずGitにCommit!
タガヤスその7で話したLT資料です
Takeru Hayasaka
September 28, 2018
More Decks by Takeru Hayasaka
See All by Takeru Hayasaka
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
1.5k
XDPerf: A High-Performance Traffic Generator Built with WASM and eBPF
takehaya
1
290
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
10
3.1k
eBPF at Mobile Network Data Plane
takehaya
0
270
Programmable Bandwidth Management with eBPF
takehaya
2
530
eBPF Deep Dive: Architecture and Safety Mechanisms
takehaya
14
3.4k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
3
4.8k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
5.4k
JANOG53 LT 自作k6 Extension利用した NFVへの負荷計測手法の紹介
takehaya
0
1.2k
Other Decks in Programming
See All in Programming
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
110
Building an Out-of-Order CPU
latte72
1
740
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
55
36k
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
180
Family mrubyの進捗
kishima
1
110
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
290
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
A designer walks into a library…
pauljervisheath
211
25k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
The Cult of Friendly URLs
andyhume
79
7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
WENDY [Excerpt]
tessaabrams
12
39k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Transcript
ϑΝΠϧΛ࡞Βͣ(JU ʹ$PNNJU 5BLFSV)BZBTBLB !UBLFNJP*0 ʢλΨϠεͦͷ̓ʣ 1
ࣄલௐࠪ
(JUͬͨ͜ͱ͋Δਓ ڍखʂ
(JUͷϓϩڍखʂ
ϓϩͷํͪΐͬͱͷ ٳܜʹͳΓ·͢ɾɾɾ
ϓϩ͡Όͳ͍ͷͰؒҧ ͑ͨΒ͝ΊΜͳ͍͞ʼʻ
XIPBNJ w ͔͚ͨ͞Δ !UBLFNJP*0 w ౦ֶӃେֶֶ෦ w ΠϯϑΟχοτϧʔϓͰΞϧόΠτΛͯ͠Δ w
TFNBOUJDTJOGPTFDOFUXPSLʹڵຯ͕͋Γ·͢ w དྷ݄ੜ ͰͳͷͰਓੜͷઌഐํ֤Ґʹ͓͖·͠ ͯඒຯ͍͓͠ञͷҿΈ͔ͨΛืूͯ͠·͢
ΠϯϑΟχοτϧʔϓઋͰ(JU͕ ͑ΔֶੜΞϧόΠτΛืूͯ͠·͢ $.
ۙگ
(JU$IBMMFOHF ͰҐʹͳͬͨ
(JU$IBMMFOHFͱʁ w NJYJ͕ओ࠵ͯ͠Δ(JUʹؔ͢ΔίϯςετɽֶੜΦϯϦʔ w HJUϦϙδτϦʹઃ͚ͨΛνʔϜϫʔΫͰղܾ͍ͯ͠ ͘ڝٕܕͷٕज़Πϕϯτ w ҰԠશࠃ͔ΒॻྨநબͰબΕͨਓͷΈ͕ࢀՃͰ͖ΔΠ ϕϯτɽ
ڝٕڥ w қ͕̍d·Ͱ͋ΓɼϖΞͰߦ͏νʔϜઓͩͬͨ w νʔϜͦͷͰ·͞Εͨॳର໘ͷਓ w ͱΓ͋͑ͣΥʔϜΞοϓ͕ͯΒқͷ͔Β ղ͍͍ͯͬͨɽ w ղ͍ͨΒHJUIVCʹQVTI
w $*ϕʔεͰΛΦʔτδϟονͯ͠Δ
ྫʢงғؾʣ w ίϯϑϦΫτΛͨ͠Γ w ഁଛͨ͠ϑΝΠϧΛम෮ͨ͠ΓɾɾɾͳͲ w ৄ͘͠ެ։ใͰͳ͍ͷͰݴ͑ͳ͍ͷͰ͝ΊΜͳ ͍͞ʼʻ
େձͷงғؾ w ϖΞͰղ͍ͯΔͷͰNBTUFSʹQVTIGΛ͕ͪ͠
େձͷงғؾ w ͓ޓ͍ղ͖ऴΘͬͨͱࢥͬͯΔ
݁Ռ
ޙஊ wޙ͋ΔϦϙδτϦͰʮ13ͷαΠζσΧΠʯͱ ΩϨΒΕͨ wීஈΘͳ͍ΈͦͬͨͷͰઋӺΓա͝͠ ͯԬͰҰധͯ࢝͠ൃͰେֶʹΤΫετϦʔϜొ ߍΛ͢Δ͜ͱʹͳͬͨ
ຊ
ϑΝΠϧΛ࡞Βͣ(JUʹ $PNNJU
Ͱ͖ΔΜͰ͢✊
(JU0CKFDU w HJUJOJUΛͯ͠IPHF͢Δͱੜ·ΕΔHJUPCKFDUTͷதͷ w CMPC w ϑΝΠϧσʔλΛදݱͯ͠Δ w 5SFF w
ϑΥϧμߏΛදݱͯ͠Δ w $PNNJU w USFFͷࢀরͱίϛοτϢʔβʔͱλΠϜελοϓͷදݱ
$PNNJUͷ࡞ΒΕํ wίϛοτͱ͍͏ͷzCMPCzͱ͍͏σʔλ͕zUSFFz ʹඥ͍ͮͯΔ w$PNNJUPCKFDU͕USFFಉ࢜ͷίωΫγϣϯΛҙຯ ͯ͠Δ
None
CMPCͱUSFFͷؔਤ
$PNNJUͱUSFFͷؔਤ
࣮ࡍʹͬͯݟͨ
w ϑΝΠϧΛ࡞Δ w HJUJOJU͢Δ w 0CKFDUͷதQBDL JOGPͷΈ͕ݱஈ֊ʹଘࡏͯ͠Δ $mkdir fugafuga $cd
fugafuga/ $git init > Initialized empty Git repository in fugafuga/.git/ find .git/objects/ > .git/objects/ > .git/objects//pack > .git/objects//info
w HJUIBTIPCKFDUʹύΠϓͯ͠DSFBUFEBUB w PCKFDU*%Λܭࢉͯ͠ϑΝΠϧ͔ΒCMPCΛ࡞͢ΔίϚϯυ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ echo 'create data'
| git hash-object -w --stdin > 070f3bd01632c945394b3aac7187a9d91ca4816a $ ls $ git cat-file -p 070f > create data
w HJUVQEBUFJOEFY w XPSLJOHUSFFͷϑΝΠϧΛJOEFYʹొ͢Δ w DINPEͱಉ͡ײ͡ w UFTUUYUͱ͍͏ՍۭͷσʔλΛೖΕͯΔʢଘࡏͯ͠ͳ͍ʣ git update-index
--add --cacheinfo 100644 070f3bd01632c945394b3aac7187a9d91ca4816a test.txt
w HJUXSJUFUSFFΛ͏ w 4UBHFJOHΤϦΞΛUSFFPCKFDUʹॻ͖ग़͢͜ͱ͕Ͱ͖Δ w ·ͩUSFF͕ͳ͍ͱ͖ʹࣗಈͰJOEFY͔ΒUSFFPCKFDUΛ࡞Δ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ git
write-tree > c47b19c8b7a3b7724138f73e4cd53efa0f1e9595 $ git cat-file -p c47b > 100644 blob 070f3bd01632c945394b3aac7187a9d91ca4816a test.txt
w DPNNJUUSFFʹύΠϓͯ͠pSTUDPNNJU w $PNNJUΛ࡞ΔίϚϯυ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ echo 'first commit'
| git commit-tree c47b > 9ee76e488f2882f12e5fb15d8016e80946ff48dd $ git cat-file -p 9ee76e488f2882f12e5fb15d8016e80946ff48dd > tree c47b19c8b7a3b7724138f73e4cd53efa0f1e9595 > author TakeruHayasaka <
[email protected]
> 1538081510 +0900 > committer TakeruHayasaka <
[email protected]
> 1538081510 +0900 > first commit
·ͱΊ w ίϛοτͱ͍͏ͷzCMPCzͱ͍͏σʔλ͕zUSFFzʹඥ͍ͮͯΔ w $PNNJUPCKFDU͕USFFಉ࢜ͷίωΫγϣϯΛҙຯͯ͠Δ w (JUͱ͍͏ͷ࣮ϨΠϠʔͳදݱΛநԽͯͯ͠ීஈΒ ͍ͬͯΔɽ
w IUUQTHJUTDNDPNCPPLKBW (JU&"&&&# (JU&""&&#&" &"'& w IUUQUBLFJPIBUFOBCMPHDPNFOUSZ ϦϑΝϨϯε