前回 tennashi.hatenablog.com 先週はやる気が消失したためお休みした。 前回のまとめ ひたすらに (*Session).NewView() からの呼び出しを追っていった。 今回は残った (*snapshot).load() メソッドの処理を読む。 が、全て詳細に読むと長くなりすぎてしまう…
前回 tennashi.hatenablog.com 引き続き、gopls の cache 実装を読む。 前回のまとめ View 実装のフィールドとその生成タイミングを見ることで、ディレクトリ単位で何かしらの cache をしていることが分かった。 View の初期化処理をもう少し詳しく追ってい…
前回 tennashi.hatenablog.com 引き続き、gopls の cache 実装を読む。 前回のまとめ gopls で採用されている cache は 3 層で前回読んだのは Cache/Session の 2 層だ。 Cache 素朴な OS ファイルシステム上のファイルの cache cache 自体の実体は source.F…
最近 GraphQL の素振りのため、シンプルな Web アプリケーションを作ることを考えていた。 で、どうせなら最低限の機能はシングルバイナリ + いくつかのファイルを用意するだけで動作させようと思い、以下のような構成だけなんとなく考えた。 フロントアプリ…
Redis を起動すると次のようなログが出力されることがある。 1:M 31 Aug 2020 12:36:07.554 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sy…
前回 tennashi.hatenablog.com 今回から少し gopls の cache 機構を集中して読んでいく。 というのも結局 LSP サーバの実装の肝は クライアントから受け取った TextDocument の中身をいつパースするか どのようにパースするか どのように保持するか どうやっ…
前回 tennashi.hatenablog.com 仕様: Language Server Protocol Specification - 3.15 訳したやつ: tennashi/lsp_spec_ja 引き続き、Text Document Synchronization 周りの仕様について書いていく。 textDocument/didOpen 通知 <- done textDocument/didChan…
前回 tennashi.hatenablog.com 仕様: Language Server Protocol Specification - 3.15 訳したやつ: tennashi/lsp_spec_ja 引き続き、Text Document Synchronization 周りの仕様について書いていく。 textDocument/didOpen 通知 <- done textDocument/didChan…
前回 tennashi.hatenablog.com 週刊 LSP 第三号 前回 gopls で見つけた Issue は無事 merge された 仕様: Language Server Protocol Specification - 3.15 訳したやつ: tennashi/lsp_spec_ja 引き続き、Text Document Synchronization 周りの仕様について書…
tennashi.hatenablog.com 週刊 LSP 第二号。 Language Server Protocol に従ったサーバを実装するためのメモ 仕様: Language Server Protocol Specification - 3.15 訳したやつ: tennashi/lsp_spec_ja 前回に引き続き、Text Document Synchronization 周りの…
Language Server Protocol に従ったサーバを実装するためのメモ 仕様: Language Server Protocol Specification - 3.15 訳したやつ: tennashi/lsp_spec_ja まずは Text Document Synchronization の実装から調査する。 Text Document Synchronization とは T…
ずっと電源すら入れてなかった Core i7 第4世代の PC、最近家で作業してるし置いとくのももったいなかったので k8s で遊ぶ用に整備した ESXi 7.0 をインストールして、その上の仮想マシンで 1 master + 2 worker 構成で k8s を立てた この構成の作成手順は無…
最近以下のテキストを読みながら C コンパイラを書いています www.sigbus.info 書いてるうちにふと疑問がわいてきました 9cc はアセンブリを出力しているけども実際の実行ファイルにするために gcc 挟んでいるし、アセンブリを ELF 形式の実行ファイルにする…
この記事は Vim Advent Calendar 2019 23 日目の記事です qiita.com 最近メールを vim で読むためのプラグインを書いています(道半ば) 機能としては メールフォルダの一覧 フォルダの中のメール一覧 メール本文の表示 があるのですが、これらを vim 上で表示…
この記事は Go3 Advent Calendar 2019 13日目の記事です qiita.com TL;DR x/sync/errgroup はいいぞ 本編 最近よく書くサーバの起動部分のコードを紹介します 分かる人には見るのが一番早いと思うので、早速コード全体を載せます やりたいことは localhost:8…
この記事は dotfiles Advent Calendar 2019 2日目の記事です qiita.com みなさん、電子メールと呼ばれるものをご存知でしょうか 現代を生きておられる皆様におかれましては想像もつかないでしょうが、太古の昔平成という時代では、人間同士のコミュニケーシ…
してきた 資料 kichijojipm_20.md · GitHub 吉祥寺.pm kichijojipm.connpass.com .pm と言いつつ任意の話題が提供される楽しい会 もちろん Perl の話題もある 句会: poem meeting でもあるという説がある[要出典] LT した経緯 kichijojipm.connpass.com 前回…
VimConf 2019 vimconf.org VimConf は、世界初かつ世界で唯一のコミュニティによって定期運営されているVimの国際カンファレンスです。 Vim の国際カンファレンス 何を言っているかさっぱりわかんねーと思うが(ry 開催は 11/03 今日は 11/23、20日ごしの感想…
golang.tokyo #25 に参加してきました 補欠だったんですが、ブログ枠が空いてたので急遽そっちで参加することに でいい機会なのでブログをはじめてみることにしました というわけで本題 今改めて読みなおしたい Go 基礎情報 その1 docs.google.com 概要 Go …