ブックマーク / techblog.yahoo.co.jp (74)

  • Yahoo!ニュース高速化へのサイトデザイン側からのアプローチ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ニュースのデザイナーの黒田・由衛です。 Yahoo!ニュースが2009年4月27日にリニューアルしました。今回のリニューアルでは、お客様に快適にサイトを利用していただけるよう最速でページを表示させることに重点をおきました。 お客様がウェブを閲覧するのは1日の中のほんの限られた時間です。その貴重な時間を割いてYahoo!ニュースに来ていただくわけですから、1ページでも多くの記事を「読みやすく」「ストレスなく」見ていただけるようにするのが、Yahoo!ニュースがお客様にできる最高のおもてなしだと考えています。そこで、今回のリニューアルでは、サイトデザイン側からのアプローチとして以下の2点の施策を行いました。 1

    Yahoo!ニュース高速化へのサイトデザイン側からのアプローチ
    kkeisuke
    kkeisuke 2009/04/29
    speed 速さ
  • Yahoo!みんなの検定の受験機能APIの紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!みんなの検定ProjectのK.K.です。 3か月以上の間が空いてしまいましたが、みんなの検定のAPIで【「三国志」に関する検定を表示し、受験する】機能の最後の仕上げを紹介します。 前々回で検定リストAPI、前回で検定詳細APIを使いました。 今回は「検定受験API」を使ってみましょう。 この検定受験APIでは、以下の3種のパラメータが必要です。 cert_id(検定ID) qid(各問題IDをコンマ区切りでつなげたもの) answer(選んだ選択肢の番号をコンマ区切りでつなげたもの) これらを送信することで合否の判定や評価メッセージを返すことが出来ます。 では最初に、問題IDとユーザーの解答を送信するための受験フォー

    Yahoo!みんなの検定の受験機能APIの紹介
    kkeisuke
    kkeisuke 2009/04/25
  • JavaScript の不思議な面白さ - 最終回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog これまで七回に渡って連載を続けてきました。 今回が最終回です。 ここまでが、私の知る JavaScript 開発の手法変化の歴史です。 最近では多くのフレームワークやライブラリが登場し、最近ではこうしたライブラリを利用した開発が一般的になりつつあります。 今回は、ここまでの手法を元にフレームワークを完成させたいと思います。 * フレームワークといっても今回作るのはごく小規模なものです。 大規模に利用する場合にはここにさまざまな機能を付け加えていく必要がありますが、ここまででも必要最低限の機能を備え、HTML を効率よく構築することに特化したフレームワークとなっています。 前回からの変更点は以下の通り ・クラスの継承を利用 ・x-i

    JavaScript の不思議な面白さ - 最終回
    kkeisuke
    kkeisuke 2009/04/19
    フレームワーク
  • APIとの通信効率をよくする実装例(2) 簡易キャッシュ

    こうして見ると、仮に5分程度ライムラグがあってもさほど影響が無いものが多い、つまり毎度APIに問い合わせるのが無駄とも言えないでしょうか。(毎度通信すべきはなのは、上の表では「高」の部分のみ)。 そこで、APIから取ってきたデータ(XML)を少しの時間だけとっておくのはどうでしょう?(リアルタイム性が高いものや検索結果については毎度通信し、それ以外のものはキープしておき再利用)アクセスしてきたAさん、Bさん、Cさん・・・誰が見ても同じ内容ならなおさらみんなでシェアできれば、通信の数もそれにかかる時間も減るはずです。 このように一定時間データを溜めて再利用するシステムや行為を、キャッシュ(cache ※1)といいます。 どんな言語でも、こんな流れのロジックが書ければ実現できるでしょう。 if ( とっておいたXMLが賞味期限切れ ) { 捨てる; } if ( とっておいたXMLがある )

    APIとの通信効率をよくする実装例(2) 簡易キャッシュ
    kkeisuke
    kkeisuke 2009/04/12
  • JavaScript の不思議な面白さ - 第六回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog JavaScript フレームワークを作ろう 私はフレームワークを、ある特定のコーディングルールを実現する為の手法ともとらえています。 それがなんであれ、世にあるフレームワークには何らかのコーディングルールを満たした状態を容易に維持しながら効率よく開発する為の基盤を提供していると思います。 今回からはフレームワークを実際に作ってみましょう。 題材としてはもちろん、前回まで利用してきたプログラムを使います。 * 前回のプログラムをご覧になった方で勘の良い方はここから「HTML 文字列の効率よい組み立て方」に話の主軸が移ってくることにお気づきだと思います。 まず対象のコードをじっと見つめてみましょう。 var HTMLParts =

    JavaScript の不思議な面白さ - 第六回
    kkeisuke
    kkeisuke 2009/04/12
  • エンジニアにもわかる「ユーザーインターフェース設計」

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 島津悠樹と申します。Yahoo! JAPANのソーシャルメディア系サービスの開発・ユーザーインターフェース(以下UI)設計を担当しています。私からは「エンジニアにもわかる『ユーザーインターフェース設計』」と題し、エンジニアのみなさまに考え方のヒントとなるようなネタをお届けします。 エンジニアの方々にとって、UI設計は、おもしろそう、けれど、どこかとっつきにくい......、そんな印象を持っておられるのではないかと思います。 私も以前はそう思っていました。ですが、とっつきにくさを理由にUI設計をやらないのはもったいない、という思いで試行錯誤した結果、なんとか、UI設計のお仕事をいろいろ担当させていただくことができるようにな

    エンジニアにもわかる「ユーザーインターフェース設計」
    kkeisuke
    kkeisuke 2009/04/07
  • JavaScript の不思議な面白さ - 第五回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 「第三回」「第四回」とプログラムの分離とそれによってもたらされる動作速度の変化の検証をおこなってきました。今回は速度を追及する為、多少の犠牲はいとわず速度優先でライブラリ化を進めることとしてみます。 今回からは、プログラミング技術の話にお付き合いください。 再度になりますが、ライブラリ化の目的が、 ・ほかの開発者がライブラリを利用することで容易に開発できる ・ライブラリ開発者が独立してプログラムの改善を行える といった開発効率の向上が目的であることを忘れないでください。 最高速を目指すのであれば「第二回」で示した解答例でよいのです。 前回のルールに沿った形でライブラリ化を行います。 解答例(ライブラリ化) 今回は柔軟な機能拡張の為

    JavaScript の不思議な面白さ - 第五回
    kkeisuke
    kkeisuke 2009/04/04
  • JavaScript の不思議な面白さ - 第四回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 前回の「第三回」ではよくある手法でプログラムの分離を試してみました。 そろそろこの連載も折り返し地点となります。 実はこの記事は、最初、小さな課題を与えられたプログラマが正攻法で突撃するもうまくいかず、策をろうしてやっと勝利、その知識を広めようとライブラリ化を行ったところで難題にぶち当たり、裏街道に突入。状況を打開する為にプログラム技術を駆使し、最終的にフレームワークとして完成させる、というストーリーになっています。 * さて、さっそく前回の答えですが「A」です。 まずは下のグラフをごらんください。 上記は、各実装でどれぐらい表示に時間が掛かるかを測定したものです。 単位は ms (ミリ秒=1000分の1秒)です。 重要なのは プ

    JavaScript の不思議な面白さ - 第四回
    kkeisuke
    kkeisuke 2009/03/28
  • JavaScript の不思議な面白さ - 第三回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 「第二回」では、グレー文字入り入力欄という課題への解答例としました。 プログラムの設計といったものがどんなものなのか、その面白さが少しでも伝わっていれば幸いです。 とはいえ、動いてさえいればあとはどれも似たようなもので、あとはプログラマの自己満足の世界です。その中での創意工夫はプログラマに閉じた世界とはいえ、ポケットの中に広がった空ではないかと思っています。 前回の最後の問題の答えを示す前に一つ重要なことを忘れていました。 そうです、使ってもらう為にはライブラリ化が必要でした。 * 三回目となるこの記事からは、皆さんお待ちかねの関数化・ライブラリ化といったプログラムを隠す手法を試していこうと思います。ロジックの複雑化や高機能化につ

    JavaScript の不思議な面白さ - 第三回
    kkeisuke
    kkeisuke 2009/03/21
    onclick onmousedown
  • YUI Testを使ったJavaScriptユニットテストのすすめ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、検索事業部の角田です。 私が担当しているプロジェクトではPHPUnitとSeleniumを使ってテストを行っています。そして、最近YUI TestというJavaScriptによるユニットテストライブラリを使い始め、JavaScriptのユニットテストがとてもいい感じに思えてきたのでご紹介します。 YUI Testは、Yahoo! Developer Networkにて公開されているYahoo! UI Libraryの数多くあるコンポーネントの中の一つです。その名の通り、JavaScriptのユニットテストを行うライブラリです。JavaによるJUnitPHPによるPHPUnitを使ったことのある方であれば、すぐに使い方

    YUI Testを使ったJavaScriptユニットテストのすすめ
    kkeisuke
    kkeisuke 2009/03/19
  • ウェブページの高速化に必要なもの

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のさかいです。 ネットサーフィンに慣れている techblog 読者のみなさんの中には、あちこち見て回っているうちに重いページに行き当たり、イライラしながら応答を待ったり、容赦なくバックスペースキーで前のページに戻ったり…という経験をされた方が多くいらっしゃると思います。 そういったストレスのないレスポンスが行えるよう、バックエンドのプログラムの最適化や、サーバーのチューニングを行うのは私たち技術者の仕事のひとつです。 しかし、あるウェブサイトにアクセスして、そのサイトを閲覧できる状態になるまでの時間のうち、そういったバックエンドでの処理に必要な時間は 1〜2 割でしかないというデータがあります。残り

    ウェブページの高速化に必要なもの
    kkeisuke
    kkeisuke 2009/03/13
  • JavaScript の不思議な面白さ - 第二回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 前回の記事「JavaScript の不思議な面白さ」はお楽しみいただけたでしょうか? 一例として正攻法で突入していった例については賛否両論あるようです。確かに結果としてできたプログラムは見た目にも美しくなく、目を覆いたくなるばかりでした。 今回は解答編として JavaScript ならではといえる "奇妙な" 例をひとつお見せしたいと思います。ヒントは前回もちらっとお話させていただいたものです。 コード改善に向かって その前に前回の問題はなんだったのかをプログラマ視点で見ていきます。 コードが美しくないと感じるのはなぜでしょうか? 改善するならどうすればよいのでしょうか? ひとつの方法は "隠す" ことです。関数化・クラス化・ライ

    JavaScript の不思議な面白さ - 第二回
    kkeisuke
    kkeisuke 2009/03/04
  • 携帯電話と位置情報 : 現在地の測位 (1)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、広告部のながやです。 携帯電話のGPS(衛星測位システム)や基地局の緯度経度を利用した現在地の取得はとてもクールです。 このクールな機能と、Yahoo! JAPANのWebAPIを組み合わせた、新しいマッシュアップサービス誕生を願って、記事を投稿したいとおもいます。 ・Yahoo!マチモバでの実現例 お客様は、「現在地エリア」をクリックするだけで、位置情報をウェブサーバーに送信できます。とても楽チンですね。 もし、この機能がなければ、お客様は、退屈な地域選択画面(都道府県/市区町村)を何回もクリックすることになるでしょう。 そして、パケット代を損したと怒り狂っているかもしれません。 このイライラを防止するために、あな

    携帯電話と位置情報 : 現在地の測位 (1)
    kkeisuke
    kkeisuke 2009/03/02
  • JavaScript の不思議な面白さ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog JavaScript と言うと普段自信をもって膨大なプログラムと格闘している諸氏もコード断片のはり付けに終始してしまうことも多いのではないでしょうか。かくいう私も検索エンジン(を使ってコードを書く)プログラマになっていることが多々あります。 JavaScript にあるこのプログラムの自作を妨げるのは、ブラウザごとに仕様が違ったりとか、正しいはずのコードが動作しなかったりと、プログラミング言語としての特殊性が挙げられると思います。特に目的実現の為に必要となる発想は他の言語と一線を画します。 今回は、 題材は、これです。 誰でも一度は使ったことがあるだろう灰色の説明文付きの入力欄ですね。 簡単な例 さて、作ってみましょう、ということ

    JavaScript の不思議な面白さ
    kkeisuke
    kkeisuke 2009/02/26