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
170
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
5
3.4k
XDPerf: A High-Performance Traffic Generator Built with WASM and eBPF
takehaya
1
350
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
10
3.2k
eBPF at Mobile Network Data Plane
takehaya
0
290
Programmable Bandwidth Management with eBPF
takehaya
2
590
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
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
140
気持ちぃ〜角丸 Squircle
ryu1013
0
320
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
190
contenteditable と日本語入力に向き合う
colorful12
0
210
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
ActionController meets Protocol Buffers
sorah
0
660
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
Performance Optimization With LLMs
xleitix
0
190
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
180
APNsからLive Activityを開始する話
yumnumm
0
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
330
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
180
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Between Models and Reality
mayunak
4
500
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 ϦϑΝϨϯε