Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
シェルの履歴とイクンリメンタル検索を使う
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Naoya Ito
February 28, 2024
Programming
6.9k
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
4.6k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.8k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
8.1k
Functional TypeScript
naoya
19
6.9k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
20230227-engineer-type-talk.pdf
naoya
91
88k
関数型プログラミングと型システムのメンタルモデル
naoya
64
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Programming
See All in Programming
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
290
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
150
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
11k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.1k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
240
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.6k
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
110
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
190
Groovy as a human and AI friendly programming language
paulk
0
130
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
270
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
210
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
590
Typedesign – Prime Four
hannesfritz
42
3.2k
Chasing Engaging Ingredients in Design
codingconduct
0
380
Building Flexible Design Systems
yeseniaperezcruz
330
41k
How GitHub (no longer) Works
holman
316
150k
What's in a price? How to price your products and services
michaelherold
247
13k
Skip the Path - Find Your Career Trail
mkilby
1
270
Code Reviewing Like a Champion
maltzj
529
40k
Claude Code のすすめ
schroneko
67
230k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Raft: Consensus for Rubyists
vanstee
143
7.8k
Embracing the Ebb and Flow
colly
88
5.2k
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