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
330
zsh*単一デスクトップ環境最速を目指して
zshの起動時間を300ms->20msにしたり、vimに入門したりしました。
karamaru
April 13, 2024
Tweet
Share
More Decks by karamaru
See All by karamaru
自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜
karamaru
3
370
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
3
1.2k
ぼくのかんがえたさいきょうのもっくらいぶらり! @ GoConnect#1
karamaru
0
92
詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話 @ GoConference2024
karamaru
0
49
対isuconメトリクスツール isumaru作った
karamaru
0
86
自作言語をrustでwasmにコンパイルする
karamaru
0
69
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Adopting Sorbet at Scale
ufuk
74
9.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
A better future with KSS
kneath
238
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
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ΛಋೖɺݴޠόʔδϣϯཧΛָʹ