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
シェルの履歴とイクンリメンタル検索を使う
Search
Naoya Ito
February 28, 2024
Programming
6.8k
16
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
シェルの履歴とイクンリメンタル検索を使う
社内のテックトークで LT したスライドです
Naoya Ito
February 28, 2024
More Decks by Naoya Ito
See All by Naoya Ito
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.5k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.9k
Functional TypeScript
naoya
19
6.8k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
20230227-engineer-type-talk.pdf
naoya
91
87k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
37k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Programming
See All in Programming
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
230
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
440
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
240
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.2k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
560
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
270
What's New in Android 2026
veronikapj
0
250
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
140
継続モナドとリアクティブプログラミング
yukikurage
3
680
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
530
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Unsuck your backbone
ammeep
672
58k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
620
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
400
WENDY [Excerpt]
tessaabrams
11
39k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
ཤྺ ΠϯΫϦϝϯλϧݕࡧΛ͓͏
Θͨ͠΄ͱΜͲԿ͍֮͑ͯ·ͤΜ • Ͳ͜ͷσΟϨΫτϦʹԿ͕ೖ͍ͬͯΔ͔ɺ͋·Γ֮͑ͯ·ͤΜ • (JUͷϒϥϯν໊΄ͱΜͲ͍֮͑ͯͳ͍ • ϓϩάϥϛϯάதʹ 'JOEFS ΤΫεϓϩʔϥʔ Λ͏͜ͱ΄ͱΜͲ͋Γ·ͤΜ
• σΟϨΫτϦπϦʔ͔ΒϑΝΠϧΛબͿɺͱ͔Γ·ͤΜ Ͱ 04΄΅ $-*Ͱૢ࡞͠·͢ɻ(JU (6*͍ͬͯ·ͤΜɺίϚϯυͰ͢
ʮཤྺ ΠϯΫϦϝϯλϧݕࡧʯΛ͓͏ • ਓ͕ؒҰʹ͑ΔೝΤωϧΪʔݶΒΕ͍ͯΔ • ίϚϯυΛࢥ͍ग़͢ɺσΟϨΫτϦΛҠಈ͢ΔɺϑΝΠϧΛݟ͚ͭΔͷ୯७࡞ۀʹΤωϧ ΪʔΛফඅ͢Δͷ͍ͬͨͳ͍
σϞ
None
ࢼ͠ʹͬͯΈ·͠ΐ͏ • γΣϧΛىಈ͍ͯͩ͘͠͞ • ·ͣ͘͘͝͝جຊಈ࡞͔Β – 5"#ͰอͰ͖·͢ – $Q
$OͰաڈͷίϚϯυཤྺΛݺͼग़͢͜ͱ͕Ͱ͖·͢ $Suuu$USM S .GuuuϝλΩʔ BMU$NE G
$SͰཤྺݕࡧϞʔυʹ ݕࡧͯ͠୳͢ ฤू࣮ͯ͠ߦ͢Δ
ίϚϯυͷཤྺΛݕࡧ࣮ͯ͠ߦ͢Δ • $SͰίϚϯυཤྺݕࡧϞʔυʹೖΔ • ΠϯΫϦϝϯλϧݕࡧ͢Δ – ྫ HJUͱଧͭ – HJUΛؚΉଞީิ͕Έ͚ͨΕ
$SΛԡ͢ • Έ͚ͭͨީิΛΧʔιϧΛಈ͔ͯ͠ฤू͢Δ – $BͰߦ಄ɺ$FͰߦ – $GͰલʹɺ$CͰޙΖʹ – .GͰ୯ޠ୯ҐͰલʹɺ.CͰ୯ޠ୯ҐͰޙΖ – $EͰΧʔιϧҐஔআɺ$LͰߦ·Ͱআ – ҹΩʔͰૢ࡞Ͱ͖·͕͢ΩʔόΠϯυʹ׳ΕΔͷ͕͓͢͢Ί • ฤूऴ͑ͨΒ &OUFSͰ࣮ߦ ͜ͷ࣮ߦ݁ՌͪΖΜཤྺʹೖΔ
ཤྺ͔ΒࣅͨΑ͏ͳͷΛ୳ͯ͠ɺฤूͯ͠ɺ࣮ߦ͢Δ • ʮίϚϯυ֮͑ΒΕͳ͍ʯʮϝϞͯ͠ޙ͔Βݕࡧ͓͚ͯ͠ΔΑ͏ʹ͍ͯ͠Δʯ • OBPZBʮৄࡉΕͯେৎʯʮཤྺ͔Βݕࡧ͢Ε0,ʯ
HDMPVEίϚϯυͱ͔ͯ͘·֮ͬͨ͑͘ΒΜͳ͍ Ͱେৎ ݕࡧͯ͠ ݟ͚ͭͯɺฤू࣮ͯ͠ߦ
ͳΜͰཤྺΛݕࡧ͢Δͷ͕ྑ͍ΜͰ͠ΐ͏ • ϙέοτҰͭݪଇ ʮʯཧ๏ – ʮతͷͷͦ͜Λ୳ͤɺඞͣݟ͔ͭΔɻݟ͔ͭΒͳ͍ͱ͍͏͜ͱɺͳ͍ʯ – ߋ৽ॱʹιʔτ͕ྑ͍ uuu Α͘͏ͷ͕࠷ॳʹग़ͯ͘Δ
• ྨͨ͠ͱ͜ΖͰͲ͜ʹԿΛೖΕ͔ͨΛࢥ͍ग़ͤͳ͍ • ྨͤͣɺҰ൪࠷ۙͬͨॱʹฒΜͰΔͷ͔Βݕࡧ͢Δ uuu ࠶ݱ
͜͏͍͏ͷ͋Γ·͢
πʔϧΛબ͢Δ • γΣϧ – ॳظઃఆͰྑ͍ײ͡ʹͳͬͯΔͷ͕Α͍ uuu 'JTI – ;TI •
[TI͚ γΣϧͷઃఆΛྑ͍ײ͡ʹ͍ͨ͠ – ཤྺͷઃఆͱ͔͍Ζ͍Ζ͋ͬͯ໘ɻ͍͍ͪͪઃఆͯ͠ΒΜͳ͍ – PINZ[TIͱ͔ QSF[UPͱ͔͏
ཤྺͷݕࡧΛ͍͘͢͢Δ σϞͨͭ͠ • G[G – IUUQTHJUIVCDPNKVOFHVOOG[G – (PͰॻ͔Ε͍ͯΔ – ઃఆͷํ
(PPHMFͰௐͨΒग़ͯ͘Δ – ࠷ۙ 3VTUͰॻ͔Εͨ TLJNͱ͔͍͏ͷ͋Δ
σΟϨΫτϦҠಈΛ͍͘͢͢Δ σϞͨͭ͠ • [PYJEF – IUUQTHJUIVCDPNBKFFUETPV[B[PYJEF – ͜Εʹೖ͍ͬͯΔ [JίϚϯυ͕తͷͷ G[GΛதͰ͍ͬͯΔ
– ࢲ $YCͰىಈ͢ΔΑ͏ʹͯ͠·͢
74$PEFಉ͡Α͏ʹૢ࡞͢Δ [PYJEFಉ༷$YCΛʮ࠷ۙͬͨϑΝΠϧͷݕࡧʯʹׂͯ $YC(/6&NBDT༝དྷͷΩʔόΠϯυ
ΩʔόΠϯυʹ͍ͭͯ • $Q $O $B $F $XͳͲͷΩʔόΠϯυ 6/*9ͷσϑΝΫτ – ͨͿΜ
SFBEMJOFͱ͍͏ϥΠϯΤσΟλͷΩʔόΠϯυʹ༝དྷ – (/6&NBDT͜Εʹ४͍ͯ͡Δ – NBD04ɺશͰͳ͍͕४͍ͯ͡Δ – ͲΜͳΩʔϘʔυͰฤूͰ͖Δલఏ uuu ΧʔιϧΩʔʹґଘͯ͠ͳ͍ • γΣϧɺΤσΟλɺ04ؒͰΩʔόΠϯυΛΓସ͑Δඞཁ͕ͳ͍ – ೝΤωϧΪʔͷઅ – 74$PEF "XFTPNF&NBDTΛೖΕͯɺ౷Ұ͍ͯ͠Δ • WJ෩ʹ͢Δ͜ͱͰ͖Δ ͣ • 8JOEPXT෩ʹ౷Ұ͢Δͷ͓͢͢Ί͠ͳ͍ɻҰ؏ੑ͕ͳ͍
3VTUͰ࡞ΒΕͨंྠͷ࠶ൃ໊తͳπʔϧ • ͜͜Ͱ૿͍͑ͯΔ • ͋͑ͯ࡞Γͯ͠Δ͚ͩ͋ͬͯɺطଘͷπʔϧͷܽΛղফͨ͠ྑ͍ଟ͍ • ϝϯς͕ଓ͔͘Θ͔Βͳ͍ͷͰɺࣗݾͰ • MTˠF[B •
DBUˠCBU • GJOEˠGE • HSFQˠSJHSFQ • G[GˠTLJN • UNVYˠ [FMMJK
ʮϋοΫʯʹ͍ͭͯ ϋοΧʔͷޠݯͱͯ͠ͷIBDLʮੴڮΛୟ͍ͯΔΑ͏ͳݎ࣮ͳࣄͿΓʯͱରۃʹ Ґஔ͍ͯͯ͠ɺػస͕ར͍ͯͪΐͬͱͨ͠ࣄΛಘҙͱ͢ΔਓΛ IBDLFS ͱݺͿ XJLJQFEJBϋοΧʔ ϋοΧʔͷࣄʹ6/*9γΣϧϫϯϥΠφʔͷ૬ੑ͕Α͔ͬͨ
ϋοΧʔʹͳΖ͏ • )PX5P#FDPNF")BDLFS ϋοΧʔʹͳΖ͏ – ຊޠ༁ IUUQTDSVFMPSHGSFFXBSFIBDLFSIUNM • (SFBU)BDLFST ૉΒ͖͠ϋοΧʔ
– ຊޠ༁ IUUQTQSBDUJDBMTDIFNFOFUUSBOTHIKIUNM