タグ

ブックマーク / labs.unoh.net (54)

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: サービスの開発と運営をする上での問題の切り分け(ドメイン・DNS編)

    普段バランスボールに座って仕事をしているのにWBSの撮影は普段ボールで仕事をしていない人が軒並みボールに座るので自分の分がなくなって撮影中のテンションが下がってしまったアンケートに英語キーボードの人+1できなかったjokagiです.上鍵のタイプの英語キーボードってかなり少なくて困ってます. そういえばなんとか正式採用になってプロフィールに掲載されました. あらためてよろしくお願いいたします. さて今回はウェブ開発というかインターネット向けサーバー&クライアントな開発をする上で「問題の切り分けちゃんとできるようになりましょう」という話です. 問題の切り分けちゃんとできてますか? あるサービス,わかりやすいのはウェブサービスを開発していると,普通さまざまな問題がでてきます. スクリプトなどロジックの問題の場合は解決できる人は多くいらっしゃるのですが, 「サーバーにつながらない」という現象に対し

    kamipo
    kamipo 2011/11/24
  • ウノウラボ Unoh Labs: Mac OS X上のUnicode

    Firefoxは内部的に変換処理を行うようになっているようです。 問題はSafariとOperaですね。 選択されたファイルのパスからJavaScriptで ファイル名を抜き出してタイトルに設定する部分で、 正しく扱えるような文字コードに変換することにしたいと思います。 基的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、 「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、 その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう (ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。 変換用の文字テーブルを用意して、逐一変換していくかたちにしたいと思います。 というわけ

  • ウノウラボ by Zynga Japan: Varnish上でESIの機能を利用する

    Keita です。 サンフランシスコで開かれたSymfony Liveで、Fabien Potencier氏によるHTTP Cacheという発表がありその中でESI(Edge Side Includes)の紹介がありました。 下の画像はちょっとみずらいですが、たとえばこのラボブログのレイアウトだと大枠の部分は常によりユーザに使いフロントの所(つまりCDNやキャッシュサーバ)側でキャッシュされていてAの部分とBの部分それぞれのコンテンツを別々にインクルードする形でキャッシュ制御することができます。 Symfony2のサイトsymfony-reloaded.orgでも、マニュアルがありますので、詳細はそちらを参考にしていただくとして、その中に、Varnishでもその機能が利用できることが紹介されていますので試してみたいと思います。 Varnishのインストールについては省略してとりあえず設定部

  • ウノウラボ Unoh Labs: Smarty で gettext を使って国際化

    尾藤正人です。 ウノウでは海外公開を前提に事業を展開しているので、ほぼ例外なくプログラムは国際化されています。先日公開した Melovie もちゃんと国際化されていて、ブラウザの言語の設定を変えると英語で表示されます。 最近テンプレートエンジンで Smarty を使い始めたのですが、そのままでは gettext とうまく組み合わせることができないので、ウノウでは独自の仕組みを入れています。日語だと Smarty で gettext やってる情報が全然ないので、ウノウでやっている方法を紹介したいと思います。 Smarty で gettext を使うときの一番の問題点はメッセージの抽出です。Smarty は PHP とは文法が異なるので、そのままでは xgettext を使ってメッセージを抽出することができません。PHP 側で全てのメッセージを変数に代入するというのも一つの方法ですが、やはり

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    kamipo
    kamipo 2010/10/25
  • ウノウラボ Unoh Labs: Varnishの使用例とか

    一部の人に鳥の人として認識されているyamaokaです。 フォト蔵では最近Varnishをコンテンツキャッシュに利用しています。 具体的には、写真のサムネイルなどの静的なコンテンツをキャッシュするために使っていたりします。 Varnishはコンテンツキャッシュ機能を備えたHTTPアクセラレータです。 同じような目的に使われるプロダクトとしてSquidがありますが、 それよりも高速に効率よく動作することを売りにしています。 サーバーへのインストールについてはCentOSなどRed Hat系のLinuxであれば EPELからrpmを入手するか、 ソースを展開するとredhatディレクトリにspecファイルが用意されているので そちらを利用すれば最新版のrpmが作成可能です。 以下、rpmを使ってインストールしたものとして話を進めます。 起動設定は/etc/sysconfig/varnishです

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    kamipo
    kamipo 2010/02/25
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: Tokyo Tyrantを使ってみて

    yamaokaです。 通常のデータベースとしてではなく、Key-Valueストアの選択肢として Tokyo Tyrantを少しずつ使ってみています。 実際に運用するにあたって、いくつか行ったことを書いておきます。 ちなみに、現在の構成は1台のみでの運用です。 マルチマスター構成やレプリケーションなどは行っていません。 PHPのクライアント Tokyo Tyrantを利用するのはPHPのアプリケーションからです。 最初はmemcachedプロトコルを利用して PECL::memcacheを使っていましたが、 データの大量更新を連続で行うとデータの取得が正常に行えなくなる現象が発生したため、 Net_TokyoTyrantを一部改変したものをライブラリとして利用しています。 パフォーマンスではPECL::memcacheに負けますが、クリティカルな処理をしていないこともあり、 今のところ問題に

  • ウノウラボ Unoh Labs: 配列要素の存在チェック

    こんにちは。今月入社したyamaokaです。よろしくお願いいたします。 さて、PHPで配列要素の存在チェックを行う場合、どうされていますか? 2通りの書き方があると思いますが、実は動作が異なる場合があるのです。 if (isset($array['foo'])) { // (1) // 存在する } if (array_key_exists('foo', $array)) { // (2) // 存在する } (1)の場合、要素の値がnullだと存在しないものとして扱われてしまいます。(2)では、該当するキーが存在しさえすれば存在するものとして扱われます。 配列の要素がnullになる可能性がある場合、array_key_exists関数を用いてチェックを行う必要があります。isset関数が使用できるのは、要素の値がnullにならないとわかっている場合だけです。 実行速度はどうでしょうか。P

    kamipo
    kamipo 2009/09/04
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    kamipo
    kamipo 2009/08/24
  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(同期ツール編)

    ダイエット中で炭水化物の量が気になる尾藤正人です。 前回のエントリベンチャー流サーバ構築のススメ(ソフトウェア編)では、主にOS周りのことについて書きました。複数台のサーバを管理するのに重要なのは極力構成を同じにすることです。そうすることで管理コストが大幅に下がります。 以前Klabさんのサーバ管理者向け無精のすすめ ~ちょっと便利なツールの紹介~というエントリで同期ツールの紹介がありましたが、ウノウでも同じような感じの独自ツールを作って同期をとっています。今回はこの同期ツールの紹介をしたいと思います。 僕が shell scripter ということもあってスクリプトは全て sh で。zsh の特殊な記法が使いたかったので zsh で書いています。 凡例 全てのコマンドは最後に対象とするホスト名を指定します。all というは特殊な指定で全てのサーバに対してリクエストが送られます。 共通関数

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)

    尾藤正人です ラボブログではウノウのエンジニアで1日1人1エントリ(早く書くのはあり)で書いてます。おかげさまでウノウも順調にエンジニアの数が増えて、僕の順番に回ってくるのが少しずつ遅くなってきました。でもまだまだウノウではエンジニアを大募集中です!!我こそはと思う方はぜひご連絡ください。 前回のベンチャー流サーバ構築のススメ(ネットワーク編)ではネットワーク周りについて書きました。前回のエントリで言ったように、今回はソフトウェア周りのことについて書きたいと思います。 ソフトウェア周りで重要なのは、同じ構成にする、これにつきます。web サーバにだけ apache をインストールしたりとか、DB サーバにだけ MySQL をインストールしたりだとかいうことはしません。全てのサーバに同じパッケージ、同じプログラムをインストールします。それによる管理コストの軽減ははかりしれないものがあります。

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: やってみようBDD on Sinatra

    おはようございます。 うちだです。 みなさんテストコード書いてますか? 私はテストと言われると、どうもやる気がおこりません。 そこでBDD! 今回はBDD初心者の私が、やってみた過程を綴ります。ツッコミ大歓迎 BDDとは? Behavior Driven Development 振舞駆動開発 テスト駆動開発ではテストのためにコードを書く 振舞駆動開発では振舞(仕様)のためにコードを書く 結果的にやる事はほぼ一緒 言い方でモチベーションがかなり変わる スペック!スペック! 各言語のBDDフレームワーク Ruby RSpec .NET NSpec Java JBehave PHP PHPSpec 10ステップでやってみるBDD 1. インストール $ sudo gem install rspec 2. スペックを書く # spec/hello_spec.rb require 'hell

  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ネットワーク編)

    尾藤正人です。 前回のエントリ ベンチャー流サーバ構築のススメ(ハードウェア編) では多くのコメント、トラックバック、ブックマークをしていただきました。ありがとうございます。僕自身多くのことで勉強になりましたし、新たな発見もありました。 技術は公開、共有して発展するものだと思っていますので、自分の無知をさらけ出すのを恐れずにいろいろ公開して、自分自身も成長していければと思っています。 今回はサーバ構築するときのトピックとして、どのようにネットワークを構築したかを書いてみます。 サーバ構築に限ったことではありませんが、重要なのは質を下げずにコストを下げることです。ネットワーク部分でお金がかかるのは回線ぐらいですから、ネットワーク周りで重要なのは人的コストを下げること、つまり管理コストを下げることです。 ・回線は2回線以上用意する 2回線以上用意するのは高可用性を確保するためです。通常は全ての

  • ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ハードウェア編)

    尾藤正人です。 ウノウでは最近新オフィスに引越ししたのですが、新オフィスにサーバルームを設置してフォト蔵のサーバをホスティング業者から自社サーバに移行しました。 自社サーバに移行のは下記のような理由からです。 フォト蔵のようなストレージ系のサービスの場合、十分な帯域を確保する必要があるが、広帯域を確保するにはコストがかかる フォト蔵のようなストレージ系サービスの場合、大容量のHDDが必要になるが、大容量のHDDを搭載したマシンはハイエンドマシンになり、増設コストがかかる マシンの増設に時間がかかりフレキシブルに対応できない というわけで自社サーバに移行したわけですが、自社サーバに移行するにあたって様々なノウハウがたまってきました。 サーバ構築にはいろいろトピックスがありますが、今回はハードウェア的な部分について書きたいと思います。 ・マシンは全て同じ構成にする 数多くのサーバを運用するに