2022-01-01から1年間の記事一覧

GraphQL.js の buildSchema でカスタムScalar型を使う

GraphQL.js の buildSchema でカスタム Scalar 型を利用してみました。 サンプルコードは こちら はじめに GraphQL.js では Scalar 型を GraphQLScalarType のインスタンスとして実装するようになっており、ID (GraphQLID) や Int (GraphQLInt) 等の基本的な…

AWS SDK for Go v2 でカスタムエンドポイントを使用 - MinIO へ接続

AWS SDK for Go v2 を使って S3 互換の MinIO へ接続してみました。 今回のサンプルコードは こちら はじめに 初期化(プロジェクトの作成)を実施します。 > go mod init sample AWS SDK for Go v2 で S3 を扱うための依存モジュールを追加します。 > go ge…

Spring Native でリフレクションを使ったメソッドの取得

Java の下記インスタンスに対して、それぞれ getClass().getDeclaredMethods() する処理を Spring Native でネイティブイメージ化するとどうなるのか試してみました。 (a) インナークラス (b) レコードクラス (c) ラムダ式 結果として、(a) は特に問題なし、…

SeaORM でテーブル作成とデータ操作

github で SeaORM という Rust 用の ORM を見つけたので軽く試してみました。 SeaORM 0.8 sea-orm-cli というツールを使うと、既存のテーブルから Entity 定義を自動生成してくれるようですが、ここでは自前で定義した Entity を基にテーブル作成とデータ操…

Dagger で Node.js アプリをビルドする

CI/CD のパイプラインを定義するためのツール Dagger を使って Node.js アプリのビルドを試してみました。 Dagger v0.2.7 今回使用したソースは こちら sample1. echo の実施 まずは以下の処理を Dagger で実施してみます。 (1) ローカルの input.txt ファイ…

sqlparse で SQL から更新対象のカラムを抽出

sqlparse を使って SQL の UPDATE 文から更新対象のカラムを抽出してみます。 ソースコードは こちら はじめに 更新対象のカラムを抽出するにはパース結果のトークンの中から該当部分を探して値を取得します。 例えば、以下のような UPDATE 文をパースすると…

juniper による GraphQL の処理を WebAssembly 化する

juniper を使った GraphQL の処理を WebAssembly 化し、Deno 用の JavaScript で実行してみました。 juniper v0.15.9 ソースコードは https://github.com/fits/try_samples/tree/master/blog/20220224/ はじめに 今回は wasm-bindgen と wasm-pack を使いま…

docker run 時に Kuromoji をインストールして Elasticsearch を実行

下記のオフィシャルな Docker イメージだとプラグインが導入されておらず Kuromoji を使えません。 https://hub.docker.com/_/elasticsearch そこで、docker run 時に Kuromoji をインストールして Elasticsearch を実行してみました。 はじめに Elasticsear…

辞書ベースの日本語 Tokenizer - Kuromoji, Sudachi, Fugashi, Kagome, Lindera

辞書をベースに処理する日本語 Tokenizer のいくつかをコードを書いて実行してみました。 (a) Lucene Kuromoji (b) atilika Kuromoji (c) Sudachi (d) Kuromoji.js (e) Fugashi (f) Kagome (g) Lindera 今回は以下の文を処理して分割された単語と品詞を出力…