If you are not redirected automatically, please click here.
HTML5はウェブ・ページをアプリのように動かし、そしてFlashに取って代わるはずだった。しかしパフォーマンスの問題で、アプリ開発者のHTML5導入は遅れてしまっている。 Famo.us社はこのギャップを埋めるためにスタートした小さな会社だ。同社は2Dと3Dの両方のエフェクトを高速表示するため、HTML5の遅延要素を本質的に回避する独自のフレームワークを開発した。このFamo.usによって、開発者はHTML5のパフォーマンスの問題に苦しむことなく、より短期間でクロスプラットフォームのアプリを開発することが可能となったのだ。 Famo.usの秘密はJavaScriptを利用していることだ。JavaScriptは極めて高速に動作し、既にあらゆるブラウザで広く使われている。Flashとは異なり、ブラウザ・プラグインをユーザーがダウンロードしたり、ブラウザメーカーがそれをサポートする必要もない。
最近シリコンウエハーもらって嬉しかったago(@kyo_ago)です。 このエントリはGREE Advent Calendar 2013 11日目の記事です。 今回はクライアントサイドJavaScriptにおけるライセンス管理の問題を取り上げたいと思います。 ライセンス管理の問題点 「使用しているライブラリのライセンス管理をどうするか」はクライアントサイドJavaScriptにかぎらず発生する問題ですが、クライアントサイドJavaScriptには以下の様な特徴があるため問題が複雑になります。 コードが結合、圧縮される場合がある クライアントサイドJavaScriptでは読み込みの速度を上げるため、使用しているライブラリの結合、圧縮を行うことがあります。しかし、この時誤ってライセンス文が捨てられてしまうことがあります。 ソースが外部に公開される クライアントサイドJavaScriptではソー
The majority of Ajax operations in Basecamp are handled with Server-generated JavaScript Responses (SJR). It works like this: Form is submitted via a XMLHttpRequest-powered form. Server creates or updates a model object. Server generates a JavaScript response that includes the updated HTML template for the model. Client evaluates the JavaScript returned by the server, which then updates the DOM. T
詳細は以下で紹介しています。 JavaScriptでdoctestを行う power-doctest を作った | Web scratch 更新内容 Release v0.2.0 · azu/power-doctest にも書いてあります。 deepEqual support assertするのに利用しているpower-assertの方で、 assert.deepEqual 等がサポートされてたので、 それに伴ってpower-doctestの方でもassert.deepEqualを使ったテストに対応しました。 Comparing v0.1.6…v0.2.0 · twada/espower テスト書く側は特に何も意識しないで、以下みたいな配列やオブジェクトもテスト出来るようになったという話です。 内部的にアサーション対象が両方共オブジェクトなら勝手に assert.deepEqual を使っ
TDDクラスタつながりで声がかかったので Agile Samurai Base Camp のお手伝いしてきました。 当日やったこと 午後の部のTDDセッションで @grimrose さんとJavaScript(Jasmine)のハンズオン 当日の資料 JavaScript TDD紹介 #agilesamurai from Go Sueyoshi (a.k.a sue445) 当日のペアプロのリポジトリ agilesamuraibasecamp/asbc2013-js gh-pagesにも上がっているのでそのまま見れます http://agilesamuraibasecamp.github.io/asbc2013-js/ 自分のKPT Keep 前日にスタッフで素振りが出来た たまたま弊社のカフェスペースが空いていたのでそこを利用 http://www.drecom.co.jp/recrui
JavaScriptおれおれAdvent Calendar 2013の3日目の記事です。 何か要素に対する処理を行う場合はdocument.querySelector()あたりで検索してくるのですが、一部の要素については事前に取得済みだったりします。 <body>を取るならdocument.bodyで document.bodyには最初から<body>要素が格納されています。個人的にはHTMLElementのインターフェイスを確認するために適当な要素を得る際にこれを使っていたりします。 同様に<head>要素もdocument.headで得る事が出来ます。この二者はHTMLの構文的にも必ず存在するため、事前に確保されているのでしょう。(ちなみにHTMLの文法的には、この二者のタグは省略可能です。その場合でも記述が省略されただけで実際はあるものとして扱われます。) <html>を取るならdo
JavaScriptおれおれAdvent Calendar 2013 – 02日目 チェック状態は$checkbox.attr('checked')ではなく$checkbox.prop('checked')で得る必要があります。 検証 初期状態で確認すると c1: attr=undefined prop=false c2: attr=checked prop=true チェックを入れ替えて確認すると c1: attr=undefined prop=true c2: attr=checked prop=false というわけで .attr() … 変わらない .prop() … 変わる(こっちを使う) 仕組み .attr()はattribute、つまり(HTMLの)属性を得るメソッドです。HTMLにのタグにchecked属性を記載したらその値checkedが得られます。していなければ、存在し
概要 Promiseとは非同期処理を上手く扱う為のAPIであり、パターンである。 非同期の処理の完了後に続けて処理を行いたいとき、よくコールバックパターンが使われるが、処理が連続するとコールバック地獄と言われる分かりづらいソースコードになってしまう。 また、複数の非同期処理が完了した時に処理を行うなど、コールバックパターンでは難しい事をスマートにできるのがこのPromiseである。 今まではDOMの方でDOM Promiseとして仕様策定が進められていたり、ライブラリのDeferredが有名だったが、ES2015標準に入ることになり、V8に実装された。 実装されたメソッド Promise.resolve(x) Promise.reject(x) Promise.all( [p1, p2, p3, ......] ) Promise.race( [p1, p2, p3, ......] )
Copyright © 1995-2013 Nikkei Business Publications, Inc. All rights reserved. このページに掲載されている記事・写真・図表などの無断転載を禁じます。著作権は日経BP社、またはその情報提供者に帰属します。 掲載している情報は、記事執筆時点のものです。
奇麗なコードは可読性も高く、バグも減りますよね。 JavaScriptは下手に書くとものすごくスパゲティなコードになりやすい言語ではないでしょうか。ただでさえコールバックを使うのでネストしやすく、さらに処理が非同期だったりするとカオスになりがちです。 そんなJavaScriptのコードも機械的にチェックすれば問題点が洗い出されて可読性が高くなるかも知れません。そのためのチェックツールがjscsです。 インストールはnpmを使って行います。インストールが終われば次のようなヘルプが出せるようになります。 $ jscs --help Usage: jscs [options] <file ...> Options: -h, --help output usage information -V, --version output the version number -c, --config [p
Todoリストの機能 1.テキストボックスから、Enterで追加できる 2.登録したTodoはダブルクリックで編集可能になり、Enterで編集確定できる 3.登録されているTodoの総件数がフッターに表示される 4.完了したTodoがある場合、それらをリストから消すボタンが表示される 5.全選択/解除を行うチェックボックスがある 個人的な結論 趣味開発で使うならAngular.js・仕事で使うならKnockout.jsをお勧めしたい。 まず、フレームワークを選択する際は、以下3つの選択基準を持つとよいと思う。 1.開発の規模 大規模ならBackbone.jsはお勧めできる。 書き方が決まっていて、チュートリアルに目を通せば(面倒なのは置いておいて)何を作らなければならないかは簡単に理解できる。そこそこの人数で長い時間の開発を行うなら、UIチームはアプリケーションとView、サーバーサイドは
※これは、社内の勉強会の資料の下書きです。 ここ数年で、js環境が整理されてきた。 js開発するなら、これらの知識は必須。無いとめっちゃ不便。 という事で、今日は、gruntとbowerとyeomanの話。 各ツール概説 Yeoman applicationのひな形を作る アプリ構築に必要な様々な作業を任せられる Grunt build / preview / testに使う Bower 依存性の管理を行う 手動でDLやscript管理する必要無 rails開発者のために ぶっちゃけ、どれも、railsの環境にそっくり。rails知ってる人は、要するに、以下の事。 grunt => rails server実行時に勝手にやってくれる作業を切り離してカスタマイズできるようにしたもの(coffeeのコンパイルとか) bower => ruby gem管理をjsのclient側で実現した物。 y
いやあ、もうすぐスーパーマリオ3Dワールドの発売日だねえ!って言ったら「もうマリオはいいでしょ…」って言われた kimoto です。 なんでだよ!すっげえ面白そうじゃんかよ!よくないよ! さて、本日はちょっと小ネタで、window.open で開いた窓に対して Post でデータを渡す方法です。 利用場面としては、フォームの確認画面を小窓で開きたい時などですね。 URL にデータを乗っけて Get で開く方法も無くはないですが、データ量に制限もあったりなど、いろいろと問題があります。 ということで、開いた窓に対して Post でデータを投げる方法です。 function open_preview() { window.open("about:blank","preview","width=600,height=450,scrollbars=yes"); document.input_for
JavaScript AST Walker JavaScript ASTを見て回る Agenda JavaScript ASTとは JS AST Structure JS AST as JSON Try JavaScript AST パーサ ジェネレーター ここまでのまとめ More detail コードカバレッジツール istanbul-html istanbul-karma blanket [ESLint](https://github.com/nzakas/eslint "ESLint") [reQUnit](https://github.com/azu/reQUnit "reQUnit") reQunit : before reQunit : after [regenerator](https://github.com/facebook/regenerator "regenerat
(Last Updated On: )RFC 4696をもう一度読みなおしてみると/もエスケープ可能文字に定義してありました。JavaScriptのエスケープシークエンスの処理の部分も間違っていたので全面的に書き直します。 RFC 4696(JSON)の定義では string = quotation-mark *char quotation-mark char = unescaped / escape ( %x22 / ; ” quotation mark U+0022 %x5C / ; \ reverse solidus U+005C %x2F / ; / solidus U+002F %x62 / ; b backspace U+0008 %x66 / ; f form feed U+000C %x6E / ; n line feed U+000A %x72 / ; r carriag
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました やり方は分かるんですが本当にやってしまうのが素晴らしい。 MS Office 2007以降ではファイルフォーマットがXMLをベースにリソースファイルなどをZipで圧縮したものになっています。そのためZipを解凍すればファイルの内容を読み取ることもできます。 とは言え記法の問題もあって読めるのと情報を読み取れるのとでは意味合いが違っています。そこで作られたのがjs-xlsxです。ExcelファイルフォーマットであるXLSXファイルを読み取るJavaScriptライブラリです。 デモのHTMLファイルにXLSXファイルをドロップします。 CSVとして解析させるとちゃんとファイルの内容がカンマ区切りで取り出せているのが分かるかと思います。 JSONにするとさらにJavaScriptとの連
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く