タグ

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

  • Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog

    Lobi事業部 サービス基盤チームの長田です。 最近プロジェクト内で使用する開発環境にDockerを利用するようになったので、その紹介をします。 Dockerにしたってどういうこと? 公開済みのWebサービスに変更を加えて動作確認をする場合、番環境でそれを行うわけにはいきません。 ほとんどの場合はローカルマシンでWebサービスの全体または一部のコピーを動かして動作確認を行うことでしょう。 その後ステージング環境などの他の開発メンバーも触ることができる環境で動作確認やQAを行い、 問題がなければ晴れて番環境に反映、という流れが一般的かと思います。 この「ローカルマシンでWebサービスのコピーを動かす」部分にDockerを利用している、ということです。 Dockerにしてどうなった? Before 開発環境構築に1〜2日かかっていた After 開発環境構築がランチに行っている間に終わるよ

    Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog
  • #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2014 22日目です。 こんにちは。Rubyを書いている @yumiyon です。 今回は、Railsプロジェクトで「○○がしたい!」と思った際に、自分がよく利用するGemを機能ごとに分けて10個ほどご紹介します。日頃からRailsで開発を行なっている方は既知のものばかりかもしれませんが、Railsを始めたばかりの方や、自分のための備忘録として。 目次 Gemとは 1、画像をアップロードしたい(CarrierWave) 2、管理画面を作成したい(ActiveAdmin) 3、環境毎に定数を管理したい(rails_config) 4、crontabを管理したい(Whenever) 5、スプレッドシートにアクセス(google_drive) 6、ページャーを実装したい(kaminari) 7、非同期処理を使いたい:ジョ

    #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog
  • jQueryのCSSセレクタAPIを高速に扱う方法 - KAYAC engineers' blog

    最近Androidとの抗争が激化しているago(@kyo_ago)です。 jQueryはCSSセレクタを多用する特徴がありますが、jQuery内では実行ブラウザやCSSセレクタの記述によって呼び出されるブラウザAPIが変わり、それによって実行速度にも影響が出ます。 この記事では「セレクタAPIとはなにか」、「CSSセレクタの記述によって呼び出されるセレクタAPIの種類」、「高速なセレクタAPIを使用するための方法」、「高速なセレクタAPIが使われるかどうか確認する方法」などを紹介したいと思います。 (※この記事はJavaScript Advent Calendar 2011 (フレームワークコース) : ATNDの1日目の記事です) セレクタAPIとはなにか セレクタAPIとは「#hoge .huga」のようなCSSセレクタから、DOM上に存在する要素を取得するためのAPIです。 jQue

    jQueryのCSSセレクタAPIを高速に扱う方法 - KAYAC engineers' blog
  • 安全なバッチ処理の作り方 - KAYAC engineers' blog

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

    安全なバッチ処理の作り方 - KAYAC engineers' blog
  • emacs lisp でよりよいコーディングを - KAYAC engineers' blog

    ようやく社員紹介ページができました。nagata (@handlename) です。 先日の @soh335の記事に感化されて emacs 版を書いてみました。章立てはだいたい同じになってます。 ※ elisp = emacs lisp elispの管理 auto-install.el URLから elisp を直接インストールすることができます。 EmacsWiki: auto-install.el .emacs にはこんな設定を書いておきます。 (require 'auto-install) (add-to-list 'load-path auto-install-directory) (auto-install-update-emacswiki-package-name t) (auto-install-compatibility-setup) (setq ediff-window-

    emacs lisp でよりよいコーディングを - KAYAC engineers' blog
  • 「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 - KAYAC engineers' blog

    ども。自分のサイトを復旧させるのが面倒なため会社のブログにのレビューまで乗せようという魂胆の村瀬です。 週末に「入門GIT」を読んだのですがこのは git ユーザーはもちろんのことその他すべての開発者が必読のだなぁと感じたので紹介しておきます。 このです。 このは現在の git の開発者でありメンテナーである濱野氏によって書かれた git の入門です。 ただの入門にあらず しかし入門だから最初はよくあるようなチュートリアルのような記事からはじまるのだろうと思っていると最初から面らいます。 最初に書かれているのは git がどのようにデータを記録し、どのように履歴をたどれるようになっているかというまさに git 自体の基が書かれているのです。 僕個人は二年近く git を使用してきているため自分の知識の確認のような感じで読み進められましたが、初めての方はすこしむずかしいか

    「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 - KAYAC engineers' blog
  • 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
  • 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
  • 1