Yahoo!デベロッパーネットワークの中野(@Hiraku)です。JavaScriptでサンプルコードを書く機会があったので、どんなインターフェースで提供するのが便利なのか考えてみました。よく問題になるコールバックのネスト問題について、一般的な話をまとめてみます。 お題 突然ですが、次のような処理を行う必要があるとします。 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する
こんにちは。ヤフーエンジニアのわたなべせいりょです。 ここではスマートフォン版Yahoo!検索の作り方 第4回:JS編 - 検索をより便利にの中でご紹介させていただいた機能の実際の実装について書きたいと思います。 まず、長押し入力について書いてみたいと思います。「j」で「JavaScript」がサジェストされるのは良いのですが、「JavaScript array」を調べたい時など、一度「JavaS
こんにちは、Yahoo!地図の開発を担当しています前田博敏です。 今回は、JavaScriptから外部サイトのWeb APIを直接呼び出すことができる、JSONPという手法について紹介させていださきます。 JSONPとは JSONPとは、JavaScriptの外部ファイル読み込み(「script」タグとその「src」指定)を利用して、ドメインの異なる外部サイトのデータを読み込む手法のことを言います
これまで七回に渡って連載を続けてきました。 今回が最終回です。 ここまでが、私の知る JavaScript 開発の手法変化の歴史です。 最近では多くのフレームワークやライブラリが登場し、最近ではこうしたライブラリを利用した開発が一般的になりつつあります。 今回は、ここまでの手法を元にフレームワークを完成させたいと思います。 * フレームワークといっても今回作るのはごく小規模なものです。 大規模に
JavaScript フレームワークを作ろう 私はフレームワークを、ある特定のコーディングルールを実現する為の手法ともとらえています。 それがなんであれ、世にあるフレームワークには何らかのコーディングルールを満たした状態を容易に維持しながら効率よく開発する為の基盤を提供していると思います。 今回からはフレームワークを実際に作ってみましょう。 題材としてはもちろん、前回まで利用してきたプログラムを使
続きを読む "JavaScript の不思議な面白さ - 第六回" »
「第三回」「第四回」とプログラムの分離とそれによってもたらされる動作速度の変化の検証をおこなってきました。今回は速度を追及する為、多少の犠牲はいとわず速度優先でライブラリ化を進めることとしてみます。 今回からは、プログラミング技術の話にお付き合いください。 再度になりますが、ライブラリ化の目的が、 ・ほかの開発者がライブラリを利用することで容易に開発できる ・ライブラリ開発者が独立してプログラムの
続きを読む "JavaScript の不思議な面白さ - 第五回" »
前回の「第三回」ではよくある手法でプログラムの分離を試してみました。 そろそろこの連載も折り返し地点となります。 実はこの記事は、最初、小さな課題を与えられたプログラマが正攻法で突撃するもうまくいかず、策をろうしてやっと勝利、その知識を広めようとライブラリ化を行ったところで難題にぶち当たり、裏街道に突入。状況を打開する為にプログラム技術を駆使し、最終的にフレームワークとして完成させる、というストー
続きを読む "JavaScript の不思議な面白さ - 第四回" »
「第二回」では、グレー文字入り入力欄という課題への解答例としました。 プログラムの設計といったものがどんなものなのか、その面白さが少しでも伝わっていれば幸いです。 とはいえ、動いてさえいればあとはどれも似たようなもので、あとはプログラマの自己満足の世界です。その中での創意工夫はプログラマに閉じた世界とはいえ、ポケットの中に広がった空ではないかと思っています。 前回の最後の問題の答えを示す前に一つ重
続きを読む "JavaScript の不思議な面白さ - 第三回" »
前回の記事「JavaScript の不思議な面白さ」はお楽しみいただけたでしょうか? 一例として正攻法で突入していった例については賛否両論あるようです。確かに結果としてできたプログラムは見た目にも美しくなく、目を覆いたくなるばかりでした。 今回は解答編として JavaScript ならではといえる "奇妙な" 例をひとつお見せしたいと思います。ヒントは前回もちらっとお話させていただいたものです。
JavaScript と言うと普段自信をもって膨大なプログラムと格闘している諸氏もコード断片のはり付けに終始してしまうことも多いのではないでしょうか。かくいう私も検索エンジン(を使ってコードを書く)プログラマになっていることが多々あります。 JavaScript にあるこのプログラムの自作を妨げるのは、ブラウザごとに仕様が違ったりとか、正しいはずのコードが動作しなかったりと、プログラミング言語とし