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
Making a Vim Plugin is not afraid
Search
po3rin
December 17, 2019
Programming
2
460
Making a Vim Plugin is not afraid
po3rin
December 17, 2019
Tweet
Share
More Decks by po3rin
See All by po3rin
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
410
麻雀点数計算問題生成タスクから学ぶ Single Agentの限界と Agentic Workflowの底力
po3rin
5
2.3k
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
1.1k
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
4
2.5k
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
390
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
360
検索基盤移行時の思考
po3rin
0
4.3k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
6.2k
Elasticsearchを負荷から守るesguard
po3rin
0
310
Other Decks in Programming
See All in Programming
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
730
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
Devoxx BE - Local Development in the AI Era
kdubois
0
130
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
What's new in Spring Modulith?
olivergierke
1
160
チームの境界をブチ抜いていけ
tokai235
0
210
SODA - FACT BOOK(JP)
sodainc
1
8.6k
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.3k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
450
AkarengaLT vol.38
hashimoto_kei
1
110
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Facilitating Awesome Meetings
lara
56
6.6k
RailsConf 2023
tenderlove
30
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Thoughts on Productivity
jonyablonski
70
4.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
Making a Vim Plugin is not afraid Gorilla Vim #11
Dec 17, 2019 @ po3rin
pon ( @po3rin ) Software Engineer ( Go / Python
/ Rust ) in Tokyo. Interested in NLP & Image Processing . Graduated Nagoya Univ (Physics).
Introduction \
Έͳ͞ΜΞυϕϯτΧϨϯμʔࢀՃ͠·͔͢ʁ
3&"%.&NEॻ͖·͔͢ʁ
ͨͪͷੜ׆͔ΒͬͯΓͤͳ͍.BSLEPXOɻɻ
(PʹHPGNUͱ͍͏ίʔυΛϑΥʔϚοτͯ͘͠ΕΔศ རͳػೳ͕ඪ४ͰඋΘ͍ͬͯ·͢ɻ
͔͠͠.BSLEPXOզΒ͕૬ͷHPGNU͕ޮ͔ͳ͍ʂʂ Թ͔Έͷ͋ΔखಈHPGNU
ͦ͜Ͱ.BSLEPXOͷ(PͷίʔυΛݕͯ͠ HPGNUΛ͔͚ΔπʔϧHPGNUNEΛ࡞ͬͨ
͜ΕͰϒϩάલͷԼॻ͖ɺ3&"%.&NEͷखಈHPGNU ΛຣফͰ͖Δʂʂ
HPGNUNE$-*πʔϧ͚ͩͲɺ7JN1MVHJO൛ ࡞ͬͯอଘ࣌ʹ࣮ߦͰ͖ΔΑ͏ʹ͍ͨ͠ʂͱࢥ ͍ɺ7JNTDSJQUࣝθϩ͔ΒͰ7JN1MVHJO Λ࡞ͬͨɻ
Gofmt \
.BSLEPXOΛύʔε .BSLEPXOͷϊʔυΛτϥόʔε (PͷίʔυΛݕ HPGNUΛ͔͚ΔؔΛDBMM .BSLEPXOͷίʔυΛॻ͖͑ \
͠(PʹΑΔ࣮ΛΓ ͍ͨํͪ͜ΒͷهࣄΛ ಡΜͰ͍ͩ͘͞ IUUQTRJJUBDPNQPSJOJUFNTCBGEBB
7JN1MVHJO͔ΒHPGNUNEίϚϯυΛ࣮ߦ͍ͯ͠Δ
Gofmt \
ͱΓ͋͑ͣ7JN1MVHJO ͷϋϩʔϫʔϧυΛ͢Δ ͜ͱ͕ॏཁʂ࠷ॳʹΔ ͖7JN1MVHJOͷ࡞๏͔ ΒσΟϨΫτϦߏ·Ͱ આ໌͕͋Δ https://qiita.com/bonjin6770@github/items/31e60707ecf2ad6c4496
࣮)FMMP8PSMEͨ͠ޙԿ࡞Δͷ
Ὂطଘ$-*Λ7JN1MVHJOԽ͕ॳ৺ऀʹΦεεϝ ɾ͍͠ࣄͤͣʹ7JN͔Β$-*ΛDBMM͢Δ͚ͩ ɾͦͷׂʹࠓޙͷ7JN1MVHJO։ൃͰجૅʹͳΔ͜ͱֶ͕Δ
Addbance \
Ὂ͍͔ͭ͘τϐοΫΛհ͠·͢ ɾ7JN4DSJQUҙ֎ʹͳΜͰͰ͖Δ ɾΦϓγϣϯͷΓग़͠ ɾ/FP7JNରԠ ɾ$*ςετ
͕ࣗࢥ͍ͬͯͨҎ্ʹ7JN4DSJQU͕ଟ࠼ͳؔΛఏڙ͍ͯͨ͠ɻ ྫ͑.BSLEPXO͔Ͳ͏͔ɺࠓ͔Β࣮ߦ͢ΔίϚϯυ͕࣮ߦͰ͖Δ͔Ͳ͏͔ ΛνΣοΫ͍ͯ͠Δɻ
"TTFSUJPOܥͷؔ·Ͱ৭ʑ͋ΔɻͷͰςεταΫοͱ͔͚Δɻ ԼهϑΝΠϧͷத͕Ұக͢Δ͔ͷςετ
อଘ࣌ͷࣗಈ࣮ߦڧྗͳͷͰΦϓγϣϯͱͯ͠Γग़͢ɻ ͪ͜Βͷํ͕7JN1MVHJOͬΆ͘ͳΔ
7JNͰ͑ΔؔͰ /FP7JNʹͳ͔ͬͨΓ͢ ΔɻͦͷͨΊӈͷΑ͏ʹର Ԡͨ͠ɻ/FP7JNޓͷ͋Δ ؔϥΠϒϥϦ͋ΔΈͨ ͍͚ͩͲɺΧॴ͚ͩͩͬ ͨͷͰͪ͜ΒͰରԠͨ͠ɻ
7JN/FP7JNςετΛΒ ͍ͤͨͷͰɺ͜Μͳײ͡ͰKPC Λ̎ͭఆٛ͢Δͱྑ͍ ϩʔΧϧͷςετDJSDMFDJί ϚϯυͰճ͠Δ ɻ
Conclusion \
7JN4DSJQUͷࣝθϩͷॳ৺ऀͰ7*N1MVHJO͕࡞ΕͨɻͳΜͳΒ 7JN4DSJQU7JN1MVHJOΛ࡞Γͳ͕ΒֶͿͰྑ͍͔ 7JN1MVHJOΛ࡞ͬͨΒΑ͘Θ͔ΒͣίϐϖͰ࡞͍ͬͯͨWJNSDͷҙຯ ͕ཧղͰ͖ΔΑ͏ʹͳͬͨʂ Ͱ͢ΒͰग़དྷͨͷͰ(PSJMMB7JNʹདྷ͍ͯΔਓ͙͢Ͱ͖Δ
Making a Vim Plugin is not afraid Gorilla Vim #11
Dec 17, 2019 @ po3rin