プログラミング– category –
-
シェルスクリプト
Webブラウザでシェルにアクセスする Shell In A Box のセットアップ備忘録
目的と再現環境 Webブラウザを経由してサーバーまたはローカルマシンにセキュアにアクセスできるターミナル環境を構築することは、リモートワークフローや簡易的なサーバー管理において利便性が高い。本記事は、WebベースのSSHクライアントである Shell In A Box (SIA) をmacOS上にセルフホストし、LAN内の他のPCからアクセス可能にするまで... -
シェルスクリプト
bashでターミナル間の履歴を共有する方法
bash の履歴は通常、各ターミナルが独立して管理しており、複数のウィンドウを開いて作業していると、過去に実行したコマンドが別のターミナルに反映されず不便である。この問題は、bash が履歴ファイル(一般に ~/.bash_history)を読み書きするタイミングが限られていることに起因する。 デフォルトでは、ターミナル終了時に履歴が書き込ま... -
RDB
データ独立性の理解と実例:論理的・物理的独立性を中心に
データベース設計において「データ独立性」とは、データの構造や格納方法を変更しても上位層に影響を与えずに済むようにする考え方である。これにより、システムを柔軟に保ち、保守や拡張を容易にすることができる。データ独立性は「論理的データ独立性」と「物理的データ独立性」の二つに分けられる。 データベースの三層構造モデルでは、外... -
プログラミング全般
SSH鍵方式の変遷とEd25519への移行メモ
長年SSH鍵を生成する際には ssh-keygen -t rsa が定番であった。しかし近年、セキュリティ界隈では「Ed25519」方式が推奨されるようになっている。本記事ではRSAからEd25519への変遷を整理し、その背景と注意点を備忘録としてまとめる。 RSAの現状と課題 RSAは公開鍵暗号の古典的方式であり、長年にわたって安定して使われてきた。現在でも20... -
Python
WSLでpyenvをインストールする方法(推奨構成)
pyenvは複数のPythonバージョンを共存・切り替え可能にするバージョン管理ツールである。WSL上でPython開発環境を整える際、システム標準のPythonを汚さずに複数環境を扱える点で有用である。ここでは、WSL2 + Ubuntu環境を前提とした最適な手順を解説する。 環境前提 項目内容OSWindows 10 / 11WSL バージョン2Linux ディストリビューション... -
Go
Linux/WSLでghqをインストールする方法
ghqは、リポジトリを一元的に管理するためのCLIツールである。GitHubやGitLabのリポジトリを一貫したパスで管理し、開発環境を整理するのに非常に有効である。WSL上ではLinux環境として動作するため、Go製のツールであるghqを直接ビルド・配置するのが最も適している。 前提条件 項目内容OSWindows 10 / 11WSL バージョン2Linux ディストリビ... -
Go
Linux/WSLでGo言語をインストールする方法
Windows Subsystem for Linux(WSL)は、Windows上でLinux環境を軽量に動作させる仕組みである。Go言語を利用する際も、Windowsネイティブ版よりもWSL環境にインストールすることで、Linux開発環境と同等の挙動が得られるため推奨される。本記事では、WSL上でGoをインストールする推奨手順を整理する。 環境の前提 本記事の手順は、次の環境... -
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)」という概念を...