タグ

ブックマーク / kagigotonet.hatenablog.com (5)

  • JavaScriptだけでレコメンドシステムを作ってみた - TechTalkManiacs

    Follow NowというTwitterのリアルタイムフォロワー推薦ツールを公開しました。 このツール、サーバーサイド処理はこちらでは一切作っていません。HTML+JavaScript+CSSにWebAPIを組み合わせただけなのです。 Follow Nowの仕組み WebAPIJavaScriptだけでどうやってレコメンドシステムを作っているか、というと、鍵となるのはJSONPでの出力に対応したWebAPIです。 JSONを使ってクロスドメイン通信をするJSONPでの出力に対応したWebAPIは今質量共にものすごい数に上っていて、中にはTwitterや、Yahooのキーフレーズ解析なども含まれています。これらを使うことで、かなりのことがWebAPIJavaScriptだけでできます。 流れとしては次のようになります。 1.アカウント名をもとに、Twitterからユーザーの投稿を取得 2

    JavaScriptだけでレコメンドシステムを作ってみた - TechTalkManiacs
  • JavaScript基本概念最速マスター - TechTalkManiacs

    プログラミング言語の文法をまとめた最速基礎文法マスターが流行っていますが、それだけだと物足りないので少し視点を変えてJavaScriptという言語の基礎となっている概念について簡単にまとめてみようと思います。(基礎文法についてはこちらを参照してください) (20010/2/4 記述ミス Typoなどを修正しました) JavaScriptの基概念 JavaScriptの基となる概念は次の二つです。 連鎖指向 全てがオブジェクト 連鎖指向はプロトタイプチェーンやクロージャ、全てがオブジェクトであるという性質は連想配列やプリミティブ型などの性質に関わってきます。 連鎖指向 JavaScriptでは変数、オブジェクト、メソッドなどのリソースの利用において鎖のようにリソースを定義や宣言できるポイントが連なり、一番近くの宣言や定義に基づいてリソースの内容が決定される、という仕組みが採用されています

    JavaScript基本概念最速マスター - TechTalkManiacs
  • Gmailチームが明かすHTMLアプリケーション起動の高速化テクニック TechTalkManiacs

    などという煽り気味なタイトルをついつけてしまいたくなる記事がGoogleCodeBlogに掲載されていました。 最初のほうはごく普通にJavaScriptを使ったRIAアプリケーションはどうしても起動が遅くなるため、それをどう減らすか、というテーマにそって書かれています。 方法として挙げられているのは、最初にすべてを読み込まず、モジュール単位で分割して遅延ローディングすること。ただし、それだけだと回線速度が遅く不安定なモバイル環境では問題が生じるためHTML5のキャッシュ機能を利用するといいとのこと。 遅延ローディングのためのさまざまな手法の得失や、例えばユーザーデータを読み込むときには動的ロードしない、というようにユーザーの操作を妨害しないよう留意することなどについても述べられていてそれだけでもノウハウとして十分に有意義なのですが、決め手として最後に出てくる方法がすごいです。 その方法と

    Gmailチームが明かすHTMLアプリケーション起動の高速化テクニック TechTalkManiacs
  • PHPでメタプログラミング 可変なお話 - TechTalkManiacs

    PHPはWeb特化言語という特性上他の言語では見られない強力な仕組みがあります。その特徴は他の言語では参照で取り回すところを文字列で取り回すところである、と言えるでしょう。 参照そのものを取り回す仕組みは便利なことも多いのですが、現在Webサイト周りのネットワークのプロトコルは処理系とは無関係な文字ベースのクエリーから成り立っており、特定の処理系に依存したバイナリではありません。なので参照前提の仕組みではどこかで文字から参照への変換をしないといけなくなり、たいていの言語でそのあたりがどうしても複雑になります。 ですが、PHPでは文字列が前提の仕組みが多くあり、無理なく取り回すことができます。 いい例が、関数を文字列として指定して呼び出せる可変関数と呼ばれている仕組みです。PHPは文字列が入った変数の後ろに()をつけると、その文字列に相当する名前を持つ関数を呼び出してくれる機能があるので、こ

    PHPでメタプログラミング 可変なお話 - TechTalkManiacs
  • JavaScriptとクロージャとデザインパターン  - TechTalkManiacs

    html5-developers-jpで「GoFデザインパターンのJavascript版があったら様相がかわるかも?」という話が出ました。 デザインパターンが拡張性を確保する手段の一つがメソッドの書き換えなのですが、Javavscriptの場合、通常の継承とは違う特有のメソッドのオーバーライト方法があります。 var sample_class=function(){}; sample_class.prototype.exec=function(){ this.do_a(); this.do_b(); }; sample_class.prototype.do_a=function(){ alert("a"); }; sample_class.prototype.do_b=function(){ alert("b"); }; var sample=new sample_class(); sam

    JavaScriptとクロージャとデザインパターン  - TechTalkManiacs
  • 1