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
440
Making a Vim Plugin is not afraid
po3rin
December 17, 2019
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
320
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
310
検索基盤移行時の思考
po3rin
0
4.2k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.8k
Elasticsearchを負荷から守るesguard
po3rin
0
260
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
870
eskeeperを使ったファイル定義によるindex管理
po3rin
2
480
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
100
Handling Temporal Query for Health Search with ja-timex
po3rin
3
330
Other Decks in Programming
See All in Programming
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
Better Code Design in PHP
afilina
0
180
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
260
やっと腹落ち「スプリント毎に動くモノをリリースする」〜ゼロから始めるメガバンクグループのアジャイル実践〜
sasakendayo
0
140
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
Domain-Driven Design (Tutorial)
hschwentner
13
22k
GoとPHPのインターフェイスの違い
shimabox
2
220
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
750
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.9k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
320
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
How STYLIGHT went responsive
nonsquared
99
5.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
GitHub's CSS Performance
jonrohan
1030
460k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Typedesign – Prime Four
hannesfritz
41
2.5k
Practical Orchestrator
shlominoach
186
10k
Building an army of robots
kneath
303
45k
Building Adaptive Systems
keathley
40
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
How to train your dragon (web standard)
notwaldorf
91
5.9k
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