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
zsh*単一デスクトップ環境最速を目指して
Search
karamaru
April 13, 2024
0
43
zsh*単一デスクトップ環境最速を目指して
zshの起動時間を300ms->20msにしたり、vimに入門したりしました。
karamaru
April 13, 2024
Tweet
Share
More Decks by karamaru
See All by karamaru
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
2
810
ぼくのかんがえたさいきょうのもっくらいぶらり! @ GoConnect#1
karamaru
0
49
詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話 @ GoConference2024
karamaru
0
20
対isuconメトリクスツール isumaru作った
karamaru
0
16
自作言語をrustでwasmにコンパイルする
karamaru
0
13
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
31
6.2k
The Invisible Customer
myddelton
119
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Side Projects
sachag
451
42k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
GitHub's CSS Performance
jonrohan
1030
450k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Agile that works and the tools we love
rasmusluckow
327
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
36
1.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
Transcript
Զ͕ߟ͑Δ࠷ͷ ;TI։ൃڥ LBSBNBSV
͡Ίʹ
ઌʹ݁։ൃڥΛҰ৽͠·ͨ͠ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
ઌʹ݁LBSBNBSVBMQIBEPUGJMFT
ΞδΣϯμ ɾ͡Ίʹ ɾ[TIͷىಈΛരʹ͢Δ ɾσΟϨΫτϦ ϒϥϯνҠಈΛരʹ͢Δ ɾσεΫτοϓΞϓϦΓସ͑Λരʹ͢Δ ɾϒϥζΛരʹ͢Δ ɾίʔσΟϯάΛരʹ͢Δ ɾݴޠόʔδϣϯཧΛരʹ͢Δ
;TIͷىಈΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2;TIͷىಈʹԿ̼T͔͔͍ͬͯ·͔͢ʁ UJNF[TIJDFYJU
վળͨ͠Αʂ ࣗNT͙Β͍͔͔ͬͯͨ 4IFMEPOΛ׆༻ͯ͠NT·Ͱॖͤͨ͞
0INZ[TIΊͯ4IFMEPOΛಋೖͨ͠Α ɾ4IFMEPO3VTUͷγΣϧϓϥάΠϯϚωʔδϟʔ ɾଞͷϓϥάΠϯϚωʔδϟʔ[JOJU[QMVHPINZ[TIͳͲ ɾԆಡΈࠐΈΩϟογϡΛۦͯ͠ىಈΛߴԽ͠Α͏ʂ DGIUUQTHJUIVCDPNSPTTNBDBSUIVSTIFMEPO
4IFMEPOجຊతͳ͍ํͱԆಡΈࠐΈ d[TISD ɾ[TIʹಡΈࠐ·ͤΔεΫϦϓτΛQMVHJOTUPNM͔ΒੜಡΈࠐΈ dDPOGJHTIFMEPOQMVHJOTUPNM ɾ[TIʹಡΈࠐ·ͤΔϓϥάΠϯΛࢦఆ͢Δ [TIEFGFSΛ͏͜ͱͰ ϓϥάΠϯͷΠϯετʔϧΛ ඇಉظʹ͢Δ͜ͱ͕Ͱ͖Δ
4IFMEPOTPVSDFͷΩϟογϡ CFGPSF BGUFS ɾ[TIʹಡΈࠐ·ͤΔεΫϦϓτQMVHJOTUPNM͕มߋ͞Εͳ͍ݶΓมΘΒͳ͍ ɾTPVSDF݁ՌΛΩϟογϡ͠ɺมߋ͕ͳ͍߹ͦΕΛݟΔΑ͏ʹ
Θʔ͍ʂ ີ͔ʹ[TIΛDPNQJMFͭͭ͠ʜ
[TISD៉ྷʹʂ ɾϓϥάΠϯʹMPDBMΛࢦఆ͢Δ͜ͱͰ ɾ[TIϑΝΠϧΛ៉ྷʹཧͰ͖Δ
σΟϨΫτϦɾϒϥϯνҠಈΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2ҎԼΛͲͷΑ͏ʹҠಈ͍ͯ͠·͔͢ʁ ɾ࠷ۙҠಈͨ͠σΟϨΫτϦ ɾύε͕͏Ζ֮͑ͳσΟϨΫτϦ ɾ໊લ͕͏Ζ֮͑ͳϒϥϯν ɾ(JUͷSPPUσΟϨΫτϦ ɾ֊Ҏ্ͷσΟϨΫτϦ ݕࡧ͢Δʁ MT HJUCSBODIcHSFQYYY લΕΔ͚ͲͦΕҎ্ʁ
DE ͭͣͭͬͯ֬ೝʁ DE
"πʔϧͱBMJBTͰղܾ͠Α͏ ɾ࠷ۙҠಈͨ͠σΟϨΫτϦ ɾύε͕͏Ζ֮͑ͳσΟϨΫτϦ ɾ໊લ͕͏Ζ֮͑ͳϒϥϯν ɾ(JUͷSPPUσΟϨΫτϦ ɾ֊Ҏ্ͷσΟϨΫτϦ G[G [ BMJBTΰϦԡ͠
;ۙډͨσΟϨΫτϦʹߦ͖͍ͨ࣌ ࠷ۙډͨσΟϨΫτϦʹᐆດݕࡧͰϫʔϓͰ͖Δ DGIUUQTHJUIVCDPNSVQB[
G[G෦ҰகͰҠಈ͢Δ ҾΛϑΝδʔϑΝΠϯυ݁͠ՌΛग़ྗ͢Δ ϑΝδʔDE ϑΝδʔTXJUDI DGIUUQTHJUIVCDPNKVOFHVOOG[G
ͦͷଞ͓͢͢ΊBMJBT ֊/্Γ (JUSPPUʹҠಈ
σεΫτοϓΞϓϦΓସ͑Λരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
2ΞϓϦΛҠಈ͍ͨ࣌͠Ͳ͏͍ͯ͠·͔͢ʁ ຊࢦͰ͠Ύ্ͬͯʹͬͯΓସ͑ͯ·ͤΜ͔ʁ DNE UBCͰબͰ͖Δ͚Ͳ
"ΞϓϦΩʔϘʔυ͔Βݺͼग़ͦ͏ 3BZDBTUͷΑ͏ͳϥϯνϟʔπʔϧΛ͑ ίϚϯυͰΞϓϦΛىಈͰ͖Δ XJOEPXͷΈͷ։ൃ͕Δ👏
3BZDBTUͷઃఆ ɾPQUJPOͱͷΈ߹ΘͤͰίϚϯυઃఆ ɾओཁΞϓϦͷىಈͱαΠζௐ͚ͩઃఆ ɹXJOEPXͰશͯಉ͡αΠζͰॏͶΔ࣌ʹ༻ DGIUUQTSBZDBTUDPN
ϒϥζΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
WJNJVNτϥοΫύοτΛ৮Βͣʹϒϥζ͢Δ ɾWJNૢ࡞ΛϒϥβͰͰ͖ΔΑ͏ʹͨ͠$ISPNF֦ு ɾτϥοΫύοτΛ৮Δ͕࣌ؒݮΓ࡞ۀޮ্͕͕Δ
WJNJVNجຊૢ࡞ K্ LԼ Mӈ Iࠨ V্εΫϩʔϧ EԼεΫϩʔϧ GϦϯΧ࡞
ԶͷOFPWJN ίʔσΟϯάΛരʹ͢Δ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
7JNͰ(P։ൃͬͯͲ͏ͳͷʁ ɾ݁ߏ͍͚Δʂ ɾิͰΔ ɾߏମ[FSPGJMM͋Δ ɾఆٛࢀর͋Δ ɾಛఆؔͷςετͰ͖Δ ɾ׳ΕΔ·Ͱ͕͔͔࣌ؒΓͦ͏😇
/FPWJNࢥ ɾઃఆϑΝΠϧશͯMVBͰཧ͢Δ ɾMB[ZOWJNΛ༻͍ͯϓϥάΠϯΛԆϩʔυ͢Δ ɾૉͷݴޠαʔόʔ HPQMT Λ༻͍Δ
ϓϥάΠϯHPPMPSEBMQIBOWJN ɾىಈը໘ΛΧελϚΠζͰ͖Δ ɾॳԻϛΫ͔Θ͍͍ʂ ɾىಈঢ়ଶ͔ΒͷίϚϯυΛΧελϚΠζ ɾW
ϓϥάΠϯOWJNUFMFTDPQFUFMFTDPQFOWJN ɾG[G֦ுΛWJN্ͰͰ͖Δ ɾϑΝδʔʹWJNରΛબ͠Α͏ʂ BMQIB THJUTUBUVT HHSFQ GGJOEGJMF
ϓϥάΠϯOWJNUSFFOWJNUSFFOWJN ɾWJN্ͰUSFF͕ݟΕΔʂ ɾϑΝΠϧͷ࡞ͳͲͰ͖Δ
ϓϥάΠϯHHBOEPSMFBQOWJN ɾจࣈͷલํҰகͰϫʔϓ͢Δ ɾTMͱଧͬͨը໘ ɾTMFBߦ ɾTMVHߦ ɾTMFTߦ
ϓϥάΠϯΛਫ਼ࠪͨ͠ΓɺΩʔϚοϓΛܾΊΔͷָ͍͠ʂ ɾͬͺΓWJNNFS͔͍͍ͬ͜ʂ ɾࣄಓ۩ΛѪ͢Δ৬ਓײ ɾԿ͔ͷʹதͯ͠Δײ
͓·͚BTEGNJTFɹʹΓ͑·ͨ͠ ɾSVTUόʔδϣϯཧπʔϧ ɾ$-*ૢ࡞͕ײతͳؾ͕͢Δ ɾૣ͍ؾ͕͢Δ ɾίϚϯυΛଧͬͯͳ͚ΕࣗಈJOTUBMMͯ͘͠ΕΔͷ͕ݸਓతʹਆ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ
ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ
·ͱΊϞχλʔͳ͠ڥ࠷Λࢦ͠·ͨ͠ʂʂ ɾTIFMEPOΛಋೖɺ[TIͷىಈ࣌ؒΛNTNTʹ ɾG[G [ΛಋೖɺσΟϨΫτϦ ϒϥϯνҠಈΛരʹ ɾSBZDBTUΛಋೖɺΩʔೖྗͰΞϓϦΓସ͑Ͱ͖ΔΑ͏ʹ ɾWJNJVNΛಋೖɺΩʔೖྗͰϒϥζͰ͖ΔΑ͏ʹ ɾOFPWJNΛಋೖɺλʔϛφϧͰ։ൃ͕݁͢ΔΑ͏ʹ ɾNJTFΛಋೖɺݴޠόʔδϣϯཧΛָʹ