JavaScriptで実装したのがdraftレベルのしか見つからなかったので作ってみました。 (↑Lv4まで対応してるのが有りました。でもせっかく作ったので引き続き公開しておきます。) URI Templateって? 簡単に言うとURIに特化したテンプレートエンジンです。 「http://www.example.com/users/{userid:1}/{userid}/」って書いといて「http://www.example.com/users/t/test/」って文字列作れたら便利だよね!? 詳しくは以下を参考にしてください。 RFC 6570 - URI Template 3分間・URIテンプレート - 檜山正幸のキマイラ飼育記 (はてなBlog) URI Templates の各言語実装 - Mi manca qualche giovedi`? 以下からお持ち帰りください。 gith
Last week we looked at Backbone.js’s internals, covering configuration, server support, events, and models. I actually really enjoy looking at projects this way, it’s one of the best ways to learn new programming techniques. So let’s continue dissecting Backbone by taking a look at Backbone.Collection. Constructor Backbone.Collection is a constructor function that accepts an array of models and an
Unserscore.jsや互換ライブラリのLo-Dashを使うと関数合成が出来ます。 複数個の関数があって、関数を呼び出した結果を使って関数を呼び出して…っていうのを1個の関数にします。 ドキュメントの例を見れば分かるかと。 簡略化のために関数合成の対象になる関数を1引数・戻り値ありの関数とします。 これを非同期処理をする関数に当てはめるとcallbackを含む2引数・戻り値なしの関数が当てはまるでしょう。 この場合のcallbackは1引数の関数とします。 まず、logを出力するcallback関数を定義しましょう。 function log(result){ console.log(result); } 次にcallbackを含む2引数・戻り値なしの関数を定義します。別に非同期処理はやっていないです。 // 1を足す function add1(callback,arg){ call
JavaScript Has No Class Prototypes, not classes Define a "class" function Food () { // Define an instance variable this.calories = 100; } Doesn't "say what it means" (looks like a function) Non-intuitive to newcomers Compared to: class Food { } Define a "method" VirtualPet.prototype.setCalories = function (newCalories) { } Requires an understanding of: Constructor functions Functions creating obje
サイトに動画を設置する際や、Youtubeにアップされている動画を紹介したい場合など、 Youtubeの埋め込みを使って表示する事があるかと思います。 この際にJavaScriptを使って制御ができるYouTube JavaScript Player APIというものがあり、設置をしたので そちらの実装方法のメモです。 これを使うと自分が作ったボタンで再生や停止が出来るようになります。(他にもいろいろ出来ると思います) SWFObjectを使って動画を読み込む 動画を埋め込む際は、動画の共有にある「埋め込みコード」でiframeかobjectのタグをサイト内に入れますが、 APIを使うときはFlashなどを表示する時によく使う「SWFObject」を使用します。このJSを使わなくてもできるそうですが、 このAPIがFlash Player8からしか対応してないので、この「SWFObject
Account Suspended This Account has been suspended. Contact your hosting provider for more information.
JasmineによるJavaScriptのテスト その1 こんにちは、プログラマのおぐらです。 弊社のクラウドマネージメントサービス Cloudworksでは、JavaScriptのテストにJasmineというフレームワークを利用しています。Jasmine自体はとてもよく出来ていて便利なソフトウェアなのですが、まだリリースされて日が浅いということもあってあまり日本語の情報がありません。そこで、Cloudworks担当のエンジニア Y氏にJasmineの社内向けチュートリアルを作ってもらったところ、なかなかの大作が仕上がり、社内だけで利用するにはもったいないデキでしたので技術ブログのコンテンツとしても掲載させていただくことになりました。 これから何回かに分けて掲載していきますので、「JavaScriptをどうテストしよう?」とお悩みの方はぜひ参考にしてみてください。 Jasmineとは? J
初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。本稿ではテストフレームワークは QUnit を採用しています。 時間
JavaScriptでの大規模アプリケーション開発を支援する「JavaScript MVCフレームワーク」がいくつも登場し、注目され始めています。7月11日に開催された「第31回 HTML5とか勉強会」では、このJavaScript MVCフレームワークがテーマとなり、主なフレームワークの紹介と座談会が行われました。 それぞれのフレームワークがどんな特徴を持ち、何に向いているのか。非常に勉強になる内容でしたので、この記事では座談会の内容を紹介したいと思います。 座談会に登壇したのは以下の方々です。 Backbone.js 清水大輔氏(NHN Japan) Spine 村田賢一郎氏(Acroquest Technology) Ember.js 斉藤祐也氏(サイバーエージェント) AngularJS 北村英志氏(グーグル) 司会はPublickey新野が務めました。 JavaScript MV
だるくてコードを書く気がしないので、コピペですまそうとg200kgさんのファミコン音源(2A03)のコードを見てみたら凄く簡潔で(GUIの制御部分込みで約600行)わかりやすかったので、コメントをつけたらJavaScriptでの信号処理の教科書的なものになるのではないかと思ってコメントをつけてみた。 けっこう頑張ってコメントをつけたので、1時間もあれば十分に理解できると思います。 https://gist.github.com/3094681 ファミコン音源(2A03)の仕様をすべて再現しているわけではないけど、非常にシンプルに作られている優れものです。2A03の仕様はここが詳しい。 オススメの読む順番 897行目 Init / 最初に呼ばれるやつ 230行目 AudioIf / オーディオインターフェイス 423行目 Osc / オシレーター 681行目 App / アプリケーション 6
Daniel Clifford recently gave a great talk at Google I/O 2012 called “Breaking the JavaScript Speed Limit with V8”. In it he goes in depth to explain 13 simple optimizations you can do in your JavaScript code to help Chrome’s V8 JavaScript engine compile / run your JavaScript code faster. In the talk he gives a lot of great explanations as to what they are and why they help, but if you just want t
JavaScriptでMVCの構造を持つアプリケーションを開発するためのフレームワークが10種類以上登場し、この分野が盛り上がっていることは、以前の記事「JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ」で紹介しました。 その各種JavaScript MVCフレームワークの違いを学ぼうというのが、Webサイト「TodoMVC」です。 ToDoMVCでは、AngularJSやBackbone.js、Ember.js、Spine.jsなど主要なMVCフレームワークを用いて開発したToDoアプリをまとめて公開しています。 開発されたToDoアプリはほぼ同一の外観や機能を備えています。これにより、それぞれのソースコードを見ることによって、各MVCフレームワークがどのようなコーディングスタイルを用いているのか、どのような機能を提供しているのか、といった違い
追記: Firefoxの実装で既に有る__noSuchMethod__に名前は合せた方が良い、というコメントを頂いたので名前を変えました。 何の役に立つか不明だけど書いてみた*1。Proxyでプロパティアクセスをフックして、存在しない場合は用意しておいた関数プロキシを返す。 __noSuchMethod__ for Chrome ― Gist https://gist.github.com/2290705 上記の処理が書いてあるのはこの部分。 function enableMethodMissing(obj) { // 関数プロキシの作成 var functionHandler = createBaseHandler({}); functionHandler.get = function(receiver, name) { // プロパティアクセスの場合は何も返さない return fun
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く