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
430
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
230
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
0
200
検索基盤移行時の思考
po3rin
0
4.1k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
4.6k
Elasticsearchを負荷から守るesguard
po3rin
0
200
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
690
eskeeperを使ったファイル定義によるindex管理
po3rin
2
380
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
58
Handling Temporal Query for Health Search with ja-timex
po3rin
3
230
Other Decks in Programming
See All in Programming
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
990
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2k
シェルの履歴とイクンリメンタル検索を使う
naoya
7
2.4k
ログラスの継続的なプロンプト改善のためのLLMOpsの今 / LLMOps at loglass now
rkaga
PRO
1
330
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
memory1994
PRO
1
460
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
840
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
1
480
Next.js で SPA を構築する際の辛み
hayatow
0
220
iOS / Android ネイティブ 実装アプリの Flutter 化事例
mthiroshi
0
650
RISC-V カスタムのためのツールチェーン拡張 ― GNU Binutils と GCC の拡張・コミュニティへの参加編 (未完成版)
a4lg
0
190
TDDと今まで
kanayannet
0
110
PHPアプリケーションのスケーラビリティと 信頼性を革新する nginx+ngx_mrubyとGoの融合
pyama86
2
220
Featured
See All Featured
Building Applications with DynamoDB
mza
88
5.5k
Producing Creativity
orderedlist
PRO
335
39k
A Tale of Four Properties
chriscoyier
150
22k
The Language of Interfaces
destraynor
150
22k
Six Lessons from altMBA
skipperchong
19
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
4
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
Bash Introduction
62gerente
604
210k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.6k
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