タグ

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

  • JavaScript の不思議な面白さ - 第六回

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

    JavaScript の不思議な面白さ - 第六回
  • JavaScript の不思議な面白さ - 第五回

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

    JavaScript の不思議な面白さ - 第五回
  • JavaScript の不思議な面白さ - 第四回

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

    JavaScript の不思議な面白さ - 第四回
  • JavaScript の不思議な面白さ - 第三回

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

    JavaScript の不思議な面白さ - 第三回
  • JavaScript の不思議な面白さ - 第二回

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

    JavaScript の不思議な面白さ - 第二回
  • JavaScript の不思議な面白さ

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

    JavaScript の不思議な面白さ
  • 携帯電話と位置情報 : 現在地の測位 (2)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、広告部ながやです。 前回の記事では仕様面を記述しましたので、 今回は実際のコードを公開してみようと思います。 例をシンプルにするために、基地局の緯度/経度取得のみ対応とします。 GPS(衛星利用測位システム)機能搭載端末やWILLCOM端末は実装から省きますが、少しの拡張で対応できると思います。 端末をお持ちの人はぜひ挑戦してみてください。 サンプルコード index.php ※1,※2,※3,※4,※5 <?php function array_val(&$data, $key, $default = null) { if (!is_array($data)) { return $default; } return

    携帯電話と位置情報 : 現在地の測位 (2)
  • 携帯電話と位置情報 : 現在地の測位 (1)

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

    携帯電話と位置情報 : 現在地の測位 (1)
  • 1