Linux

【Linux】環境変数とPATHの通し方|export・command not foundの解決・.bashrc

Linuxの環境変数とPATHを実機で確認しながら解説します。exportの意味と「付けないと子プロセスに渡らない」実証、PATHの仕組み、command not foundをPATH追加で解決する一連の流れ、.bashrcでの永続化、envやwhichでの確認、コマンド前置きの一時指定まで整理します。
Linux

【Linux】psとkillでプロセスを確認・終了する方法|kill -9との違い・pgrep/pkill

Linuxのpsとkillでプロセスを確認・終了する方法を実機で確認しながら解説します。ps auxの読み方とgrepでの絞り込み、killでの通常終了(TERM)、終了しないプロセスへのkill -9(KILL)の違いと実証、いきなり-9を使うべきでない理由、pgrep・pkillで名前から探す方法と-fの注意点まで整理します。
Linux

【Linux】リダイレクトとパイプの使い方|>・>>・2>&1の順序・/dev/null・tee

Linuxのリダイレクトとパイプを実機で確認しながら解説します。>が上書きで>>が追記になること、標準出力と標準エラーの違い、2>でのエラー分離、2>&1の意味と「書く順序で結果が変わる」罠、/dev/nullへの破棄、teeで画面とファイルの両方に出す方法、パイプには標準出力しか流れないことまで整理します。
Linux

【Linux】tarコマンドの使い方|tar.gzの圧縮・解凍・中身確認・-Cで展開先指定

Linuxのtarコマンドの使い方を実機で確認しながら解説します。tar czvfでの圧縮とtar xzvfでの解凍、展開せずに中身を確認するtzf、-Cで展開先を指定する方法、圧縮効果の実測、展開前に中身を確認すべき理由(tar bomb)、モダンなtarはxfだけで自動判別されることまで整理します。
Linux

【Linux】chmodコマンドとパーミッションの読み方|755・644の意味・+xで実行権限

Linuxのchmodコマンドとパーミッションを実機で確認しながら解説します。ls -lで表示されるrwxr-xr-xの読み方、755や644など数値指定の意味と計算方法、+xやu+xなど記号での指定、実行権限がないとPermission deniedになる実例、-Rでの再帰変更、ディレクトリのxの意味まで整理します。
Linux

【Linux】awkコマンドの使い方|列の抽出・-F区切り・条件・合計の集計

Linuxのawkコマンドの使い方を実機で確認しながら解説します。{print $1}での列の抽出、-FでCSVなど区切り文字の指定、NR・NF・$0などの組み込み変数、$2>=30のような条件や/パターン/での行の絞り込み、ENDを使った合計の集計、printfでの整形まで整理します。
Linux

【Linux】sedコマンドの使い方|文字列置換・行抽出・-iで直接編集

Linuxのsedコマンドの使い方を実機で確認しながら解説します。s/old/new/での置換、行内で最初の1つだけ置換される罠と/gで全置換、大文字小文字を無視するi、区切り文字の変更、-iでファイルを直接編集する方法と注意点、行の抽出(p)や削除(d)、拡張正規表現-Eまで整理します。
Linux

【Linux】findコマンドの使い方|ファイル検索・名前・サイズ・日付・-exec

Linuxのfindコマンドの使い方を実機で確認しながら解説します。-nameでの名前検索(標準で再帰)、-typeでファイル/ディレクトリの絞り込み、-inameでの大文字小文字無視、-sizeや-mtimeでのサイズ・更新日の指定、-execやxargsで見つけたファイルに処理する方法、-deleteの注意点まで整理します。
Linux

【Linux】grepコマンドの使い方|文字列検索・正規表現・再帰検索・オプション

Linuxのgrepコマンドの使い方を実機で確認しながら解説します。基本の文字列検索、-iで大文字小文字を無視、-nで行番号、-vで一致しない行、-rでの再帰検索、パターンが正規表現になることと-Fでの固定文字列検索、-o・-w・-Eやパイプとの組み合わせまで整理します。
Python

【Python】カスタム例外(独自例外)の作り方|Exception継承・階層・raise from

Pythonのカスタム例外(独自例外)の作り方を実機で確認しながら解説します。Exceptionを継承した最小の例外クラス、例外の階層と親クラスでまとめて捕捉する仕組み、__init__で独自の属性(ステータスコードなど)を持たせる方法、raise fromで元の例外を残す方法まで整理します。
Python

【Python】venvとpipで仮想環境を作る方法|パッケージ管理・requirements.txt

Pythonのvenvとpipで仮想環境を作る方法を実機で確認しながら解説します。python -m venvでの作成、Windows・Mac/Linuxでの有効化コマンドの違い、pip installでのパッケージ追加、pip freezeとrequirements.txtでの環境の再現、仮想環境を有効化せずグローバルに入れてしまう罠まで整理します。
Python

【Python】dataclassの使い方|__init__自動生成・default_factory・frozen

Pythonのdataclassの使い方を実機で確認しながら解説します。@dataclassで__init__・__repr__・__eq__が自動生成される仕組み、デフォルト値の指定、可変デフォルトにfield(default_factory)が必要な理由、frozen=Trueでのイミュータブル化、asdictでの辞書変換まで整理します。
Python

【Python】型ヒント(タイプヒント)の使い方|実行時に強制されない・list・Optional

Pythonの型ヒント(タイプヒント)の使い方を実機で確認しながら解説します。引数や戻り値への型注釈の書き方、型ヒントは実行時に強制されない理由、list[int]やdict、str | NoneやOptionalでNoneを許す書き方、mypyでの静的チェック、__annotations__まで整理します。
Python

【Python】collectionsの使い方|Counter・defaultdict・namedtuple・deque

Pythonのcollectionsモジュールの使い方を実機で確認しながら解説します。Counterで要素を数えmost_commonで頻出順に取得、defaultdictでKeyErrorを避けグルーピング、namedtupleで名前付きタプル、dequeで両端の高速な追加・削除まで、標準の便利なデータ構造を整理します。
Python

【Python】with文とコンテキストマネージャの使い方|__enter__・__exit__・contextlib

Pythonのwith文とコンテキストマネージャの使い方を実機で確認しながら解説します。with openでの後始末の自動化、__enter__と__exit__で自作する方法、例外が起きても__exit__が必ず実行される仕組み、contextlib.contextmanagerでの簡単な書き方、複数のwith、__exit__の戻り値による例外抑制まで整理します。
Python

【Python】ジェネレータとyieldの使い方|遅延評価・メモリ効率・一度きりの罠

Pythonのジェネレータとyieldの使い方を実機で確認しながら解説します。yieldで値を1つずつ生成する仕組み、nextとforでの取り出し、呼んだだけでは動かない遅延評価、ジェネレータ式とリスト内包のメモリ差、一度きりしか回せない罠、yield fromや無限ジェネレータまで整理します。
Python

【Python】正規表現(re)の使い方|search・findall・sub・グループ・名前付き

Pythonの正規表現(reモジュール)の使い方を実機で確認しながら解説します。searchでの検索、パターンを生文字列r""で書く理由、search・match・fullmatchの違い、findallのグループによる戻り値の変化、subでの置換、group・groupsでの取り出し、名前付きグループやフラグ、ファイル名をre.pyにしてはいけない罠まで整理します。
Python

【Python】デコレータ(@)の使い方|functools.wraps・引数・スタックの順番

Pythonのデコレータ(@)の使い方を実機で確認しながら解説します。関数を包んで機能を追加する仕組み、*argsと**kwargsで引数を通す方法、functools.wrapsを付けないと__name__が失われる理由、複数デコレータのスタックの実行順、引数を取るデコレータの書き方まで整理します。
Node.js

【Node.js】readlineで標準入力・ファイルを1行ずつ読む|question・for await・close

Node.jsのreadlineで標準入力やファイルを1行ずつ読む方法を実機で確認しながら解説します。readline/promisesのawait question、コールバック版のquestion、for awaitでファイルを1行ずつ処理する方法、rl.close()が必要な理由とパイプ入力との違いまで整理します。
Node.js

【Node.js】Bufferの使い方|バイナリ・エンコード変換・バイト長の罠

Node.jsのBufferの使い方を実機で確認しながら解説します。文字列とBufferの相互変換、utf8・hex・base64のエンコード変換、.lengthが文字数ではなくバイト長になる罠(日本語は3バイト)、Buffer.allocとallocUnsafeの違い、concatでの結合やバイトアクセスまで整理します。