コンテンツにスキップ

AI Session Notes - 2026-03-03

SQLite の基本知識と GUI ツール

学んだこと

  • macOS には sqlite3 コマンドが標準でプリインストールされている
  • SQLite はファイルベースの DB なので、MySQL や PostgreSQL のようにサーバープロセスを起動する必要がない
  • SQLite の CLI ではドットコマンド(.tables, .schema, .quit など)を使う。MySQL 風の show tables; は使えない
  • Sequel Ace は MySQL/MariaDB 専用であり、SQLite には対応していない
  • SQLite を GUI で閲覧するには DB Browser for SQLite(無料)や TablePlus(複数 DB 対応、無料版あり)が使える

詳細

SQLite CLI のよく使うドットコマンド:

.tables          -- テーブル一覧
.schema TABLE    -- テーブル定義
.quit            -- 終了

GUI ツールの Homebrew インストール:

# DB Browser for SQLite
brew install --cask db-browser-for-sqlite

# TablePlus
brew install --cask tableplus

Neovim でファイルの相対パスを取得する方法

学んだこと

  • Neovim 組み込みで相対パスを取得するには :echo @% または expand('%') を使う
  • クリップボードにコピーするには :let @+ = expand('%')clipboard = "unnamedplus" 設定時)
  • nvim-tree にはパスコピーのデフォルトキーマップがある:
  • y → ファイル名をコピー
  • Y → 相対パスをコピー
  • gy → 絶対パスをコピー
  • よく使うなら vim.fn.expand("%") + vim.fn.setreg("+", path) でカスタムキーマップを作ると便利

詳細

カスタムキーマップの例:

vim.keymap.set("n", "<leader>cp", function()
  local path = vim.fn.expand("%")
  vim.fn.setreg("+", path)
  vim.notify(path, vim.log.levels.INFO)
end, { desc = "Copy relative path" })

Neovim で Ruby/Rails 開発環境を整える

学んだこと

  • Ruby で def, if, do, class, module 等の後に自動で end を挿入するには vim-endwise プラグインが便利
  • vim-endwise は Ruby 以外にも Lua, Elixir, Shell (bash/zsh) にも対応している
  • Neovim で .rb ファイルの自動フォーマットを有効にするには Ruby 用の LSP サーバー(solargraph または ruby_lsp)が必要
  • LSP が入っていなければ vim.lsp.buf.format() や保存時の BufWritePre autocmd は動かない
  • Ruby LSP はプロジェクトの RuboCop と自動連携してフォーマットを行う

詳細

vim-endwise の lazy.nvim 設定例:

{
  "tpope/vim-endwise",
  ft = { "ruby", "eruby", "lua", "elixir", "shell", "bash", "zsh" },
},

メタ情報

  • ツール: Claude Code
  • 関連技術: SQLite, Rails, macOS, Neovim, nvim-tree, Ruby, vim-endwise