Node.js
CI/CD のパイプラインを定義するためのツール Dagger を使って Node.js アプリのビルドを試してみました。 Dagger v0.2.7 今回使用したソースは こちら sample1. echo の実施 まずは以下の処理を Dagger で実施してみます。 (1) ローカルの input.txt ファイ…
Amplify AppSync Simulator は、AWS Amplify CLI に含まれているモジュールで、AppSync をローカル環境で動作確認するためのものです。(AppSync の GraphQL を処理する Web サーバーが起動するようになっている) ソースコードを見てみたところ、AppSync 用…
AWS Lambda では、(Lambda 関数の)ランタイムがランタイム API(ランタイムインターフェース)から呼び出しイベントを受け取って、関数ハンドラーを実行し、その結果をランタイム API へ返すような流れで処理が実施されているようです。 AWS Lambda 実行環…
従来のイベントソーシングのような手法だと、特定の State(というよりは Entity かも)を永続化するための手段として Event を用いるというような、あくまでも State 中心の発想になると思います。 そこで、ここでは下記のような Event 中心の発想に切り替…
gRPC 上で GraphQL を扱う GraphQL over gRPC 的な処理を Node.js で試しに実装してみました。 今回のコードは http://github.com/fits/try_samples/tree/master/blog/20201124/ はじめに GraphQL はクエリ言語なので基本的に通信プロトコルには依存していま…
「gRPC Server Reflection のクライアント処理」では Node.js で gRPC クライアントを実装しましたが、今回はサーバー側も実装してみます。 gRPC on Node.js サンプルコードは http://github.com/fits/try_samples/tree/master/blog/20201115/ はじめに gRPC…
Rust で WASI 対応の WebAssembly を作って、スタンドアロン実行や Web ブラウザ上での実行を試してみました。 WASI(WebAssembly System Interface) は WebAssembly のコードを様々なプラットフォームで実行するためのインターフェースで、これに対応した …
Moleculer という名のなかなか期待できそうな Node.js 用マイクロサービスフレームワークを見つけたのでご紹介します。 Moleculer 0.14.2 ロードバランサー、サーキットブレーカー、メトリクス収集、トレーシング、キャッシュ機能等、多彩な機能を備えていま…
Ramda を使って入れ子になったオブジェクトをフラットにする処理を考えてみました。 ソースは http://github.com/fits/try_samples/tree/master/blog/20200216/ サンプル1 まずは、以下のように入れ子になったオブジェクトを使って { item: { name: 'item-1'…
前回 の続きで、今回は Odoo の在庫モジュールを JSON-RPC で操作し在庫移動(顧客への出荷)を処理してみます。 ソースは http://github.com/fits/try_samples/tree/master/blog/20200112/ 在庫管理 Odoo の画面では在庫移動(顧客への出荷等)を以下のよう…
Python で実装されたオープンソース ERP である Odoo の在庫モジュールを JSON-RPC を使って操作してみました。 Odoo 13.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20200112/ はじめに Docker で PostgreSQL と Odoo を実行しておき…
gRPC Server Reflection を呼び出す処理を Node.js で実装してみました。 ソースは http://github.com/fits/try_samples/tree/master/blog/20191008/ 事前準備(サーバー実装) まずは、gRPC Server Reflection を有効にしたサーバー処理を用意します。 Node…
Pulumi は JavaScript・Python・Go のようなプログラミング言語で Infrastructure as Code するためのツールです。 今回は、この Pulumi を使って Kubernetes(k3s を使用)へカスタムリソースを登録してみます。 Pulumi k3s(Lightweight Kubernetes) ソー…
前回 はランドマーク検出対象の画像サイズを固定(256x256)しましたが、今回は任意の画像サイズに対応できるように改造してみます。 Keras.js 1.0.3 ソースは http://github.com/fits/try_samples/tree/master/blog/20190506/ 可変サイズ対応 ドラッグアン…
前回の 「CNN でランドマーク検出」 の学習済みモデルを Keras.js を使って Web ブラウザ上で実行できるようにしてみます。 Keras.js 1.0.3 ソースは http://github.com/fits/try_samples/tree/master/blog/20190331/ 準備 npm で Keras.js をインストールし…
funfix は JavaScript, TypeScript, Flow の関数型プログラミング用ライブラリで、Fantasy Land や Static Land ※ に準拠し Scala の Option, Either, Try, Future 等と同等の型が用意されているようです。 ※ JavaScript 用に Monoid や Monad 等の代数的構…
Kubernetes の Watch API を下記クライアントライブラリを使って試してみました。 Javascript Kubernetes Client ソースは http://github.com/fits/try_samples/tree/master/blog/20180409/ はじめに 下記のコマンドを実行して Javascript Kubernetes Client…
JavaScript 用の関数型ライブラリ Ramda で階層的なグルーピングを行ってみます。 Ramda v0.25.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20180220/ はじめに 概要 今回は、以下のデータに対して階層的なグルーピングと集計処理を適…
以下の MQTT Broker をそれぞれローカルで実行してみました。 Mosca Moquette ソースは http://github.com/fits/try_samples/tree/master/blog/20170910/ Mosca Mosca は Node.js 用の MQTT Broker です。 npm でインストールして mosca コマンドで実行でき…
前回、HAR (HTTP ARchive) ファイルから Python で作成した散布図を D3.js を使って SVG として作ってみました。 D3.js 4.8.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20170515/ はじめに Node.js で D3.js を使用するために d3 と…
「node-ffi で OpenCL を使う」 に続き、Node.js を使って OpenCL の演算を実施してみます。 node-ffi サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20160725/ はじめに 演算の実行には ref-array モジュールを使った方が便利なた…
前回の 「node-ffi で OpenCL を使う」 では Windows 上で Node.js から OpenCL の API を呼び出してみましたが、これを Linux 上で行うために OpenCL の実行環境を Docker で構築してみました。 OpenCL の実行環境として pocl を使い、Linux は Fedora を使…
Windows 環境で node-ffi (Node.js Foreign Function Interface) を使って OpenCL の API を呼び出してみました。 Node.js v6.2.2 (64bit Windows版) node-ffi サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20160627/ なお、OpenC…
前回 の続きです。 今回は畳み込みニューラルネットを使って MNIST の手書き数字を分類してみます。 Node.js 5.8.0 ConvNetJS 0.3.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20160328/ 準備 誤差・正解率のグラフ化と畳み込みフィル…
Node.js で ConvNetJS を使って MNIST の手書き数字を分類してみます。 今回は階層型ニューラルネット、次回は畳み込みニューラルネットを試す予定です。 Node.js 5.8.0 ConvNetJS 0.3.0 ソースは http://github.com/fits/try_samples/tree/master/blog/2016…
MNIST データセットは、THE MNIST DATABASE of handwritten digits からダウンロード可能な手書き数字のデータです。 機械学習ライブラリ等に標準で用意されてたりしますが、 今回は Node.js と Java でパースしてみました。 ソースは http://github.com/fit…
前回、(ConvNetJS による処理結果を)折れ線グラフ化した方法に関して書いておきます。 D3.js ソースは http://github.com/fits/try_samples/tree/master/blog/20160222/ 準備 Node.js で D3.js を使うには、下記モジュールを npm でインストールします。 d…
ニューラルネット用の JavaScript ライブラリ ConvNetJS を使って iris の分類を行ってみました。 ConvNetJS 0.3.0 ConvNetJS は Web ブラウザ上でも実行できますが、今回は Node.js で実行します。 ソースは http://github.com/fits/try_samples/tree/maste…
リアクティブプログラミング用ライブラリの Bacon.js を Node.js 上で使用し、「RxJS で行単位のファイル処理」 で試したような skip・take 処理のサンプルを実装してみました。 Bacon.js ソースは http://github.com/fits/try_samples/tree/master/blog/201…
前回に続き、今回も Roy を試してみます。 Roy ではモナドを使った do 記法を使えるようなので、JavaScript で List モナド - Monadic 等で試したチェスのナイト移動の List モナド処理を同じように実装してみました。 Roy 0.2.2 ソースは http://github.com…