タグ

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

  • ウノウラボ by Zynga Japan: ラボブログの更新停止について

    あやかし陰陽録のカガミかわいいですね。 Keitaです。 ## お知らせ 「当ブログの更新停止について」 当ブログについて更新しない日々が続いておりました。先日、フォト蔵の記事を掲載いたしましたが、今後については記事を新たに更新はしない予定です。 過去記事は、まだ価値があるものも多いためそのままにしておきます。 改めて、終了宣言したのは、きちんとした形で終了をしておかないと新しいものをはじめるにも始められないというという考えたからです。 そんなわけで、今後についてですが、別にZynga Japanでは(NDAに抵触しない限りは)情報配信に制限があるわけではないので、新たな名前で会社ブログを始まるかもしれません。 Zynga Japanも面白い技術の塊です。 もともと、コンソールゲームに強いエンジニアが多いUS Zyngaと、Webエンジニアの多い Zynga Japan のコラボレーション

    otsune
    otsune 2012/07/30
  • ウノウラボ by Zynga Japan: <?php を閉じてみる

    こんにちは、7月からphpを始めた細川です。 phpの作法で<?phpではじめたファイルを?>で閉じない、というものがあります。これまで、あまり考えずに従ってきたのですが、よく考えてみると「タグを閉じない」というのは直感的には不作法です。 検索して調べてみると、以下のような記事が見つかりました。 http://zendframework.com より引用 PHP コードのみからなるファイルでは、終了タグ ("?>") は決して含めてはいけません。これは必須なものではなく、 終了タグを省略することで、ファイルの最後にある空白文字が出力に影響することを防ぎます。 「決して」含めてはいけない。ということで、わりと大事のようです。 そこで、実際にタグを閉じると何がおこりうるのか調べてみることにしました。 まず、以下のようなphpファイルtest.phpを用意しました。

    otsune
    otsune 2010/12/29
  • ウノウラボ by Zynga Japan: レディの嗜みについて ~ PHP と Membase と MessagePack と私

    こんにちは mayutan です。 ラボブログを書かないとクビだと脅されたのでクリスマスに泣きながら書いておりますが 皆様いかがお過ごしでしょう。 今回のレディの嗜みですが、 レディたるもの、キーバリューストアくらい扱えないとなりません!!!!!!111 という事で membase についてご紹介しようと思います。 最近も杓子もソーシャルソーシャルわっしょいわっしょい!といった感じで、 これまでのシステムとはまた違った独特の工夫を皆様されていると思うのですが、 memcached を使っている方はかなり多いのではないでしょうか。 ここにプラットフォームから取得した情報や、あまり更新されない情報などを保存して、 DB やプラットフォームへのアクセスを極力減らす、という使い方がメジャーだと思います。 そして、同時に「これ永続化できたらもっと便利なんじゃないの?」って皆思ってるで

    otsune
    otsune 2010/12/27
  • ウノウラボ Unoh Labs: 携帯とスマートフォンでsymfonyのテンプレートを切り替える

    こんにちは。中村です。 先日、まちつく!mixi版がスマートフォンに対応しました。 スマートフォン対応にあたって、元々まちつく!が携帯専用アプリであったために変更しなければいけない点がいくつかありましたが、その中でも今回はテンプレートの切り替えについて書きたいと思います。 時間的な都合もあり方針としては、基的には携帯用のテンプレートを表示できるようにして、よく使われる機能についてはスマートフォン用のテンプレートを用意して表示するようにしました。 ※まちつく!で利用しているsymfonyのバージョンとは違いますが、ここでは最新バージョンの1.4.7の場合になります。 独自のviewクラスを定義する どのページがスマートフォンに対応しているかを管理することなく対応したかったので、アクセスしている端末とテンプレートファイルの有無によって挙動を変更することにしました。読み込むテンプレートの切り替

    otsune
    otsune 2010/10/05
  • ウノウラボ Unoh Labs: レディの嗜みについて

    はじめまして 6月にウノウ株式会社改め Zynga Japan に入社致しました mayutanです。 社内全体 MTGflickr のプレミアムユーザであることを dis られたので 弊社のサービスでありますフォト蔵の API を使って皆さん(誰?)に許していただこうと思います。 Android 端末を見たことも触ったこともなかったので、後学のためにアプリを作ってみることにしました。 タグ的な何かを選択したらそのイメージに合った写真を一覧表示するアプリを作ってみましょう。 Aandroid アプリの開発環境はこちらを参考に整えました http://developer.android.com/sdk/installing.html ここから直感的にアプリをデザインしてみましょう! res ディレクトリの layout/main.xml を開いてエディター下部にあります、「レイア

    otsune
    otsune 2010/08/12
  • ウノウラボ Unoh Labs: Google Spreadsheet APIを使ってみた

    おはようございます、chihiroです。 弊社で開発している某ソーシャルゲームで、YAMLで書かれたゲームのマスターデータ(fixture)をExcelに出力するというタスクが生じました。 Excelにするならば、YAMLからCSVに変換して取り込むとか、あるいはExcelファイルを直接扱えるライブラリを使うといった方法が考えられます。しかし、今後プログラマではない他の社員にデータを編集してもらい、かつ編集したデータとfixtureの同期をとれるようにしておきたいところです。 そこで、以前どこかの勉強会で「管理ツールなんて自作する必要ない。Google Spreadsheet上で編集させて、必要に応じてAPIでアクセスすればいい」という話を聞いたことがあるのを思い出し、Google Spreadsheet APIを使ってGoogle Spreadsheetにデータを書き出すという方法を試し

    otsune
    otsune 2010/08/03
  • ウノウラボ Unoh Labs: 「ちわさん、奥さんが来ましたよ」

    「え!?が会社に!?」と一瞬戸惑いましたが奥一穂さんでした。 別にが会社に来てもやましいことなど何もありませんが、こんちには、ちわです。こんにちわ。 以前の記事でもご紹介した通り弊社が提供しているまちつく!というサービスでは Q4M 0.9.0 を利用して地図の画像生成Amazon S3 への転送を行っています。 その Q4M に障害が発生し弊社ではどうも解決できそうにないので Q4M の作者の奥一穂さんに相談させてもらいました。 その際は、デッドロックのバグを踏んでいる可能性があるので Q4M を 0.9.1 以上のものしてみてはどうかと返答を頂きました。 弊社では 64bit 環境であった為、0.9.2 は除外され、0.9.3 は新しすぎるので 0.9.1 を採用することにし、バージョンアップ後に障害もなく安定稼働を続けています。 そんな経緯もありまして、先日弊社に奥一

    otsune
    otsune 2010/06/12
  • ウノウラボ Unoh Labs: すぐに使いこなせるオススメvim plugin

    こんにちは。vimをビムと発音する派のryosukeです。 ウノウでエディタといえば、以前はvimemacs、それもvim優勢(ユーザー数的に)だったのですが、最近は色んなエディタやIDEを使ってる人が増えています。 私は以前はemacsを使っていたのですが、今ではemacsでヤンクの仕方を忘れてしまうぐらいにvimユーザーになってしまいました。とはいえ、vimを使いこなしてるとは到底言えず、 最速のキーリピートに頼る毎日です。 そんな私ですが、いくつか愛用しているプラグインがあるので、今回紹介させていただこうと思います。どのプラグインも基的に ~/.vim/plugin にコピーするだけで使えます。 yanktmp ファイルを経由することで異なるプロセスのvim間でレジスタ(クリップボード)を共有する(かのようにコピペする)ことができます。screenでいくつも vim を開いたりす

    otsune
    otsune 2010/05/13
  • ウノウラボ Unoh Labs: PHP版 Parallel::Prefork で奥一穂さんと親に感謝しよう

    こんちにわ、去年末に入社した「ちわ」です、こんにちわ。 Perl には CPAN というものがあり、そこには様々なライブラリが登録されています。国内の方々も多くライブラリを登録されていますがその中で牧大輔さんの Queue::Q4M、奥一穂さんの Parallel::Prefork を PHP に移植したので今回は奥一穂さんの Parallel::Prefork のPHP版を紹介したいと思います。 弊社が提供しているサービスの「まちつく!mixi版」、「まちつく!モバゲー版」の地図を生成、Amazon S3 への転送をキューを使って処理していまして、そのキュー処理に Q4M を導入することになりました。キュー処理の主な流れは下記のようになります。 主な処理の流れ Web やバッチで生成キューをエンキュー 生成デーモンがデキューし地図を生成 正常に地図を生成できたら転送キューにエンキュ

    otsune
    otsune 2010/04/28
  • ウノウラボ Unoh Labs: Q4Mを触ってみる

    yukiです。そろそろクリスマスですね。みんな浮かれていればいいと思います!最近急に目が悪くなって、ツリーの赤色電球と居酒屋の赤提灯の色が判別出来なくなってきました。嘘です。 今回は、みんな大好きメッセージキュー、Q4Mを触ってみた感想を今更ながらレポートします。 公式ページはこちらhttp://q4m.31tools.com/ Q4Mはサイボウズラボの奥 一穂氏が開発されており、MySQLの5.1以上でストレージエンジンとして利用できるメッセージキューで、MySQLプラグインとしてGPLライセンスで配布されております。 特長 MySQLのストレージエンジンとして利用できるので、テーブル作成時にストレージエンジンを指定するだけで利用できます。 CREATE TABLE hoge ( ... ) ENGINE = QUEUE キューの作成(enqueue)は通常のレコード操作と同様にINSE

    otsune
    otsune 2009/12/18
  • ウノウラボ Unoh Labs: 2009年版Python開発環境を整えよう

    なでしこの作者じゃない方のsakatokuです。 以前書いた「Python開発環境を整えよう」という記事からだいぶ時間が経ってしまったので、内容を更新したいなぁと思っていたのですが、ようやくその機会が来ました。 virtualenvで開発環境をつくる 開発環境をつくるにあたって次のような問題が生じると思います。 root権限がないためにインストールしたいライブラリが使えない 新しいライブラリをインストールしたり、既存のライブラリをアップグレードすることで、既に動いているアプリケーションを壊したくない 複数のバージョンのPythonを使って開発、テストを行いたい 自作したPythonパッケージのインストールのテストを行いたい 以前の記事ではvirtual-pythonという解決策を紹介しましたが、現在ではvirtualenvというツールが広く使われるようになってきています。 virtuale

    otsune
    otsune 2009/12/03
  • ウノウラボ Unoh Labs: Tokyo Tyrantを使ってみて

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

    otsune
    otsune 2009/10/30
  • ウノウラボ Unoh Labs: PubSubHubbubとは

    yamaokaです。 Twitterのみならず、FriendFeedやFacebookなど よりリアルタイムに近い更新がwebで求められるようになってきています。 従来、更新情報の配信はRSSなどのフィードやAPIを通して行われてきました。 しかしその場合、配信している側のサーバーに 定期的にリクエストを投げないと更新があったかどうかわかりません。 サーバーへのアクセスが多くなった場合、結構な負荷になります。 さらにお行儀の悪いクライアントが存在すると、頻繁なアクセスを繰り返し、 あたかもDoS攻撃のような状況が起こることもありえます。 そこで考えられたオープンなHTTPベースのプロトコルがPubSubHubbubです。 Google ReaderとFriendFeedが対応している他、 日国内ではlivedoor Blogとliverdoor Readerがそれぞれ対応しています。 で

    otsune
    otsune 2009/08/20
  • ウノウラボ Unoh Labs: JavaScript でクリップボードを扱う方法 (Flash10対応版)

    酒徳(クジラ飛行机)です。以前、ラボブログにJavaScriptでクリップボードを使う(IE/Firefox) という記事を書きました。これは、Flash Player の機能を利用して、JavaScript でクリップボードを操作するというものでした。 ところが、Flash Player 10 になって、セキュリティ制約が強化されたため、この方法でテキストをコピーすることができなくなってしまいました。そこで、このセキュリティ制約を回避してクリップボードを扱う方法と、簡単に「コピー」ができるライブラリを公開します。 まず、Flash Player 10 のセキュリティ制約について紹介します。具体的に言うと、クリップボードにテキストをコピーするメソッド「System.setClipboard()」の使用が制限されるようになってしまいました。以前はこのメソッドを任意のタイミングで呼び出すことが

    otsune
    otsune 2009/01/27
  • ウノウラボ Unoh Labs: Mercurialでバージョン管理

    stoplightで最大化したターミナル上でzshとscreenとEmacsを立ち上げ、 明朝体フォントでプログラミングするbokkoです。 今回はバージョン管理システムの1つであるMercurialについて紹介します。 ウノウではSubversionとTracを組み合わせて開発を行っていますが、 僕個人では今年の春ぐらいからEmacsやzsh、screenなどの各種設定ファイルをMercurialでバージョン管理しています。 Mercurialとは? Mercurialは分散型のバージョン管理システムです。 これに対して、CVSやSubversion(以下SVN)は集中型のバージョン管理システムにあたります。 分散型と聞くと難しそうなイメージがわくかもしれませんが、 CVSやSVNに比べてると、より手軽にバージョン管理を行うことができるというのが、 Mercurialに対する僕の印象です

    otsune
    otsune 2008/05/13
  • ウノウラボ Unoh Labs: MacPorts の使い方と開発方法について

    こんにちは、naoya です。 先日、社内の勉強会で MacPorts の使い方から Ports の追加方法まで幅広く紹介しました。MacPorts は、FreeBSD の ports が元になっていると聞いていましたが、バイナリバッケージまで作れるとは知りませんでした。 詳しくは、資料を参照してください。 なお、資料の中で Ports で追加している bat というプログラムは、Global standard programming with GNU Autotoolsで紹介されているプログラムです。

  • ウノウラボ Unoh Labs: サタデーコードフィーバーを開催しました

    Keitaです。 先日2月16日、サタデーコードフィーバーを開催させていただきました。 参加者の皆様ご参加ありがとうございました。 感想としては個人的には楽しかったのですが、コーディング中はすごい静かだったり、もっと人が集まったなら集まったなりにいろいろできたんじゃないの感がありいろいろ改善したい点がでてきました。 そういうわけで、今後、似たようなことをやる方がいたり第二回サタデーコードフィーバーをやるときの自分へのメモとして、エントリを書いておこうと思います。 名札を用意してよかった 今回、はじめて勉強会で名札を用意していみました。 普通の文房具屋で、1個単位のちゃんとしたやつを買うと一つ200円くらいするのですが、50個セットのやつだと3000円ちょっとで購入できます。私は東急ハンズで買いましたが、ちょっと大きい文房具屋にならありそうな気がします。 ウノウが静か過ぎた問題 音楽はか

    otsune
    otsune 2008/02/19
  • ウノウラボ Unoh Labs: Webアプリテスト2008年問題について考える会のお知らせ

    こんにちは! やまもと@テスト番長です。 早いものでもう年末が近づいて参りましたね。 家の近所にディスプレー(ショーウィンドウやデパートなどの飾り)の工房があるのですが、今急ピッチでクリスマスツリーを量産しています。 さてさて、唐突ですが皆さんはWebアプリテスト2008年問題ってご存知ですか? え?聞いたことないですか?それもそのはず、今自分が発案しました。 実は、常々ウノウラボを見てくださっているQAエンジニアの方々と、 皆さんの職場はどんなテストをしているのかとか、使っているツールは?など 直接お話してみたいなーと思っておりまして。 近々、忘年会シーズンに先駆けて一席用意してみようかなと決心した次第です。 ただのオフ会だとなんなので、勉強会風にしようかとお題を考えてみたのが2008年問題の真相です。 勉強するふりをして飲みに出るもっともらしい口実とも言います。 そんなわ

  • ウノウラボ Unoh Labs: auとSoftBankの絵文字一覧YAML

    auとSoftBankの絵文字については、下記のページに公式の情報が掲載されています。しかし、情報がPDFであったり、HTMLであったりと、プログラムから使うのが難しいという問題があります。 EZFactory 絵文字 EZWeb絵文字一覧【タイプD】(リンク先はPDF) ソフトバンク 絵文字一覧 そこでこのPDFHTMLYAMLにしてみました。 諸般の事情により公開を停止しました。代わりに、同様の情報の取得方法に関する記事へのリンクを紹介いたします。 Ruby: http://d.hatena.ne.jp/tokuhirom/20070706/1183707279 Ruby: http://moriq.tdiary.net/20070211.html#p01 Ruby: http://d.hatena.ne.jp/urekat/20070927/1190905959 Perl: ht

    otsune
    otsune 2007/10/30
    項目に意味が有るんならシーケンスじゃなくてハッシュにすればいいのにな。何番目がUnicodeかなんてハードコーディングしたくない
  • ウノウラボ Unoh Labs: DjangoのURL逆引き機能

    Chihiroです。 今回は、Django 0.96以降から改善が進んでいるDjangoのURL逆引き機能に関して紹介したいと思います。この機能を上手く使うと、Djangoを使ったWeb開発において、URLの設計と維持にかかる手間を大幅に削減できます。 公式ドキュメントの日語訳にもこの機能の説明はありますが、説明が分散していて全体像が見えにくいと思いますので、この機能を使わない場合の問題点を指摘し、次に使った場合、ルーティング、モデル、ビュー、テンプレートがそれぞれどのように書けるかを説明したいと思います。 なお、動作確認はSubversionから取得した開発版Django(rev.6447)を使用して行っています。 Django0.96以前のURL定義の問題点 Djangoの大きな特徴として、「自由なURL設計」がありますが、一方でモデル、テンプレート、ビュー、ルーティングにおいて冗長