Go
前回 tennashi.hatenablog.com 引き続き、gopls の cache 実装を読む。 前回のまとめ gopls で採用されている cache は 3 層で前回読んだのは Cache/Session の 2 層だ。 Cache 素朴な OS ファイルシステム上のファイルの cache cache 自体の実体は source.F…
最近 GraphQL の素振りのため、シンプルな Web アプリケーションを作ることを考えていた。 で、どうせなら最低限の機能はシングルバイナリ + いくつかのファイルを用意するだけで動作させようと思い、以下のような構成だけなんとなく考えた。 フロントアプリ…
前回 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…
最近以下のテキストを読みながら C コンパイラを書いています www.sigbus.info 書いてるうちにふと疑問がわいてきました 9cc はアセンブリを出力しているけども実際の実行ファイルにするために gcc 挟んでいるし、アセンブリを ELF 形式の実行ファイルにする…
この記事は Go3 Advent Calendar 2019 13日目の記事です qiita.com TL;DR x/sync/errgroup はいいぞ 本編 最近よく書くサーバの起動部分のコードを紹介します 分かる人には見るのが一番早いと思うので、早速コード全体を載せます やりたいことは localhost:8…
golang.tokyo #25 に参加してきました 補欠だったんですが、ブログ枠が空いてたので急遽そっちで参加することに でいい機会なのでブログをはじめてみることにしました というわけで本題 今改めて読みなおしたい Go 基礎情報 その1 docs.google.com 概要 Go …