豆蔵オリジナルロボットBEANus
はじめに # 豆蔵は2013年よりロボットシステム開発の支援およびコンサルティングを行っています。 もともとソフトウェアの開発が強みの会社ですが、メカやエレキも含めた総合的な支援を行っています。 BEANusはこれまで培った知見をもとに生まれた豆蔵のオリジナルロボットです。 Bean(豆)とVenus(ヴィーナス)からとってBEANusと名付けられました。 BEANusシリーズはBeausとBEANus2の2機種があります...
記事を読むジュールシーフ回路を使って乾電池1本で白色LEDを点灯させてみる
今回は電子工作の小ネタをやってみたいと思います。 お題は「使い古した乾電池1本で白色LEDを点灯させる」です。 乾電池1本の電圧ってどれくらいか? # 乾電池1本の電圧ってどれくらいかを知っておこうと思います。 よく使用される単3アルカリ乾電池を例にとると、使い始めの電圧は通常1.5ボルト程度です。 電圧は比較的一定で推移しますが、使用されるにつれて徐々に電圧が下がります...
記事を読む東京 POP もできた Wasmer Edge (Beta) を試す
はじめに # Wasmer から Wasmer Edge (Beta) の GA と東京など新たな拠点の追加が発表されました。 Wasmer Edge (Beta) is now Generally Available · Blog · Wasmer Wasmer Edge は WASM(Webassembly) ランタイムを利用して構築されたクラウドプラットフォームです...
記事を読むRaspberry Pi PicoとAndroidスマートフォンでオシロスコープを構築する
以前、Raspberry Pi PicoをRaspberry Pi デバッグプローブとPlatform IOを使ってデバッグする方法を紹介しました。 今回はRaspberry Pi PicoとAndroidスマートフォンを使って簡易的なオシロスコープを構築してみたいと思います。 Raspberry Pi Picoとは # Raspberry PiシリーズはARMプロセッサを搭載したシングルボードコンピュータです。 最近発売された最新モデルはモデル5でしょうか...
記事を読むPyGameでボイドモデルのシミュレーションをしよう
はじめに # ボイドモデルという人工生命モデルを知っていますか? 人工生命と言われると、なにやら高度な技術を使って生命を作り出すような感じがしますが、調べてみるとどうやら鳥の動きを再現するシミュレーションのようです。 しかも割と簡単なプログラミングでできるっぽい! 本物の鳥は頭脳があるのであくまで動きを再現するだけですが、 ちょっと試してみたいと思い今回は以下の文献を参考にして、PyGameでボイドモデルをシミュレーションしてみました...
記事を読むPulumiベースのSST(v3)でサーバーレスアプリケーションをデプロイする
AWS Lambdaを始めとするサーバーレスアプリケーションのデプロイに何を使っていますか? Serverless FrameworkやSAM(Serverless Application Model)、AWS CDK、Terraform等、数多くの選択肢がありどれを使うか悩みますね。 その中でも、CloudFormationをベースにするServerless Frameworkは結構普及したと思いますが、v4からは一定規模以上の組織では有償化される予定です[1]...
記事を読むC++でProtocol Buffersを使ってみる
アプリケーション内で利用しているデータをプロセス間で送受信したり、データをファイルシステムやデータベースに保存・復元したいという状況がよくあります。そのためオブジェクト⇔JSONやオブジェクト⇔XMLなど変換するライブラリが豊富にありますがProtocol Buffersも選択肢の1つとなります。 本記事は以前C++でProtocol Buffersを利用したときの備忘録の内容を元に「ちょっとした小技」を紹介します...
記事を読むElectron に BrowserView を置き換える WebContentsView が実装されたので見てみる
はじめに # Electron v29 のリリースで将来的に BrowserView の置き換えとなる WebContentsView の実装が入りました。 Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. Release electron v29.0.0 · electron/electron 取り込まれた PR は以下です...
記事を読むGitLabレビューコメントを解析!5つのステップでレビュー傾向分析に活用できるデータを抽出する方法
概要 # GitLab上のレビューコメントを収集したいという要望があり、そんなのAPIを順に呼べば楽勝でしょと思って実装したところ、思わぬところでハマったので備忘を兼ねて記事にしました...
記事を読むGitHub Copilot in the CLI にコマンド入力を手伝ってもらう
はじめに # GitHub Copilot は VS Code などのコードエディタの拡張として機能します。GitHub Copilot in the CLI を使用すると、ターミナルでのコマンド入力においても Copilot の支援を受けることができます。 GitHub の Blog でも動画付きで紹介されています...
記事を読むIoT を使ってみる(その15:ESP32のディープスリープで長時間バッテリー駆動に挑戦)
前回は有機ELディスプレイ(OLED)「SSD1306」を紹介しました。 今回はIoTデバイス「ESP32」を長時間バッテリー駆動する際に必須とも言える「DeepSleep」機能を使ってみたいと思います。 ESP32は意外と電力を食う # ESP32 は非常に安価でありながらWi-FiやBluetoothが使える超お得マイコンです。 以前の回でもESP32について紹介しました。 開発ボードの大きさもマッチ箱程度(最近マッチ箱を見ませんが)であり、IoT機器として利用するには非常に便利です...
記事を読むAWS Lambda向け高速JavaScriptランタイム LLRT(ベータ版) を使う
AWS Lambdaのようなオンデマンドなサービスでは、コールドスタートによる遅延が問題になることがあります。 もちろん使用するランタイム環境によって大小ありますが、Node.jsのような比較的軽量なランタイム環境でもコールドスタートによる遅延は発生します。 最近以下の記事を読みました。 Publickey - AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開...
記事を読む7歳娘「パパのサービスクラス、肥大化しそうだよ?」
とある休日の我が家 # ワイ「おいおい」 ワイ「ワイって天才とちゃうか?」 ワイ「(カタカタカタ...)」 ワイ「(ッターーーン!!!)」 ワイ「あ、死んだ」 娘(7歳)「パパ、今日は何してるの?」 ワイ「おお、娘ちゃん」 ワイ「今日はな、SpringBootでサービスクラスを実装するお勉強してねん」 ワイ「お題はシンプルにタスク管理ツールや!」 娘「わぁ、すごい!」 ワイ「ゲヘヘ///」 ワイ「せやろ〜?」 娘「ちょっと、見ても良い?」 ワイ「おお...
記事を読むNuxt3 - 単体テスト後編 - モック・スタブ用のユーティリティを使う
前回はNuxt3の単体テスト方法として以下の内容を見てきました。 Nuxtのテストユーティリティ(@nuxt/test-utils)をセットアップする テスト用のNuxt環境上でNuxtコンポーネントをマウントしてテストを書く 後半となる今回は、テストユーティリティが提供するモック・スタブに関する機能について見てみたいと思います。 --> InformationここではVitest自体のモック機能について詳細は触れません。 少し昔のものですが、以下の記事でVitestの概要をご紹介してます...
記事を読むTart で macOS / Linux の仮想マシンを使う
はじめに # 筆者が Intel 版 MacBook を使っていた時 VirtualBox や VMware Fusion などの仮想化ソフトウェアを常用していました。M1 の MacBook に移行した当初これらのソフトウェアが対応しておらず、そのまま使わなくなってしまいました[1]。先日 Tart という仮想化ツールで Apple Silicon Mac への仮想マシン導入が簡単にできることを知ったのでご紹介します...
記事を読むNuxt3 - 単体テスト前編 - セットアップ・コンポーネントをマウントする
Nuxt3がリリースされて結構時間が経ちました。その間にも様々な改良が施されて今では成熟したフレームワークになったと言えるかと思います。 ただ、リリースしてしばらくの間はテストに関するドキュメントはほとんどなく手探りの状態でした。それから時が流れ、ふと公式ドキュメントを見ると、現在はテストユーティリティやドキュメントが充実してきました。 ということで、複数回に分けてNuxt3のテストを整理してみたいと思います...
記事を読むGitHub Actions Runner Controller (ARC) をk3sにインストール
こんにちは、庄司です。 k3s は現在 x86_64、armhf、arm64/aarch64 と s390x アーキテクチャをサポートしています。また、GitHub Actions Runner Controller (ARC) の runner イメージは linux/amd64 (つまり x86_64) と linux/arm64 (つまり arm64/aarch64) をサポートしています...
記事を読む東洋哲学とスクラム
はじめに # 初めまして、アジャイルグループの石田です。去年の10月付で豆蔵に入社しました。 まずは軽い自己紹介も兼ねて、今回のタイトルの導入としたいと思います。 私がスクラムに出会ったのは本当にごく最近、2022年の春です。 前職のユーザー企業でのプロジェクトの中で、アジャイル開発のPoCを行うために、スクラムマスターという役割を任せていただいたのがきっかけでした...
記事を読むOpen62541を使用したOPC-UAクライアント開発
はじめに # 前回の記事 # 前回の記事(こちら)では、OPC-UAの概要やOpen62541のインストール方法について説明しました。 本記事を読む前にご覧ください。 本記事の目的 # 本記事では、下記の事項について説明します。 OPC-UA Clientのサンプル作成 サーバに登録した変数への読み書き サーバに登録した関数の呼び出し 開発環境 # 必要なライブラリ・ツール # 開発にあたって、下記のライブラリ・ツールを使用します...
記事を読むエアーギャップ環境のエッジデバイスにk3sをインストールする
こんにちは、庄司です。 筆者は遠隔地にある事務所の PC にソフトウェアをインストールする仕事をしていたことがあります。この時代インターネットはなく、何枚ものフロッピーディスクを持って事務所を訪問し、手順書をもとに数時間かけてインストールしていました。この記事のタイトルにあるエアーギャップ環境とはこのような環境をいいます。インターネットに常時接続された環境が一般的となり、ネットワークにつながっていない環境の方が特殊となりエアーギャップ環境と呼ばれるようになりました...
記事を読む