2019-01-01から1年間の記事一覧

goplsでworkspace/symbolが使いたい

現状の最新版(gopls/v0.2.2-pre2)では未実装。 daisuzu.hatenablog.com を書いていたら欲しくなったので第1回 ゴリラ合宿で実装したのがコチラ。 github.com symbolの探索はServerのsessionのViews()から Snapshotを取ってきて、 KnownPackages()のCompiledG…

VimのtagfuncでLSPを使う

vim

この記事はVim Advent Calendar 2019の6日目の記事です。 今年の4月にv8.1.1228でtagfuncという機能が追加されました。 こちらは:tagや:tselectなどのタグ系コマンド*1を実行した時、tagsファイルを検索する代わりに呼ばれる関数を設定するためのオプション…

VimConf 2019に行ってきた

vim

今年もVimConf 2019に行ってきました。 今回はテーマが “how to be more productive with Vim?” ということもあったのか、比較的Vim暦が浅い人の登壇が多かったような気もしますが、その割には発表内容が素晴らしいものばかりだったので、やっぱりVimを使う…

Cloud Datastore用キャッシュパッケージの検討

現在App Engine(Standard Environment) + Go1.11環境*1でgoonというパッケージを利用し、Datastoreのデータをキャッシュしています。 goonはバックエンドとしてApp Engineのmemcache*2を使用しており、こちらがGo1.12から使えなくなってしまうので他のパッケ…

Stackdriverの設定をterraformで管理する

今までアラートポリシーやカスタム指標などのStackdriverの設定をyamlやテキストで保存し、自作ツールで適用するようにしていましたが、自作ツールのメンテナンスが面倒になってきたのでterraformに移行することにしました。 移行にあたって、既存の設定ファ…

Datastore Emulatorのエンドポイント

GCP

Cloud Datastore エミュレータは起動した後、gcloudコマンドではなくREST APIを使って操作するらしい。 が、そのあたりの情報が全然まとまっていなかったので本体の中をチラ見して必要そうなところを調べてみた。 cloud-datastore-emulator 2.1.0 Method Pat…

素のVimでGoを書く時のテクニック

gorillavim.connpass.com にて、 外部ネットワークに繋がらない環境でvimとgoしか使えない という縛りでライブコーディングをしてきました。 実際にそういう環境があるのか?という話はさておき、そのような状況でも以下を駆使してそこそこコードが書けます。…

App Engineのgo111用ディレクトリ構成

App Engine Standard EnvironmentでGo1.9を使う時は以下のように、リポジトリのルートをGOPATHとして設定し、appcfg.pyを使ってデプロイをしていました。 . ├── app.yaml └── src └── app ├── glide.lock ├── glide.yaml ├── app.go ├── handler ├── ... └──…

MojaveでGDB 8.3を使う

1. インストール brew install gdb --HEAD 2019/04/13時点でインストールされるバージョンは8.3.50。 2019/05/14以降は--HEAD不要。 echo "set startup-with-shell off" >> ~/.gdbinit を実行するようにと表示されるが、ファイルの場所は$HOME/.config/gdb/i…

goonのクエリをチューニングした時のメモ

App Engine(Go 1.9)でDatastoreからデータを取得するのにgoonのGoon.Runを使っていたが、プロパティを追加する改修*1をした後、 latencyが遅くなり、DatastoreでDeadline exceededが頻繁に発生するようになってしまった。 とりあえず該当するリクエストをSta…

第1回 ゴリラ.vimが開催されました

vim

2/18(月)にゴリラ.vim #1が開催され、スタッフ兼発表者として参加してきました。 gorillavim.connpass.com スタッフになったのはvim-jpのslackでゴリラさんこと@gorilla0513さんがVimの勉強会をやろうとしているのを見かけ、これは前々から思っていた渋谷でV…

Vimの折畳に対応したtreeコマンド

golang.tokyo #21のDevQuizはGoでtreeコマンドを作成するというものでした。 treeコマンドといえば、以前Vimでファイル一覧をツリー表示するためのtree.vimというプラグインを作る時に使いました。 github.com このプラグインはディレクトリにマーカーをつけ…