IoT を使ってみる(その20:MicroPythonで始めるESP32プログラミング「超」入門)
はじめに # この「IoTを使ってみる」シリーズでは主に PlatformIO や ESP-IDF という開発環境を使ってきました。 VSCodeを使えば開発がかなり楽になるとはいえ、中には C/C++言語よりももっとサクサク開発したいと思った方も多いのではないでしょうか。 そこで今回は ESP32上に MicroPython という扱いやすい軽量Python実装を導入して、プログラム開発する方法をやさしくご紹介します...
記事を読むElectron アプリから macOS Apple Intelligence の Writing Tools を使う
はじめに # 先月末に Electron 36.0.0 がリリースされました。 Electron 36.0.0 | Electron 目玉機能として macOS の Apple Intelligence の Writing Tools をコンテキストメニュー経由で使用できるようになりました...
記事を読むJavaでもローカル環境でWhisperを使って音声データ書き起こしをしたい
はじめに # 音声データを文字起こししたいというニーズは多くの場面で存在します。OpenAIがOSSで提供する Whisper は高精度な音声認識モデルとして注目を集めており、Python環境では比較的手軽に利用できます。しかし、業務や既存システムの都合でJava環境からWhisperを使いたいというケースもあるのではないでしょうか。 私自身、Javaベースのプロジェクトで音声データの書き起こしを行いたい場面があり、WhisperをなんとかJavaから使えないかと模索しました...
記事を読むIoT を使ってみる(その19:ESP32の LightSleep 機能で省電力運転に挑戦する)
はじめに # 以前の記事では ESP32 の DeepSleep 機能を活用して、長時間のバッテリー駆動を実現する方法を紹介しました。 今回はその発展として、LightSleep(ライトスリープ)機能に挑戦します。 LightSleep は DeepSleep ほどの電力削減はできないものの、システムの状態やメモリを保持したまま短時間で復帰できるのが特徴です。たとえば、外部入力にすばやく反応しながら電力も節約したい、というようなユースケースに向いています...
記事を読む「暗号の扉を開く2つの鍵」~公開鍵と秘密鍵の仕組みと、インターネットを守る暗号技術の話
あなたを守る2つの鍵 # ― 暗号の不思議な世界へようこそ ― # あなたの目の前に、1つの「金庫」があると想像してください。 この金庫は「銀行口座のパスワード」や「個人情報」など、他人に見られてはいけない大切な情報をしまっておくために使われます。 でも、この金庫はちょっと変わっています。開けたり閉めたりするには、2つの鍵が必要なのです...
記事を読むCCPM理論編:優秀なチームでも失敗?原因は「ボトルネック」!CCPM基礎のTOCを学ぶ
はじめに # 「優秀なメンバーで計画通りに進めているはずなのに、なぜかプロジェクトが遅延し、時には失敗してしまう…」 多くのプロジェクトで、このような経験はないでしょうか? その根本的な原因は、目に見えにくい 「ボトルネック(制約)」 にあるのかもしれません。 この「制約」に注目した手法が、 CCPM(Critical Chain Project Management) です...
記事を読むAWS AppSync Events のデータソース統合の使い方を整理する
昨年(2024年)に公開した以下の記事で、AWS AppSyncのEvent APIを紹介しました。 /blogs/2024/11/13/aws-appsync-events/ AppSyncといえばGraphQLが有名ですが、WebSocketベースのEvent APIが導入されたことで、リアルタイム通信がさらに簡単になりました。 それから約半年が経過し、Event APIには機能追加が続いています。 代表的なアップデートは次のとおりです...
記事を読む生成 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版が既に以下の記事で公開されています...
記事を読む「もう残業しない!」マルチタスクの罠から抜け出し、最速で成果を出す方法
はじめに # 「今日も残業か…」とため息をついていませんか? 多くの人が、複数のプロジェクトやタスクに追われ、マルチタスク状態から抜け出せずにいます。 「忙しいから仕方ない」と思いがちですが、実はそれが残業の原因かもしれません。 この記事では、マルチタスクの「罠」をゲーム形式で体験し、シングルタスクで「最速で成果を出す」ための具体的な方法を解説します。 「もう残業しない!」働き方を、一緒に実現しましょう。 マルチタスクとシングルタスク # 最初にマルチタスクとシングルタスクの説明を行います...
記事を読む