This domain may be for sale!
Webアニメーションを高速化するために知っておくべき10のこと(後編) 斉藤 祐也(株式会社リッチメディア) 前編から引き続き、後編でも最適化のために知っておきたいレンダリングプロセス、計測方法、そして最適化を妨げるよくあるアクシデントとその回避方法について紹介していきます。 アニメーションを高速化するために知っておきたいレンダリングプロセス ブラウザがどのようにウェブサイトを表示しているのかを知ることは、アニメーションだけに限らず、Webのパフォーマンス全体の高速化を行うために大切なステップです。 イスラエルの開発者であるTali Garsiel氏が公開した『How Browsers Work』は、HTML5 Rocksに転載され、複数の日本語訳も提供されている、ブラウザの内部動作を学ぶために読んでおきたいリソースの1つです。 そのリソースを参考に、レンダリングエンジンのメインフローにつ
2chまとめみたいなタイトルにしてみた。(してみたかった) HTML5のアーキテクチャと初期化とキャッシュの考え方が、「ウェブエンジニア」は本当に出来てない。 とくにソシャゲをウェブビューに貼ってスマホ対応しました系。本当にダメ。 じゃあどうするか?基本的に「初期化」の考え方を直せばどうにかなる。 (この記事はBackboneを使うときに考えてることだけど、他でも一緒だと思う) 前提 シングルページアプリケーション セマンティクスやSEOは考慮しない 基本哲学 共通モデルの初期化を徹底的に行う サーバーにリクエストを投げるのは最小限 クライアントでサーバーモデルのキャッシュを作り、更新が期待されるまで再取得しない 理由 いくらDOMの最適化したところでUXに影響が大きいのはサーバーリクエスト(200~2000ms)で、プログラミング段階で辛さがあつまるのは非同期処理の部分。 プログラマとし
はじめに はじめまして。プログラマ向け情報共有サイトQiitaを開発・運営しているIncrements株式会社の高橋と申します。Qiitaではフロントエンドのアプリケーション開発にBackboneを採用しています。また縁があってBackbone.jsガイドブックという本を執筆させていただきました。本連載では、Backboneを使ったより実践的な話題を紹介していきたいと思います。 初回となる今回は「すでにjQueryを使っているけど最近何かと話題のBackboneも気になる!」という開発者の方がBackboneを試しに使ってみる際の初めの一歩の踏み出し方を紹介することが目的です。そのために今回はjQueryで実装されたサンプルコードをBackboneに移植します。 なぜBackboneを使うの? すでにjQueryがあるのになんでわざわざBackboneを使うのでしょう。jQueryを使えば
要素を数える際は .length を利用します。 //hoge内の要素数を数えます。 count = $("#hoge *").length; window.alert("hoge内の要素数は、"+ count +"です");
jQueryでHTML要素を追加するメソッドが色々あるので整理するために、ちょっとまとめてみました。似たようなメソッドの名前なので混乱しそうです。大きく分けるとbefore,after,prepend,appendと、insertBefor,insertAfter,prependTo,appendToが似ているのでそれらの違いをまとめてみます。 before, after, prepend, append 挿入先の要素を基点にした場合、beforeとafterは外側に挿入されます。逆にprependとappendは挿入先要素の内側に挿入されるんですね。使い方は以下です。 JavaScript <script type="text/javascript"> $(function(){ $('#sample') .before('<div>before</div>') .after('<div
近年、モバイルブラウザ上でアプリケーションを作るにあたり、JavaScriptでも不安定な回線上で動作する設計が求められるようになってきました。 ここでは、「オフラインファースト」をはじめとする、モバイルなどの回線が不安定な状況を想定したWebアプリケーション設計に関して、キャッシュ方法やよく使われるAPIなどを紹介したいと思います。 「オフラインファースト」とは2012年ごろから提唱されていた、「回線がオフラインになることを前提にアプリケーションの設計を行う思想」のことで、オフライン前提に設計することにより回線状況によらないサービス提供や、効率的な通信をベースにした高速な動作を目指すものです。 それではここからはキャッシュ方法とそれぞれ向いているコンテンツの紹介を行います。 読み込みデータのキャッシュ ApplicationCacheやlocalStorage、オンメモリキャッシュなどを
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プログラミングをしたことがあるひとなら、誰でも1度くらい自分の理想の言語を作ってみたいと思うのではないでしょうか。このテキストは、オリジナルのプログラミング言語のコンパイラ作成を通して、パーサコンビネータの使い方を紹介していくものです。 2分でわかる、俺の俺による俺のためのプログラミング言語を作る大まかな手順 自分のオリジナルなプログラミング言語を作るには、典型的には次のような手順を踏みます。 既存のプログラミング言語を使ってみる その既存の言語の気に入らないところを徹底的になじる(ただし心のなかで) 己の内に秘める中二力を卍解し、最強
前回はView周りのパフォーマンス・チューニングを実施しました。今回はクライアント側、すなわちJavascriptのチューニングを『浅〜く』実施して本トピックを終了したいと思います。 パフォーマンス・チューニング3:Javascript チューニングを始める前に、rack-mini-profilerで現在のパフォーマンスを確認しておきましょう。 『161.6 ms』と十分なスピードを叩き出していますね。しかし、実はこれはサーバサイド側の処理時間なのです。クライアント側の処理時間は詳細ウインドウの下段に表示されています。 つまり、173msにレスポンスを受け取り → 247msからブラウザで描画を開始し → 418msにDOM構築が完了(DOMContentLoadedイベント発火)、 103ms費やしてJavascriptを処理した・・・ということになります。 チューニングの対象となるのは
tooltip ツールチップ Shadow UIの使い方 Step 1: 外部ファイル まずは、ベースとしてhead内にjquery.jsと当スクリプトを外部ファイルとして記述します。 <script src="/shadow-ui/assets/js/jquery.js"></script> <script src="/shadow-ui/js/shadow.js"></script> スタイルシートはベースとなるファイルとそれぞれ用のファイルが用意されています。 <link rel="stylesheet" href="/shadow-ui/assets/css/main.css"> <link rel="stylesheet" href="/shadow-ui/css/ui.css"> <link rel="stylesheet" href="/shadow-ui/css/ui-dr
YAPC::Asia 2013 発表資料です。 JavaScript テスト事情の整理と、BrowserStack を用いたテストの紹介
Gruntをよく使うようになったけど、プロジェクトの中心にどっかと存在していると不自由なことが多い気がするなーと感じている。Gruntべったり、つまりプロジェクトをGruntに強く依存させるとポータブルである保証のあるタスクだけを使う(書く)ことを強いられる。Gruntはその雑な自由度が良い所で、そこに何かしらの制限が加わってしまうのはその良さを低減させてしまうと思う。 Node.js自体にクロスプラットフォームだけどさほど書かれるスクリプトのポータビリティを意識した作りになってないような印象を持っている。そのためその上で動くGruntでポータビリティとかなんの冗談だとか思ってしまう。 Gruntの開発チームが公式にメンテナンスしているgrunt-contrib-*は確かに安定して優秀で、大体のことはポータブルなそれらで事足りたりする。だけど簡単なタスクを書いて使いたい時はもちろんあるし、
結論から言うと、 - Math.max.apply(null,object.map(function(o){return o.element;})) の1行で実現できる。 JavaScriptで最大値を得るには Math.max(x,y) を使う パラメータは2つに限らず複数でも可。つまり、Math.max(x,y,z)とは書けるが、配列を渡すことはできない。 配列の最大値を得るには apply() を使う 数値を格納した配列 array に対しては、Math.max.apply(null,array)とすればOK。 配列から特定の要素(の全て)を取り出すには map() を使う Array.mapは「与えられた関数を配列のすべての要素に対して呼び出し、その結果からなる新しい配列を生成」する関数。 [ { "gpsDate": "2011/02/14", "gpsTime": "10:31
Available free for open-source reading below or for purchase via the O'Reilly store. Pull requests and comments always welcome. Prelude Not so long ago, “data-rich web application” was an oxymoron. Today, these applications are everywhere and you need to know how to build them. Traditionally, web applications left the heavy-lifting of data to servers that pushed HTML to the browser in complete pag
JavaScript VNCはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。 最近は何でもJavaScriptでやってしまおうという試みが多数立ち上がっています。今回はなんとVNCクライアントをJavaScriptで作ってしまおうという野心的な試みをJavaScript VNCが行っています。 接続前の画面。RealVNCがサーバに使えます。 接続しました。レスポンスはあまり良くありませんのでご注意を。 JavaScript VNCの面白いところは僅か200行で出来ていることでしょう。node向けに既に提供されているWebSocketsなどのライブラリを使って、VNCと通信する部分をサーバが、その結果をWebブラウザでレンダリングする方式をとっています。解説記事も充実していて、これだけで出来てしまうのかと圧巻の作りになっています。 MOONG
ライター内藤です。 本日は日本人の大好きな「均等割り付け」を超軽量jQueryで実現します。 特にtableのthタグなどで利用頻度が高いかと思いますが、block要素でも使えます。 Wordで言うと、これ です。 両端揃えではなく均等割り付けが必要な理由 下の図が分かりやすいと思います。 text-align: justify; text-justify: inter-ideograph; 上記のcssは、1行に満たない文字に関しては左寄せになります。 この命令の趣旨は、書籍の紙面を想像してもらうとわかりますが、複数に渡る行の右端を揃えることにあります。 ですので、thタグに上記のcssを適用しても、図中2行目以降のようになってしまいます。 つまり、横幅よりも少ない文字列を均等割り付けできないわけです。 cssでは実現できないので、jQueryを使う 拙筆webkit系ブラウザ(Chr
https://github.com/mixi-inc/JavaScriptTraining と http://alpha.mixi.co.jp/2013/11844/ とセットでご覧ください。
2013-09-14 50行で作る、HTML5+JavaScriptな簡単ライフゲーム【プログラミング】 やり方 はじめに。 ライフゲームを知っていますか?ライフゲームは世界でとっても有名なシュミレーションゲームです。Wikipediaによると、 1970年にイギリスの数学者ジョン・ホートン・コンウェイ (John Horton Conway) が考案した生命の誕生、進化、淘汰などのプロセスを簡易的なモデルで再現したシミュレーションゲームである。 らしいです。 眺めているだけでもさまざまなパターンを観測することができてとても興味深く、魅力的なゲームです。 見つけだすのに賞金も賭けられたという「グライダー銃」というパターンは特に有名ですね。 もっとライフゲームについて詳しく復習したい方は秀逸なWikipediaのページを見ることを薦めます。 ライフゲーム - Wikipedia また、ライフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く