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
360
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
Kunai: Toward a Verifier-Safe Layered DSL for Nested Encapsulation Packet Filtering on eBPF
takehaya
1
130
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
5
2.9k
XDPerf: A High-Performance Traffic Generator Built with WASM and eBPF
takehaya
1
330
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
10
3.2k
eBPF at Mobile Network Data Plane
takehaya
0
280
Programmable Bandwidth Management with eBPF
takehaya
2
580
eBPF Deep Dive: Architecture and Safety Mechanisms
takehaya
15
3.6k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
3
4.9k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
5.5k
Other Decks in Programming
See All in Programming
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
パーソナライズPodcastを作った話
repunit11
0
130
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
120
AWSに止められる覚悟してますか?
morizo_1984
2
520
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
130
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
130
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
180
Simple Storage Service(S3) is not simple
iwatsukayura
0
220
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
Into the Great Unknown - MozCon
thekraken
41
2.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Visualization
eitanlees
153
17k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
It's Worth the Effort
3n
188
29k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
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 ϦϑΝϨϯε