タグ

2020年11月23日のブックマーク (9件)

  • JavaScript Primer - 迷わないための入門書

    文字列とUnicode 「文字列」の章で紹介したように、JavaScriptは文字コードとしてUnicodeを採用し、エンコード方式としてUTF-16を採用しています。 このUTF-16を採用しているのは、あくまでJavaScriptの内部で文字列を扱う際の文字コード(内部コード)です。 そのため、コードを書いたファイル自体の文字コード(外部コード)は、UTF-8のようにUTF-16以外の文字コードであっても問題ありません。 「文字列」の章では、これらの文字コードは意識していなかったように、内部的にどのような文字コードで扱っているかは意識せずに文字列処理ができます。 しかし、JavaScriptのStringオブジェクトにはこの文字コード(Unicode)に特化したAPIもあります。 また、絵文字を含む特定の文字を扱う際や「文字数」を数えるという場合には、内部コードであるUTF-16を意識

    JavaScript Primer - 迷わないための入門書
    nilab
    nilab 2020/11/23
    「String#lengthプロパティは、文字列を構成するCode Unitの個数を表すプロパティです」「Array.fromメソッドによって1文字(厳密にはCode Point)ごと区切った配列へと変換できます」
  • String: length - JavaScript | MDN

    このプロパティは、文字列内のコード単位の数を返します。JavaScript では UTF-16 エンコーディングを使用しており、すべての Unicode 文字が 1 つまたは 2 つのコード単位にエンコードされるため、length で返される値は文字列の実際の Unicode 文字数に一致しない可能性があります。よく使われるラテン、キリル、有名な漢字などはこのような問題にはなりませんが、絵文字数学記号、難しい漢字などのような特定の文字体系では、length で返される値が文字列の実際の文字数と一致しなくなる可能性があるので、コード単位数と文字数の違いを考慮する必要があるかもしれません。 言語の仕様書では、文字列の最大長が 253 - 1 要素と制定されており、これは正確に表せる整数の上限となっています。しかし、この長さの文字列は 16,384TiB のストレージを必要とし、これは一般的な

    String: length - JavaScript | MDN
    nilab
    nilab 2020/11/23
    「length プロパティは String オブジェクトの文字列長を UTF-16 コード単位で表します」
  • JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io

    Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID

    JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io
    nilab
    nilab 2020/11/23
    「JS が内部で保持している UTF-16 の配列を、元の Unicode の Code Point の配列に戻せば良さそう」
  • Node.js Connection Options

    nilab
    nilab 2020/11/23
    Node.js Connection Options - MariaDB Knowledge Base
  • MariaDBとMroongaで作る全言語対応超高速全文検索システム

    MariaDBには超高速な全文検索を実現するMroongaストレージエンジンがバンドルされていることを知っていますか?Mroongaを使うと日語だけでなくアジア圏の言語も含むすべての言語をサポートした超高速な全文検索システムを簡単に作ることができます。どれだけ簡単に作ることができるか紹介します。Read less

    MariaDBとMroongaで作る全言語対応超高速全文検索システム
    nilab
    nilab 2020/11/23
    「Mroongaを使うと日本語だけでなくアジア圏の言語も含むすべての言語をサポートした超高速な全文検索システムを簡単に作ることができます」
  • くにさく

    nilab
    nilab 2020/11/23
    くにさく 国会会議録検索エンジン
  • 国産の全文検索エンジンGroongaのインストール方法や使い方とNode.jsから利用する方法です。

    全文検索エンジンGroongaのインストール方法や使い方とNode.jsから利用する方法です。 目次 国産の全文検索エンジンGroongaをNode.jsで使う環境GroongaのインストールCLIクライントNode.jsでGroonga全文検索全文検索コードのサンプルサンプルコードを実行コメント環境Ubuntu 16.04.6 LTSGroonga v9.0.9Node.js v8.11.3nroonga v0.4.1Groongaのインストールaptでインストール: $ sudo apt-get -y install software-properties-common $ sudo add-apt-repository -y universe $ sudo add-apt-repository -y ppa:groonga/ppa $ sudo apt-get update # gr

    nilab
    nilab 2020/11/23
    国産の全文検索エンジンGroongaをNode.jsで使う
  • Groonga ドキュメント — Groonga v14.0.7 documentation

    Skip to main content Back to top Ctrl+K GitHub Twitter Blog Groonga ドキュメント# お知らせ 1. Groongaの特徴 1.1. Groonga の概要 1.2. 全文検索と即時更新 1.3. カラムストアと集計クエリ 1.4. 転置索引とトークナイザ 1.5. 共有可能なストレージと参照ロックフリー 1.6. 位置情報(緯度・経度)検索 1.7. Groonga ライブラリ 1.8. Groonga サーバ 1.9. Mroonga ストレージエンジン 2. インストール 2.1. Windows 2.1.1. zip 2.1.2. ソースからビルド 2.2. macOS 2.2.1. MacPorts 2.2.2. Homebrew 2.2.3. ソースからビルド 2.3. Debian GNU/Linux 2.3.

    Groonga ドキュメント — Groonga v14.0.7 documentation
    nilab
    nilab 2020/11/23
    Groonga ドキュメント — Groonga v10.0.8ドキュメント
  • dockerを使用してmariadbを構築する

    環境 OS ubuntu 20.04docker 19.03.8docker compose 1.25.4 docker-compose.yml作成 下記の内容でdocker-compose.ymlを任意の場所に作成します。 portは3306を既に使用しているので3307に変更してます。 version : "3" services: db: image: mariadb restart: always ports: - 3307:3306 volumes: - "./mysql:/var/lib/mysql" - "./initdb.d:/docker-entrypoint-initdb.d" environment: - MYSQL_ROOT_PASSWORD=pwd - MYSQL_DATABASE=test - MYSQL_USER=user - MYSQL_PASSWORD=p

    dockerを使用してmariadbを構築する
    nilab
    nilab 2020/11/23
    「dockerを使って、mariadbを構築する手順を記述。docker-compose.ymlを作成して構築してます」