SLF4J 2.0のfluent logging APIでログ出力も流暢に
昨年8月にリリースされたSLF4J 2.0の一番の目玉はJava9で導入されたモジュールシステム対応ですが、もう一つの目玉としてfluent logging API(fluent API)の追加があります。ログ自体が地味な機能のためあまり注目されることはないですが、少し使ってみたところイイ感じだったので今回はこのAPIを紹介したいと思います。 旧来のAPIとfluent APIの比較 # 難しいAPIでもないので実際の例を見てもらうのが一番早いです...
記事を読む音声合成マークアップ言語 - Speech Synthesis Markup Language (SSML)
庄司です。 現在では様々なところで、コンピュータを使用した音声合成を聞くことができます。 音声合成のマークアップ言語の仕様として、W3C による「Speech Synthesis Markup Language (SSML) Version 1.1」があります。 この SSML をサポートするサービスには次のようなものがあります...
記事を読むTypeORMのスキーママイグレーションを使う
少し前ですがJavaScript/TypeScript版ORマッパーのTypeORMの導入記事を書きました。 この記事は予想に反して(?)多くのアクセスをいただいており、JavaScript/TypeScriptでのORマッパーの需要は結構高いのかなと思いました。 そこで今回は、その時に紹介できなかったTypeORMのスキーママイグレーションの機能についてご紹介しようと思います。 TypeORM Doc - Migrations 一般的にRDBではスキーマのバージョン管理は非常に重要です...
記事を読む新米スクラムマスターの思考メモ(その5 まとめ)
はじめに # 前回の記事よりも少し間が空いてしまいました。先月末で社内案件のスクラムチームから離れ、本業の教育案件の方に戻りました。 このシリーズの最終回として、私がスクラムについて感じたことをまとめてみたいと思います。今回も個人的主観を多分に含んでお送りします(笑)。 なお、Sprint Review や Refinementについては、今回は執筆を見送ることにしました。ということで、この記事が本シリーズの一応の最終回となります...
記事を読むアジャイル開発現場におけるTips:人の通り道でアピール
はじめに # 中佐藤です。今回もお客様内のスクラムマスターがやったことです。 何をしたかというと「他の社員が頻繁に通るところにパッケージデザインを掲示」しました。何の意味があるのか、解説していきます。 パッケージデザインとは # まずパッケージデザインについて補足します。アジャイル開発をしている方は「インセプションデッキ」をご存じの方が多いと思います。知らないという方はアジャイルサムライを読みましょう。 インセプションデッキは「10の質問と課題」で構成されていますが、そのうちのひとつです...
記事を読む品質保証者の憂鬱「管理か保証かそれが問題だ」
前回の投稿から随分と時間が空いてしまいました。 申し訳ありません。 前回は”品質”と品質保証部、その役割と課題などについて述べさせていただきました。 今回は”品質”というワードで必ず登場する”品質管理”と”品質保証”について、筆者の思うところを述べてみたいと思います。 新参者の品質保証者の悩み # 筆者が開発部門から品質保証部門に異動して間もない頃、品質保証部門は品質保証部員を、開発部門が開催するもろもろの会議(レビュー会議、進捗会議、フェーズ移行提案会議などなど)に積極的に送り込んでいました...
記事を読むVSCodeのESP-IDF拡張機能「Espressif IDF」を使ってみる
以前のIoT記事にてArduino IDEを紹介しましたが、いつも使用しているVSCode(Visual Studio Code)でESP32のプログラムを作成できたら便利だなと思っていました。 今回はVSCodeでESP32のプログラムが作成できる ESP-IDF拡張機能「Espressif IDF」を紹介します。 ESP-IDF とは # ESP-IDF は”ESP-IoT Development Framework” の略です...
記事を読むGitHub Packages - マルチレポによるライブラリ管理とGitHub ActionsとMavenを使ったCIの実行
マルチレポで管理しているモジュールのCIを行うにはパッケージレジストリが必要となります。今回はこのパッケージレジストリにGitHub Packagesを使った例を紹介します。 記事の背景 # Mavenは依存ライブラリをパッケージレジストリから取得しますが、実行対象のモジュール(jar)が他のリポジトリのモジュールに依存している場合、その依存ライブラリはパッケージレジストリ経由で取得する必要があります。このためマルチレポのCIではなんらかのパッケージレジストリが必要となります...
記事を読むKafka Streams パイプラインを迅速に作成できる ksqlDB を触ってみる
ksqlDB は、Kafka クラスター上にリアルタイム性の高いアプリケーションを構築するための、ストリーム処理に特化したデータベースです...
記事を読むアジャイル開発現場におけるTips:デイリーPO
はじめに # 中佐藤です。今回も私が考えたものではなく、お客様のチームの中で生まれたプラクティスです。 名付けて「デイリーPO」。(ほぼ)デイリーで、POからちょっとした業務知識を解説してもらう場を作るやり方です。 どんな場面で使えるか # このチームのレトロスペクティブで、「最近あんまりPOさんと話せてない」「もっとPOさんと絡みたい」という意見が開発者から出てきました...
記事を読むGitHub Pull Request マージキュー(beta)を試す
GitHub で PR のマージキューがパブリックベータになりました。 Pull request merge queue (public beta) | GitHub Changelog --> Information2023年7月12日にマージキューが GA になりました...
記事を読むTypeScript5で導入されたStage 3のDecoratorを眺めてみる
TypeScriptでDecoratorって使っていますか? DecoratorはJava等のオブジェクト指向言語ではお馴染みのアノテーションです。DI/AOP等のメタプログラミングでよく使われているものです。 Decorator自体はECMAScriptの仕様として、かなり昔(2014年)から存在していました。 現時点(v4.9)のTypeScriptでサポートしているDecoratorは、Stage 2(Draft)の仕様です...
記事を読むSystem.Loggerって知ってる? - Javaの標準Loggerインタフェースに今更気がついた
筆者が普段から使っているHelidonの4.0.0 ALPHA-4のリリースノートを眺めていたところ"Logging: Change JUL to System.Logger in most modules"という変更が目に留まり"System.Logger"ってなんだ?と調べてみたところ、なっ、なっ...
記事を読むWindowsでRust開発環境を作ってみる(VSCode+BuildTools+rustup)
最近はRustが人気と聞き、”技術ミーハー”な筆者としてはRustの開発環境を構築してみたくなりました。 Rustはプログラムの実行が高速であり、C/C++が不得意であったメモリの安全性を確保するなどの特徴を持ち、C/C++に取って代わるプログラミング言語になりえるステータスを持っています。 今回はWindows10+VSCode+BuildTools+rustupでRustの開発環境を構築してみようと思います...
記事を読むVue 3 と D3.js で作る可視化アプリ
筆者は Scrapbox を愛用しており、Scrapbox プロジェクトのページ間のグラフ構造を可視化するためのツールを作ったりしています。 GitHub - mamezou-tech/sbgraph: Fetch Scrapbox project data and visualize activities. このツールは Graphviz の dot 形式ファイルを出力するので手軽にグラフ構造の可視化が可能です[1]...
記事を読む機械学習モデル可視化ツール「Netron」を使ってみる
前回、ディープラーニングモデルのオープンフォーマット「ONNX(Open Neural Network Exchange)」を紹介しました。 その時に機械学習モデル可視化ツール「Netron」の存在を知りました。 今回は「Netron」を紹介したいと思います。 Netron って何? # Netronは、機械学習モデルを可視化するツールです。 ブラウザを含むクロスプラットフォームで動作します...
記事を読むペアワイズ法テストケース生成ツール「PictMaster」の直交表を使う
前回はペアワイズ法テストケース生成ツール「PictMaster」の”原型シート”機能(因子編)について紹介しました。 今回はペアワイズ法ではなく直交表を使って組み合わせテストケースを生成してみます。 直交表ってなに? # 直交表とは,複数の因子・水準の組み合わせにおいて、任意の2因子について「水準の組み合わせが同じ回数だけ現れる」という性質をもつ”組み合わせ表”を指します。 複数因子・水準を組み合わせてテストする時、因子間に「交互作用」が存在すると、テスト結果が影響を受ける場合があります...
記事を読むディープラーニングモデルのオープンフォーマット「ONNX(Open Neural Network Exchange)」を使ってみる
ディープラーニング・アプリケーション開発キット”OpenVINO”を調べていた時、「ONNX」という単語に出会いました。 筆者の知らない単語だったので調べてみると、ONNX は「ディープラーニングモデルのオープンフォーマット」であることがわかりました。 今回はディープラーニングモデルのオープンフォーマット「ONNX」を紹介したいと思います...
記事を読むAstro 2.0 + MDX + Recharts で Markdown ページにインタラクティブなチャートを描画する
人気の静的サイトジェネレーター Astro 2.0 がリリースされました。 Astro 2.0 | Astro Content Collections API、Hybrid Rendering、Hot Module Reloading などの新機能が追加されました。 --> InformationAstro の概要については、昨年9月に1.0がリリースされた時記事にしましたので、参考にしてください...
記事を読むDocker+Wasm で WASM をコンテナとして実行する
昨年10月に Docker+Wasm がテクニカルプレビューとして発表されました。WebAssembly ランタイムをターゲットとしてビルドされた WASM バイナリーを OCI 互換の環境で実行できるようにするものです。 Introducing the Docker+Wasm Technical Preview | Docker ブログから、Docker+Wasm の実行イメージを引用します...
記事を読む