タグ

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

  • ウノウラボ Unoh Labs: PHPによるテキストファイルへのロギング

    yamaokaです。 PHPでwebアプリケーションを作成するとき、 皆さんはロギング(ログの出力)をどうされているでしょうか。 今回は、テキストファイルへロギングする方法をいくつか紹介したいと思います。 error_log関数 syslog関数 PEAR::Log log4php Zend_Log error_log関数 PHPでは、標準の関数として error_log関数が用意されています。 使い方はとてもシンプルです。2番目の引数に「3」を指定することで、 テキストファイルにログを出力することができます。 error_log('message', 3, '/var/tmp/app.log'); syslog関数 また、syslog関数も 標準で用意されている関数です。syslog経由でテキストファイルにログを出力することができます。Windowsの場合は、イベントログでエミュレートさ

  • ウノウラボ Unoh Labs: PHPの画像処理の紹介と簡単な比較

    Keita です。 僕は、フォト蔵チームではないので、フォト蔵の画像処理については見ていませんが、個人的に画像処理に興味があるためPHPにおいての画像処理を簡単に調べたことがあります。 その時の結果をお話させていただきたいとおもいます。 この他に、もし、こういう選択肢があるよというのがあれば、教えていただけると大変うれしいです。 主要なライブラリの一覧 GDで処理 LibGDを操作するPHP標準のライブラリです。 ほぼ、レンタルサーバなどで利用できる反面、対応形式が、JPEG,GIF,PNG,WBMP,GD{,2}にしか対応していないなどのいくつか機能的に制限があります。 (WBMPは、Wireless Bitmapという、WindowsBitmapとは別の形式です) imagick ImageMagick/GraphicsMagickという画像編集ソフトのPECLの拡張で

  • ウノウラボ 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: ECサイトのユーザビリティ・ガイドライン

    こんばんわ、Sashaです。 最近、ECサイトのリニューアルを計画するお手伝いをする、という仕事がありました。特にユーザビリティ的な観点から、どんなことを網羅したらこのリニューアルを成功させることができるだろうか、ということを考えながら、様々なブログを参考にしたり実際のECサイトを検証したりしていたら、以前私が紹介したユーザビリティ・ガイドラインのようなチェックリスト的なものが出来上がったので、もしかしてどこかのだれかのお役に立つこともあるかもしれない、と思い、ここに紹介させていただきます。 まず、ECサイトで実現したい基的な目標をあげ、その目標に沿って細かく、網羅していきたい事を列挙していきました。 基的な目標とは、次の5項目です。 見つけたい商品・情報を見つけやすくする ユーザーの労力を極力削減する 買いたい気にさせる 購入までのプロセスを簡単にする オンラインショッピング

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

    こんにちは satoです。 いくら面白くて、高機能なwebサイトを作成しても、デザインがダサいとサイトの魅力や開発意欲は半減です。 僕もまったくデザインセンスが全く無いのですが、新しい物を作成する際には以下のサイトを参考にしています。 (1)Color Scheme Generator 2 デザインの大まかな配色等を決めるのに使用することがあります。 真似するだけで、Coolなサイトに見えるような気がします。 (2)Color Palette Generator ロゴ等の画像を指定すると、その画像に合ったカラースキームを 教えてくれます。 (3)Web 2.0 Colour Palette 有名なサイトのカラースキームの一覧があります。 (4)pmob.co.uk CSSや画面分割などのさまざまなサンプルや解説があります。 (5)logopond さまざまなロゴのサンプルがありま

  • ウノウラボ Unoh Labs: PHPで携帯位置情報を扱うライブラリ「Geomobilejp_Converter」を作りました

    中村です。 PHPで携帯の位置情報を簡単に取り扱うことができるライブラリ「Geomobilejp_Converter」を作りました。もう半年近く前に作ったものですが、コードを少し整えたので公開することにしました。 GPSに対応した携帯では、各キャリアで指定されている特定のHTMLを記述することで、携帯サイトに位置情報(緯度経度や測地系)を送信することができます。この位置情報を利用すると、「位置情報付きで掲示板に書き込む」などの機能を実装することができます。 キャリアによっては位置情報のなかに土地名を含むものもありますが、通常は緯度経度だけでは土地名がわかりません。そこでGeomobilejp_Converterでは、docomoの提供するオープンiエリアのiエリアデータファイルを利用して土地名を関連付ける機能を実装しています。iエリアデータを利用することで、各キャリアで共通したiエリアコー

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

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

  • ウノウラボ Unoh Labs: 一人の人を幸せにすることで、より多くの人を幸せにするサービスを考える。

    Sashaです。気がついたら自分の生活の一部だった。そんなサービスが人に小さな幸せを生み出します。そんなサービスを作ることが出来たらいいですよね。 でも、人っていっても、色々いますよね。私たちは、だれの生活を思い浮かべたらいいのでしょう。 UIという文脈の中で、ペルソナ(personas)という言葉の意味を聞いたことがありますか?ペルソナは、マーケティング、デザイン、製品開発など幅広い分野で、顧客中心思考を実現するためのひとつのキーワードとして論じられています。 UIに関していえば、樽徹也氏が「ユーザビリティエンジニアリング」というの中でこの言葉について説明されていますので、ご紹介させていただきます。 ペルソナとは、UI設計の中で設計チームの意思決定のよりどころとなる「ユーザ像」をさします。「だれのためのサービスか」、を明らかにすること。当たり前のようなことですが、日々、バグやクレーム

    mrorii
    mrorii 2010/09/30
  • ウノウラボ Unoh Labs: 5分くらいで知るScala

    はじめまして。今月入社した内田です。 以前は業務系のSI会社に勤めていたので、Web系という畑の違う環境に少々戸惑うこともありますが、最近少しずつ慣れてきました。 今回は先日、社内勉強会でやった「Scala」について5分くらいで紹介したいと思います。 Scalaとは 関数型言語とオブジェクト指向言語の特徴を統合したマルチパラダイム言語です。 主にJavaVM上で動作し、他にも.NET Framework、Google Android等でも動作が確認されています。そしてJavaや.NET等の既存の豊富なライブラリを使用することが可能です。 このあたりはwikipediaに詳しく書かれています。 Wikipedia:Scala 約1年程前には日でのScala人口は1桁とも言われていましたが、最近では各地で勉強会が開催される等盛り上がりをみせ、「次の言語」として注目されています。個人的にSca

    mrorii
    mrorii 2010/09/23
  • ウノウラボ Unoh Labs: Androidアプリ開発環境を構築する

    4月にウノウ入社しました、takaと申します。 ウノウではまだまだなAndroidですが、敢えてMacAndroidアプリ開発環境を整えてみようと思います。元々はWindowsユーザでしたがウノウではMacを使って作業していますので、慣れる目的もあります。AndroidアプリはJava、Eclipseを用いた開発が主流だと思いますのでWindowsでもほぼ同様の手順で構築可能なはずです。 JDK6 Mac OS Xでは標準で入っていたので特に作業無し。 Eclipse 3.6 Helios http://www.eclipse.org/ http://www.eclipse.org/downloads/ Pleiades http://mergedoc.sourceforge.jp/ Windowsの場合は「Pleiades All in One」など使用すると各種プラグインも入っていて

  • ウノウラボ Unoh Labs: 5分で分かるHaml

    先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 こんにちは、ryosukeです。 ラボブログの前々回のエントリーで ruby で実装された web application framework の Sinatra が紹介されていたのですが、私もあまりのお手頃感に触発されて少しさわってみました。 その時にふとモデルやビューにいつもは使わない物を使ってみようと思い立ち、 Sequel と Haml を選んでみたのですが、 Haml の構文が見た目に反して(?)思いの他わかりやすかったので、今更感もありますが私同様 erb 以外使おうとも思わなかった人も少なくないのでは無いかと思いご紹介させて頂こうと思います。 Haml は XHTML Abstraction Markup Language の略で...という所から説明するのが筋なのですが、あっ

    mrorii
    mrorii 2010/07/28
  • ウノウラボ 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: RackでWebアプリのWebサーバー依存を無くす

    rack-logo posted by (C)komagata komagataです。 仕事でも使う必要が出てきたのでRubyの勉強をしています。WebアプリケーションでRubyを使おうとしていきなり躓いたのがApache、WEBrick、Mongrel等、実行環境毎の設定やAPIの違いです。 Rubyを普段使っている人には常識過ぎるのか情報が少なく、FastCGIで単に「Hello, World」を表示させるのにも一苦労でした。(Railsでは簡単に動くのが悔しい) そんな実行環境毎のAPIの差を吸収してくれるRackというライブラリを知ったので試してみました。 RackはRuby版WSGIと呼ばれているそうです。WSGIとはWeb Server Gateway Interfaceの略でWeb ServerとWeb Applicationの間のInterfaceを定めたPython界の仕

  • ウノウラボ Unoh Labs: Luaを設定ファイルとして使う

    テイルズオブヴェスペリアがPS3に移植されると聞いて、今年の夏にPS3を買うことを固く決意したbokkoです。部屋に置き場所がないとか、社会人になってから積みゲーがどんどん増えているとか、随分前にXBOX360版の総プレイ時間が三桁になっていることはこの際気にしないことにします。あと、機会があればCellとdtlを使って編集距離の計算をやってみたいです(多分あんまり速くない)。 Luaは軽量で高速なインタプリタ言語です。コアは非常に小さいのですが、テーブルというデータ構造や関数がファーストオブジェクトであることを利用して、来は機能としてないオブジェクト指向言語のような書き方をしたり、独自に拡張したりと、なかなかパワフルな言語です。実際の使われ方としてはアプリケーションに組み込んで使うことが多く、組み込み言語などと呼ばれることもあるようです。今回は、LuaのプログラムをC、C++で書かれた

    mrorii
    mrorii 2010/03/27
  • ウノウラボ Unoh Labs: いまさらコマンドラインの便利さを主張してみる

    尾藤正人(a.k.a BTO)です 僕の偏見かもしれませんが、Webプログラマの方の多くはコマンドラインをうまく活用できてないように感じます。 コマンドラインを使いこなすには最初にある程度の勉強が必要で、その敷居の高さのせいであまり便利さが感じられないのかも。 そこで、今更ながらコマンドラインの便利さを高らかに主張してみます。 ワイルドカード ワイルドカードという特殊文字を使うと特定パターンのファイル名を簡単にしてできます。 これは知ってる人も多いので、詳細は割愛。 ワイルドカードでうまくいかない場合は後述するfindコマンドを使います。 zshのワイルドカード zshのワイルドカードを使うと、ちょっとしたfindコマンドのようなファイル名のマッチができます。 簡単に紹介すると次のようなことができます。 echo **/foo # 再帰的に 'foo' にマッチ echo *(/)

  • ウノウラボ Unoh Labs: 開発合宿の Tips

    こんにちは、ジュンヤです。 合宿の話でもう少しひっぱりたいと思います。 僕は今回の開発合宿が4回目の参加でした。ウノウで3回、他に百式開発合宿に1回参加しているのですが、その中で学んだ僕なりの開発合宿の Tips を今回は書きたいと思います。 1. 机が良い もう10歳若ければ平気なのかもしれないですが、和室にちゃぶ台、座布団または座椅子でさえも畳の上に長時間座っての合宿はつらいです。腰に来ます。今回お世話になったペンション木馬は、前回の百式開発合宿と実は同じ場所だったのですが、ご好意でずっと堂のテーブルを使わせていただき、その点では最高の環境でした。 2. デュアルモニタで30%(?)効率アップ デュアルモニタにすると生産性が30%アップする という話があります。前回参加させていただいた百式合宿では合宿慣れされている百式田口さんとサイドフィード赤松さんが液晶ディスプレイを持参していて、

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

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

  • ウノウラボ Unoh Labs: MySQL5からのインデックス結合で1テーブル複数インデックスを使う

    komagataです。 Webアプリケーションのパフォーマンスの大半はデータベース、特にインデックスの使われ方にかかっている気がします。 仕事でもMySQLをよく使いますが、MySQLでは1テーブルに付き1インデックスしか使われません。PostgreSQLなどと比べてそのことが気になってMySQLでのパフォーマンスチューニングに全く自信が持てませんでした。 オライリーの実践ハイパフォーマンスMySQLには下記のように書かれています。 実際、UNIONを除き、MySQLでは、1つのクエリを実行するとき、1つのテーブルに付き1つのインデックスしか使用できない。この事実は、繰り返し述べるに値するほど重要である。「MySQLでは、1つのクエリを実行するとき、1つのテーブルにつき1つのインデックスしか使用できないのである。」 また、その制約を考えたクエリの書き方として下記の様に書いてあります。 my

    mrorii
    mrorii 2010/02/19
  • ウノウラボ Unoh Labs: gdbの使い方

    今年の2月にマカーになったbokkoです。どうも僕の使っているフォントがほかの人には見づらいらしく、「そのフォントはねぇよw」と言われたり、外付けのキーボードを使っているせいか、「MacBookの意味なし!」と社内で言われてたりしています。 今日はgdbのお話です。gdbは非常に広く使われているデバッガで、特にC、C++のプログラムをデバッグするのによく使われています。 デバッガの使い方 プログラムをデバッグする際、例えば以下の方法が挙げられます。 1. ソースコードを読む 2. ソースコードに出力関数を仕込む(例えばprintf) 3. ソースコードを書き換えて実行してみる これで十分な場合もありますが、そうでない場合もあります。これらの方法ではプログラムを実行している最中にこちらからソースコードレベルでのアクションを起こすことが難しいので、例えば、プログラムをある時点で止めて変数の

    mrorii
    mrorii 2010/02/18
  • ウノウラボ Unoh Labs: mecabのユーザ辞書を追加した時にはまったメモ

    こんにちは satoです。mecabのユーザ辞書を追加したのですが,いろいろはまったので誰かがはまった時のためにメモっておきます。 1)品詞IDの取り方 2)ユーザ辞書の追加方法 3)禁止語句とか独自の要素を付けたい csvファイルの最後に追加すればOK 4)context_id.cpp(88) [it != left_.end()] cannot find LEFT-... ってエラーが出る left-id right-id の文字コードが csvファイルの文字コードと違うのが原因 nkf --utf8とかで文字コードをそろえる 5)CHECK_CLOSE_FALSE(sysdic->isCompatible(*d)) sys.dic と ユーザ辞書の文字コードが違うと出るエラー utf8とUTF8は違うと判定されるのでutf-8と書く 6)追加した辞書に品詞IDが付かない or 65

    mrorii
    mrorii 2010/01/12