タグ

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

  • javascript libraryを作るときに便利な3つのfunction : tech.kayac.com - KAYAC engineers' blog

    社内で唯一(?)の8 tab派。agoです。 suzunari.js、sisso.jsと、最近いくつかJSのライブラリを公開する機会があったので、そのとき使ったライブラリを作るときに便利なコードを紹介したいと思います。 1 script tagからのパラメータ読み込み 外部からの指定によりライブラリ内の動作が変わる場合、script tagから値を指定できると設定のための記述要素を減らすことができます。 (ファイル名を静的に指定している理由に関しては「最後のscript tagの取得方法」をご覧ください) <script type="text/javascript"http://example.com/path/script_file_name.js#param1=value1&param2=value2"></script> var param = (function (file_nam

    javascript libraryを作るときに便利な3つのfunction : tech.kayac.com - KAYAC engineers' blog
  • メンテナンスページで失敗しやすい3つのポイント - KAYAC engineers' blog

    PCサイトの開発/運用から、モバイルサイトの開発に移りつつある渡邊です。 ECサイトや自社サービスを運用していると、サービスを一時停止しなければならないケースがあります。 そんな時はメンテナンスページを用意して、ユーザーにサービスが一時停止していることを伝えます。 しかし、メンテナンスページには意外と気が付きにくい失敗の罠が潜んでいます。 今回はその失敗しやすい3つのポイントをフォローします。 1. mod_rewriteを使ってみよう アプリケーションごとにメンテナンスページへのリダイレクトの設定を行うと、 設定の漏れや確認不足による不具合が発生することがあります。 .htaccess に以下のような設定を行うだけで、http://test.domain.com/ 以下が、 全て http://test.domain.com/maintenance.html へリダイレクトされます。 R

    メンテナンスページで失敗しやすい3つのポイント - KAYAC engineers' blog
  • blogparts framework suzunariを作成しました。 : tech.kayac.com - KAYAC engineers' blog

    ようやく会社のブラインドを閉める方法を発見しました。agoです。 弊社ではブログデコというブログパーツのポータルサイトを運営しており、かなりの数のブログパーツを作成しています。 このたび、そこで得られた様々なノウハウを集めて、ブログパーツフレームワークを公開しました。 元々社内でもある程度まとまったライブラリはあったのですが、コードを読まないと(もしくは作成者に聞かないと)不明な機能群と、使用しても一定のJSを記述する必要があるため公開するまでには至っていませんでした。 (社内からは1年以上前から「早めにまとめて公開を」という声があったんですが。。。) そこで、必要な機能をまとめ直し、通常の全画面ジャック程度であればタグのみで実装可能なJSフレームワークを作成しました。 このフレームワークを使用することにより、各種ブラウザでのExternalInterfaceの各種問題や、wmodeによる

    blogparts framework suzunariを作成しました。 : tech.kayac.com - KAYAC engineers' blog
  • IEのデバッグツール : tech.kayac.com - KAYAC engineers' blog

    最近記憶力の低下が著しいkusagayaです。 最近は専らJavaScriptを書くことが多いんですが、皆さんどのようなデバッグツールを使っていますか? FirefoxであればFirebugというのが一般的だと思いますが、 IEで一般的なデバッグツールと言えば?と言われると、ちょっと答えられないです。 そこでIEで使えるデバッグツールをいくつか紹介したいと思います。 ■DebugBar ・DOMのInspectやJavaScriptCSSのソース、レイアウトなどを見ることが可能(Iframe内までInspectできるのは多分これだけ) ・HTTP Requestが見れる ・JavaScriptのコンソールがあるので、アドレスバーから実行する必要がない ■CompanionJS ・Firebugのコンソール機能のみを再現しているようなもので、Firebug同様にconsole.logが使え

    IEのデバッグツール : tech.kayac.com - KAYAC engineers' blog
  • pngfix & rollover library sisso.jsを作成しました。 : tech.kayac.com - KAYAC engineers' blog

    通販で自転車のスポーク買いました。agoです。 社内から「yuga.jsみたいに呼べば使えて、環境に依存しないpngfixとrolloverライブラリがほしい」とリクエストを受けたので作成してみました。 使い方はファイルをダウンロードし、以下のようにマークアップすれば完了です。 <img src="opacity.png" class="btn" /> <!-- mouseover時にopacity_o.pngを表示 --> <div class="bgpng" style="background-image:url(opacity.png); width:200px; height:200px"></div> <!-- 背景のpngfix(img,input[type="button"]は自動的にpngfixする) --> <div class="bgpng btn" style="ba

    pngfix & rollover library sisso.jsを作成しました。 : tech.kayac.com - KAYAC engineers' blog
  • symfonyのJavascriptカレンダーの表示座標を修正する - KAYAC engineers' blog

    もうすぐ新卒免許が失効する、渡邊です。はじめまして。 今回は、PHPのフレームワーク「symfony」のフォームヘルパー「input_date_tag」を、jqueryで補完します。 「input_date_tag」のリッチフォームは便利で、入力に関してUIとバリデーションの双方を支援してくれます。 <?php echo input_date_tag('name', 'now', 'rich=true') ?> ... しかし、この「input_date_tag」のリッチフォームは、IEだとうまく動作しません。 画面の下部にカレンダーがある場合、表示位置が画面から見えなくなることがあります。 そこで、下記のスクリプトを用意しました。 このコードを利用することで、ボタンの場所にカレンダーを表示することができます。 ※コードの実行には、jqueryが必要です。 <script type="te

    symfonyのJavascriptカレンダーの表示座標を修正する - KAYAC engineers' blog
    camelmasa
    camelmasa 2009/02/26
    javascript symfony
  • lighttpd 1.4.x で X-Reproxy をできるようにする mod_fastcgi_reproxy - KAYAC engineers' blog

    追記@2009-10-20: もっとちゃんとした reproxy モジュールを書きました。こちらの新しい記事を参照ください。 lighttpd 大好きっ子な村瀬です。 突然ですが、perlbal というロードバランサーをご存じでしょうか。この perlbal には reproxy という機能があります。 これは、このロードバランサー下のWebサーバーが X-Reproxy-Url: http://example.com/ などというヘッダを返すと、perlbal がその URL の内容を取得し、コンテンツボディをその URL の内容に置き換えてくれるという物です。 MogileFS や Amazon S3 との相性のいい機能ですね。 これを lighttpd でもやりたくなったのでがんばってみました。 mod_fastcgi_reproxy 既存の mod_fastcgi に reprox

    lighttpd 1.4.x で X-Reproxy をできるようにする mod_fastcgi_reproxy - KAYAC engineers' blog
  • symfony syncを便利に使う - KAYAC engineers' blog

    こんにちは。カヤックモバイル$のアラガです。 symfonyで開発環境と番環境を同期するときって symfony sync project go を使いますよね。 でも、同期対象を変更するたびに毎回、rsync_exclude.txtを編集するのって気(マジ)で面倒くさいです。 そんなときはプロジェクトごとに、こんなシェルを用意しておくと非常に便利です。 /path/to/project/batch/sync.sh #!/bin/sh # config/properties.ini に設定しているプロジェクトに変える LIST="target1 target2 target3" # 以下、編集不要 cd `dirname $0`/../ if [ $# != '0' ]; then test -f config/rsync_exclude.txt && rm config/rsync_

    symfony syncを便利に使う - KAYAC engineers' blog
  • KAYAC Engineers' Blog

    SREチームの長田です。 今回は、カヤックのメンバーが業務で使うために開発・公開しているOSSなプロダクトをまとめて紹介しようという企画です。 KAYAC organization以下にあるものだけでなく、在籍中のメンバーが作ったものもひっくるめて、実際に業務で使用しているものを中心に 紹介しています。 以下の3つのカテゴリに分けて記載しています。 各カテゴリ内はアルファベット順です。 ツール編 人間が手動で実行するもの アプリケーション編 どこかに常駐して、イベントを受け取ると動作するもの ライブラリ編 ツールやアプリケーションから参照されるもの 集めてみたらそこそこの量になったので、記事では詳細な説明は省いています。 GitHubリポジトリのURLや関連記事のリンクを併記していますので、より詳しく知りたい場合はそちらを参照ください。 (...) 内はそのプロダクトで使用している主なプ

    KAYAC Engineers' Blog
  • 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
  • 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
  • 1