-
C++樹林
C++のvoid関数入門:値を返さない関数の定義と活用法
C++の関数は、プログラムの部品(モジュール)として、特定の処理をひとまとめにする機能です。関数には、max() のように計算結果を「返す」ものと、単に特定の動作(アクション)を実行するだけのものがあります。 void キーワードは、関数が**「値を返さ... -
C++樹林
C++の関数宣言(プロトタイプ宣言)と「値渡し」の基本
C++プログラムは、必ず main という名前の関数から実行が開始されます。この main 関数はプログラム全体のエントリーポイント(入口)であり、その処理が終了するとプログラムが終了します。 main 関数も関数の一種であり、int main() と定義されます。こ... -
C++樹林
C++の関数入門:定義と呼び出しの基本、なぜ関数が必要か
関数とは? プログラミングを行っていると、同じような処理(ロジック)をプログラムのあちこちで実行したい場合があります。 例えば、ECサイトで「家電」カテゴリと「書籍」カテゴリのそれぞれ3つの主要商品の価格を入力し、各カテゴリの最高価格を表示す... -
C++樹林
C++の多次元配列:Cスタイル配列と std::array のネスト(入れ子)
1次元の配列はデータの「列」を表現しますが、実世界の多くのデータは「行」と「列」を持つ2次元の表(グリッド)として表現されます(例:スプレッドシート、画像ピクセル、ゲームのマップ)。 C++では、このような2次元、3次元、あるいはそれ以上の次元... -
未分類
HONDA GROM (JC61) の K-Line センサ値を取得する(全3回)
HONDA GROM (JC61) を対象に、Arduino Nano と K-Line トランシーバ(L9637D)を用いて、ECU から主要なセンサデータを読み出す技術的な取り組みについて、note.com に全3回の連載記事としてまとめました。 本連載は、「まずは K-Line の値を安定して読み... -
C++樹林
C++の配列入門:伝統的なCスタイル配列と現代的なstd::array
同一の型(例:int型)のデータを多数扱う際、それらを個別の変数として宣言するのは非効率です。例えば、12ヶ月分の月間経費を管理するために expense1, expense2, ..., expense12 といった12個の変数を用意するのは現実的ではありません。 このような「... -
C++樹林
C++の列挙体ガイド:enum から C++11 enum class への進化
列挙体 (enum) とは? プログラミングにおいて、0、1、2 のような数値(いわゆる「マジックナンバー」)を直接コードに記述すると、その数値が何を意味するのかが分かりにくくなります。 C++の**列挙体(enum)**は、Status::Pending (0)、Status::Active ... -
C++樹林
C++の型変換と演算:整数除算の罠とstatic_castの正しい使い方
C++は静的型付け言語であり、int や double などのデータ型を厳密に区別します。異なる型同士で演算を行う際、C++は「型変換」に関する一連のルールに従います。これらのルールを理解していないと、特に除算(割り算)において、予期せぬバグが発生する原... -
未分類
【Power Automate】「BadRequest. The variable ‘varLeads’ of type ‘Array’ cannot be initialized or updated with value of type ‘String’.」エラーの解決策
Power Automateでフローを構築している際、特に変数を扱うプロセスで以下のようなエラーメッセージに直面することがあります。 BadRequest. The variable 'varLeads' of type 'Array' cannot be initialized or updated with value of type 'String'. The ... -
未分類
Djangoモデル設計における命名規則の重要性:一貫性がもたらす保守性の向上
Djangoアプリケーションの基盤となるのは、models.pyに定義されるデータモデルです。このモデルのフィールド名(データベースのカラム名に相当)は、アプリケーションの可読性、保守性、そして開発効率に直接的な影響を与えます。 もし、フィールドの命名... -
Python樹林
Djangoモデル設計のアンチパターン:「有意コード」がもたらす技術的負債
Djangoでデータベーススキーマを設計する際、主キーやユニークな識別子(ID、コード)の定義方法は、システムの将来的な保守性に大きな影響を与えます。 その中で、「有意コード(Intelligent Code / Smart Code)」と呼ばれる設計手法を採用してしまうケ... -
Python樹林
Djangoモデル設計: typeカラムの乱用を避け、堅牢なシステムを構築する方法
DjangoでWebアプリケーションを開発する際、似て非なる複数のデータを一つのモデルで管理しようとして、安易にtypeというカラムを追加してしまうことがあります。これは「種類」や「カテゴリ」を整数や文字列で区別するためのカラムで、一見すると便利に思... -
Python樹林
Djangoにおけるデータ管理:論理削除と物理削除の適切な使い分け
Webアプリケーションを開発する際、データの「削除」は避けて通れない機能の一つです。特にDjangoのようなフレームワークを使用していると、instance.delete()メソッドで簡単にデータを削除できます。 しかし、この「削除」には、データベースからレコード... -
お金樹林
【新NISA】高配当株ファンドは「つみたて投資枠」で買える?人気の「VYM連動ファンド」と「S&P500」の10年実績を徹底比較
新NISAが始まり、「高配当株」への投資で安定したインカム(分配金)を得たいとお考えの方も多いのではないでしょうか。 しかし、実際に楽天証券などの金融機関で商品を探してみると、「つみたて投資枠で買いたいのに、高配当株ファンドが見つからない」と... -
お金樹林
米国債券ETF「BND」とは?特徴からNISAでの買い方、賢い運用法まで徹底解説
米国株投資などで配当金(米ドル)を受け取ったものの、その使い道に迷い、証券口座にそのままにしている方も多いのではないでしょうか。 インフレや為替変動のリスクを考慮すると、米ドルを遊休資産にしておくのは効率的とは言えません。その有力な活用先... -
未分類
Googleスプレッドシートで中央値を求める方法|MEDIAN関数の使い方を解説
Googleスプレッドシートでデータの集計を行う際、「平均値(AVERAGE)」はよく使われますが、「中央値(MEDIAN)」の求め方が分からず困った経験はありませんか? 中央値は、データを大きさの順に並べたときに、ちょうど中央に位置する値のことを指します... -
Python樹林
PythonでWindowsをシャットダウン!.batファイルから実行する方法と環境設定の全手順
Pythonを使ってPCのシャットダウンのようなOS操作を自動化したい、と考えたことはありませんか。さらに、そのPythonスクリプトを、ダブルクリックするだけで簡単に実行できる「バッチファイル(.bat)」から呼び出せたら便利です。 この記事では、Pythonで... -
C#樹林
C#からPythonスクリプト(.py)を実行する3つの方法を徹底比較
C#を用いた開発プロジェクトにおいて、Pythonが持つ豊富なライブラリ(例えば、機械学習のTensorFlowやPyTorch、データ分析のNumPyやPandasなど)を活用したい場面が出てくることがあります。その際、C#のプログラムから直接Pythonスクリプト(.pyファイル... -
Python樹林
Beautiful Soupでクリック操作はできる? できない理由とSeleniumとの使い分けを解説
Pythonを使ったWebスクレイピングで非常に人気のあるライブラリ「Beautiful Soup」ですが、学習を進めるうちに「これでボタンクリックやフォーム入力はできないのか?」という疑問を持つことがあります。 結論から申し上げますと、Beautiful Soup単体では... -
Python樹林
Selenium実践:複雑なWebページの自動操作テクニック集
Webブラウザ操作を自動化するツールSeleniumは、テスト自動化や定型作業の効率化に非常に強力です。しかし、実際のWebページ、特に社内システムなどは、単純なクリックや入力だけでは操作できない複雑な構造を持っていることが少なくありません。 今回は、... -
Excel樹林
【Excel】2つの日時の差から経過時間を計算する方法「h:mm:ss」形式で表示するテクニック
Excelで作業ログやイベントの記録を管理していると、「ある日時から次の日時までに、どれくらいの時間が経過したか」を正確に計算したい場面がよくあります。 例えば、以下のようなデータがあるとします。 開始日時 (A2セル): 2025/2/26 16:19:11 終了日時... -
Excel樹林
【Excel活用術】数値を「20:00:00」形式に変換する方法と時間計算のコツ
Excelで勤怠管理やプロジェクト工数の集計を行う際、「20」という数値を「20時間00分00秒」のように、時間として扱いたい場面は非常に多いかと存じます。 しかし、Excelの時間計算には「シリアル値」という独自のルールがあり、つまずきやすいポイントでも... -
C++樹林
C++の基本的なデータ型:整数型、浮動小数点型、bool型の完全ガイド
C++でプログラミングを行う際、データ(数値や文字など)を格納するためには、そのデータの種類に応じた「型」を指定する必要があります。型は、コンパイラに対して、そのデータのためにどれだけのメモリ領域を確保すべきか、そしてそのビットパターンをど... -
C++樹林
C++の拡張表記(エスケープシーケンス)とI/O操作子(マニピュレータ)の詳細ガイド
C++でコンソールへの出力やファイル入出力を行う際、単にデータを表示するだけでなく、書式(フォーマット)を整えることが求められます。C++では、この書式制御のために「拡張表記(エスケープシーケンス)」と「I/O操作子(マニピュレータ)」という2つ... -
Python樹林
【Python】Djangoモデル設計:「is_completed」フラグは悪手か?日時で状態を管理する利点
Djangoでモデルを設計する際、「タスクが完了したか(is_completed)」、「ユーザーが有効か(is_active)」といった状態を示すために、BooleanField(ブール値フラグ)を追加するのは、直感的で簡単な方法です。 しかし、この一見シンプルなアプローチは... -
Python樹林
【Python】Djangoモデルから「予備カラム」を追放すべき3つの理由:YAGNI原則とマイグレーションの活用
古いデータベース設計の慣習、あるいは将来の仕様変更への「備え」のつもりで、spare_1やextra_text_01といった、今は使わない**「予備カラム」**をDjangoのモデル定義に含めてしまっていませんか? かつては、データベースのスキーマ変更(ALTER TABLEの... -
Python樹林
【Python】Djangoパフォーマンスチューニング:OneToOneFieldで「太い」モデルを分割する方法
Djangoアプリケーションが成長するにつれて、ProductやArticleのような中心的なモデルに、次々と新しいフィールドが追加されていくのはよくあることです。初めは小さなモデルだったものが、いつしか数十個のカラムを持つ「太ったモデル(Fat Model)」にな... -
Python樹林
【Python】Djangoモデル設計の必須テクニック:「ユニーク制約(UniqueConstraint)」でデータの整合性を守る方法
アプリケーションのデータが信頼できるものであるためには、データベースに「あってはならないデータ」が保存されるのを防ぐ仕組みが不可欠です。例えば、「一人のユーザーが、同じイベントに2回登録できてしまう」「同じ生徒が、同じ科目を2回履修できて... -
Python樹林
【Python】Djangoモデル設計:なぜ null=True は避けるべきか?3つの実践的テクニック
Djangoでモデルを設計する際、null=True, blank=Trueというオプションは、「このフィールドは必須ではない」ことを示す便利な指定のように思えます。しかし、データベースレベルでNULLを許容することは、多くの場合、アプリケーションロジックを不必要に複... -
C++樹林
C++のループ制御:break、continue、goto文の役割と注意点
for文やwhile文などの繰り返し処理では、ループの実行フローをより細かく制御したい場面があります。C++には、そのような要求に応えるための3つの文、break、continue、gotoが用意されています。 break文:ループを完全に中断する break文は、switch文だけ...