雑記
YOLO(You Only Look Once)とは? – 高速物体検出アルゴリズムの解説 1. はじめに YOLO(You Only Look Once)は、物体検出(Object Detection)を行うための深層学習アルゴリズムの一つであり、リアルタイムでの物体検出に適しています。 通常の物体検出ア…
Ethernetとは?仕組みから最新規格まで徹底解説! 1. はじめに Ethernet(イーサネット)は、コンピュータネットワークで広く使用されている通信規格です。 企業のLAN(ローカルエリアネットワーク)から家庭用ネットワーク、データセンターまで、有線ネット…
Wi-Fiの規格とは?最新規格から過去の規格まで徹底解説! 1. はじめに Wi-Fi(無線LAN)は、スマートフォンやパソコン、IoTデバイスなど、現代の通信インフラに欠かせない技術です。 Wi-Fiの規格は、IEEE(Institute of Electrical and Electronics Engineer…
Brainfuckコンパイラ自作シリーズ 第5回:最適化とエラー処理 はじめに 前回までに Brainfuck のコードを C 言語に変換し、コンパイルして実行する仕組み を実装しました。 しかし、現時点の実装では 非効率なコードが生成される ことや エラー処理が不十分 …
GoF(Gang of Four)のデザインパターン:構造パターン(Adapter, Decorator, Facade)を徹底解説 1. はじめに オブジェクト指向プログラミングにおいて、「異なるクラスをどのように組み合わせるか?」 は重要な課題です。 特に、クラス間の結合度を最小限…
ST言語での位置決め制御:多軸制御・ジョグ機能の追加とさらなる応用 1. はじめに 前回の記事では、ST言語を使用して、PLCopen Motion Control Function Blocks(MCFB)を活用した位置決め制御の基本 を解説しました。 今回はさらに発展させ、多軸制御、ジョ…
ST言語での位置決め制御:PLCopen準拠のMCFBを活用した状態遷移設計 1. はじめに PLC(プログラマブル・ロジック・コントローラ)では、モーション制御の標準規格であるPLCopen Motion Control Function Blocks(MCFB) を使用することで、異なるメーカーのP…
コンパイル型言語とは?仕組みと特徴、代表的な言語を解説 1. はじめに コンパイル型言語 とは、プログラムを実行する前に、ソースコードを機械語に変換(コンパイル)する言語 のことです。 C言語やGo言語などがこれに該当し、実行速度が速く、パフォーマン…
reStructuredTextとは?マークアップ言語の特徴と活用方法 1. はじめに reStructuredText(reST) は、Pythonの公式ドキュメントやSphinxで使用される軽量マークアップ言語です。 Markdownと似た構造を持ちながら、より高度な文書構造をサポート しているの…
APIとは?仕組み・種類・活用方法をわかりやすく解説 1. はじめに API(Application Programming Interface) とは、異なるソフトウェアやシステム同士が通信するための仕組み です。 例えば、天気予報アプリが気象データを取得する際や、SNSのログイン機能…
AI開発支援ツールの進化:Clineとその競合ツールの比較 1. はじめに 近年、AIを活用した開発支援ツールが急速に進化し、エンジニアの生産性向上に貢献しています。 特に、Clineは、VS Code向けのAIエージェント型の拡張機能として注目を集めており、コード生…
【PLCプログラミング入門】Structured Textを使った最新の自動化技術ガイド 近年、スマートファクトリーの台頭や産業自動化の進化に伴い、PLC(プログラマブルロジックコントローラ)プログラミングの重要性がますます高まっています。 特に、従来のラダー言…
ST言語とC、Java、Pythonの技術的な違い 1. ST言語の動作特性 (1) メインループがデフォルト ST言語には main 関数のようなエントリポイントがなく、PLCのスキャンサイクルによってループ動作を繰り返す。 入力 → 処理 → 出力 の順に処理され、次のサイクル…
産業制御システムにおけるソフトウェア定義コントローラ(SDC)とは? 1. はじめに 近年、産業制御システム(ICS)において、柔軟性と効率性を高めるための新しいアプローチが求められています。その中で注目されているのが、ソフトウェア定義コントローラ(…
2025年最新!AIを活用した自動テストの最新動向と未来展望 (注記:本記事は2025年2月時点の情報に基づいています。) 近年、ソフトウェア開発のスピードが加速する中で、品質保証の重要性がますます高まっています。特に、AI技術の進化により、自動テストの…
OSS(オープンソースソフトウェア)とは? 1. はじめに OSS(Open Source Software)とは、ソースコードが公開され、誰でも自由に利用・改変・再配布できるソフトウェアのことです。近年では、企業や個人を問わず、OSSを活用することで開発の効率化やコスト…
プログラミング言語別に見るカジュアルな表現 はじめに エンジニアの世界では、特定のプログラミング言語を使う人をカジュアルに表現する呼び名が存在します。 「Pythonista」や「Rubyist」など、一部は公式にも使われていますが、その他にもコミュニティ内…
Rust vs Go どっちを学ぶべき?用途別に徹底比較 1. はじめに プログラミング言語の選択は、開発の効率やプロジェクトの成功に直結します。特に、Rust と Go は近年注目を集めるモダンな言語であり、それぞれの強みがあります。 本記事では、Rust と Go の特…
Brainfuck コンパイラの自作 第1回 - 基本設計と環境構築 1. はじめに Brainfuck は、極端にシンプルな命令セットを持つ難解プログラミング言語(esolang)です。本記事では、Brainfuck のコンパイラを自作する方法を解説します。 なぜ Brainfuck コンパイラ…