タグ

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

  • ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する

    ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する 複雑なウェブアプリケーションになってくると、1つのページで複数のTimerなどを回すことがあります。 例えば、Twitterのようなアプリならば、ポーリングで更新するためにsetInvervalのようなタイマーを回します。 また、ゲームなどCanvasで描画を行うアプリケーションならば、メインループをrequestAnimationFrameで回します。 このように色々なタイマー系がありますが、アプリが多機能になっていくと色々なタイマーが同時に動くようになっていきます。 特に問題がなりやすいのが表示中だけタイマーを回すコンポーネントです。 よくあるのが次のようなmount時にtimerを開始して、unmount時にtimerを停止するコンポーネ

    ページ上でずっと動いているsetTimeout、setInterval、requestAnimationFrameを見つけてパフォーマンス改善する
  • npmで同じライブラリの複数バージョンをインストールして使う方法

    追記: [email protected]で別のパッケージを特定のパッケージ名で指定できるpackage aliasesが追加されました。 rfcs/0001-package-aliases.md at latest · npm/rfcs 注意: この手法はnpm ciで壊れてる場合があります npm ci fails with transitive local packages - 🐞 bugs - npm forum Add support for ESLint v2 by Daniel15 · Pull Request #107 · fkling/astexplorerを見ていて、一つのプロジェクト内で複数のバージョンの同じライブラリを使う面白い方法が使われてたのでメモです。 前述したAST explorerの場合だと、ESLint@1とESLint@2の両方に対応したPlaygr

    npmで同じライブラリの複数バージョンをインストールして使う方法
  • 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を振り返る
  • 歌舞伎座.tech#6「VirtualDOMとReact」 アウトラインメモ

    歌舞伎座.tech#6「VirtualDOMとReact」 - connpass に参加して来たのでメモ。 すべてのCSSに死を!これはJSerの叫び!- @kyo_ago スライド: CSSに死を!これはJSerの叫び! #kbkz_tech CSSが辛い CSSはカプセル化とか継承とか、プログラムからの概念がそのまま持ってこれない ReactStyle js-next/react-style JS内にStyleを埋め込むことができる そのままオブジェクト的に入れられる Template Stringsと合わせればその場でCSSを入れることができる styles=にスタイルを入れる セレクタをあまり考えなくていい style属性でスタイリングする 擬似要素、擬似クラスが全滅 :hover :active などが使えない。 CSSの継承などの概念が消える 自分で頑張る必要がある ユーザプレ

    歌舞伎座.tech#6「VirtualDOMとReact」 アウトラインメモ
  • JavaScriptでバイナリデータを扱う時の動作を理解する - prog*sig

    資料的な文章なので実用的な話という感じではないです JavaScriptで画像などのバイナリデータを読み込むという目的に沿って追っていく。 XHRを使用し取得した画像データはバイナリコンテンツである。その際にJavaScriptはデフォルトで受信したデータをユニコードとして扱うため、バイナリデータに制御文字*1を表すバイト列が含まれていた際に予期せぬ動作を引き起こすことがある。そのため、overrideMimeTypeメソッド*2を使いcharsetをx-user-definedとして受信データを特別なものとして扱うように設定する。 // overrideMimeTypeを設定するプログラム var req = new XMLHttpRequest();// XHRオブジェクト req.open('GET', URL, false); // 読み込むURLと方式 req.overri

  • 1