プログラミング– category –
-
Emacs
第3回 Python補完の実践 ― Emacsに頭脳を宿す
ここまでで、LSPとは何か、そしてEmacsがそれをどう扱うかを理解した。 最終回では、実際にPython補完を動かすための構築手順を示す。目的は単純だ。「なんとなく動いた」ではなく、「なぜそうなるか」を理解したうえで、確信をもって環境を作ることである。Emacsは設定が複雑なようでいて、理屈が分かれば極めて論理的な道具である。 Python... -
Emacs
第2回 EmacsがLSPを話す ― クライアントの世界
前回、LSP(Language Server Protocol)とは何かを整理した。 今回は、EmacsがそのLSPをどう扱うかを掘り下げる。EmacsはLSPを直接理解しているわけではなく、クライアントとしてLSPサーバと通信する層を持っている。その中核となるのが lsp-mode と eglot という二つの実装である。両者は同じLSPをしゃべるが、思想と構造が根本的に異なる。... -
Emacs
第1回 EmacsでPython補完を考える前に ― LSPとは何か
EmacsでPythonを書くとき、最初にぶつかる壁が「補完」である。関数名や変数名を自動で提示してくれる機能だが、Emacsにおける補完の仕組みは複雑である。単に候補を出すだけではなく、背後に構文解析や通信プロトコルが存在する。本稿では、設定やプラグインの話をする前に、その背後にある「LSP(Language Server Protocol)」という概念を... -
WordPress
WordPressで特定記事の最終更新日を表示するショートコードを作る
WordPressで「特定の記事の最終更新日」をトップページや固定ページに表示したい場面は多い。しかしテンプレートファイルを直接編集するのは手間がかかるうえ、テーマアップデートで上書きされる危険もある。この問題は、ショートコードを自作してfunctions.phpに登録することで簡潔に解決できる。 環境と前提 本稿の内容はWordPress 6.x系を... -
シェルスクリプト
ARPを使ってネットワーク内の特定機器のIPアドレスを効率的に見つける方法
ネットワーク管理において、特定の機器のIPアドレスを素早く特定する必要がある場面は多い。特にMACアドレスは分かっているが、DHCPによって動的にIPアドレスが割り当てられている環境では、従来のIPアドレス総当たり方式では非効率である。このような状況でARP(Address Resolution Protocol)テーブルを活用することで、効率的に目的の機器... -
Git
ghqで高速リポジトリ移動を実現する最小設定
ghqを使ってGitリポジトリを管理している際、複数のリポジトリ間を素早く移動したい場面は日常的に発生する。複雑な設定や多機能なツールの組み合わせではなく、最小限の設定で最大の効果を得る方法を紹介する。 前提環境 ghqがインストールされていること fzfがインストールされていること Bash または Zsh を使用していること fzfのインス... -
シェルスクリプト
macOSでtacコマンドを使えるようにする設定方法
pecoなどのCLIツールを使用する際に、Linuxでは標準的なtacコマンドがmacOSでは利用できずエラーが発生することがある。この記事では、macOSでtacコマンドを使えるようにするための設定手順を記録する。 検証環境 macOS Homebrew導入済み bash または zsh tacコマンドとは tacコマンドは、ファイルの内容を行単位で逆順に出力するLinuxの標準... -
Git
ghqでLAN内のプライベートGiteaサーバーのリポジトリを/etc/hostsで定義したドメインで管理する設定方法
プライベートGiteaサーバーとghqを連携させることで、自宅のリポジトリ管理を効率化できる。この記事では、ローカルネットワーク上のGiteaサーバーをghqで管理するための設定手順を記録する。 検証環境 macOS(ghq導入済み) Giteaサーバー:192.168.0.100(HTTPSなし、SSH接続可能) 対象リポジトリ:[email protected]:org/repository.git... -
シェルスクリプト
macOSでBash起動時のロケール警告を解決する方法
macOSでシェルをfishからbashに変更した際、ターミナル起動時に以下のような警告が表示されることがある。 -bash: 警告: setlocale: LC_COLLATE: cannot change locale (): No such file or directory この警告は機能上の問題を引き起こすわけではないが、毎回表示されるため作業の邪魔になる。本記事では、この警告を解消する対症療法的な解... -
Git
Giteaへの既存コードpushでrejectedエラーを解決する方法
既存のローカルプロジェクトをGiteaサーバーにpushしようとした際、「Updates were rejected because the remote contains work that you do not have locally」エラーが発生した。このエラーの原因と解決方法について記録する。 再現環境 ローカル環境:macOS Git:既存のローカルリポジトリ(masterブランチ) リモート:Giteaサーバー(プ...