ITRON 4.0 におけるメールボックスとデータキューの違い
| メールボックス | データキュー | |
|---|---|---|
| データ構造 | リンクリスト | リングバッファ |
| 送受信メッセージの複製作成 | なし | あり |
|
1 2 3 4 5 6 |
#ifndef FOO_H #define FOO_H /* 中略 */ #endif /* FOO_H */ |
ヘッダファイルの中から、さらに別のヘッダファイルをインクルードすることで、一つのヘッダファイルが2回以上インクルードされるときがある。インクルードガードが記述されていないと同一の定義や宣言が2回以上、1つの翻訳単位(~.cファイル)の中に現れてコンパイルエラーが生じるため。
接頭辞にアンダースコアを2回重ねたシンボル名は予約語です。 次のようなdefine定義名はシステム(コンパイラなど)の予約語と重複する可能性があります。予約語と衝突する不適切なdefine名の例: __FOO_H__
|
1 2 3 |
extern int number_of_record; extern int list_of_record[]; extern const char name[]; |
|
1 2 3 |
int number_of_reservation = 0; int list_of_record[255] = {0, }; const char name[255] = "Alice"; |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#include "foo.h" number_of_reservation = 0; /* ... 中略 ... */ int list_of_record[i] = 0; /* ... 中略 ... */ const char* user_name = name; |
|
1 |
static const char name[255] = "Alice"; |
|
1 |
static const char name[255] = "Alice"; |
初期化を記述することでグローバル変数の宣言ではなく定義になります。複数の定義が存在するとリンクエラーが発生するため窮余の一策(不適切な回避策)としてstatic宣言をしています。結果として名前が重複するstaticグローバル変数が複数の翻訳単位に存在する特異な状況が生じます。
関数のプロトタイプ宣言は省略せずに必ず記述しましょう。プロトタイプ宣言の記述を省略しても、たまたまコンパイルが成功することはありますが、一旦コンパイルが成功しても、その後のコード修正でプロトタイプ宣言のないコードのコンパイルが失敗することがあるため、かならずソースファイルの先頭、もしくはヘッダファイルに関数のプロトタイプ宣言を記述しましょう。
関数プロトタイプ宣言は必ずどこかに記述する。しかし、モジュール外(xxx.cの外部、xxx.oの外部)からアクセスする必要のない static な関数のプロトタイプ宣言をヘッダファイルに記述してはいけません。 *.c ファイルの先頭に記述しましょう。
ソース管理のウィンドウにチェックアウトされた複数のワークツリーが自動検出(自動表示)されて煩雑なばあいがある。
git.detectWorktrees 設定を無効 (false) にする。
表示を更新する(ワークツリーを非表示にする)ためには、一旦 Visual Studio Code を終了して再起動する。
|
1 |
$ git fetch [リモートリポジトリ名] [リモートブランチ名] |
|
1 |
$ git checkout [リモートブランチ名] |
|
1 |
$ git checkout -b [ローカルブランチ名] [リモートリポジトリ名]/[リモートブランチ名] |
|
1 |
$ git checkout -b momiji origin/kaede |
Diginal Negative。Adobe Systemsが開発したRAW画像フォーマット。RAW形式保存を指定するとDNGとinsp(JPEG)の2つのファイルがストレージに記録される。
EXIFを含むJPEG形式の画像ファイル。Insta360のDNG(RAW)形式ファイルは単体でエクスポート(現像)することができない。Insta360 StudioにおいてDNGとinspはペアで扱う。
JPEG形式の静止画ファイル。
MPEG4形式のプレビュー用の低画質動画ファイル。
MPEG4形式の高画質動画ファイル。
ワークスペース毎にタイトルバー(ウィンドウ上段)やステータスバー(ウィンドウ下段)の色をカスタマイズする方法。
2025年6月14日(土)、15日(日)と東京・中野セントラルパークで開催された技術カンファレンス「関数型まつり」に参加しました。一般参加者、発表者、スタッフを合わせて500名近くにのぼる大型イベントでした。いろいろな気づきがありましたので情報を共有します。私自身は関数型プログラミングほぼ初心者なので話半分に読んでください。
続きを読む
配送会社(クロネコヤマト)からは配送完了の通知が受け取ったのに「現在引き渡し準備中です」から変化しないため、おかしいと思ったら、引き取りに来るのを待っているだけでした。引き取り用のバーコードのリンクがはいったメールが「迷惑メール」に分類されてしまったため、引き取り可能になったのに気がつきませんでした。 😭
Large Language Model. 大規模言語モデル.
最先端の基盤モデル(≒LLM)の総称。たとえば 2026年9月現在の “GPT-6 Astra” や “Claude Mythos 5.1” のこと。
OpenAI社(OpenAI Group PBC, 旧OpenAI,Inc.)のAIモデル。
Anthropic社(Anthoropic PBC)のAIモデル。
Google社(Google LLC)のAIモデル。 旧名称 Bard。
TypeSafe AI社(TypeSafe AI PBC)のAIモデル。
Model Context Protocol
Command Line Interface (例) GitHub Copilot CLI
プロンプト。生成AIに対して自然言語(英語や日本語)であたえる指示(命令や問い合わせ)。
スキル。再利用可能で共有可能なワークフロー。何ができるかの能力(の記述)。生成AIの手足となる機能。
フック。生成AIの動作の前後(たとえば入出力)に処理を割り込ませる仕組み。
ハーネス。LLMを自律動作させるためのインフラや環境全般。
ガードレール。 AIが意図しない動作やリスクを引き起こすのを防ぐための安全制御の仕組み。たとえば個人情報を生成AIに入力させない、扱わせない仕組み。
Retrival-Augmented Generation. 検索拡張生成.
生成AI(LLM)が回答を作る際、外部の最新情報や特定のデータソースから情報を検索し、それを参考にして正確な回答を生成する技術
ハルシネーション。AIが嘘(事実ではないこと)をさも本当らしい情報として回答する現象。
シコファンシー。迎合、おもねり。AIがユーザーの信念・前提・期待へ寄り添った回答を返してしまう現象。
スロップ。AIスロップ。原義は残飯や生ごみ。AIで粗製乱造されたコンテンツを揶揄する言葉。