入門

スポンサーリンク
Java

Java | 基礎文法:コンパイルと実行

コンパイルと実行の全体像Java のプログラムは「ソースコード(.java)→ バイトコード(.class)→ JVM で実行」という三段構成で動きます。まず javac がソースをコンパイルして OS 非依存のバイトコードを作り、次に j...
Java

Java | 基礎文法:main メソッド

Main メソッドの役割Java の「プログラムの入口」は main メソッドです。JVM は指定されたクラスを読み込み、最初に public static void main(String[] args) を探して、そこから実行を開始しま...
Java

Java | 基礎文法:JDK と JRE

JDK と JRE の全体像Java を動かすには「実行環境」と「開発のための道具」が必要です。ここで登場するのが JRE(Java Runtime Environment)と JDK(Java Development Kit)です。シンプ...
Java

Java | 基礎文法:Java の特徴

Java の特徴Java は「一度書けばどこでも動く(Write Once, Run Anywhere)」を目指して設計された言語です。プログラムはまず「バイトコード」にコンパイルされ、Java 仮想マシン(JVM)上で実行されるため、OS...
Python

Python | OOP:クラス単位のテスト

概要(クラス単位のテストは「1つの責務を独立して検証する」)クラス単位のテストは、クラスの公開メソッドと外部との約束を中心に「入れたらこう返る」を独立して確かめる手法です。狙いは、仕様のズレや副作用のバグを早期に発見し、変更時にも安心してリ...
Python

Python | OOP:コード分割

概要(コード分割は「役割ごとに小さな部品へ分け、見通しと変更を楽にする」)コード分割は、1つの巨大ファイルや巨大クラスに詰め込まず、責務ごとにモジュール・パッケージ・クラスへ分ける設計です。目的は読みやすさ、変更の局所化、テスト容易性、再利...
Python

Python | OOP:単一責任の原則

概要(単一責任の原則は「そのクラスを変える理由をひとつに絞る」)単一責任の原則(Single Responsibility Principle, SRP)は、「クラス(モジュール)が変更される理由はひとつだけであるべき」という指針です。役割...
Python

Python | OOP:デザインパターン(Factory)

概要(Factoryは「作り方をひとまとめにして差し替える窓口」)Factory(ファクトリ)パターンは、オブジェクトの“生成方法”を呼び手から切り離し、共通の窓口にまとめる設計です。呼び手は「何を作るか」を依頼するだけで、具体クラス名や生...
Python

Python | OOP:デザインパターン(Strategy)

概要(Strategyは「アルゴリズムを入れ替える差し替え口」を用意する設計)Strategy(ストラテジー)パターンは、処理のアルゴリズムを独立した“戦略オブジェクト”に切り出し、実行時に差し替えられるようにする設計です。これにより、if...
Python

Python | OOP:コンポジション

概要(コンポジションは「小さな部品を組み合わせて振る舞いを作る」設計)コンポジション(合成)は、継承に頼らず「部品(オブジェクト)を持つ」ことで機能を組み立てる設計です。車が“エンジンを持つ”、クライアントが“セッションを持つ”、サービスが...
Python

Python | OOP:Mixin

概要(Mixinは「小さな能力」を後から混ぜ込むための設計)Mixin(ミックスイン)は、クラスに“特定の機能だけ”を薄く追加するための補助クラスです。単体で使う前提の「完全な親クラス」ではなく、既存クラスへ重ねて継承し、ログ、検証、シリア...
Python

Python | OOP:メソッドチェーン

概要(メソッドチェーンは「操作をつなげて一気に書く」設計)メソッドチェーンは、複数のメソッド呼び出しをドットで連ねて、処理の流れをそのまま一行で表現する書き方です。ポイントは“次のメソッドを呼べる値を返す”設計にすること。具体的には「自分自...
Python

Python | OOP:依存性注入(簡単版)

概要(依存性注入は「必要な相手を外から渡す」だけでコードが劇的に扱いやすくなる)依存性注入(DI)は、クラスが必要とする相手(例:メール送信、DB接続、HTTPクライアント)を自分の中で作らず、外から渡してもらう設計です。これだけで結合が弱...
Python

Python | OOP:インターフェース的設計

概要(「インターフェース的設計」は“共通の窓口”で差し替え可能にすること)インターフェースは、異なる実装を“同じやり方で使えるようにする共通の約束”です。PythonにはJavaのようなinterface構文はありませんが、抽象基底クラス(...
Python

Python | OOP:抽象クラス(ABC)

概要(抽象クラスは「必ず実装してほしい共通の約束」を形にする設計図)抽象クラス(ABC: Abstract Base Class)は、直接インスタンス化できない「設計図」です。サブクラスが必ず実装すべきメソッド(抽象メソッド)を定め、実装漏...
Python

Python | OOP:yield

概要(yieldは「一つ返して一時停止、次に再開」する魔法のスイッチ)yieldは、関数を“ジェネレーター”に変えるキーワードです。yieldに到達すると値を一つ返して処理を一時停止し、次に呼ばれたときはその直後から続きが動きます。全データ...
Python

Python | OOP:ジェネレーター

概要(ジェネレーターは「必要な分だけ、順に値を生む」仕組み)ジェネレーターは、yieldを使って「次の値」を一つずつ返し、呼び出しのたびに前回の続きから再開できる関数(またはオブジェクト)です。全データを一度に作らず“遅延生成”するため、メ...
Python

Python | OOP:イテレーター

概要(イテレーターは「次を返して尽きたら止まる“反復器”」)イテレーターは「要素を一つずつ順番に返す」オブジェクトです。イテレーターは必ずiterとnextを持ち、nextは次の要素を返し、もう要素がないときにStopIterationを送...
Python

Python | OOP:next

概要(nextは「次の要素」を返し、尽きたらStopIterationで終了する)nextは“イテレータ”が持つ特別メソッドで、呼ぶたびに次の要素を返します。要素がもうないときはStopIterationを送出して、反復を終わらせます。fo...
Python

Python | OOP:iter

概要(iterは「forで回せるオブジェクト」を作る入口)iterは、そのクラスを「イテラブル(forで回せるもの)」にする特別メソッドです。戻り値は“イテレータ”で、イテレータは次の要素を返すnextを持ちます。初心者は「イテラブル=it...
Python

Python | OOP:getitem

概要(getitemは「objやスライス」を使えるようにする特別メソッド)getitemは、obj や obj のようなインデックス・スライスアクセスを可能にする入口です。シーケンスっぽいクラス(list風・文字列風・配列風)を自作するとき...
Python

Python | OOP:len

概要(lenは「そのオブジェクトの“サイズ”を即座に返す」ための特別メソッド)lenは、len(obj)が呼ばれたときに使われる“サイズ取得”の入口です。数や件数など「直感的に数えられるもの」を、非負の整数で素早く返します。初心者がまず押さ...
Python

Python | OOP:repr

概要(reprは「開発者向けの公式な文字列表現」)reprは、オブジェクトの“正確で曖昧さのない”文字列表現を返す特別メソッドです。REPLやデバッグ、ログでの診断に使われ、可能ならその文字列からオブジェクトを再構築できる形(再現可能性)を...
Python

Python | OOP:str

概要(strは「人に見せる文字列表現」を返す特別メソッド)strは、オブジェクトをprintしたり、str()に渡したときの“人向けの文字列表現”を定義します。これを実装しておくと、ログやUI、コンソール表示が一気に読みやすくなります。初心...
Python

Python | OOP:staticmethod

概要(staticmethodは「クラスに属するけれど、状態に依存しない純粋な関数」)@staticmethodは、self(インスタンス)やcls(クラス)に触れない“補助関数”をクラスの中にまとめるための仕組みです。見た目はメソッドでも...
Python

Python | OOP:クラスメソッド

概要(クラスメソッドは「クラスに紐づく操作」—工場・設定・系統別挙動に効く)@classmethodは、第1引数にインスタンスではなくクラス自身(cls)を受け取るメソッドです。インスタンスの状態には触れず、「クラス全体」に関わる操作(代替...
Python

Python | OOP:setter

概要(setterは「値の更新に検証を挟む安全な入口」)setterは、オブジェクトの属性を更新するときにルール(検証・整合性維持)を必ず通過させるための仕組みです。Pythonでは@propertyと組み合わせて「属性のように自然な書き心...
Python

Python | OOP:プロパティ(@property)

概要(@propertyは「属性のように使える安全な窓口」)@propertyは、見た目は属性アクセスなのに、裏側で関数(メソッド)が実行される仕組みです。値の取得(getter)、設定(setter)、削除(deleter)に処理や検証を...
Python

Python | OOP:private 的記述

概要(Pythonの“private”的記述は「強制」ではなく“合図”と“窓口設計”)PythonにはJavaのprivateのような強制的なアクセス修飾子はありません。代わりに「内部用」を示す命名規約(先頭にアンダースコア)と、二重アンダ...
Python

Python | OOP:カプセル化

概要(カプセル化は「中身を守り、外からは使いやすい窓口だけ見せる」設計)カプセル化は、オブジェクトの内部状態(属性)と内部処理(ヘルパーメソッド)を隠し、外部には安全な操作方法だけを提供する考え方です。Pythonには厳密なアクセス修飾子は...
Python

Python | OOP:オーバーライド

概要(オーバーライドは「親の振る舞いを、子で意図通りに差し替える」技術)オーバーライドは、継承した親クラスのメソッドを子クラスで同じ名前で再定義して、振る舞いを変更・拡張する仕組みです。共通部分は親に任せ、違う部分だけ子で変えるのが基本。重...
Python

Python | OOP:super()

概要(superは「親の処理を安全に呼び継ぐためのバトン」)super()は、継承チェーンの中で「次に呼ぶべきクラス」のメソッドへバトンを渡す仕組みです。単なる“親クラス呼び出し”ではなく、PythonのMRO(メソッド解決順序)に従って適...
Python

Python | OOP:継承

概要(継承は「既存の設計を引き継ぎ、拡張・差し替えする」ための仕組み)継承は、親クラス(基底クラス)の属性・メソッドを子クラス(派生クラス)が受け継ぎ、必要な部分だけ追加や上書き(オーバーライド)する技術です。初心者がまず押さえるべき核心は...
Python

Python | OOP:インスタンス変数

概要(インスタンス変数は「各オブジェクト固有の状態」)インスタンス変数は、クラスから作られた各インスタンスが個別に持つデータです。同じクラスでも、インスタンスごとに値が違ってよい(むしろ違うのが普通)というのがポイントです。定義は通常、in...
Python

Python | OOP:クラス変数

概要(クラス変数は「全インスタンスで共有する設定・定数」)クラス変数は、クラスに属する値で、作られたすべてのインスタンスから共有されます。対してインスタンス変数は各個体専用。初心者がまず押さえるべきは「何を共有し、何を個別にするかの線引き」...
Python

Python | OOP:属性

概要(属性は「オブジェクトが持つデータ」。設計と使い分けが要)属性はクラスやインスタンスが持つデータで、振る舞い(メソッド)と対になる要素です。まず理解すべきは、インスタンス属性とクラス属性の違い、可変なデフォルトの落とし穴、アクセス制御の...
Python

Python | OOP:メソッド

概要(メソッドは「そのオブジェクトができること」を表す操作)メソッドは、クラスに属する関数で「オブジェクトの振る舞い」を定義します。インスタンスの状態(属性)を読み書きしたり、外部と連携したり、目的に応じて処理をまとめられます。まず押さえる...
Python

Python | OOP:init

概要(initは「生まれた直後の初期設定」を行う特別なメソッド)initは、インスタンス生成時に自動で呼ばれる“コンストラクタ”で、属性の初期化や前提チェックを行います。Pythonではメソッドの第1引数にself(そのインスタンス自身)が...
Python

Python | OOP:class 定義

概要(classは「データ+振る舞い」をひとまとめにする設計図)クラスは、関連するデータ(属性)と処理(メソッド)をまとめる「設計図」です。設計図から作る具体物がインスタンス。初心者がまず身につけるべきは、initでの初期化、selfの意味...
Python

Python | Web / API:GitHub でコード管理基礎

概要(GitHubは「変更履歴を安全に共有・同期する場所」、Gitはそのエンジン)Gitはローカルでコードの変更履歴を管理するツール、GitHubはその履歴をクラウドで共有・レビュー・公開する場です。まずは「リポジトリ作成→変更を記録(コミ...
Python

Python | Web / API:API キーの扱い

概要(APIキーは「本人確認の鍵」。扱いは最小露出・安全保管・適切送信)APIキーはサービスを利用するための秘密の識別子です。コードに直書きせず、環境変数やシークレット管理で安全に保管し、HTTPヘッダーなど適切な方法で送信します。重要なの...
Python

Python | Web / API:エラーの再スロー

概要(エラーの再スローは「原因を記録して、正しい層へ渡す」ための技術)再スロー(re-raise)は、捕まえた例外を処理(ログや補足)したうえで、呼び出し元へ再び投げ直して「適切な場所で判断」させるための手法です。重要なのは、トレースバック...
Python

Python | Web / API:assert

概要(assertは「前提が破れたら即座に止める」ための開発時チェック)assertは「この時点では必ず条件が成り立つはず」という前提をコードに埋め込み、破れたら AssertionError を投げて即座に気付ける仕組みです。主な用途は開...
Python

Python | Web / API:print デバッグ

概要(printデバッグは「流れと値」をその場で可視化する最短手段)printデバッグは、疑わしい箇所にprintを挿入して「いつ、どの分岐で、どんな値になっているか」を直接出力し、原因に近づく方法です。初心者ほど効きますが、無秩序に出すと...
Python

Python | Web / API:デバッグ基礎

概要(デバッグは「原因を特定して直すための再現と観察」)デバッグの核心は、問題を確実に再現し、プログラムの状態を正しく観察して、原因に最短で辿り着くことです。初心者は「再現条件を固定する」「トレースバック(エラーメッセージ)を読む」「最小例...
Python

Python | Web / API:PEP8 の基礎

概要(PEP8は「読みやすさと一貫性」をコードに宿すための基本ルール)PEP8はPythonの公式スタイルガイドで、見た目の揃え方や命名、インデント、改行など「どう書くと読みやすいか」を定めています。重要なのは「他人と未来の自分が理解しやす...
Python

Python | Web / API:ライブラリのドキュメント参照

概要(「正しいドキュメントを、正しいバージョンで読む」ことが9割)ライブラリのドキュメントは「使い方の唯一の正解」に近い情報源です。まず意識すべきは、あなたが使っているライブラリのバージョンに対応する公式ドキュメントを読むこと、そして「入口...
Python

Python | Web / API:モジュールの分割

概要(モジュールの分割は「責務で切り分けて再利用性と保守性を上げる」技術)モジュール分割は、1つの長いスクリプトを機能ごとにファイルへ分け、明確な境界でインポートし合う設計です。初心者がまず押さえるのは、何を単位に分けるか(責務)、どう参照...
Python

Python | Web / API:Python のパッケージ構造

概要(Pythonのパッケージ構造は「関連機能を階層で整理する入れ物」)Pythonのパッケージは、関連する複数のモジュール(.pyファイル)をディレクトリ階層でまとめ、再利用性と保守性を高める仕組みです。基本は「パッケージ=ディレクトリ」...
Python

Python | Web / API:pip freeze

概要(pip freezeは「今の環境を丸ごと再現するためのスナップショット」)pip freezeは、現在のPython環境に入っているライブラリをname==version形式で完全に列挙します。これをrequirements.txtに...
Python

Python | Web / API:pip list

概要(pip listは「今の環境に入っているライブラリを一望する鏡」)pip listは、現在のPython(できれば仮想環境)にインストールされているパッケージとバージョンを一覧表示します。環境の健全性確認、アップデート候補の洗い出し、...
Python

Python | Web / API:pip install

概要(pip installは「必要なライブラリを安全に取り込む」ための入口)pipはPythonのパッケージ管理ツール。pip installで外部ライブラリを追加し、アップグレードやアンインストール、依存の固定化(requirement...
Python

Python | Web / API:requirements.txt

概要(requirements.txtは「同じ環境を誰でも瞬時に再現するための依存リスト」)requirements.txtは、そのプロジェクトで使う外部ライブラリ名とバージョンを列挙したテキストファイルです。目的は再現性の確保と衝突回避で...
Python

Python | Web / API:仮想環境 venv

概要(venvは「プロジェクトごとに独立したPython環境」を作る標準機能)venvはPython標準の仮想環境機能で、各プロジェクトが別々のライブラリやバージョンを使えるように分離します。これにより、他プロジェクトの依存関係と干渉せず、...
Python

Python | Web / API:dotenv

概要(dotenvは「設定と秘密をコードから切り離す」開発の定番)dotenvは、.envファイルに書いた設定値(APIキーやDB接続文字列など)をPython実行時に環境変数へ読み込むための軽量ライブラリです。コードに秘密を直書きせず、安...
Python

Python | Web / API:環境変数

概要(環境変数は「設定や秘密をコード外で持つための保管場所」)環境変数は、OSが管理する名前つきの設定値です。Pythonでは os.environ や os.getenv を使って取り出し、APIキーやDB接続文字列などの「環境ごとに変わ...
Python

Python | Web / API:logging のレベル

概要(loggingのレベルは「重要度のフィルタ」で情報量を制御する仕組み)Pythonのloggingには重要度を表す5段階のレベル(DEBUG/INFO/WARNING/ERROR/CRITICAL)があり、設定したレベル以上のログだけ...
Python

Python | Web / API:logging のフォーマット

概要(loggingのフォーマットは「いつ・どこで・何が起きたか」を一行に凝縮する設計)ログの価値は、後から原因に直行できること。フォーマットはそのための骨組みです。日付・レベル・発生箇所・メッセージを、一定の書式で出力します。重要なのは「...
Python

Python | Web / API:ログ出力 logging

概要(loggingは「あとから原因を特定できる記録」を残すための標準手法)printは一瞬の確認、loggingは運用と原因追跡のための記録です。ログレベルで重要度を切り替え、フォーマットで「いつ・どこで・何が起きたか」を残し、出力先(コ...
Python

Python | Web / API:ファイル添付メール

概要(ファイル添付は「正しいMIMEと暗号化」で確実に届ける)Python標準のsmtplibとemail.message.EmailMessageを使えば、PDFや画像、Excelなどを安全に添付して送信できます。重要なのは、SMTPの接...
スポンサーリンク