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
600
zsh*単一デスクトップ環境最速を目指して
zshの起動時間を300ms->20msにしたり、vimに入門したりしました。
karamaru
April 13, 2024
Tweet
Share
More Decks by karamaru
See All by karamaru
コード生成なしでモック処理を実現! ovenchkin-dm/mockio,go-dynoで学ぶメタプログラミング
karamaru
6
2.6k
モックライブラリアプローチ比較
karamaru
3
1k
自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜
karamaru
3
670
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
3
1.5k
ぼくのかんがえたさいきょうのもっくらいぶらり! @ GoConnect#1
karamaru
0
170
詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話 @ GoConference2024
karamaru
0
100
対isuconメトリクスツール isumaru作った
karamaru
0
150
自作言語をrustでwasmにコンパイルする
karamaru
0
170
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Balancing Empowerment & Direction
lara
4
680
Building an army of robots
kneath
306
46k
It's Worth the Effort
3n
187
28k
Writing Fast Ruby
sferik
629
62k
Agile that works and the tools we love
rasmusluckow
331
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Site-Speed That Sticks
csswizardry
11
890
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
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ΛಋೖɺݴޠόʔδϣϯཧΛָʹ