タグ

ブックマーク / techblog.kayac.com (23)

  • #3 「あまりApplication cache(cache manifest)のことを甘く見ない方がいい」 Advent Calendar 2012 - KAYAC Engineers' Blog

    最近色々あってAndroidと心を通わせられるようになってきたago(@kyo_ago)です。 このエントリは tech.kayac.com Advent Calendar 2012 3日目の記事です。 Application cache(cache manifest)とは WHATWGやW3で議論されているHTML5 Offline Web Applicationの仕様の一部です。 細かい仕様等に関しては最後に参考URLをつけたのでそちらをご覧ください。 ここでは色々誤解の多いApplication cacheの使い方をご紹介したいと思います。 使い方 .appcacheの拡張子に対してtext/cache-manifestのMIMEタイプを設定してください。 .appcacheファイルは以下の形式で作成してください。 CACHE MANIFEST: #更新用ID(日付+連番等) キャッ

    #3 「あまりApplication cache(cache manifest)のことを甘く見ない方がいい」 Advent Calendar 2012 - KAYAC Engineers' Blog
  • jQuery.stopのjumpToEnd引数が便利すぎてやばい(JavaScript Advent Calendar 2010 5日目) - KAYAC engineers' blog

    JavaScript Advent Calendar 20105日目のago(@kyo_ago)です。 jQueryのソースを眺めててjQuery.stopに引数があることに気づいたので調べてみました。 まず、簡単なスライドダウンメニューを作ってみたいと思います。 jQuery.stop 1 - jsdo.it - share JavaScript, HTML5 and CSS JS部分は以下の通りです。 $(function () { $('div').hover(function () { $(this).find('ul').slideDown(); }, function () { $(this).find('ul').slideUp(); }); }); 少し触ると分かると思いますが、マウスがmenuから外れた後も何度も.slideDown、.slideUpが実行されるため非常に

    jQuery.stopのjumpToEnd引数が便利すぎてやばい(JavaScript Advent Calendar 2010 5日目) - KAYAC engineers' blog
  • 今日から始めるCoffeeScript - KAYAC Engineers' Blog

    こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック

    今日から始めるCoffeeScript - KAYAC Engineers' Blog
  • SVG Girlの公開と内部実装 - KAYAC engineers' blog

    乗り換え以外で初めてアメリカ行きました。ago(@kyo_ago)です。 すでに先週のこととなってしまいましたが、jsdo.it上でSVG Girlというコンテンツを発表したのでご紹介させていただきます。 (現在IE9のリリースに合わせて英語版のみ公開しています。日語版は26日の日語版IE9リリースにあわせて公開を予定しています) SVG Girlって? SVG GirlはSVGを使ったアニメーション作品で、動画コンテンツの中身をすべてSVGのみで表現しています。 先週開催されたMicrosoft主催のMIX11のキーノートでも発表され(00:08:40ぐらいからご覧いただけます)、大画面に表示されたアニメーションで会場をわかせました。 SVGって? SVGはテキストで表現されたベクターデータで、XMLで線画情報を保持しています。 ブラウザ上からは通常のDOM API経由で操作すること

    SVG Girlの公開と内部実装 - KAYAC engineers' blog
  • Firebugの意外と知られていない機能紹介(プログラマ向け) - KAYAC Engineers' Blog

    羊毛布団を洗濯機にかけられないことを知りました。ago(@kyo_ago)です。 意外と知られていない機能が多い!?Firebugの使い方を見て、プログラマ向けも欲しくなったので書いてみました。 1. ショートカット一覧 以下のページでFirebugのショートカット一覧が公開されています。 http://getfirebug.com/wiki/index.php/Keyboard_and_Mouse_Shortcuts 取り合えず以下の二つだけでも覚えておくと効率的かもしれません。 F12でFirebugの有効、無効の切り替え 広いコマンドラインモード時にCtrl+Enterでコードを実行 また、以下のメニューからショートカットの変更も行えるので、他の拡張等とショートカットがかぶった場合でも別のキーで使用することが出来ます。 2. Firefox体のツールバーに「要素を調査」ボタン Fi

    Firebugの意外と知られていない機能紹介(プログラマ向け) - KAYAC Engineers' Blog
  • uupaaさんやos0xさんがやってくる「ごはんとFlash with JS」開催のお知らせ - KAYAC Engineers' Blog

    最近社内で、「やりましょう。外村君よろしく。」という流れになりつつあります、外村です。こんにちは。 2010年8月21日に鎌倉どんぶりカフェbowlsで交流会イベント「ごはんとFlash with JS」を開催します。 ごはんとFlash 交流会イベントやります('10/8/21) | エントリー | _level0.KAYAC | flash ActionScript blog JSのほうからは、LTかライブコーディングに @uupaa さんや @os0x さんを招いて開催する予定です。 詳細は以下より。 ごはんとFlash with JS ■日時 2010/8/21(sat) 19:00 - 22:00(open 18:30) ■会場 鎌倉どんぶりカフェbowls : (鎌倉市小町2-14-7 1F ■定員 80人(半立形式) ■会費 5000円(カード不可/領収書可) ■ゲスト(予

    uupaaさんやos0xさんがやってくる「ごはんとFlash with JS」開催のお知らせ - KAYAC Engineers' Blog
    monjudoh
    monjudoh 2010/08/17
    参加申し込みdone
  • 8行でjQueryのデバッグが楽になるjQuery.pの紹介 - KAYAC Engineers' Blog

    週末はオレ標準JavaScript勉強会のUstreamを眺めてました。ago(@kyo_ago)です。 以前jQuery使いが陥りやすい罠の中で「4 何でも一行で書こうとする」という点を上げたのですが、以下のようなmethodを定義することでmethod chainのデバッグが楽になるので紹介したいと思います。 $.fn.p = function (id) { var arg = [this]; if (id) arg.unshift(id); if (!window.console) return this; var c = window.console || { 'log' : function () {} }; (c.debug || c.log).apply(c, arg); return this; }; 具体的な使い方ですが、以下のように確認したいmethodの後に.p()を

    8行でjQueryのデバッグが楽になるjQuery.pの紹介 - KAYAC Engineers' Blog
  • ブラウザ上で動作するjavascriptエディターの比較 - KAYAC engineers' blog

    衣替えしました。agoです。 最近使い始めて便利だなーと思ったので、ブラウザ上から入力されたjavascriptを実行してくれるオンラインjavascriptエディターを比較したいと思います。 jsdo.it http://jsdo.it/ 弊社運営のwonderflのJS版サイトです。 使い方 コードを書くにはまずログインする必要がありますが、認証にはOpenIDとOAuthをサポートしているため一般的なネットサービスを使用しているのであれば新規にアカウントを作成する必要はありません。 使い方は左にJS、CSShtmlを記述し、右側でプレビューします。 その他細かい機能については弊社大塚の記事をご覧ください。 jsdo.it at jstudy サンプル JSBin (JS Bin) http://jsbin.com/ シンプルなのでぱっと見である程度使い方が分かると思います。 使い方

    ブラウザ上で動作するjavascriptエディターの比較 - KAYAC engineers' blog
    monjudoh
    monjudoh 2010/06/17
    JS BinとjsFiddle
  • DOM Ready前にイベントを設定する方法(jQuery.liveの紹介) - KAYAC Engineers' Blog

    健康診断で身長伸びてました。agoです。 今開発中のサイトで$().liveを中心にした実装を行っているので簡単にまとめてみました。 $().liveって? jQuery 1.3系からサポートされた、イベントハンドラの設定用methodです。 $().bindとどこが違うの? $().bindは指定されたhtml elementsに対して直接ブラウザの機能を使ってイベントを設定しますが、$(selector).liveは一旦document objectでイベントをキャッチした後、jQueryが発生元の要素とselectorをつきあわせて一致した場合イベントハンドラを呼び出します。 何がいいの? 以下のような利点があります。 DOM Readyを待たずにイベントを設定できる。 通常jQueryでは$(function () {});(DOM Ready)内で初期化を行いますが、htmlの量

    DOM Ready前にイベントを設定する方法(jQuery.liveの紹介) - KAYAC Engineers' Blog
  • google map api+IE6で「未知の実行時エラーです。」が出るときに確認すること - KAYAC engineers' blog

    最近ロフトで買った立体型のアイマスクが個人的にヒットでした。agoです。 今日はgoogle map api+IE6で「未知の実行時エラーです。」が出る場合の対応をご紹介したいと思います。 まず、IE6の場合、一部の要素のinnerHTMLが書き換え不可になっており、他のブラウザと同じようにinnerHTMLで内容を書き換えられない場合があります。 innerHTML と outerHTML の使用可否のまとめ :: Drk7jp Internet Explorer で PRB: エラー設定 table.innerHTML 私が遭遇した状況では に追加しようとしたためエラーになっていたのですが、他にもhtmlの文法上<div>を追加できない要素に対してnew GMap2を行うのは問題となるかもしれません。 他の状況であれば問題となる箇所の切り分けも楽なのですが、後々また「google ma

    google map api+IE6で「未知の実行時エラーです。」が出るときに確認すること - KAYAC engineers' blog
  • jQuery1.4の新機能を1.4だけに14個 - KAYAC engineers' blog

    時が経つのは早いもので、ぼーとしてたらもう1月も終わりそうですね。外村です。 先日リリースされたjQuery1.4で新しく追加されたメソッドや新しい使い方ができるようになった機能を全部ではないですがいくつか紹介します。以下に変更点が全て掲載されているのでそちらも参照するといいと思います。 Version 1.4 ? jQuery API 新規で追加されたメソッド 1. nextUntil()、prevUntil()、parentsUntil() 指定したセレクタまでの要素を返します。以下の例ではitem3とitem4の後ろにテキストが追加されます。 <ul> <li id="item1">item1</li> <li id="item2">item2</li> <li id="item3">item3</li> <li id="item4">item4</li> <li id="item5

    jQuery1.4の新機能を1.4だけに14個 - KAYAC engineers' blog
  • javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog

    週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5

    javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog
  • jQuery.liveをfirefoxで使うときの注意点 - KAYAC Engineers' Blog

    夢で医者にギブスくらい自分ではずせよと言われました。agoです。 昨日若手IT勉強会に参加させていただき、jQuery.live周辺とjsdeferredを読んできました。 そのとき気づいたのですが、Firefoxはdocument objectに対するclick eventが右クリック(event.button === 2)時にも呼ばれてしまうようです。(Firefox ver 3.5.5で確認) (Fxの方はデモコードの「ここをクリック!」を右クリックしていただければ確認できると思います) 家にはすでに報告されているようなのでいずれ修正されると思いますが、jQuery ver 1.3.2以下で$().liveを使用する場合以下のようにコード側で対応することをお奨めします。 $('selector').live('click', function (env) { if (env.but

    jQuery.liveをfirefoxで使うときの注意点 - KAYAC Engineers' Blog
    monjudoh
    monjudoh 2009/12/01
    『Firefoxはdocument objectに対するclick eventが右クリック(event.button === 0)時にも呼ばれてしまう』
  • jQueryを読むために知っておきたい6つの知識 : tech.kayac.com - KAYAC engineers' blog

    夏休みはタイ古式マッサージセミナーに参加してきました。agoです。 先週日曜日若手IT勉強会に参加させていただき、jQueryのコードリーディングを行ってきました。 そこでjQueryのコードを読むときの基礎知識に関して簡単にまとめてみたいと思います。 1 変数の複数同時宣言と代入 まず、JSでは変数の宣言は以下のような形式で行います。 var hoge; この場合は単一の変数の宣言ですが、以下のような記述を行うと複数の変数を同時に宣言することが可能です。 var hoge, huga; また、変数宣言と同時に値の代入を行うことも可能で、その場合以下のような記述になります。 var hoge = 'test'; さらに複数の変数宣言と、値の代入は同時に行うことが可能で、その場合以下のような記述になります。 var hoge = 'test1', huga = 'test2'; jQuery

    jQueryを読むために知っておきたい6つの知識 : tech.kayac.com - KAYAC engineers' blog
    monjudoh
    monjudoh 2009/09/30
    『slice().sort()』などのようにsliceメソッドをかませて変異メソッドを非変異メソッドのように使える。sortの他には、reverse、spliceあたりで使えるか?
  • jQuery Plugin作成時の3つの注意点 - KAYAC Engineers' Blog

    実家に帰ったら犬に威嚇されました。agoです。 jQuery Pluginに関しては、以前jQuery Pluginの書き方として基的な部分をまとめたのですが、もう少し細かい部分に関して再度まとめてみようと思います。 1 $.dataの活用 以前jQuery.dataの使い方でも紹介したのですが、Pluginからelementを処理する場合対象のelementが広範囲に及ぶことが多く、Plugin内の変数の他に各element毎の変数を持ちたくなることがあります。 たとえば、「クリックする毎に順番にCSSが変わるPlugin」を考えた場合、各element毎に「今どのCSSが指定されているか」を保持できると実装が楽になると思います。 具体的には以下のような形になります。 $(function () { var colors = ['blue', 'yellow', 'red']; $('

    jQuery Plugin作成時の3つの注意点 - KAYAC Engineers' Blog
  • jQuery.autouploader Pluginを作成しました。 : tech.kayac.com - KAYAC engineers' blog

    AutoHotKeyの設定ファイルが意味不明で困ってます。agoです。 このたび弊社ではにおい部 - においフェチに捧げるコミュニティとして、におい部をOPENしました。 今回はこのサイトで使用している、ファイル選択時の自動プレビューjavascriptをjQuery.autouploaderとしてjQuery Plugin化したので公開したいと思います。 使い方はjQueryと一緒にpluginを読み込むだけ。 <script type="text/javascript"jquery.autouploader.js"></script> これで<form enctype="multipart/form-data">の中にある、<input type="file">に対して自動的にプレビュー機能が追加されます。 サーバサイドはアップロードされたファイルを保存し、そのURIを返すAPIを作成

    jQuery.autouploader Pluginを作成しました。 : tech.kayac.com - KAYAC engineers' blog
  • jQuery.ime_external Pluginを作成しました。 - KAYAC engineers' blog

    Microsoft Trackball Opticalの復活を切に希望中のagoです。 今年旅する支社として行ったイタリアで、Flash経由でJSからIMEを操作するプラグインを作成したのでjQuery.ime_externalとして公開したいと思います。 同種のJSは過去にもいくつかあったんですが、検証的な内容のものが多く、jQuery Pluginとして作成されたものも無いようなので作成してみました。 使い方はswfをサーバへアップロードした後、jQueryと一緒にpluginを読み込み、要素に対して以下のmethodを呼び出してください。 $(function () { $(/* or selector */).ime_external(); }); これで、該当要素にfocusしたときに自動的にimeが全角モードになります。 これだけだと既存のものとあまり変わらないのですが、ime

    jQuery.ime_external Pluginを作成しました。 - KAYAC engineers' blog
    monjudoh
    monjudoh 2008/12/28
    該当要素にfocusするとIME ON/OFFといった動作をさせられる。
  • jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog

    DAHONのBoardwalkを修理しようとしておもいっきり壊してしまいました。agoです。 普段はjQueryをメインで使用しているのですが、使っていていくつか注意すべき点があったのでまとめてみました。 (一部jQueryではなく、DOMの仕様上の制限も含まれています) 1 $().filterにstring以外のものを渡すとエラー 1.4系では修正されていました $().findや$().notは大丈夫ですが、$().filterの場合引数にjQuery objectや配列、html elementなどを渡すとエラーになります。 (たとえばjQuery objectを渡した場合、Firefoxでは「TypeError: t.substring is not a function」というエラーが発生します) 確認する ちなみに、$().findや$().notはstring以外も渡せるた

    jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog
  • blogpartsでjQueryを使うときの読み込み方 - KAYAC engineers' blog

    最近blogpartsでもjQueryを使うようになったので、blogpartsでjQueryを使うときのコードをまとめてみました。 (function () { //script tagのsrcの先頭部分を記述(自分のscript tagを取得するのに使用) var domain = 'http://example.com/bp/'; //asから呼び出されるときの名前を指定(外部からはこの名前のみ見える) var name_space = 'blogparts_name_spase'; //各ライブラリをfunction scopeへ展開 var lib = loadLib(), $ = lib.$, jQuery = lib.jQuery, swfobject = lib.swfobject; //読み込まれた時点での最後のscript tagを取得 var $script = $(

    blogpartsでjQueryを使うときの読み込み方 - KAYAC engineers' blog
    monjudoh
    monjudoh 2008/07/16
    名前空間を汚さない
  • event式autoKana.jsの紹介 - KAYAC engineers' blog

    すでに若干乗り遅れてる感じもしますが、読み仮名の自動入力がはやっているようなので乗っかってみます。 サンプル (IE7,FF2,safari3.1で動作確認) お気づきの方もいるかもしれませんが、これまでの記事(1,2,3)はこのライブラリを作る過程で発見したことのまとめです。 で、このライブラリも結局は読み仮名の自動入力なんですが、今までのautoKana.jsと違ってsetInterval(or setTimeout)を使用していません。 ではどのようにして読みを取得しているかというと、IE,safariではkeyup、FFではtextイベントを使用してキー入力を取得し、その時点のひらがなから読みを認識しています。 この方法だとtimerをまわす必要がないのでブラウザの負担も軽く、高速でキーを入力されても取りこぼしもなく、イベント駆動なのでコードが短くなる等の利点があります。 ただ、o

    event式autoKana.jsの紹介 - KAYAC engineers' blog
    monjudoh
    monjudoh 2008/07/14
    『IE,safariではkeyup、FFではtextイベントを使用してキー入力を取得し』