タグ

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

  • ウノウラボ Unoh Labs: FarmVilleの開発 - FacebookのNo.1ゲームを5週間で作りあげスケールさせた手法

    こんにちは、五十川です。 2010年12月1日に、ウノウがジンガジャパンとなってから初めてのタイトルとなるファームビレッジがリリースされました。ファームビレッジはFacebookで永らくNo.1の座にあるFarmVilleの日語版ですが、先月そのFarmVille開発のリーダーで、現在はZyngaの共有テクノロジーをリードしているAmitt Mahajanが来日していました。 今回ご紹介するのは、そのAmittが2010年3月のGame Developers Conference(GDC)で行った、Rapidly Developing FarmVille - How we built and scaled a #1 Facebook game in 5 weeksと題したプレゼンテーションです。今回Amittの許可を得てそのときのスライドの日語版を作成しましたので、それに解説を加えてご

  • ウノウラボ Unoh Labs: Varnishの使用例とか

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

  • ウノウラボ Unoh Labs: subversionリポジトリでもgitが使えるgit-svn

    yukiです。 空前のGitブームもだいぶ落ち着き、最近はGit記事をあまり見かけなくなりましたが、今日は空気を読まずにGit、それもgit-svnについて利用例を挙げつつご紹介しようと思います。 さらっと紹介されている記事は多いのですが、実際にこう使っている、などの例があまりなかったので、今回利用例を含めてご紹介していけたらと思っているので、もっと便利な使い方があるよ!という方の突っ込みをお待ちしております。 まずgit-svnについてご紹介すると、その名の通りgitとsubversionをつなぐ役割を果たすもので、subversionのリポジトリからgitでcloneして利用出来るというものです。 インストールはyum一発で簡単に入ります。 # yum install git-svn よくある例としては、業務で使うリポジトリはSubversionのまま使い続けているけど、個人

  • ウノウラボ Unoh Labs: cacti の設定をコマンドラインから行う方法

    こんにちは。kyagi です。今回はサーバの監視/グラフ化ツール「cacti」の設定をコマンドラインから行う方法をお知らせいたします。 cacti とはサーバの監視/グラフ化ツールです。CPU使用率やロードアベレージ、その他様々な情報をカラフルなグラフで見ることができます。 設定は主にブラウザ上から行うのですが1台のサーバの設定でもSNMPの各項目を選択したり、グラフのデータ元であるデータクエリを設定したりなかなかの作業量になります。設定内容は全て把握していても 1 台につき、マウスでクリックする回数が多いので数十台の追加となると時間もかかりますし、指もかなり疲れます(また、ヒューマンエラーも入り込む余地が生まれます)。 実は cacti にもこういった設定をコマンドラインから行える php スクリプトが用意されています。標準ではこれらのスクリプトは /var/lib/cacti/cli/

  • ウノウラボ Unoh Labs: 位置情報を取得してみる

    こんにちは。ryosuke です。 先週からモバゲータウン内において、弊社の携帯まち育成ブラウザゲーム「まちつく!モバゲー版」の提供を開始しています。よろしければ遊んでみてください。 まちつく!は、まち育成シミュレーションゲームですが、育成だけではなく携帯電話の位置情報を利用したおみやげやスタンプといった機能があります。最近は海外でもGPS機能を搭載したスマートフォンが普及してきたためか、世界的に位置情報を利用したサービスが活発化し始めているようです。 NHKのTV番組ブラタモリと連携しているiPhoneアプリの「ブラアプリ」や、位置情報でつながる街情報SNS「foursquare」 が話題になったりしていていますね。位置情報自体は今更感があるのですが、個人的興味でにわかに位置情報がホットです。 携帯電話 位置情報の活用と言えば一番に思い浮かぶのが携帯電話ですね。基地局を利用した位置情報と

  • ウノウラボ Unoh Labs: Flash Lite初学者の為のまとめ

    おはようございます。内田です。 最近はmixiアプリモバイルやモバゲー上のゲームのようなソーシャルゲームが流行ってるようですね。 私もソーシャルゲーム&Flash Lite案件を手がけることになったので、その時に参考にしたサイトを紹介します。 開発の前に覚えること 最初にFlash Liteの仕様とケータイ開発の障壁ともいえるキャリア間の差異を知る必要があります。 Flash Lite ことはじめ。 我らがryosuke氏のエントリー 仕様とキャリア毎の情報が分かりやすくまとまってます。 [Flash Lite 1.1]制作前に知っておきたいことをQ&A形式でまとめてみた 上記エントリーと重複する部分も多いですが、Q&Aの形で調べやすい。 「一般的なガイドラインが知りたい!」を厳守すれば3キャリアで動作するswfがつくれそうです。 コンテンツの作成 Flash Liteコンテンツのつく

  • ウノウラボ Unoh Labs: サーバのネットワーク速度の調査/測定方法

    こんにちは。kyagi です。先日データセンタ内のサーバ群のうち、なぜか特定の1台だけネットワークの速度が極端に遅いという問題がありました。今回はサーバマシンのネットワーク速度の測定方法と原因についてお話しします。同様のトラブルが発生している方のお役に立てば幸いです。問題解決までの手順としては以下になります。 1. 現在の状態を調べる 2. ハード/ソフト含めて考えられる原因をいくつか挙げる 3. 原因について改善されるまでひとつひとつ検証していく まず現在の NIC の HW 情報とドライバを lspci で調査します。ここでは Broadcom の NetXtreme BCM5722 という NIC を使用していることがわかります。 # lspci -vvv | grep Ether 01:00.0 Ethernet controller: Broadcom Corporation

  • ウノウラボ Unoh Labs: サービスの開発と運営をする上での問題の切り分け(ドメイン・DNS編)

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

  • ウノウラボ Unoh Labs: 個人でWebサービスを作る時に一番大変なこと

    komagataです。 最近、個人でWebサービスを作る人が増えています。 僕も個人(2人)で※Plnetというしがないサービスを作っています。Plnetを作るにあたって、もう一人の作者t-kawaduと目標に掲げたのが、 「とにかくオープンすること。」 なんて低い目標だと驚かれるかもしれませんが、仕事で作るのとは違って個人でWebサービスを作る上で一番大変だったのは“やる気を継続させること”でした。やる気を継続させるためにやったことを紹介したいと思います。 (普通こういうことは成功しているサービスの作者が言うものですが・・・) 寝る前にドメインを取る よく飲みながらこれこれこういうサービスを作ったら便利なんじゃないか、なんて話をしますが実際に作ったためしがありませんでした。自分の口ばっかり具合にうんざりしていたので、寝て気が変わる前にドメインを取りました。 寝る前にレンタルサーバを借りる

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

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

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: Flashの新しい可能生 Asynchronous Flash + XMLSocket

    尾藤正人(a.k.a BTO)です 昨日ラボプロジェクトとして実験的に開発している新規プロジェクト「プラッシュ」をβ公開しました。 簡単に説明するとプラッシュはFlashとXMLSocketを使う事でブラウザだけでネットワーク対戦ができるゲームポータルサイトです。 今回はプラッシュで使われているFlashとXMLSocketを使ったアプローチについて考察してみたいと思います。 はじめに 正直に告白すると僕はFlashを一行も書いた事がありません。(汗) なので、Flashの部分に関してはFlash側の開発者であるyossyに聞いたり、Webで調べた情報がほとんどです。 不正確な情報が含まれてる可能性がありますが、その辺を考慮していただければと思います。 FlashのXMLSocketで何ができるのか FlashのXMLSocketを使うと直接ソケット通信を行う事ができます。 AjaxやCo

  • ウノウラボ Unoh Labs: 10テラバイトマシンのつくりかた

    「iPodの残り容量が200MBを切った」と社内で発言してから「iPhoneを買おう!」としきりに言われるようになったbokkoです。そんな私は先月、ホコリをかぶっていたデスクトップPCを筐体ごと買い換えました。今ではMacBookからSSHでログインしてコンソール上で快適な生活を送っています。 今月、2TBのHDDを6使ったサーバを立てる機会がありまして、今日はその時のお話です。 HDDの容量とストレージサーバ Webサービスのインフラを構築・運営していると、膨大なデータをどう扱うかといった問題にぶち当たることがあります。仮想化技術の進歩によって複数のOSを1台のマシンで同時に稼働させつつ、物理的なマシンの数を減らすことができるようにはなりましたが、物理的な媒体であるHDDを1台のマシンに搭載できる数には限りがあり、ソフトウェアであるOSの仮想化みたいにじゃんじゃん増やすことができませ

  • ウノウラボ Unoh Labs: LD_PRELOADを使って任意の関数呼び出しにフックしてみる

    尾藤正人(a.k.a BTO)です 先日の社内勉強会のLTでLD_PRELOADについて簡単にやってみました。 LD_PRELOADって? 環境変数$LD_PRELOADを使うと他のライブラリの読み込みの前に任意のライブラリを先に読み込ませることができます。 実行プログラムの形式にELF形式を採用しているOSで使うことができます。 Linuxであれば問題なく使用できるはずです。 何ができるのか プログラムを変更することなく、任意の関数を上書きしたり、任意の関数にフックすることができます。 libhookwriteを作ってみた 簡単なサンプルプログラムとしてlibhookwriteというのを作ってみました。 libhookwriteはその名の通りwrite(2)にフックをかけることができます。 といってもできることは限られていてファイルのタイムスタンプの更新か、任意のプログラムをsh

  • ウノウラボ Unoh Labs: デザインセンスの無い人がwebサイトを作成する際に参考にしているサイト

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

    ウノウラボ Unoh Labs: デザインセンスの無い人がwebサイトを作成する際に参考にしているサイト
    stibbar
    stibbar 2009/06/26
    すごいブクマ数だ。
  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

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

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

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: PHPで書かれたwebサービスを高速化する2

    前回のエントリPHPで書かれたwebサービスを高速化するでは高速化のレベルのうち、最初の2段階「ハードウェアによる高速化」「ソフトウェアによる高速化」について書きました。 今回は第2弾として「プログラムの工夫による高速化」について書きたいと思います。 - DBへのアクセスは自分で抽象化する DBへのアクセスを高速化するためには、チューニングを行ったり複数台構成にするわけですが、 広く使われているPear::DBとかadodbは複数台構成のDBに接続することを考慮されていません。 Pear::DBやadodbはバックエンドに使って、ラッパークラスを作るようにしましょう。 - 更新系クエリと読み出し系クエリのユーザを分ける これは高速化とは関係ないんですが、ぜひ実行してもらいたいので書きました。 複数台構成のサーバにアクセスするときは更新系クエリはマスターに発行して、 読み出し系クエ

  • 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: 見ないと損する ソフトウェアテスト関連サイト色々

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

    ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々