JavaScript
辞書をベースに処理する日本語 Tokenizer のいくつかをコードを書いて実行してみました。 (a) Lucene Kuromoji (b) atilika Kuromoji (c) Sudachi (d) Kuromoji.js (e) Fugashi (f) Kagome (g) Lindera 今回は以下の文を処理して分割された単語と品詞を出力…
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…
GraphQL を Deno で試してみました。 https://deno.land/x に Deno 用の GraphQL モジュールがいくつかありましたが(基本的には GraphQL.js のポーティング)、ここでは GraphQL.js を直接使う事にします。 GraphQL.js v15.3.0 今回のサンプルコードは http…
Node.js の製作者が新たに作り直した Deno という JavaScript/TypeScript 実行環境があります。 Deno の内部では、V8 JavaScript エンジンの呼び出しに rusty_v8 という Rust 用バインディングを使っていたので、今回はこの rusty_v8 を使って Rust コード内…
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'…
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/ はじめに 概要 今回は、以下のデータに対して階層的なグルーピングと集計処理を適…
前回、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 モジュールを使った方が便利なた…
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…
PureScript の下記ライブラリを使って簡単な DOM 操作を試してみました。 purescript-dom purescript-simple-dom ソースは http://github.com/fits/try_samples/tree/master/blog/20160125/ はじめに PureScript を使って実装するものと同等の処理を JavaScr…
仮想 DOM を扱うための JavaScript 用ライブラリ virtual-dom では ev-xxx (例. ev-click) でイベント処理を扱えるようになっていますが、実際に機能させるには dom-delegator が必要なようです。 virtual-dom 2.1.1 dom-delegator 13.1.0 virtual-dom は …
PureScript 用のビルドツールに pulp があります。 pulp を使えば PureScript v0.7 から多少面倒になったビルドや実行が比較的容易になります。 pulp インストール Node.js の npm で purescript (コンパイラ) と pulp をインストールします。 pulp インス…
Excel Builder (.js) を使って、Web ブラウザ上で動的に Excel ファイル (.xlsx) を作成し、ダウンロードする方法をご紹介します。 ソースは http://github.com/fits/try_samples/tree/master/blog/20150822/ サンプル作成 まずは、HTML を用意します。 今…
リアクティブプログラミング用ライブラリの 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…
Groovy, Scala, F#, Haskell による関数・クロージャの合成 や Java SE 8 で関数合成 で実施したものと同様の関数合成を Roy で試してみました。 Roy は JavaScript へコンパイルできる関数型のプログラミング言語です。 Roy 0.2.2 ソースは http://github.c…