タグ

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

  • 2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog

    4月になり、新人が入ってくる季節になりました。技術部新卒研修担当の fujiwara です。 これまで弊社技術部では特に技術部としての研修というものを行っていなかったのですが、今年は何かやりたいねということで人事部に7日間確保してもらい、主に acidlemon と2人で新卒8人に研修をすることになりました。 研修の資料などは GitHub でプライベートリポジトリを作って作業しており、それをまとめたものを GitHub上で kayac/newbie-training として公開しています。 どのような内容にするかは事前に昨年度の新卒を含めたエンジニア陣で(社内勉強会でビールを飲みながら)話し合い、 現場で実務に追われてしまうと身につきにくい基礎的な内容 コードを書ける人は多いけどLinuxサーバの操作は不慣れな人が多いので、そのあたりを底上げする内容 をメインに構成してみました。また、7

    2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog
    poppen
    poppen 2013/05/23
  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
    poppen
    poppen 2012/07/17
  • Google Mapのデザインを変更する方法(StyledMapの使い方) - KAYAC Engineers' Blog

    豚を丸焼きにするイベントで日焼けしました。ago(@kyo_ago)です。 すでにだいぶ時間がたってますが、7/7に弊社コーポレートサイトのリニューアルを行いました。 その際会社までの道順を紹介するページでGoogle Mapのデザインを変更したのでその方法をご紹介したいと思います。 StyledMapType Google Map Ver3以降はStyledMapTypeというAPIが追加されており、このStyledMapTypeを使うことで地図上の指定された要素に対して独自の色情報を設定することができます。 色の変更方法 色を変更するにはStyledMapType API経由で以下のようにJavaScriptのObjectを渡すことで実現できます。 var styles = [ { // 色を変更する対象の指定(document参照) featureType: "road.local"

    Google Mapのデザインを変更する方法(StyledMapの使い方) - 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
  • vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog

    こりなくvimプラグインの紹介をします。北原(@soh335)です。 たかが、エディタですがプログラムを書く際には一番触っている道具です。イチローも道具は大切にすることが重要と言ってますし、メンテナンスしながら良い状態にしておきたいですね。 今回はvimプラグインの管理、プログラム書く自体には関係ないけど便利なプラグイン、実際にエディタを使っている際に便利なプラグインの紹介をします。 vimプラグインの管理 vim-pathogen http://www.vim.org/scripts/script.php?script_id=2332 vimプラグインは、windows環境はで$HOME/vimfiles/、mac等では$HOME/.vimのディレクトリの下にインストールしていきますが様々なプラグインを一つのディレクトリにいれると のようになり例えばこのプラグインが更新されたのでアップデ

    vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog
    poppen
    poppen 2010/10/31
  • 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
  • AmazonのMySQLホスティングサービス RDSの利点と欠点 - KAYAC engineers' blog

    こないだ初めてスノボ体験しました。agoです。 弊社ではAmazon Web サービスを利用してmixi、モバゲーアプリを提供していますが、その中でも今日はRDS(MySQLホスティングサービス)の利点と欠点を紹介したいと思います。 利点 設定が容易 my.cnfを設定せずとも各instance classに合わせて各種パフォーマンス項目が設定済みのため、設定を変更せずとも使用開始時からある程度の性能を出すことが可能です。 AWSSecurity Groupsと連携できる EC2 instanceはサーバ負荷によって台数が増減するため、通常のIP制限では台数を変更するたびに制限するIPを変更する必要があります。 これに関しては通常のEC2 instanceでMySQLサーバを立てるときにも専用のSecurity Groupを用意することで連携は可能ですが、RDSの場合、RDSを使用してい

    AmazonのMySQLホスティングサービス RDSの利点と欠点 - KAYAC engineers' blog
    poppen
    poppen 2010/02/25
  • 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
  • GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC Engineers' Blog

    こんにちは。typesterの陰謀によりVimmerはモテないというデマが流れておりますが、残念ながらそれがデマだということを身をもって証明できないでいるVimmerの外村です。 先日、お悩み相談の記事がホットエントリーに入ったら彼女ができるという噂が立ち、何を間違えたかホットエントリーに入ってしまったのでどうしようかと思ったのですが、プログラマたるもの問題があればプログラムで解決すべきだろうと考えました。 というわけで彼女を作ってみました。どういうものかというと、 僕だけに定期的につぶやく 僕のリプライだけに反応してリプライを返してくれる まさに僕だけのボット彼女です。今回はこれをGoogleAppEngine+JRubyで実装したので、環境をつくるところか実際に動かすところまで説明します。 1. 環境をつくる まずはGoogleAppEngineのアカウントがないと始まらないので以下か

    GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC Engineers' Blog
  • vimに欠かせない3つのプラグイン - KAYAC Engineers' Blog

    Ark Advent Calendar で、今回こそPerlデビューをもくろんでいるアルバイトの北原です。 僕は普段エディタにvimを利用しています。巷では高まるvim熱のはずなのですが、社内ではEmacs派の方々が大半で、さらにvimを使っているともてないという話まで出てきています。この悲しい現実を打破すべく普段vimを使っている方にも、使ってない方にも、これから使おうと思っている方にもオススメできる3つのプラグインを紹介したいと思います。 1. quickrun.vim quickrun は編集中のファイルの全体もしくは一部を実行する Vim プラグインです。 実行するためのコマンド |:QuickRun| が提供されます。 quickrun.vim help 概要より引用 quickrun.vimはthinca氏によるプラグインです。同名のプラグインをujihisa氏が以前から公開さ

    poppen
    poppen 2009/12/04
  • 高速にWeb開発をするために便利ないくつかのTIPS - KAYAC engineers' blog

    outputz でいまだに1位になれたことがない村瀬です。 社内で開発をスムーズにするための tips 集を紹介したので、まとめておきます。 記事ではデモができないので便利さが伝わらない物も多いですが参考になれば幸いです。 screenとかzshとか便利だよ!と言う話は社内ではさんざんしているのでありません。 また、OSX 限定の内容もあります。 でははじめましょう。 keychain keychain と言っても OSX の KeyChain ではなく、コマンドラインのツールです。 これは ssh-agent をより便利にするためのラッパーです。これを使用すると ssh の秘密鍵のパスワードを一度入力するとあとはパスワードなしで ssh 接続できるようになります。 「同じこと二回も言わせんな!」といつも切れているような人は導入すると良いでしょう。 使い方は $ keychain ~/.s

    高速にWeb開発をするために便利ないくつかのTIPS - KAYAC engineers' blog
    poppen
    poppen 2009/10/03
  • 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
  • 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
  • 誰でも出来る簡単Red5環境構築 - KAYAC engineers' blog

    ども、出来ることなら楽したい、めんどくさいことはしたくない、手抜きが大好き!でおなじみアラガです。 先日、FMS勉強会でネタのつもりで僕の手抜きRed5環境構築法を紹介したのですが、意外と役に立つ部分もありそうだったので紹介します。 まず、Red5とはJavaで作られているオープンソースのFMS(Flash Media Server)クローンです。弊社でも、今日の緑さんや超能力ラボ等、FMSではなく無料で使えるRed5を採用しているプロジェクトも数多く存在しています。 僕はこのRed5のインストールを何度かしていますが、バージョンが上がったりした際に一発でインストールできなかったり、いろいろと苦戦をしてきました。 しかし、最近ある方法を使って超速に環境をさくっと作れるようになってきました。 以下で紹介します。 超速インストール方法 1.Java6をインストールする 実はこれが一番敷居が高い

    誰でも出来る簡単Red5環境構築 - KAYAC engineers' blog
    poppen
    poppen 2008/12/14
  • ustreamを見ながらflvにダンプする - KAYAC engineers' blog

    kamaitachi開発者の村瀬です。 kamaitachiの開発のためにRTMP専用のスニファーを書いたのですが、そのアプリにほんの遊び心でflv保存機能をつけてみたところなかなかおもしろいのでここで紹介してみます。 ソースコードはこちら: Sniffer::RTMP この中の script/rtmp_flvdump.pl がRTMPストリームをflv形式でダンプするスクリプトです。(Net::Pcap を使用していますので実行にはスーパーユーザー権限が必要です。) 使い方は sudo perl ./script/rtmp_flvdump.pl en1 filename.flv のように、インタフェース名と保存するflvファイル名を与えると、RTMPのパケット中のビデオデータを filename.flv として書き出してくれるというものです。 たとえば、これを起動した状態でustream

    ustreamを見ながらflvにダンプする - 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
  • deliciousの本家Helpに書かれていないAPIの使いかた - KAYAC engineers' blog

    今回は南国高知からお伝えしています。agoです。 前回の記事でもちょっと紹介したのですが、deliciousにはいくつか家のHelpに記載されていないAPIがあるのでご紹介したいと思います。 ・情報を取得するときにURLで渡す。 deliciousは各URLのブックマーク数等を取得するとき基的にURLのmd5を渡しますが、以下の方法であれば直接URLを指定して情報を取得することができます。 http://badges.del.icio.us/feeds/json/url/blogbadge?url=http%3A%2F%2Ftech.kayac.com%2F また、返り値にはURLのmd5も含まれているので、URLのmd5がほしいときにも使えるかもしれません。 (deliciousへのアクセス以外でURLのmd5がほしい状況というのも思いつきませんが。。。) ・一度のアクセスで複数のU

    deliciousの本家Helpに書かれていないAPIの使いかた - KAYAC engineers' blog
  • 1