タグ

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

  • 分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はkatsubushiというアプリケーションを紹介します。 https://github.com/kayac/go-katsubushi katsubushiはid発番を行うアプリケーションです。 水平分割されたデータベースに対してユニークなidを発番するために作られました。 なお、記事中の「データベース」はMySQLを指します。 katsubushiの特徴 Snowflakeと同様のアルゴリズムでid発番 SnowflakeはTwitter社がかつて公開していたid発番アプリケーションです。 https://github.com/twitter/snowflake/tree/master 既にメンテナンスされておらず、masterブランチにはその旨が書かれたREADMEしか残されていません。 タグが切られているので、ソースコード等はそちらで確認できます。

    分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog
  • #12 Objective-C - Method Swizzling を Swizzling する - KAYAC engineers' blog

    こんにちは、去年は Cocos2d-x の記事を書いたのに一度も Cocos2d-x を使ったことがない @Gemmbu です。 今年は久しぶりに Objective-c でごりごり開発していました。 その中から C で出来るちょっと面白いネタを。 Method Swizzling とは? 簡単に説明すると、既に定義されているメソッドの実装を入れ替える機能です。 例えば以下のような Foo クラスを定義します。 // Foo.h @interface Foo - (void)func; @end // Foo.m @implementation Foo - (void)func { NSLog(@"call func"); } @end 以下のように使います。 Foo *foo = [Foo.alloc init]; [foo func]; // -> call func が出力される こ

    #12 Objective-C - Method Swizzling を Swizzling する - KAYAC engineers' blog
  • モテるプログラマになろう第一弾〜CLI好きのためのAIRで作るコマンドラインツール〜 - KAYAC Engineers' Blog

    モテたいですか?はい!!!モテたいです! アラガでございます。 サーバーサイドエンジニアのみなさん、こんにちは! モテてますか?イケてるプログラマしてますか? ちなみに僕のイメージするナウくてカッコいいプログラマは、以下の条件を満たすプログラマです (ActionScript||JavaScript)&&(Ruby||Perl)&&(vim||emacs)&&zsh 残念ながら、php + eclipse + bash な僕は相当イケてません。 話がそれましたが、プログラマがもっとも輝けそうなシーン、もっとも輝けそうな雰囲気なときに、モテそうな事を、モテそうな言語でスマートにやってしまおうという企画第一弾です。 1. シチュエーション 新人の 可愛い女の子 がPCの前で呆然としています。いったいどうしたのでしょう? 「Flash(SWF)を100個画像にしてサムネイルを作らないといけないん

    モテるプログラマになろう第一弾〜CLI好きのためのAIRで作るコマンドラインツール〜 - 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
  • 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
    emonkak
    emonkak 2012/06/23
  • libcurlをiPhoneアプリからつかう方法 (ついでにopensslも) - KAYAC engineers' blog

    iPhoneアプリから自己証明書の https サーバーに接続しようと思った場合、どうするのがいいでしょう。 普通に Objective-C の NSURLConnection を使用すると証明書の検証エラーになってしまいます。少し検索すると非公開APIを使用して回避する方法もあるようです。(NSURLConnection +setAllowsAnyHTTPSCertificate:forHost) Cocoa アプリだとこの方法で良いかもしれません。しかし iPhone では審査ではじかれること請け合いです。と言うかはじかれました。 そこで libcurl をつかって C の世界で HTTP 接続をしてしまえばリジェクトしようがないだろうということでやってみたときの記録です。 前提 以後の作業はすべて iPhone SDK をインストールした OSX 上で行っています。 openssl

    libcurlをiPhoneアプリからつかう方法 (ついでにopensslも) - KAYAC engineers' blog
  • 1