タグ

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

  • ちょっと趣向を変えた社内勉強会を実施してみました! - KAYAC engineers' blog

    はじめに 早く梅雨が開けないかなと感じる今日この頃。 どうも技術部の@Konboiです。 今日は、先日行った社内勉強会の取り組みを紹介しようかなと思い記事を書いてみましたのでお暇なときに是非読んで見てくださいm( )m 社内勉強会とは? カヤックでは毎週金曜日に技術部勉強会を行っています。 普段の技術部勉強会では、担当持ち回りで 担当しているサービスの新規機能の紹介と実装の話 最近気になる技術の紹介 各エンジニアの開発環境の見せ合いっこ と色々な事を発表し合っています。 先日の勉強会では、趣向を変えkoebuのリリースから譲渡までの約7年間運用してきた裏話を、長らく担当していたエンジニア2人(@fujiwara, @takihito)から対話形式で聞くという勉強会を行いました。 当日の様子 当日は昔話に花を咲かせるためにはビールが必要だろうと思い人事に交渉したら2つ返事で用意してもらえまし

    ちょっと趣向を変えた社内勉強会を実施してみました! - KAYAC engineers' blog
  • 安全なバッチ処理の作り方 - KAYAC engineers' blog

    このまえ登り坂の途中でロードバイクのタイヤが破裂しました。ながたです。 今回はバッチ処理について書いてみようと思います。 バッチ処理? Webサービスの処理開始条件は、大まかに次の2つに分けることができます。 ユーザーのアクションに起因するもの ユーザーのアクションに起因しないもの このうち後者の処理をバッチ処理が担当することになります。 バッチ処理の担当分はさらに、 特定の条件(時間やサービスの状態)で実行するもの 手動で実行するもの の2つに分けられます。 今回はこの「手動で実行するもの」について書きたいと思います。 バッチを手動実行するのはどんなとき? バッチ処理を手動で実行するのは、十中八九イレギュラーな状況が発生したときです。 ルーチンワークや実行の条件が決まっているものは何らかの方法で自動化できるはずです。 そしてイレギュラーな状況のほとんどは不具合が発生したとき。 つまり 重

    安全なバッチ処理の作り方 - 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
    Itisango
    Itisango 2011/03/10
    まーた知らない言語が一つ増えたorz
  • emacsのM-!とM-|の使い方 - KAYAC engineers' blog

    来週ようやく夏休み!のnagata (@handlename) です。 シェルコマンドを実行したいとき、どうしてますか? emacsを使って開発する場合、 ターミナルとemacsを行ったり来たりすることはよくあると思います。 現在のディレクトリのパスがほしかったり(pwd)、 IPアドレスを調べたかったり(ifconfig)、 あるいは編集中のテキストを処理したかったり。 そんな場合、いちいちターミナルに移動して、 出力結果を確認(場合によってはコピー)して、 あらためてemacsに戻ってくるのは面倒です。 それ、emacsからできます! 往復するのが面倒ならば、すべてemacs上で完結させてしまえばいいのです。 shell-mode を使うという手もありますが、 今回はもっとお手軽な M-! (shell-command) と M-| (shell-command-on-region)

    emacsのM-!とM-|の使い方 - KAYAC engineers' blog
    Itisango
    Itisango 2010/09/24
  • 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
    Itisango
    Itisango 2010/07/29
  • .emacs分割のすゝめ - KAYAC engineers' blog

    最近ロードバイクを買いました。nagata(@handlename)です。 前回、安易にも無防備な.emacsを晒したら、我らがtypester先生に 「.emacsに全部書くのは小学生までだよね〜」(大幅に誇張あり) と言われてしまったので、早速.emacsを分割してみたいと思います! (設定ファイル群をgithubにあげました) なんで分割するの? そもそもなんで分割するんでしょうか? メリットとしては、こんなものがあります。 見通しがよくなる 環境依存の設定を切り分けられる 一部のファイルにエラーがあっても他のファイルの設定は適用される それぞれ個別にbyte compileできる 一部のエラーが全体に影響しないっていうのはいいですね。とっても。 では、実際に分割する方法を見ていきましょう。 分割してみよう 分割した設定ファイルを読み込むために、IMAKADOさん謹製のinit-lo

    .emacs分割のすゝめ - KAYAC engineers' blog
  • .emacsを、晒してみようと、思った。 - KAYAC engineers' blog

    最近確実に左手小指が強化されてきました、nagataです。 さてさて、今回は.emacs紹介というベタなテーマです。 いいんです。自分はまだやってないんで。 とりあえず、マイ.emacsの全貌はこちら。 Mac OS X 10.6上のemacs23で使ってます。 せっかくなので上から解説していきますよ! 基的に、.emacsに書いてる内容→解説、の順です。 解説、というか一言コメント 初期設定 (let ((default-directory "~/.emacs.d/site-lisp/")) (setq load-path (cons default-directory load-path)) (normal-top-level-add-subdirs-to-load-path)) お決まり。 elispがつまったディレクトリを指定しています。 normal-top-level-add

    .emacsを、晒してみようと、思った。 - KAYAC engineers' blog
    Itisango
    Itisango 2010/07/19
    でかくなるとファイルを分割してeval after loadにしたくなるのですよね。
  • そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog

    弁当生活始めました。agoです。 以前のjavascriptの開発はサーバサイドと同じPGが開発することが多く、機能をファイル単位で分割してそのページで必要なファイルのみを読み込むと言うことが行われていました。 ただ、最近はサーバサイドとクライアントサイドの分業が進んだことや表示速度の兼ね合いもあり、単一ファイルに全体を記述しサーバサイドでは全ページでその一ファイルのみを読み込むような形になることが多いです。 単一ファイルの利点としてはサーバサイドの実装に依存せずに任意の機能を追加できることがありますが、欠点として機能毎の切り分けが難しくなると言う点があります。 jQueryを使用して$('.selector')で切り出す方法もありますが、マークアップの全体像を正確に把握できていないと不要なページで間違って実行されてしまう危険性もあります。 そこで、以下のようなJSを先に読み込み、各URL

    そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog
    Itisango
    Itisango 2010/05/28
  • ブラウザ上で動作する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
    Itisango
    Itisango 2010/05/21
  • 誰も興味が無いnanoの基礎の基礎 - nanoはpicoの千倍なの! - - KAYAC engineers' blog

    タイトルを見てドン引きした人とはむしろお友達になれそうな気がします。 初めまして、新人の瀬戸と言います。 ネタが無いうえに先輩社員からの前振りがあったので、自分が使用しているエディタについて語りたいと思います。 この記事を見ている人は「エディタ」と聞いて何を思い浮かべるでしょうか。 vimemacs、サクラエディタ、TeraPad、EmEditorなどを思い浮かべるのでしょうか。 「メモ帳で十分だろ常識的に考えて…」 と言う人や、 「純正viしか認めない!」 と言う人や、 「Eclipse使ってないの?プークスクス(笑) …え? IDEの話はしていない?」 と言う人や、 「漢なら黙ってcatとパイプ」 と言う人も居るのかもしれませんね まあ、何にしても人それぞれ好みのエディタがあって、それを使用している事でしょう。 (環境や言語などによって使い分けるということは往々にしてあると思います

    誰も興味が無いnanoの基礎の基礎 - nanoはpicoの千倍なの! - - KAYAC engineers' blog
    Itisango
    Itisango 2010/05/01
  • jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog

    来週は私が夏休みなので更新はない予定です。agoです。 最近、人にjQueryを解説する機会があったので、昔を思い出してjQueryを使い始めた頃に感じる疑問を書いてみたいと思います。 1 そもそも何で使うの?いまでも困ってないよ 作成する内容にもよりますが、慣れると使用しない場合に比べて記述するコード量が3分の1程度まで減ります。 また、変数、条件分岐、繰り返しが減るのでバグが発生しにくくなります。 2 何か特殊なことができる? 結局できることは変わりません。 jQuery自体JSで書かれてますし、記述の自由度もJSの制約に制限されます。 3 何が難しいの? 文法がややjQuery的になります。 参考 jQuery言語入門 jQuery自体のコード量は少ないのですが、独特の記述法が多く慣れるまで多少時間がかかるかもしれません。 また、CSS Selectorの知識はほぼ必須です。 特にマ

    jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog
  • jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog

    肩こり歴20年のagoです。 社内でもjQueryを使う人間が増えてきたので、jQueryを使う人が陥りやすい罠をいくつかあげてみたいと思います。 (私が過去にはまったり、今はまっている罠です) 1 グローバルの名前空間を使わない jQueryはwindow objectの汚染が少なくほかのライブラリとの共存が行いやすいですが、特定のサイト向けに開発する場合window objectを使用してもそれほど問題は発生しません。 しかしjQueryに慣れるとwindow objectの使用をいかに避けるかを考えるようになり、jQueryと関係ないfunctionや変数まで$.hogehogeに実装しようとしてしまいます。 これはwindow objectの代わりにjQuery objectを汚染しているだけなので、素直にwindow objectを使用したほうが普通に実装しやすいでしょう。 2

    jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog
    Itisango
    Itisango 2009/07/15
  • 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
    Itisango
    Itisango 2009/04/17
  • 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
    Itisango
    Itisango 2009/02/25
  • 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
    Itisango
    Itisango 2009/01/09
  • 1