生成 AI 時代の新人さん向け「自分のコードに責任を持てる力」をつけるために
はじめに # 今どきの新人さんは、どのように技術について調べたり、学んだりしているでしょうか。Web 検索すれば、公式ドキュメント、数多くの技術ブログ(もちろん当サイト含む)などの記事がヒットしますし、X (Twitter) や YouTube にも有益な情報が溢れています。GitHub には多くの OSS が公開されており、簡単に試すことができます。Udemy や O'Reilly などのオンライン学習プラットフォームで効率よく学べるコースもたくさんあります。そしてなんといっても生成 AI...
記事を読むIDF Component ManagerとKconfig設定でハマった話(VSCode+ESP-IDF拡張機能)
前回、「ESP-IDFプロジェクトの構成とCMakeの仕組みを徹底解説!(VSCode+ESP-IDF拡張機能)」という記事を書きました。 その後、気をよくしていろいろ試していくうちに、esp32-cameraコンポーネントを使ってカメラサーバーを作ろうとして盛大にハマったので、その体験談をまとめてみました。 開発環境 # 開発環境は以下の通りです...
記事を読むIoT を使ってみる(その18:ESP32とOV2640でリアルタイムJPEG映像配信をやってみた)
前回は、ESP32 OTAの基本を解説しました。 今回は、ESP32-WROVER-E 開発ボードと OV2640 カメラモジュールを使い、Wi-Fi経由でJPEG画像をリアルタイムにストリーミング配信する機能を実装してみます。 (本題ではありませんが、OTA機能も併せて実装します) はじめに # PlatformIOでは、Arduinoフレームワークでも一部のESP-IDFライブラリが利用できるようになっています...
記事を読むESP-IDFプロジェクトの構成とCMakeの仕組みを徹底解説!(VSCode+ESP-IDF拡張機能)
はじめに # 以前、「VSCodeのESP-IDF拡張機能「Espressif IDF」を使ってみる」という記事を書いてから随分と時間が経過してしまいました。 今回は「ESP-IDFプロジェクトがどう組み立てられているか」「CMakeの仕組みはどうなっているのか」に注目して解説していきます。 ESP-IDF は、CMake という「ビルドシステムジェネレーター」を採用しています...
記事を読むWhisper を使って会議の音声データを文字起こししてみる
はじめに # 一昔前は、打合せ議事録は若手社員が一生懸命作成し、先輩方が確認した上でお客様に提出する・・というのが一般的でした。地味に労力がかかる作業でもありました。 最近は Zoom でも Google Meet でも録音を元に文字起こしから議事録作成まで全て AI がやってくれるようになりました。アカウント情報と紐付けて話者特定もされますし、精度もどんどん上がっています(若干微妙な纏めになることもありますが)。オンライン会議の議事録は AI にかなりお任せできる状況になりつつあります...
記事を読むIoT を使ってみる(その17:ESP32 OTAの基本を徹底解説:フラッシュメモリ構成から動作の仕組みまで)
前回は、ESP32 を使って "OTA (Over The Air)" に挑戦しました。 順番は前後しましたが、今回は OTA の基本的な仕組みについて、改めて詳しく解説します。 はじめに # ESP32は、無線経由でプログラムを書き換える「Over The Air(OTA)」機能を標準サポートしています...
記事を読むIoT を使ってみる(その16:OTAを使ってESP32のファームウェアを無線で楽々アップデート!)
前回はESP32のDeepSleep機能で長時間バッテリー駆動に挑戦しました。 今回は、ESP32 を使って "OTA (Over The Air)" に挑戦します。 OTAとは? # "OTA"とは "Over The Air" の略で、無線通信経由でプログラムを書き換える仕組みのことです。 通常、ESP32にプログラムを書き込むにはUSBケーブルでPCと接続する必要があります...
記事を読むSpringの小話 - MockMvcのテストをAssertJにしてみる
Spring の Controller を対象とした MockMvc テストでは、従来はアサーションに Hamcrest を使っていましたが、Spring Framework 6.2(対応する Spring Boot 3.4)からは AssertJ も利用できるようになりました。 AssertJ の利点として fluent にMockMvcテストが書けることが挙げられますが、筆者としてはそれよりも given-when-then のスタイルでテストを書きやすくなった点が嬉しかったりします...
記事を読むUMLで表現しきれない“動き”を、ペトリネットで可視化する
# UMLだけじゃダメ?ペトリネットを知れば、もっと深くシステムが理解できる # この記事の目的 # もともとUML Format2.5.1をひも解いた結果を記事にするつもりだったが、ひも解く上でペトリネットの考え方が必要になり ペトリネットのことを学習した。せっかくなのでその学習した結果を共有しようと思い、今回記事にした。 UMLは強力なモデリングツールだが、システムの複雑な動作や状態の遷移を表現するには限界がある場合もある...
記事を読む品質保証者の憂鬱「SLOCの深淵を覗く:ソース行数計測の「なぜ?」を徹底解剖」
ソフトウェア開発プロジェクトに参加したことがある人であれば、プロジェクトの中で色々なメトリクス(ソフトウェアを定量的に測るための指標)を収集した経験があるのではないでしょうか? メトリクスは工数だったり、工期だったり、規模、欠陥数、などなど様々だと思います。 今回はメトリクスの中でも特に「規模」についてちょっと考えるところがあり、改めて「ソフトウェア規模とは?」について深掘り(重箱の隅を絨毯爆撃)したいと思います...
記事を読むBadに振り回されて、Problemを見失う──ふりかえりで向き合うべき「課題」とは何かを考える
はじめに # 初めまして。デジタル戦略支援事業部の加藤です。 ふりかえりの場で、「何が問題だったのかよくわからないまま、次はこうしよう(Try)を考え始めてしまった」...そんな経験はありませんか? 仕事や日常のちょっとした場面で、理由がはっきりしないまま改善案だけを出して終わってしまったという経験は、多くの方に思い当たるところがあるのではないでしょうか。 今回は、私がジムで体験したある出来事を通して、「何が本当の課題(Problem)だったのか?」を改めて考えてみたいと思います...
記事を読むCUDA、cuDNN、CMake地獄を乗り越えて、激古GPU+llama.cppで量子化DeepSeekモデルを動かすまでの戦い
今回は、型落ち・中古の激安GPU搭載PCでも、話題の大規模言語モデル「DeepSeek」シリーズをローカルで動かしてみようという挑戦記です。 ただ、DeepSeekネタは 豆蔵デベロッパーサイトの記事として既に以下の記事が公開されています。 Ollamaを使ってオープンソースLLMをローカルホストしてみよう また、今回使用を予定している「llama」についてはPython版が既に以下の記事で公開されています...
記事を読む「もう残業しない!」マルチタスクの罠から抜け出し、最速で成果を出す方法
はじめに # 「今日も残業か…」とため息をついていませんか? 多くの人が、複数のプロジェクトやタスクに追われ、マルチタスク状態から抜け出せずにいます。 「忙しいから仕方ない」と思いがちですが、実はそれが残業の原因かもしれません。 この記事では、マルチタスクの「罠」をゲーム形式で体験し、シングルタスクで「最速で成果を出す」ための具体的な方法を解説します。 「もう残業しない!」働き方を、一緒に実現しましょう。 マルチタスクとシングルタスク # 最初にマルチタスクとシングルタスクの説明を行います...
記事を読む【新人さん向け】Java開発で最初に確認しておきたいEclipse便利設定ガイド
新人研修の現場でも Eclipse を使っているチームはまだまだ多いと思います。ちょっとした設定を知っているかどうかで、日々の開発効率やストレスが変わってくるもの。この記事では、Java開発に役立つ Eclipse の基本設定をまとめて紹介します。新人のうちに押さえておきたいポイントを、できるだけコンパクトに整理しました。設定の場所や意味を理解しながら、環境づくりの第一歩を踏み出してみましょう。 --> Information本記事は Pleiades All in One を前提にしています...
記事を読むTwinCATで始めるソフトウェアPLC開発(その1:開発環境構築編)
0. はじめに # TwinCATはEtherCATの開発元で有名なドイツの企業Beckhoff Automation GmbH[1](以下,Beckhoffと記載)が提供する産業用オートメーションシステム向けのプラットフォームです。 いわゆるソフトウェアPLCであり,同じソフトウェアPLCアプリケーションとして知名度の高いCODESYSをOEM採用しています。 本記事並びに関連記事では,TwinCATによるソフトウェアPLCの開発手順について共有したいと思います...
記事を読むVSCode & PlatformIOで始める!WSL×組み込み開発環境構築の完全ガイド
これまで以下の記事で VSCode と PlatformIO を使った組み込みソフトウェア開発を紹介してきました...
記事を読むDeno 2.2 で実装された OpenTelemetry インテグレーションを試す
はじめに # もう2ヶ月近く前ですが、Deno 2.2 のリリース時に OpenTelemetry の統合が目玉として発表されていました。 Deno 2.2: OpenTelemetry, Lint Plugins, node:sqlite メトリクス、トレース、ログなどテレメトリー情報の収集は、アプリケーションの可観測性を実現する上で欠かせない要素となっています...
記事を読むみんな大好きVSCodeと組み込みソフトウェア開発環境PlatformIOでリモート開発をしてみる(Arduino編)
組み込みソフトウェア開発をするなら PlatformIO が大変便利です。 これまでも、以下の記事で PlatformIOを紹介してきました...
記事を読む品質保証者の憂鬱「IPA書籍・刊行物探訪 ソフトウェア開発データ白書 その2」
前回に引き続き、IPAが発行する「ソフトウェア開発データ白書」の中身を探っていきましょう。 年版ごとの特徴 # IPAのソフトウェア開発データ白書は2005年版から2018-2019年版まで発行されています。 これだけ長期に渡ってデータを収集しているのですから、収集している途中で分析の方針とか、収集データの変更などが発生していると思います。 データ白書の冒頭に、上記に対する答えが掲載されています...
記事を読む品質保証者の憂鬱「IPA(独立行政法人 情報処理推進機構)書籍・刊行物探訪 - ソフトウェア開発データ白書 その1」
IPA(アイ・ピー・エー)は「独立行政法人情報処理推進機構(Information-technology Promotion Agency, Japan)」の略称です。 日本のIT分野の発展を目的とした独立行政法人です。 (会社・組織によってはIPAを「アイ・パ」と発音するところもあるようです) 仕事柄、ソフトウェア品質関連の資料を読む機会が多く、IPAから発行されている書籍・刊行物にはよくお世話になっています。 以降、独立行政法人情報処理推進機構(IPA)のことは単に「IPA」と表記します...
記事を読む