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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.5k
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
87k
関数型プログラミングと型システムのメンタルモデル
naoya
64
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Programming
See All in Programming
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
720
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
APNsからLive Activityを開始する話
yumnumm
0
150
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
JRuby: Past, Present, and Future
headius
0
220
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Simple Storage Service(S3) is not simple
iwatsukayura
0
220
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
400
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
120
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
630
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
160
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
516
110k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Code Reviewing Like a Champion
maltzj
529
40k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
The Curse of the Amulet
leimatthew05
3
15k
Claude Code のすすめ
schroneko
67
230k
Crafting Experiences
bethany
1
370
How to make the Groovebox
asonas
2
2.5k
30 Presentation Tips
portentint
PRO
1
420
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Being A Developer After 40
akosma
92
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
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