タグ

Golangとpluginに関するy_yukiのブックマーク (2)

  • Go言語で実装するプラグイン機構

    ソフトウェアに拡張性を持たせる時にプラグイン機構を持たせる事は一般的ですが、それを実現する方法は結構バラバラなのかなと思います。例えば、 C 言語等の.so/.dll を読み込む方法 Nodejs のような言語での単なる import TCP や Unix ソケットを利用して RPC 通信を行う方法 などが有るのかなと思います。1 番目・2 番目は、関数の呼び出し速度等のオーバーヘッドが少なく高速ですが、言語等の制約が大きくなる・メモリを共有することによるセキュリティリスクが発生します。そこで、提供するインターフェースを制約出来る場合は、3 番目の手法が多く使われるようです。 Go 言語で開発されている、hashicorp/terraform cloudfoundry/cli は共に 3 番目の RPC 通信でプラグイン機構を実装しています。その中でも terraform で使用されている

    Go言語で実装するプラグイン機構
  • Go で Vim プラグインを書く - haya14busa

    この記事は Vim アドベントカレンダー 2016 の21日目の記事です. 最近は Go 言語が大好きすぎて,Vim plugin も Go で書きたい!!! という欲が出てきたので, Vim plugin を Go で書く方法について紹介します. GoVim plugin を書くとは? 一口に GoVim plugin を書くといっても Go で書いたバイナリがメインで Vim script の autoload 関数などから呼ぶ.例: https://github.com/mattn/vim-filewatcher Go 側からも Vim script を呼ぶ,つまり Vim script で Vim の情報を取得するところなど含めて,ほぼ全部 Go で書く. という 2 段階があると思います.記事では2の方法も含めて紹介しますがまずは1から行きましょう. 1. Go

    Go で Vim プラグインを書く - haya14busa
  • 1