タグ

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

  • ウノウラボ by Zynga Japan: フォト蔵、そしてウノウラボ

    こんにちは。お久しぶりです、yamaokaです。プライベートなブログにも書きましたが、現在は株式会社デジタルガレージで写真コミュニティサイト「フォト蔵」の制作・運営をしています。 この半年でフォト蔵が変わったこと フォト蔵がデジタルガレージに事業譲渡されたのは2012年4月でした。もう4ヶ月が経つのですね。その前後からいくつかの変更を行ってきているのでまとめて紹介します。 スマートフォンへの対応 2月にwebのスマートフォン版をリリースしています。もともとフォト蔵ではTwitterからのご利用が非常に多く、スマートフォンへの対応は急務でした。実は制作には非常に長い期間がかかっているのですが、リリースできて当によかったと思っています。そして現在、アップロードを簡単に行える方法がない(メールでのアップロードのみサポート)のでアップロードをサポートするためのアプリの開発を進めているところです。

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

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

  • ウノウラボ by Zynga Japan: symfonyエキスパートになるために必須の1冊

    突然ですが、symfonyのエキスパートになりませんか?HIROKIです。 PHPのフルスタックフレームワークであるsymfonyについて共著した書籍が発売されました。私はテスト駆動開発(TDD)とsymfonyによる自動テストについて執筆しました。 具体的にはLimeを利用したユニットテストをはじめ、sfBrowserを利用して、ブラウザアクセスをエミュレーションした自動テストを書くことによって、実際に人間がブラウザを通してアクセスしている内容まで自動テストにします。これを、テストファーストのアプローチで開発する内容になっています。 TDDや自動テストを書くというのは、プログラマーとして、プロとしてのスキルです。これを機会に、ばっちりテストコード書けるぜ!という人が増えることを願っております。 書は symfonyプロジェクトに存在するドキュメントやリファレンスを読む前に必要な前提知識

    d4-1977
    d4-1977 2011/03/24
    自動テストの話
  • ウノウラボ Unoh Labs: symfonyでモバイルサイトを作るときにやったこと

    こんにちは。中村です。 symfonyを使ってモバイルサイトを作るときにやったことを思い出しながら少し紹介しようと思います。symfonyといってもバージョンは1.0系です。最新のsymfonyでは勝手が違うかもしれませんのでご了承ください。 docomoの場合はURLにセッションIDを埋め込む iモードブラウザ2.0ではないdocomo端末はCookieに対応していないため、セッションを利用する場合にはセッションIDをURLに埋め込む必要があります。これについては解決方法がいろいろありそうですが、私の場合、sfMySQLSessionStorageを利用しようとしたところ親クラスのsfSessionStorageがsession.use_cookiesの値でCookieを使うかどうかを決定していたため、initializeメソッドを継承して分岐を入れることにしました。iniの設定をUse

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

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

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

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

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

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

    d4-1977
    d4-1977 2010/10/21
    itijyouhou
  • ウノウラボ Unoh Labs: オープンソーシャルモバイルのAPIアクセスで注意しているポイント

    こんにちは。中村です。 ウノウで運用しているまちつく!はモバイル向けソーシャルアプリとしてmixi版、モバゲー版をそれぞれ展開しています。 開発するにあたって通常のウェブサイトとはいくつか違うポイントに注意しています。プロフィールや友達などの情報を取得するためにプロバイダが提供するAPIを利用することになりますし、通信も「携帯電話 <= プロバイダサーバ => SAPサーバ」という経路になるため、様々な箇所でプロバイダを意識した開発を行う必要があります。 今回は特にAPIを利用する際に注意しているポイントをいくつかピックアップしたいと思います。 APIアクセスをできるだけ減らす オープンソーシャルモバイルに限らず基的なことですが、APIへのアクセスを可能な限り減らすことでSAP・プロバイダ双方の負荷軽減になり、かつリクエスト毎のレスポンス向上に繋がります。まちつく!ではプロバイダからキャ

  • ウノウラボ Unoh Labs: symfonyのfunctional testを携帯のUserAgentにしよう

    こんにちは市丸です。 symfony コマンドで generate:module をすると、functional test用ファイルが自動生成されます。 symfonyで携帯サービスを作る場合、frontendは携帯端末 backendではPCブラウザでアクセスすることがほとんだと思います。 frontendのfunctional testを携帯のUserAgentにする方法を紹介します。 ※試したのは、symfony 1.4です。 まずスケルトンをコピー mkdir -p data/skeleton cp -r lib/vendor/symfony/lib/task/generator/skeleton/module data/skeleton/ data/skeleton/module/test/actionsTest.phpを以下のように改変。 <?php include(dir

    d4-1977
    d4-1977 2010/10/21
    テストの話。ケータイのユーザーエージェントにしたい時があるよね
  • ウノウラボ Unoh Labs: Google Spreadsheet APIを使ってみた

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

    d4-1977
    d4-1977 2010/10/21
    そうだAPIがあるんだった
  • ウノウラボ Unoh Labs: iPhone SDKでウェブAPIコール

    今さらですが最近iPhone SDKプログラミングを始めたBrandonです。 勉強目的に簡単なアプリ作ろうと思って、今個人的にとても気に入っているウェブサービス(Posterous)のiPhoneアプリを作っています。 アプリでWeb APIリクエスト・レスポンスの処理をする必要があったので、 ド素人ですが下記のような感じで初期実装してみました。 暇がある時に遊び心で触っている程度だけなので、やり方が間違っているところもたくさんあるかも知れないが、何かご指摘があれば遠慮なく突っ込んで頂けるとありがたいです。 導入したライブラリ 最初に問題になったのは、Posterous APIはBasic Authentication使っていますが、調べてみたところObjective Cにはbase64エンコードのライブラリがないことが判明しました。 そこで、Objective Resourceという良

    d4-1977
    d4-1977 2010/10/21
    iPhoneの話
  • ウノウラボ Unoh Labs: すぐに使いこなせるオススメvim plugin

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

    d4-1977
    d4-1977 2010/10/21
    あとで試す
  • ウノウラボ Unoh Labs: Tips for nginx

    何を今更と思うかもしれませんが、最近、英語圏に住んでいようがいまいが ソフトウェア開発で英語は必須だと改めて実感したbokkoです。 英語技術書を読んでいる 日人の開発者が作ったソフトウェアに付属している仕様書を読んだら英語で書かれていた 日人の開発者宛に英語でバグレポートを書いていることに気付く(フォーラム全体が英語だった!) 私も自分の書いたライブラリのドキュメントを書き始めましたが、 全部英語だったりします。(少し前に海外の方からライセンスに関する質問を「英語」で受けました) そして、今日紹介するnginxも開発元はロシアですが、英語のドキュメントが充実しています。 nginxとは nginxは高速軽量なWebサーバです。 基的なHTTPとしての機能に加えてSSLやFastCGIのサポート、 リバースプロキシ、バーチャルホスト、メールプロキシといった 便利な機能も

    d4-1977
    d4-1977 2010/10/19
    どこかで使うのかも
  • ウノウラボ Unoh Labs: アジャイルな開発をチームでやってみた(2010年版) - その2

    テストコード書いてますか? HIROKIです。 murahashiに続いて、テストファーストを導入してみての振り返りをします。 まず、どうやってチームにテストファーストのスタイルを持ち込んだのか。 1.テストが重要だという共通認識を持つ。 前のプロジェクトではテストコードは、ほとんどありませんでした。 その中で、開発になれていない人や新たに人が投入され、 極少数ですが、デグレーションが起きました。 その経験を元にテストが重要だという共通認識を持つことができました。 2.プロジェクト開始時からテストファーストに踏み切る気持ちが必要 テストコードを書かなければコミットさせない。ぐらいの気持ちが必要です。 実際に何度も、格的な実装が始まる前から口にしていました。 「うちのチームはテストを書かなければコミットを許さない。」と。 3.でも、テストコード書いたことないよ? テストコードを書いたことの

  • ウノウラボ Unoh Labs: Vim: ちょこっと設定、ちょこっとプラグイン。

    ども。6月入社のjhoshinaです。 まだ入社したてのつもりだったのに、ラボブログ執筆がまわってきてあたふたしています。 何を書こうか迷ったのですが、環境も新しくなったことですし、設定しなおしたVimの設定・プラグインなどをちょこっと見ていこうかと思います。phpとsymfony関係を中心に見ていきます。 雑多な設定 特に変わったところもないのですが一応。 ~/.vimrc set nocompatible set showmatch showmode showcmd set laststatus=2 set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P syntax on filetype on filetype indent on filetype plugin on ~

    d4-1977
    d4-1977 2010/07/29
    あとで試す
  • ウノウラボ Unoh Labs: PHP版 Parallel::Prefork で奥一穂さんと親に感謝しよう

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

  • ウノウラボ Unoh Labs: SVN を使いやすくするシェルスクリプト

    こんばんは、naoya です。 ウノウでは、プログラムのソースコード管理に SVN を使っていますが、日々の開発の中でずっと SVN コマンドを使い続けていると、SVN コマンドの入力がめんどうになってくる場面があります。 今日は、SVN コマンドの入力を簡略化するために、僕が作成したシェルスクリプトをいくつか紹介します。 1) プログラムのリビジョンを一つ前に戻す 誤ってプログラムしたり、プログラムを変更してコミットしたあと、一つ前のバージョンに戻したい場合がたまにあります。そんなときは、SVN コマンドの場合は、次のように入力します。 svn merge -r 上書き対象のリビジョン番号:戻すリビジョン番号 対象のファイル名 このコマンドを使うには、対象ファイルのリビジョン番号を svn info で調べないとリビジョンを指定することができないので、次のようなスクリプトを作ってみ

    d4-1977
    d4-1977 2009/01/19
    svnコマンドは確かに長いよね
  • ウノウラボ Unoh Labs: エラスティック・レイアウトのご紹介

    yamaokaです。 エラスティック・レイアウトというwebサイトのレイアウト手法をご存知でしょうか?  「エラスティック(elastic)」とは、ゴムのように弾力性がある状態のことです。 言い換えると「伸び縮みするレイアウト」になるでしょうか。 webサイトの代表的なレイアウト手法として、次の2つが挙げられるかと思います。 固定幅レイアウト リキッド・レイアウト 固定幅レイアウト 固定幅レイアウトでは、 コンテンツを格納するボックスの幅を以下のように絶対値で指定します。 div#container { width: 800px; } 固定幅レイアウトの場合、ウィンドウや文字のサイズが変更されてもレイアウトの枠は変わりません。 したがって、ウィンドウを大きくすると表示されるエリアが小さくなってしまったり、 文字のサイズを変更すると外枠が変わらないので読みづらくなってしまったりします。 リキ

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

    こんにちは!やまもと@テスト番長です。 今回は自分が普段チェックしている、ソフトウェアテスト系のサイトを色々ご紹介してみようと思います。既にご存知のサイトもあるかと思いますが、宜しくお付き合いください。 swtest.jp/wiki http://www.swtest.jp/wiki/index.php?swtest.jp/wiki 最近wiki化され、情報更新が活発になっています。必見です。 StickyMinds.com http://www.stickyminds.com/ コラムなどの読み物が充実しています。 Google Testing Blog http://googletesting.blogspot.com/ グーグルのテストチームのブログです。面白くないはずがありません。 Open source software testing tools http://www.

  • ウノウラボ Unoh Labs: 仕事用Ubuntu導入レポート

    yukiです。 最近は会社で扱うPCをPanasonicのLet's note CF-Y7 にUbuntu(8.04)を導入してみようと思い、試行錯誤の日々を送っています。 今回はそんな導入までの道のりと、使い方を簡単にレポートしてみたいと思います。(そのままだとVista仕様になっていたので、Wubiで試すのも面倒でしたのでそのままクリーンインストールしました。) GRUB まず最初にハマったポイントは最初のGRUBオプション時に「acpi=off」と「pnpbios=off」をつけないとまともに起動しなかったこと。 $ cat /boot/grub/menu.lst (中略) title Ubuntu 8.04, kernel 2.6.24-16-generic root (hd0,0) kernel /vmlinuz-2.6.24-16-generic root=UUID=XXXXX