You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
JavaScriptやHTML、その他プログラミングの中で詰まったこととその解決法、またはガジェットについて書くブログです。 第31回 HTML5とか勉強会に参加してきました。 そこでメモっておいたことをまとめたので紹介します。 テーマ:JavaScript MVCフレームワーク アジェンダ MVCフレームワークの紹介 Backbone.js・・・清水大輔さん(NHN Japan) Spine.js入門・・・村田 賢一郎さん(Acroquest Technology) Playing With Ember.js・・・斉藤 祐也さん(サイバーエージェント) Angular.js・・・北村 英志さんさん(グーグル) 全員参加の座談会:40分 モデレータ:新野淳一さん(publickey) 質疑応答など10分
TypeScriptが、0.9.0.alphaとして、preview releaseが行われています。http://typescript.codeplex.com/releases/view/105503 0.9.0の目玉機能は、何といってもGenericsとOverload on constantsです。これが加わることで、大体Java5くらいの表現力があるんじゃないかと思います。 Genricsが使えるということは、型による制御が色んなところでできるんじゃね?という思いと共に、最近トレンドになってきたクライアントサイドMVCとかにもこれが生かせるんじゃないかとも思います。 ということで、これが使えて(多分)一番嬉しいと思われる、ModelをGenericsでなんとか表現できないか、色々試してみました。 この記事は、TypeScriptのrelease-0.9.0.alphaブランチを利
2013-02-06に以下の脆弱性情報が公開されました。 RDoc で生成した HTML ドキュメントにおける XSS 脆弱性 (CVE-2013-0256) これはRDocの脆弱性情報ですが、実際にはdarkfish.jsというファイルの修正のみでありJSの問題であることがわかります。 問題のdarkfish.jsを確認すると該当の処理は「var anchor = window.location.hash.substring(1);から取得した値を$(“a[name=” + anchor + “]”);に渡した」処理であったことがわかります。 (このファイルが脆弱性情報のファイルと同じかは確認してないですが、ファイル名とコードから同一と判断しました) 修正方法としては$(“a[name=” + anchor + “]”)でのセレクター埋め込みをやめて$(“a[name]”).eachのe
2013-05-16 NodeでCoverallsしてみる テストカバレッジをバッジにして表示してくれるCoverallsをNodeで実行してみる。 Coverallsは最近話題になってる気がするけどNodeの日本語記事は少なくてハマったので手順をメモ。 Coveralls + Perl プロトタイプ開発用のRailsプラグイン「Chanko」を2.0.0にアップデートしました サインアップ〜リポジトリの登録はTravis-ciと似てるので迷わないと思う。ちなみにビルドはTravis-ciから実行しないと動かないので注意。 デフォルトはRubyの手順が表示されるが、今回はNodeでやりたいのでDocsを見るとnode-coveralls見ろと書いてあるのでその通りにする。 実践してみたコードはこちら。 zaim.js jscoverage 必要なのでHomebrewを使ってインストー
http://kaiquewdev.nodester.comVersion: 0.0.8Help you easily deal with these arrays with the genie difficult to handle. Installation$ npm install vodevilCallvar vodevil = require('vodevil');vodevil.rangevodevil.range( 5 ) = [0, 1, 2, 3, 4, 5]vodevil.range( 2, 5 ) = [2, 3, 4, 5]vodevil.range( '..5' ) = [0, 1, 2, 3, 4, 5]vodevil.range( '2..5' ) = [2, 3, 4, 5]vodevil.range( 'b..f' ) = ['b', 'c', 'd',
May 12, 2013 リアルタイム処理について色々考えていたら、端末同士が直接データをやり取りすることに興味を持ち始めたので、最近はUDPやらNAT越え関連で遊んでいます。 UDPを使って端末同士が直接通信する時にほぼ必ず問題となるのがNAT越えです。端末がNAT配下にいる場合、NATのアドレスとポートを通信相手に伝えられなければ直接通信をおこなうことができません。P2PやVoIPによる通信も同じようにNATが問題になるわけですが、それをなんとかしようと出てきたのがNAT traversalです。 NAT traversalにも色々なテクニックがあるようですが、代表的なものとしてUDPホールパンチングというものがあります。これはグローバルIPアドレスを持つサーバーに対してUDPパケットを送信することで、NATからアドレスとポート割り当ててもらい、そのアドレスとポートのペアをサーバーから
HTML5で複雑なアニメーションを実現する最適な方法とは? CreateJSを使って容量もパフォーマンスも最適化しよう HTML5で複雑なアニメーションを実現する方法にはいつか方法がありますが、それぞれの手法について容量とパフォーマンスのメリット・デメリットを検証してみたいと思います。 スプライトシートを使う方法 ベクターアニメーションを使う方法 スプライトシートビルダーを使う方法 おまけ:GIFアニメーションを使う方法 おまけ:Flashアニメーションを使う方法 スプライトシートを使う スプライトシートとは映画のコマのようにアニメーションの全コマを画像として用意しておいて、順番に高速に切り替えることでアニメーションを実現する方法です。enchant.jsやCreateJSなど多くのJavaScriptのフレームワークで採用されており、もっともスタンダードな方法です。 表現の再現性が高いう
タイトルは釣りです。まだDartは対応してません。 Introduction to JavaScript Source Maps - HTML5 Rocks 圧縮後のJavaScriptやコンパイル後のCoffeeScriptでも、ブラウザ上で元のソースを参照できる新技術「Source Maps」登場 - Publickey Source MapというJavaScriptのデバッグのための仕様が提案されており、WebKitにこの機能が実装されたようです。これは、実行されるJSとそのオリジナルのソースコード*1をマッピングするデータを用意しておき、Chrome Inspectorなどのデバッガでオリジナルのソースコードを参照できるようにする仕組みです。 この仕組があれば、minifyされたJSはもちろんのこと、CoffeeScriptやDartのような別言語からJSにコンパイルする言語のデバ
bookshelf.js Bookshelf is a JavaScript ORM for Node.js, built on the Knex SQL query builder. It features both Promise-based and traditional callback interfaces, transaction support, eager/nested-eager relation loading, polymorphic associations, and support for one-to-one, one-to-many, and many-to-many relations. It is designed to work with PostgreSQL, MySQL, and SQLite3. Website and documentation.
ご存知の通り、JavaScriptには等価演算子(==)と厳密等価演算子(===)が存在します。 JavaScript The Good Partsなどで言及されてたり、JSLintやJSHintなどの静的コードチェッカーで怒られてしまったりするようにJavaScriptの場合は勝手に型を変換してしまい、意図しない結果が返ってきたり、そもそも型変換のコストがかかるために基本的には厳密等価演算子を使用して比較することが良いとされていますね。 しかし、jQueryのJavaScript Style Guideというcontributor向けのガイドラインの Equality の部分に以下のような記述があります。 Strict equality checks (===) should be used in favor of ==. The only exception is when check
Introduction Factsheet A fully featured graph library written in pure JS Permissive open source license (MIT) for the core Cytoscape.js library and all first-party extensions Used in commercial projects and open-source projects in production Designed for users first, for both frontfacing app usecases and developer usecases Highly optimised No external dependencies Compatible with All modern browse
Twitter で聞いてみたところ @hasegawayosuke さんいわく、Bookmarklet の文字数制限は最短だと約2,000文字らしいです。 でも、その長さで bookmarklet を書くのって難しいですよね。かといって、別のサーバから JavaScript をダウンロードして実行するとなると、そのダウンロードされたスクリプトが安全か、という問題が出てきます。 ならば、暗号学的ハッシュ関数を2,000文字以下で実装し、ダウンロードしたスクリプトの改ざん検証を行った上で実行すればいいのではないか。そうすれば、文字数の制限に悩むことなく Bookmarklet の開発に勤しめるのではないでしょうか。 ジャジャーン!というわけで、とても短い SHA-1 の JavaScript 実装を作りました*1。 GitHub - kazuho/sha1.min.js: SHA-1 impl
Extensible Code Editor CodeMirror is a code editor component for the web. It can be used in websites to implement a text input field with support for many editing features, and has a rich programming interface to allow further extension. This is a CodeMirror field, configured for editing JavaScript code. Features Accessibility Works well with screen readers and keyboard-only users. Mobile Support
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く