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
Git の内部データ構造
Search
Shuhei Kagawa
August 20, 2015
Programming
2
2k
Git の内部データ構造
Git がどのようにデータを保持しているかについて解説します。
Shuhei Kagawa
August 20, 2015
Tweet
Share
More Decks by Shuhei Kagawa
See All by Shuhei Kagawa
Profiling Node.js apps on production
shuhei
0
910
Building a Pixel Art Editor with Elm
shuhei
1
800
Redux Middleware Wars (Japanese)
shuhei
8
1.9k
Redux Middleware Wars (English)
shuhei
0
180
Draw Animated Chart on React Native
shuhei
0
8.8k
Angular 2 Offline Compiler
shuhei
0
5.4k
Weird Attractors
shuhei
0
890
Angular 2 @ JS Ojisan #6-3
shuhei
1
3k
Introduction to Angular 2
shuhei
2
160
Other Decks in Programming
See All in Programming
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
840
CSC509 Lecture 01
javiergs
PRO
1
430
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
980
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.5k
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
310
CSC509 Lecture 03
javiergs
PRO
0
320
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
120
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.8k
dynamic!
moro
9
4.5k
CSC305 Lecture 04
javiergs
PRO
0
230
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
330
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
650
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
Context Engineering - Making Every Token Count
addyosmani
3
140
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Site-Speed That Sticks
csswizardry
11
870
Making Projects Easy
brettharned
118
6.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Music & Morning Musume
bryan
46
6.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rails Girls Zürich Keynote
gr2m
95
14k
Agile that works and the tools we love
rasmusluckow
330
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Transcript
(JUͷ෦σʔλߏ 4IVIFJ,BHBXB .5FDI5BML
MTHJU '&5$)@)&"% )&"% DPOpH EFTDSJQUJPO IPPLT JOEFY JOGP MPHT PCKFDUT
QBDLFESFGT SFGT
USFFHJUPCKFDUT HJUPCKFDUT ᵓᴷᴷ ᴹᵋᴷᴷDGBFCCFG⒎DGFCGC ᵓᴷᴷ ᴹᵋᴷᴷCECBFDBFFFD⒎FG ᴹᵋᴷᴷEECCFBFECFDEB ᵓᴷᴷF ᴹᵋᴷᴷFFBFBEGGFCDFGD ᵓᴷᴷFC
ᴹᵋᴷᴷGGGFGEGECBBCBBGCFBCF ᵓᴷᴷJOGP ᵋᴷᴷQBDL
HJUPCKFDUT w ϑΝΠϧγεςϜΛར༻ͨ͠,FZ7BMVF4UPSFɻ w Ωʔͷ4)"ϋογϡɻ্ܻʢCZUFʣ͕ σΟϨΫτϦ໊ɺΓ͕ϑΝΠϧ໊ɻ DGBFCCFG⒎DGFCGC σΟϨΫτϦ໊ CZUF
ϑΝΠϧ໊ CZUF
PCKFDUͷछྨ CMPC USFF DPNNJU ϑΝΠϧͷத σΟϨΫτϦ ͷΑ͏ͳͷ ͍ΘΏΔίϛοτ
PCKFDUͷߏ CMPC a QVUT)FMMP 8PSMEaO PCKFDUͷ छྨ ۭന αΠζ
ψϧ จࣈ σʔλ 4)"ϋογϡ ϑΝΠϧ໊ ϑΝΠϧͷத [MJCѹॖ ϔομ
HJUDBUpMFQTIBIBTI
CMPC QVUT)FMMP 8PSMEaO w ϑΝΠϧͷதʮ͚ͩʯ͍࣋ͬͯΔɻ w ϑΝΠϧͷ໊લ͍࣋ͬͯͳ͍ɻ
USFF IFMMPKTa4)"ϋογϡʢόΠφϦʣ IFMMPSCa4)"ϋογϡʢόΠφϦʣ w USFFͱCMPCͷҰཡɻ w ֤ߦ໊લϞʔυʢύʔϛογϣϯʣΛ͍࣋ͬͯΔɻ w ຊվߦͳ͠ɻ
DPNNJU USFFFBGD⒎FBBDFDDGEF BVUIPS4IVIFJ,BHBXBTIVIFJLBHBXB!HNBJMDPN DPNNJUUFS4IVIFJ,BHBXBTIVIFJLBHBXB!HNBJMDPN )FMMP 8PSME w USFFͷࢀরΛҰ͍ͭ࣋ͬͯΔɻ
w ͋ͱॻ͍ͨਓͱίϛοτͨ͠ਓɺίϛοτϝοηʔδɻ
֤PCKFDUͷؔ CMPC USFF DPNNJU CMPC IFMMPSC (FNpMF *OJUJBMDPNNJU
֤PCKFDUͷؔ CMPC USFF DPNNJU DPNNJU USFF CMPC IFMMPSC
(FNpMF USFF MJC IFMMPSC (FNpMF *OJUJBMDPNNJU IFMMPSCΛMJC ʹೖΕͨ
֤PCKFDUͷؔ CMPC USFF DPNNJU DPNNJU DPNNJU USFF
USFF CMPC IFMMPSC (FNpMF USFF CMPC MJC MJC IFMMPSC (FNpMF (FNpMF *OJUJBMDPNNJU IFMMPSCΛMJC ʹೖΕͨ ར༻ϥΠϒϥϦ Λߋ৽
Θ͔Δ͜ͱ w DPNNJU͚ͩͰͳ͘CMPC USFF4)"ϋογϡ Λ͍࣋ͬͯΔɻ w มΘΒͳ͍CMPC USFFUSFF DPNNJUؒͰڞ༗͞Ε Δɻ
w ϑΝΠϧɾσΟϨΫτϦ໊CMPC USFFࣗͰͳ ͘ͷUSFF͕͍࣋ͬͯΔɻ
HJUSFGT w HJUSFGTIFBETNBTUFSͱ͔HJUSFGTUBHTWͱ͔ɻ w DPNNJUͷ4)"ϋογϡ͕ॻ͍ͯ͋Δ͚ͩɻ
HJUJOEFY w ࣍ͷDPNNJUʢͷUSFFʣΛ࡞ΔͨΊͷใ͕Ωϟογϡ͞Ε͍ͯΔɻ w มߋ͞ΕͨϑΝΠϧ͚ͩͰͳ͘શϑΝΠϧ͕ೖ͍ͬͯΔɻ w HJUMTpMFTͰݟ͑ͳ͍͕ɺ࠷ऴߋ৽࣌ͳͲೖ͍ͬͯΔɻ HJUMTpMFTTUBHF DDGEFECGCDBFDBECDCIFMMPKT D⒎BBFGDEEBGCE
IFMMPSC
ͦ͏͍͑ɾɾɾ w େ͖ͳϑΝΠϧʹҰߦͨ͠ΒɺผͷCMPC͕Ͱ͖ Δɻ w ͋Εɺ(JUͬͯϑΝΠϧΛࠩͰ࣋ͬͯͳ͍ͷʁ
HJUHD
CFGPSF HJUPCKFDUT ᵓᴷᴷ ᴹᵋᴷᴷDGBFCCFG⒎DGFCGC ᵓᴷᴷ ᴹᵋᴷᴷDEBGEBFGDE ᵓᴷᴷ ᴹᵋᴷᴷCECBFDBFFFD⒎FG ᵓᴷᴷC ᴹᵋᴷᴷGFGFCECBFFGBFC
ᵓᴷᴷDD ᴹᵋᴷᴷGEFECGCDBFDBECDC ᵓᴷᴷE ᴹᵋᴷᴷGCDDEDEGDGFG ᵓᴷᴷEC ᴹᵋᴷᴷEECCFBFECFDEB ᵓᴷᴷF ᴹᵋᴷᴷFFBFBEGGFCDFGD ᵓᴷᴷFB ᴹᵋᴷᴷGD⒎FBBDFDDGEF ᵓᴷᴷFC ᴹᵋᴷᴷGGGFGEGECBBCBBGCFBCF ᵓᴷᴷJOGP ᵋᴷᴷQBDL HJUPCKFDUT ᵓᴷᴷJOGP ᴹᵋᴷᴷQBDLT ᵋᴷᴷQBDL ᵓᴷᴷQBDLFDGDGBFBBGBCFECFGGJEY ᵋᴷᴷQBDLFDGDGBFBBGBCFECFGGQBDL BGUFS
1BDLpMF w JEYͱQBDLͷϖΞɻQBDL͕ຊମͰJEY͕ΠϯσοΫ εɻ w ෳͷPCKFDU͕٧Ίࠐ·Ε͍ͯΔɻ w ඞཁʹԠͯ͡CMPCΛࠩͰอ࣋ɻ w HJUWFSJGZQBDLWHJUPCKFDUTQBDLQBDLYYYJEYͰϦε
τ͕ݟΕΔɻ
QMVNCJOHDPNNBOET w HJUDBUpMF w HJUMTUSFF HJUNLUSFF HJUDPNNJUUSFF w HJUSFBEJOEFY HJUXSJUFJOEFY
HJUDPNNJUJOEFY
ࢀߟ w 1SP(JU(JU*OUFSOBMT IUUQTHJUTDNDPNCPPLFOW w (JU$PNNVOJUZ#PPL*OUFSOBMTBOE1MVNCJOH IUUQTTDIBDPOHJUIVCJPHJUCPPLJOEFYIUNM w HJU%PDVNFOUBUJPOUFDIOJDBM IUUQTHJUIVCDPNHJUHJUUSFFNBTUFS%PDVNFOUBUJPOUFDIOJDBM