タグ

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

  • #23 「欲しい情報に素早くアクセスするためのたくさんの方法」tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog

    速さは強さ。 tech.kayac.com Advent Calendar 2012の23日目です。 @handlenameです。 クリスマス前の3連休なのに野郎オンリーでジムを冷やかしに行く予定しかありません。うける。 普段使っている、様々な情報に素早くアクセスする方法を紹介します。 アプリケーションを素早く起動する (Spotlight) Mac限定のはなし。 Quicksilvel、LaunchBar、Butlerなどの ランチャーアプリを使っていたこともありましたが、 SSDMacbookAirになってからはSpotlightが爆速なので 全てこれで済ませてしまっています。 候補が多すぎると陶しいので、 検索対象をアプリケーションとシステム環境設定に絞って使っています。 アプリケーションを素早く切り替える (Spark) こちらもMac限定のはなし。 アプリケーションの切り替え

    #23 「欲しい情報に素早くアクセスするためのたくさんの方法」tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog
    kshimo69
    kshimo69 2012/12/23
  • カヤック流ソーシャルアプリの作り方 インフラ編 - KAYAC engineers' blog

    入社4年目にもなってtech.kayac初登場のせいです。 ブログ書けプレッシャーにとうとう屈する時がきました。 これで夢にkyo_agoが出てうなされなくてすみます。(彼はtech.kayacの尻たたき担当でした) 先々月「ぼくらの甲子園!熱闘編」というゲームをモバゲー内にてリリースしました。 これは去年リリースした「ぼくらの甲子園!」の続編です。 モバゲーユーザの方、是非遊んでみてください。 今回はこの「ぼくらの甲子園!熱闘編」がどういうインフラ構成になってるか紹介したいと思います。 注) 題名に「カヤック流」とはつけましたが、カヤックでは多様性を善としている風潮があり、 ゲームによってインフラの構成が違うどころか、利用しているプログラミング言語すら違います。 なので全てのゲームがこのような構成になってるわけではありません。 前提 今回のインフラ構成を決めるに至って考慮した点は「ラクに

    カヤック流ソーシャルアプリの作り方 インフラ編 - KAYAC engineers' blog
    kshimo69
    kshimo69 2011/10/11
  • 安全なバッチ処理の作り方 - KAYAC engineers' blog

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

    安全なバッチ処理の作り方 - KAYAC engineers' blog
    kshimo69
    kshimo69 2011/10/05
  • 今日から始める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
  • node.jsはじめました - KAYAC engineers' blog

    はじめまして! 技術部2年目のsugyanと申します。 初めてtech.kayac.comに投稿します! 先日自分のブログで書いた記事が思いのほか好評だったので、これについてもう少し詳しく書いてみようと思います。 node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ node.jsについて 最近話題の、サーバーサイドJavaScript「node.js」。みなさん触ってみてますか? 「Google V8 JavaScript Engineによるイベント駆動の…」と、どんなものかは知っているものの実際には触っていない、という人がまだ多いような気がします。 僕も昨年の12月くらいにようやく触ってみた という程度なのですが、意外にお手軽で簡単に使えるし面白いので、 「JavaScriptはまだニガテで ><」というヒトでも安心して始められるのでは

  • 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
  • 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
    kshimo69
    kshimo69 2010/10/30
  • 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
    kshimo69
    kshimo69 2010/09/24
    lemacsからshellをサクっと使う。記事ページの背景透過が見難い…
  • emacsの矩形選択モード紹介 - KAYAC engineers' blog

    ようやく風邪が治りました。nagata(@handlename)です。 みなさん、矩形選択モードというものをご存知でしょうか? 矩形というのは長方形のことです。 矩形選択というのはつまり、領域を四角形に選択することを指します。 通常選択 矩形選択 通常テキストエディタは行毎に処理を行いますが、 矩形選択を活用すると行をまたいだ操作を行うことができます。 今回はemacsの矩形選択モードを3種類ほど紹介してみたいと思います。 標準の矩形選択 emacsに最初から用意されている関数です。 それぞれの関数にはそれぞれキーバインドが設定されています。 コマンド呼ばれる関数動作 C-x r cclear-rectangle矩形領域を空白文字に置き換える C-x r ddelete-rectangle矩形領域を削除する C-x r oopen-rectangle空白文字で埋まった矩形領域を挿入する C

    emacsの矩形選択モード紹介 - KAYAC engineers' blog
  • ソーシャル系ボタンの表示を非同期化してブログの表示を高速にする方法 - KAYAC engineers' blog

    付箋がないとが読めなくなりました。ago(@kyo_ago)です。 先日リニューアルした弊社デザイナーブログの表示を高速化したのでその方法を紹介したいと思います。 KAYAC DESIGNER'S BLOG 元々トップページに記事が12件表示され、その記事毎にFacebook、Google Buzz、はてブ、Topsy(Twitter)を読み込んでいたのですが、その結果12件*4件=48件の外部APIアクセスが発生し表示に10秒程度かかっていました。 しかし、実際に外部APIを使用している部分は最初は表示されず、記事をクリックしてから表示されるようになるため、以下のようなJSを使用して各記事を表示する段階で外部APIアクセスを行うようにしたところ、トップページの表示が3秒程度に高速化しました。 // for topsy init=preload window.preload = func

    ソーシャル系ボタンの表示を非同期化してブログの表示を高速にする方法 - KAYAC engineers' blog
  • .emacs分割のすゝめ - KAYAC engineers' blog

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

    .emacs分割のすゝめ - KAYAC engineers' blog
  • 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
  • .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
  • mixi app framework mist.jsを開発しました : tech.kayac.com - KAYAC engineers' blog

    KAYACモバゲー参入に伴いAmazon Web Serviceと格闘中のagoです。 弊社ではPC版mixiアプリもいくつか作成しておりますが、今回そこで得られたノウハウを集めてmixiアプリ フレームワークを公開しました。 ソースコード github opensocialに関しては過去にjquery.opensocial-simple.jsを公開しておりますが、社内からも「JSなしでmixi appを作りたい」と言う要望もあり、今回frameworkの形で公開いたしました。 コンセプト JSを書かなくてもそこそこリッチなmixi appが作れるフレームワーク 機能 OWNER、VIEWER情報の取得 マイミク情報の取得 指定mixi IDユーザ情報の取得 画面遷移の制御 表示領域の自動調整 「日記に書く」リンクの自動設定 アクティビティの発行 「友達を誘う」機能の追加 詳細はgithu

    mixi app framework mist.jsを開発しました : tech.kayac.com - 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
  • Perlのローカルプロキシ紹介と見せかけてJS開発環境紹介 - KAYAC engineers' blog

    齢27にしてNirvanaをまともに聴き出したtaiyohです。 最近、ベースの他にギターも始めてみたのですが、当に難しい… (個人の方含め)ブログ書くの当に久しぶりです。 ちょうど今JavaScriptをがっつり使った案件に関わっているので、開発周りで小ネタを一つ。 JSの割とポピュラーな開発方法として、ローカルプロキシ経由でアクセスし、開発中のファイルを読みこませてチェックするという方法があります。 その最に使う代表的なローカルプロキシとして、Mac OSXLinuxの場合はCocProxyがありますし、Windowsの場合、FiddlerやProxomitronがあります。 さて、僕の開発方法はといいますと、ローカルプロキシを使用しているという意味ではあまり変わったことはしていません。 ただ最近、ひょんなことから、PerlのHTTP::Proxy::Selectiveというモジ

    Perlのローカルプロキシ紹介と見せかけてJS開発環境紹介 - KAYAC engineers' blog
    kshimo69
    kshimo69 2009/12/18
    [http http::proxy::selective javascript localproxy pac perl][perl][あとで読む][javascript][from_greader][from_plagger]
  • javascriptでカンタン経路検索 : tech.kayac.com - KAYAC engineers' blog

    数え切れないほどのYUREXと一緒に住んでいた渡邊です。 今の時代、ブラウザさえあれば経路情報をカンタンに取得することができます。 今回はGoogleの経路検索APIjavascriptとブラウザを使います。 1. 結果を見る 弊社、自由が丘オフィスから鎌倉社までの経路についての、 APIレスポンスをまとめたものは下記の通りです。 route.json 2. 確認する 出発地名と到着地名を入力して経路検索ボタンを押すと、 Firefoxのconsoleに経路検索結果をまとめたオブジェクトが表示されます。 consoleオブジェクトが無いブラウザの場合は、アラートで簡潔にお知らせします。 ※都道府県名を含めない場合、結果が出ないことがあります。 出発地名: 到着地名: 3. 主要なクラスのリファレンス クラス GDirections - Google Maps API リファレンス クラ

    javascriptでカンタン経路検索 : tech.kayac.com - KAYAC engineers' blog
  • GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC engineers' blog

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

    GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC engineers' blog
  • jQueryを使ってphpで言うところのstrip_tagsとかhtmlspecialcharsする方法 - KAYAC engineers' blog

    以下のコードは状況により脆弱性が発生する可能性があるため別の方法で実装ください。 先日始めてsquidの設定を行いました。agoです。 今日はjQueryを使ってphpで言うところのstrip_tagsとかhtmlspecialcharsする方法を紹介したいと思います。 普通jQueryを使ってescapeする場合、$().text()で要素を追加すればいいのですが、これだと「文字列template内に埋め込むために事前に文字列をescapeしたい」や、「ユーザの入力値はescapeしたいけど、改行をbrに変換するから$().text()で要素を追加したくない」といった場合に使えるかもしれません。 具体的には以下のようなコードを読み込むことによって$.strip_tags()や$.htmlspecialchars()が使えるようになります。 jQuery.extend({ 'strip_t

    jQueryを使ってphpで言うところのstrip_tagsとかhtmlspecialcharsする方法 - 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氏が以前から公開さ