UTF-8 の体系 UTF-8 エンコード UTF-8 のバイト判定 UTF-8 の体系 UTF-8では、Unicode文字を 1~4 バイトの可変長で表現する符号化方式です。 U+0000 から U+007f つまり、0-127 の範囲は US-ASCII と互換性があります。 各Unicode範囲において以下のような…
はじめに QRコードの生成 エンコードヒントの指定 QRコードのバージョンと誤り訂正レベル バージョン1(21x21) バージョン2(25x25) バージョン3(29x29) バージョン4(33x33) バージョン5(37x37) バージョン6(41x41) はじめに Java で手っ取り早くQRコードを生…
Trie(prefix tree) とは 単純な Trie の実装 Trie へのデータ登録処理 Trie での検索処理 Trie の動作 Trie の改良 Trie によるサジェスト 辞書の削除 まとめ Trie(prefix tree) とは ある文字列が辞書に含まれるかどうかを高速に検索できるのが、Trie です…
Java 内部の文字エンコードは UTF-16 Unicode Supplementary Character Java 5 の Unicode サポート Unicode の各エンコード UTF-8 エンコード UTF-16 エンコード Java 9 の Compact Strings 補助文字の扱い 文字の長さ コードポイント値の取得 コードポイン…
準備 ワークブック(Workbook) ワークブックの新規生成 ワークブックを開く ワークブックを保存する シート(Sheet) シート名を指定してシートを取得する シート番号を指定してシートを取得する アクティブなシートを取得する 全てのシート名を取得する 新規シ…
はじめに タスク登録 タスク一覧 タスク削除 はじめに タスクスケジューラ 操作用の schtasks コマンドのチートシートです。 Windows で定期的な処理を行う場合には、タスクスケジューラを利用すると思います。 Windows10 からは at コマンドが廃止されまし…
blog1.mammb.com Rust ライブラリは、動的リンクライブラリとしてビルドすることで、WebAssembly ライブラリを作成できます。 ここでは、WebAssembly ライブラリから、JavaScript 関数の呼び出し方法を説明します。 cargo でライブラリプロジェクトを作成し…
blog1.mammb.com Rust ライブラリは、動的リンクライブラリとしてビルドすることで、WebAssembly ライブラリを作成できます。 作成した WebAssembly ライブラリは、他の言語などからロードしてライブラリを利用できるようになります。 cargo でライブラリプ…
Diátaxisとは Tutorials How-to guides Reference Explanation Diátaxisとは Diátaxisとはテクニカルドキュメントの構造化フレームワークです。 ユーザーのニーズの体系的な説明と分析に基づいて文書構造を規定するスキームを提供し、多くのソフトウェアのテ…
blog1.mammb.com WebAssembly のテキスト表現 WAT とは WebAssembly には、バイナリー形式の WASM の他に、人間が読んだり編集したりできるテキスト表現である WAT が定義されています。 テキスト形式ではモジュールは 1 つの大きな S 式として表現されます…
blog1.mammb.com cargo-wasi とは cargo-wasi は Cargo のサブコマンドとして利用でき、Rust コードの WebAssembly コンパイルを簡単にします。 cargo-wasi を利用することで、以下に示すビルトインのデフォルト処理が行われます wasm32-wasi ターゲットの管…
ブランチ名の変更 $ git branch -m master main 変更したブランチの Push $ git push -u origin main HEAD参照の変更 $ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main Github 上でデフォルトブランチ変更 ブランチの設定からデフォル…
blog1.mammb.com WebAssemblyターゲットの追加 Rust には、ビルドターゲットとして WebAssembly のサポートがあります。 ビルド時の --target フラグでターゲットを指定することで、WASMへコンパイルすることができます。 WASMのビルドターゲットには以下が…
blog1.mammb.com Wasmtime command line tool のインストール手順です。 macOS へのインストール (brew) macOS で brew の場合は以下でインストールします。 $ brew install wasmtime $ wasmtime -V wasmtime 17.0.0 Linux / macOS へのインストール Linux …
Playwright とは インストール アップデート テストの実行 テストの宣言 テストフィクスチャ Locators アサーション テストコードの記録 まとめ Playwright とは Selenium ・ Selenide ・ Cypress などと同様な E2E テストツールで、MS により OSS として開…
適宜追記していきます。 WebAssembly ランタイム Wasmtime のインストール - A Memorandum Rust で WebAssembly へコンパイルするには - A Memorandum cargo-wasi で WebAssembly コンパイルするには - A Memorandum WebAssembly のテキスト表現 WAT を WASM…
blog1.mammb.com Gradle 6.7 以降で Java ツールチェーンを利用できるようになりました。Java ツールチェーンを使うことで、要件に合う JRE/JDK を自動検出し、見つからない場合には自動的にダウンロードしてビルドすることができます。 build.gradle.kts(bu…
随時更新の Gradle 逆引き辞典です。 Gradle 設定 Gradle をバージョンアップする メッセージの不要なローカライズを無効化する Unable to find a usable idle daemon で応答しない場合の対処法 JCenter は2022年2月で終了しました ビルドスクリプトで IDEA …
blog1.mammb.com Gradel プロジェクトのルートディレクトリで以下のコマンドを実行します。 $ ./gradlew wrapper --gradle-version=7.X.X 推奨はされていませんが gradle/wrapper/gradle-wrapper.properties の以下を希望のバージョンに書き換えることもでき…
はじめに Unified Platform(統一されたプラットフォーム) What? Why? コメント Add New Specifications(新しい仕様の導入) What? Why? コメント Leverage Latest Java(最新のJavaを活用) What? Why? コメント Enable Community Innovation(コミュニティ・イ…
はじめに プロジェクトの作成 アノテーションプロセッサの設定 アノテーションの作成 プロセッサの作成 要素からアクセサーを取得する アクセサーのtoString()を行うコードを生成 クラス生成 テストの実行 まとめ はじめに 以下では、Java アノテーションプ…
はじめに Pluggable Annotation Processing アノテーションプロセッサ アノテーションプロセッサの実行 ProcessingEnvironment と RoundEnvironment Element と TypeMirror Element TypeMirror AnnotationMirror Elements と Types Filer まとめ はじめに Ja…
JetBrains Fleet とは Fleet の導入 Toolbox App のインストール Fleet のインストール Fleet の起動 まとめ JetBrains Fleet とは 先日公開された JetBrains による新しいIDEです。機能としては以下のように紹介されています。 JetBrains 製の Visual Studi…
JSON Pointer とは JSON Pointer の構文 JSON Pointer のエスケープ JSON 配列の指定 Relative JSON Pointer JSON Pointer とは JSON Pointer は、Jsonドキュメント内の特定の値へのパスを定義する文字列構文です。 www.rfc-editor.org 大まかに言えば、ルー…
はじめに Vite によるプロジェクト作成 todo-list コンポーネントの作成 ToDo アイテムの追加 ToDo アイテムのトグル ToDo アイテムの消込 まとめ はじめに Web components ベースのフロントエンドUIフレームワーク Lit の入門記事です。 前回は Lit コンポ…
はじめに Lit コンポーネント HTMLElementTagNameMap リアクティブプロパティ プロパティオブジェクトの更新 内部リアクティブステート(Internal reactive state) レンダリング Lit テンプレート 式 ブール属性 プロパティ式 イベントリスナ テンプレートの…
はじめに 公式スタータキット Vite スタータプロジェクト Vite プロジェクトの構成 まとめ はじめに Web components ベースのフロントエンドUIフレームワーク Lit の入門記事です。 前回は Lit の概要について説明しました。 blog1.mammb.com 今回は、実際の…
Lit とは Web Components Lit による最小限の Web Components Lit プロジェクトの準備 my-element コンポーネントの作成 ビルドと実行 宣言型イベントリスナー まとめ Lit とは Google の Chrome チームにより始まった Polymer -> LitElement -> Lit と変遷…
テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data …
はじめに SOLID 原則 CUPID とは Composable(組み立て易い) Small surface area(小さな表面積) Intention-revealing(意図を明確に) Minimal dependencies(依存は最小限に) Unix philosophy(Unix哲学) A simple, consistent model(シンプルで一貫性のあるモデ…