タグ

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

  • 東京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 アウトラインメモ
    kihan
    kihan 2016/11/14
  • JavaScriptの配列のパターン

    JavaScriptの配列をどう解説するかを考えていて、配列って普段どういう風に使ってるけ?みたいなことを書き出してみました。 Arrayオブジェクト · Issue #49 · asciidwango/js-primer 皆さんは配列をどう使いますか? 追記: 次のページでこの記事をブラッシュアップした話をhttps://jsprimer.net/で公開しています。 配列 · JavaScriptの入門書 #jsprimer 配列の作成 配列の作成には配列リテラル([])を使います。 配列リテラルには初期値も指定できます。 var emptyArray = []; // 空の配列を作成 var array = [1, 2, 3]; // 値をもった配列を作成 Arrayオブジェクトをnew演算子でインスタンス化する方法は基的には使いません。 こちらは配列リテラルとは異なり、初期値ではな

    JavaScriptの配列のパターン
    kihan
    kihan 2016/10/13
  • JavaScript ASTを始める最初の一歩

    何かJavaScriptのソースコードを機械的にチェックするためのツールを作りたいという場合に、JavaScriptのASTというものを触る必要が出てくると思います。 この記事では、その取っ掛かりとなる案内を簡単にまとめたものです。 ASTとは AST(Abstract Syntax Tree)はコードをパースした抽象構文木のこと。 JavaScriptの場合はJavaScriptオブジェクト(JSON)として表現されます。 コード: { "range": [ 0, 10 ], "type": "Program", "body": [ { "range": [ 0, 10 ], "type": "VariableDeclaration", "declarations": [ { "range": [ 4, 9 ], "type": "VariableDeclarator", "id": {

    JavaScript ASTを始める最初の一歩
    kihan
    kihan 2016/03/06
  • JSer.info 5周年記念イベント アウトラインメモ

    JSer.info 5周年記念イベントを開催&参加してきたのでメモ。 スライドとかの概要は以下にも書いてあります。 JSer.info 5周年記念イベントを開催しました - JSer.info JSer.info 5周年記念イベント - Togetterまとめ 以下メモ書きです。 JSer.info 5周年 - @azu_re 5年間での総計は以下のような感じになりました。 投稿記事数: 261 毎週1回投稿: (261*7) / 365 ≒ 5(年) 合計紹介URL数: 6312 JavaScript情報って何だっけ? - @azu_re そもそもなんでJavaScriptについて知りたいのという話。 後で別記事書くかも Angularの5年とこれから - @armorik83 Angularも変化が大きい フロントエンド歴史とバインディングの歴史 Ajax + jQueryを始めとす

    JSer.info 5周年記念イベント アウトラインメモ
    kihan
    kihan 2016/01/17
  • はてなブックマーク検索を作りながらFlux Utilsについて学ぶ

    facebook/flux 2.1.0からFlux UtilsというStoreなどの実装が含まれるようになりました。 今回Flux Utilsを使って、指定したアカウントのはてなブックマークを検索するウェブアプリを書いてみました。 azu/hatebu-mydata-search azu.github.io/hatebu-mydata-search/ mydataのAPIがCORS対応してないのでJSONProxyを挟んでます。(なのでブックマークデータが多いアカウント名は避けたほうが…) これを作ってみてFlux Utilsについて思ったことを書いていきます。 Flux Utilsの紹介ページに、Flux Utilsの解説が書かれています。 簡単にまとめると以下の4つのクラスがFlux Utilsとして提供されています。 Store ベースとなるクラス ReduceStore Store

    はてなブックマーク検索を作りながらFlux Utilsについて学ぶ
    kihan
    kihan 2015/08/25
  • 2015年前半のJavaScriptを振り返る

    JSer.infoというサイトを4年半ぐらいやってるのですが、2015年1月から半年ぐらい経ったので軽く振り返りをしてみました。 途中で出てくるグラフとか数値はJSer.infoでの言及数を元にしていて、これはjser/stat-jsを使って出したものです。 なので自分の主観的な数値に過ぎないので、一般的とは値とは異なる可能性があることは覚えておいてください。 言及数: タグ、タイトル、紹介文にキーワードが含まれると+1 2015-01-06のJS: ESLint 0.11.0、BrowserifyとwebpackTypeScript - JSer.info browserify vs webpack 新たなWeeklyサイトがでてきた 2015-01-13のJS: 6to5、ES6とjspm、リファクタリングJavaScript - JSer.info 6to5 2.0リリース 認

    2015年前半のJavaScriptを振り返る
    kihan
    kihan 2015/06/16
  • ブラウザでビジュアルテストをするreftest-runnerを作った

    概要 reftest-runnerというブラウザで描画内容やレイアウトといった表示結果をテストするためのライブラリを作りました。 要素技術としてはブラウザ、WebDriver API、レンダリングキャプチャ、画像Diffという感じです。 azu/reftest-runner 時間が無い人向け 以下のスライドに簡単にreftest-runnerやreftestとはなにか、どういうユースケースがあるのかが書いてあります。 reftest-runner-overview.pdf reftestとは reftest(Referrence Test)とは、2つのHTMLの表示結果(スクリーンショット)を比較することで表示結果が意図したものかをテストする方法です。 用意するHTMLとして以下の2種類を1セットとして用意して利用します。 テスト用HTML テストしたい機能を使って実装したHTML リファ

    ブラウザでビジュアルテストをするreftest-runnerを作った
    kihan
    kihan 2015/05/15
  • ある要素が表示されるまで待つJSライブラリを書いた(MutationObserver)

    使い方 waitForElement(selector, [timeout]) という感じで使います。 waitForElement()はPromiseを返すので、見つかったthenで登録したコールバックが呼ばれて、見つからなかったらcatchが呼ばれるという感じです。 Promiseについて詳しくはJavaScript Promiseのを見てください /** * Wait until an element that is matched the selector is visible. * @param {string} selector the css selector * @param {number} timeout the timeout is millisecond. default:2000ms * @returns {Promise} */ var waitForElem

    ある要素が表示されるまで待つJSライブラリを書いた(MutationObserver)
    kihan
    kihan 2015/04/06
  • Browserify 5.0から--standaloneでderequireはされなくなった

    Browserify 5.0.0では、 基盤となる変換処理の部分に色々変更がありました。(特にtransform周りが大きく変わって変換にhookする処理が色々できるようになった) node-browserify/doc/changelog/5_0.markdown at master · substack/node-browserify ChangeLogの一番下にちょこっと書いてありますが、--standaloneを付けて単体のライブラリとして配布向けにビルドするときに、 derequireがされなくなりました。 derequire has been taken out of core, which should speed up –standalone. そもそもderequireとは何かというと、 requireという関数を使うライブラリ等との衝突を避けるためにリネーム処理をするモ

    Browserify 5.0から--standaloneでderequireはされなくなった
    kihan
    kihan 2015/03/28
  • ライブラリを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)で書いて公開する所から始めよう
    kihan
    kihan 2015/03/28
  • npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発

    YoutubeとVimeoの検索結果のRSSをまとめてOPMLで取得できるサイトを作った | Web scratch で公開した Tech Video RSS Searcher はbrowserifyを使って作ったので、その辺の開発フローについての記事です。 browserify って何? browserify はNode.jsスタイルで書かれたモジュール(CommonJS)を ブラウザで利用できるように変換するコマンドラインツール(Nodeモジュール)となっています。 又、node.jsのCore Modulesのshimが用意されていて、 npmで公開されているnode.js向けのモジュールも一緒に変換してブラウザで動かすことが出来るようになっています。(普通に require で読みこめば勝手に変換されます) 原理的に無理だったり全てのモジュールが動くわけじゃないですが、 その辺の互

    npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発
    kihan
    kihan 2015/03/19
  • 1