タグ

ブックマーク / efcl.info (5)

  • ローカルのPDFを全文検索するクライアント/サーバ/Electronアプリを書いた

    ローカルにあるPDFを全部検索して、その結果を一覧したいことがあります。 例えば、今、js-primerという書籍を書いていて、ある用語が他の書籍ではどんな扱い/用語になっているのかを調べたいことがよくありました。 この手のアプリとしては論文管理のPapers for Macなどがありますが、検索したいだけなのに色々な機能がついていてまた、とりあえず作ってみることにしました。 searchiveというプロジェクト名にしてPDFからテキストを取り出す所やフロントエンドのElectronアプリ、PDFからテキストを取り出すのはブラウザでやるには遅いので、そこをサーバ側でやってくれる仕組みを作りました。 大体100冊ぐらいをインデックスに入れて検索していますが、数百ms以内に検索結果が出てるので意外と動くようです。 インストール Release pageからElectronアプリをダウンロードし

    ローカルのPDFを全文検索するクライアント/サーバ/Electronアプリを書いた
  • Almin + React/Vue.jsのパフォーマンスプロファイルをタイムライン表示できるように

    AlminはClient-side DDD/CQRSをしやすい構造を作ることを目的にした – いわゆるステート管理ライブラリです。 Almin 0.14.0でperformance.markベースのプロファイルを取れるようになりました。 これにより、AlminのUseCaseやStoreといったそれぞれの処理にどれぐらいかかっているかを開発者ツールのタイムラインで見ることができます。 performance.markはUser Timing Level 2で標準化されている方法なので、後述するようにReactVueなどのライブラリと組み合わせた状態も見ることができます。 performance.markについては次の記事でも書いています。 performance.markでパフォーマンス計測する | Web Scratch 使い方 Contextを作成する際にperformancePro

    Almin + React/Vue.jsのパフォーマンスプロファイルをタイムライン表示できるように
  • 東京Node学園祭2016 アウトラインメモ

    東京Node学園祭2016に参加してきたのでメモ Demystifying JavaScript Engines - Alejandro Oviedo a0viedo/demystifying-js-engines: A list of resources about JavaScript engines 2006年のJavaScriptエンジン インタプリタ 遅い 最適化しても遅い Fortran、Self、Smalltalkの人がより良い方法を考えた (Source) -> Parse -> (bytecode) -> executionPhase <-> JIT Compiler 何度も実行するコードはJITコンパイラを通すようにした プロパティのアクセスの最適化、Hidden Classなど色々な最適化 Design Elements · v8/v8 Wiki evalとtry-c

    東京Node学園祭2016 アウトラインメモ
  • NaNはNot a NumberだけどNumber型である話

    この記事では、JavaScriptのNaNについて改めて学ぶという趣旨の話をします。 JavaScriptで、文字列などから数値へ値を変換したいことがあると思います。 典型的なケースでは、ユーザーに入力してもらった数字となる文字列を、Number型へ変換するというケースです。 この場合、Numberコンストラクタ関数やNumber.parseInt、Number.parseFloatなどが利用できます。(ここでは、Number.parseIntにしていますが、parseIntと同じです) // ユーザー入力を文字列として受け取る var input = window.prompt("数字を入力してください", "42"); // 文字列を数値に変換する var number = Number(input); console.log(typeof number); // => "number

    NaNはNot a NumberだけどNumber型である話
  • ライブラリをES2015(ES6)で書いて公開する所から始めよう

    この記事はECMAScript 2015の事始めとして、ライブラリをECMAScript 2015で書いて公開するというところから始めるのがいいのではという内容です。 ECMAScript 2015(ES2015)はES6とも呼ばれていてどちらも同じものを指しますが、この記事ではES2015に統一します。 ECMAScriptのバージョンについては次のページを参照してください。 ECMAScript · JavaScriptの入門書 #jsprimer 2018-12-27: 追記 textlint/textlint-rule-helperのmasterはTypeScriptの実装へ変換されています。 Babelの実装はhttps://github.com/textlint/textlint-rule-helper/tree/2.0.1から参照できます Babel から TypeScrip

    ライブラリをES2015(ES6)で書いて公開する所から始めよう
  • 1