2026-05-01から1ヶ月間の記事一覧

Makefileをタスクランナーとして使う:make dev・make test・make lint の書き方

Makefileをタスクランナーとして使う:make dev・make test・make lint の書き方 はじめに MakefileはもともとC言語などのビルドを自動化するツールですが、現在では言語に関係なくタスクランナーとして広く使われています。 make dev # 開発サーバーを起動 …

Zellijチートシート:キーバインドと設定ファイルまとめ

Zellijチートシート:キーバインドと設定ファイルまとめ はじめに Zellijの基本的な使い方は「Zellij入門:インストールからタブ・ペインの使い方まで」を参照してください。 この記事ではキーバインドの全一覧と設定ファイルをまとめます。 モード一覧 モー…

Zellij入門:インストールからタブ・ペインの使い方まで

Zellij入門:インストールからタブ・ペインの使い方まで はじめに ZellijはRust製のターミナルマルチプレクサです。tmuxやscreenと同じ用途で使えますが、以下の点が特徴です。 キーバインドが画面下部に常に表示されるので、コマンドを覚えなくても使い始め…

tmuxチートシート:よく使うキーバインドと設定まとめ

tmuxチートシート:よく使うキーバインドと設定まとめ はじめに tmuxの基本的な使い方は「tmux入門:インストールからセッション・ウィンドウ・ペインの使い方まで」を参照してください。 この記事ではtmuxのキーバインドと設定ファイルをまとめます。 プレ…

tmux入門:インストールからセッション・ウィンドウ・ペインの使い方まで

tmux入門:インストールからセッション・ウィンドウ・ペインの使い方まで はじめに tmuxはターミナルの中で複数の画面を同時に扱えるツールです。「ターミナルマルチプレクサ」と呼ばれます。 1つのターミナルウィンドウを分割して複数のコマンドを並べて実…

RailsでOpenAPIを使ったコントローラー作成入門:Design-firstアプローチでGET・POST・PUT・DELETE対応

RailsでOpenAPIを使ったコントローラー作成入門:Design-firstアプローチでGET・POST・PUT・DELETE対応 はじめに Design-firstアプローチとは、実装の前にAPIの仕様(OpenAPI YAML)を先に定義し、その仕様に合わせてコントローラーを実装する方法です。 フ…

ReactのuseEffect入門:基本から気をつけることまで

ReactのuseEffect入門:基本から気をつけることまで はじめに useEffect はReactコンポーネントで副作用(APIフェッチ・タイマー・イベントリスナーなど)を扱うためのフックです。便利な一方で、使い方を誤ると無限ループやメモリリークが起きやすいため、…

ReactのuseState・useRef・constの違い:再レンダリングと値の保持を理解する

ReactのuseState・useRef・constの違い:再レンダリングと値の保持を理解する はじめに Reactコンポーネントの中で値を扱うとき、useState・useRef・const のどれを使えばいいか迷うことがあります。それぞれ「値の保持」と「再レンダリング」の動きが異なり…

Rails binding.pry実践:コントローラー・モデル・テストでのデバッグ

Rails binding.pry実践:コントローラー・モデル・テストでのデバッグ はじめに binding.pry の基本的な使い方は「Rails binding.pry入門:セットアップと基本コマンドの使い方」で解説しています。 この記事ではコントローラー・モデル・RSpecでの実践的な…

Rails binding.pry入門:セットアップと基本コマンドの使い方

Rails binding.pry入門:セットアップと基本コマンドの使い方 はじめに Railsの開発中にコードが期待通り動かないとき、puts で変数を出力しながらデバッグするのは効率が悪いです。binding.pry を使えば、コードが実行されているその場所で一時停止して、変…

Rust actix-web入門:Hello Worldからルーティングまで

Rust actix-web入門:Hello Worldからルーティングまで はじめに actix-webはRustで最もよく使われるWebフレームワークの1つです。高いパフォーマンスと豊富な機能を持ち、APIサーバーやWebアプリケーションの開発に使われています。 この記事では actix-web…

Pythonのバージョン管理:pyenv・miseの使い方と切り替え方法

Pythonのバージョン管理:pyenv・miseの使い方と切り替え方法 はじめに Pythonを使っていると、こんな場面が出てきます。 プロジェクトAはPython 3.11、プロジェクトBはPython 3.13を使っている チームの誰かの環境だけ動かない 新しいPythonを試したいが、…

Pythonのバージョン確認方法まとめ:コマンドからコード内まで

Pythonのバージョン確認方法まとめ:コマンドからコード内まで はじめに Pythonを使っていると、バージョンを確認したい場面が頻繁にあります。 新しいPCで環境を構築したとき エラーが出てバージョンが原因か調べたいとき スクリプト内でバージョンによって…

Rustでよく使う標準トレイト一覧:Display・Debug・Clone・Iteratorなど

Rustでよく使う標準トレイト一覧:Display・Debug・Clone・Iteratorなど はじめに Rustの標準ライブラリには多くのトレイトが用意されています。コードを書いていると #[derive(Debug)] や impl Display for といった記述を頻繁に見かけます。 この記事では…

Rustのトレイト入門:実装方法を基礎から解説

Rustのトレイト入門:実装方法を基礎から解説 はじめに Rustを学んでいると trait という言葉が頻繁に出てきます。トレイトはRustの型システムの中心的な概念で、「型がどんな操作をサポートするか」を定義する仕組みです。 この記事ではトレイトの基本的な…

Rustの配列(array)初期化まとめ:[T; N]の書き方

Rustの配列(array)初期化まとめ:[T; N]の書き方 はじめに Rustの配列([T; N])はサイズがコンパイル時に決まる固定長のデータ構造です。スタック上に確保されるためVecより軽量ですが、サイズの扱いにRust特有のルールがあります。 この記事では配列の初…

Rails のDB操作コマンド入門:db:create から db:migrate まで

Rails のDB操作コマンド入門:db:create から db:migrate まで はじめに Railsを使い始めると、データベース操作のコマンドが多くて混乱することがあります。 db:migrate と db:schema:load の違いがわからない db:reset と db:migrate:reset は何が違うの?…

JavaScriptの正規表現入門:よく使うパターンと書き方まとめ

JavaScriptの正規表現入門:よく使うパターンと書き方まとめ はじめに 正規表現(Regular Expression)は、文字列のパターンを表現する記法です。JavaScriptでは文字列の検索・置換・バリデーションなど、さまざまな場面で使います。 「難しそう」と敬遠され…

RubyとRailsのバージョン確認方法:gem・bundler・rbenv・miseコマンド一覧

RubyとRailsのバージョン確認方法:gem・bundler・rbenv・miseコマンド一覧 はじめに Rubyプロジェクトを始めるとき、既存のプロジェクトに参加するとき、エラーが起きたとき、まず確認するのがRubyとRailsのバージョンです。 この記事では ruby、rails、gem…

Git LFS入門:大きいファイルをコミットしてしまったときの対処法

Git LFS入門:大きいファイルをコミットしてしまったときの対処法 はじめに Gitでうっかり大きいファイルをコミットしてしまったことはないでしょうか。 remote: error: File assets/video.mp4 is 256.00 MB; this exceeds GitHub's file size limit of 100 …

GitHub認証トークン完全ガイド:PAT取得からGITHUB_TOKEN・GH_TOKENの使い分けまで

GitHub認証トークン完全ガイド:PAT取得からGITHUB_TOKEN・GH_TOKENの使い分けまで はじめに GitHubで自動化やCLIツールを使おうとしたとき、トークンまわりで詰まることがあります。 PATを作ったのにghコマンドで使えない GITHUB_TOKENとGH_TOKENどちらを設…

cspellでコード中の英単語スペルミスをコミット前に自動チェックする

cspellでコード中の英単語スペルミスをコミット前に自動チェックする はじめに コードレビューで「recieve じゃなくて receive では?」と指摘された経験はないでしょうか。変数名や関数名のスペルミスは動作には影響しませんが、可読性を下げ、検索でも引っ…

HuskyとBiomeでコミット前に自動lintを実行する設定方法

HuskyとBiomeでコミット前に自動lintを実行する設定方法 はじめに コードレビューで毎回「lintエラーが残っています」と指摘される、CIで lint が落ちてからプッシュし直す、そんな経験はないでしょうか。 Huskyを使ってGitのコミット前フックにBiomeのlint…

Biome lint で console.log を残したい時の3つの対処法

Biome lint で console.log を残したい時の3つの対処法 はじめに Biomeを導入してコードレビューやCI/CDで自動lintを回していると、こんな場面に遭遇します。 packages/app/src/utils/logger.ts:12:3 lint/suspicious/noConsole ━━━━━━━━━━━━━━━ ✖ Don't use…

GitHubのPRレビューコメントにバッジをつけてチームの認識ズレをなくす

GitHubのPRレビューコメントにバッジをつけてチームの認識ズレをなくす バッジ 意味 対応要否 ![must] 修正必須。Approveの条件 必須 ![ask] 質問。回答または対応が必要 必須 ![imo] 私見・代替案の提示 任意 ![nits] 細かい指摘(typoや命名等) 任意 ![ne…