タグ

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

  • ウノウラボ by Zynga Japan: PHPで利用出来るテストと開発に便利なツール

    こんにちは。yukiです。 今日はテストや普段の開発に便利なツールのご紹介をしたいと思います。PHP限定のツールですので、ご了承下さい。 ZyngaJapanでは、昨日リニューアルオープンした「ファームビレッジ」でも、Jenkins(旧Hudson)によるCIを行って開発しており、TDDやJenkinsでのCIを利用する文化がだんだんと浸透してきています。Jenkinsのプラグインとして利用できるものも多くありますが、当然ながらコマンドラインからも利用出来ますので、コミット前に自分のコードをチェックすることもできます。 phpcpd コードの中でコピー&ペーストで記述されている部分を検出してくれます。 どの程度の重複から検出するかを柔軟に設定できるので、まず大きな部分から修正するなど判断ができ便利です。 $ phpcpd /path/to/project phpcpd @package_v

  • ウノウラボ 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の場合は、イベントログでエミュレートさ

  • ウノウラボ by Zynga Japan: わんわん

    きゃんきゅーんわんわおんわーんばうきゃんきゃんきゃうんわおんわおんわんきゃんきゃんきゃうんきゃんきゃん! わうわーん。 わんわーんわんわうわん。 わんわおんわんわおんわん! きゃうんわーんわうきゅーんわおんわーんばうわおんわんわおんわん。 わーんわーんきゃんわうわんわんわおん! わんきゃんきゃんわうわーんわんきゃんわおんわんわおんわん! わん。 きゃうんきゃんきゅーん。 わーんわんきゃんわうわーんばうわんわんわうきゅーんきゃんわんわーんわおんわん。 きゃうんわおんわおんわおん! きゃんわおんわおんわんばうわおんわんばうきゃんわおんきゃうんわおん! わんわおんばうきゃん! わうきゃうんきゃんわおんきゃんきゃんわおん! わんきゃんわーんわーんわんきゃうんわんきゃんきゃんきゃんきゃんきゅーんきゅーんわおんわんわおんわーんわーんわんわんわんばうわおんわんきゃんわーん!

    deg84
    deg84 2011/04/01
    これは酷いwww
  • ウノウラボ by Zynga Japan: iPhone向けのサイトを作るときのちょっとした気配り

    yamaokaです。 だいぶiPhoneAndroidといったスマートフォン向けのwebページを作ることが増えてきたのではないでしょうか。ちょっとした気配りで使いやすくなるケースもあるかなと思うので、いくつか使えそうな工夫について書いてみたいと思います。 ただし、今回はiPhone向けです。 タップされた場所をハイライトする iPhoneのSafariでは「-webkit-tap-highlight-color」という拡張された属性があり、タップされた箇所に色を付けることができます。CSS3ではRGBaによる色指定ができるので、半透明の色を指定すればタップされた箇所をわかりやすく示すことができます。例えば、-webkit-tap-highlight-color:rgba(255,0,0,0.40);と指定すると薄い赤色を付けることができます。「outline:none;」と併せてリンク文

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

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

  • ウノウラボ by Zynga Japan: アジャイル開発におけるテストについて(その1)

    初めまして、11月に入社したQA担当のものです。 短期間の開発はどうしても少ない工数でテストを実行したい...と、だんだん重要になってくる。その中でアジャイルテスティングが最も有効で、尚且つ効率で不具合を発見できる方法と思います。 アジャイルテストは反復 (イテレーション) と呼ばれる短い期間単位を採用することで、リスクを最小化しようとしている。アジャイルテストは4象限の分類で説明されている。 概要は以下のとおり。 第1象限はチームを支援する技術面のテスト → テスト駆動開発などアジャイル開発の中心 第2象限はチームを支援するビジネス面のテスト → 顧客の視点からのハイレベルの機能テストなど 第3象限は製品を批評するビジネス面のテスト → ユーザー受入テスト、探索的テストなど 第4象限は技術面のテストを使った製品の批評 → パフォーマンステスト、セキュリティテストなど この4現象

  • ウノウラボ Unoh Labs: MySQLのチューニングのためのデータの集め方

    いつの間にか会社で古株になったyamaokaです。 webアプリケーションのバックエンドにMySQLを使っている場合、 クエリ(SQL)のチューニングをする必要がありますよね。 皆さんはチューニングの計画をどのように立てていますか。 もちろん、既に明らかに重いことが想定されているページがあれば、 その処理で使われているクエリを中心にEXPLAINなどを使って解析していけばいいと思います。 でもそうではなく、全体的にクエリの見直しやチューニングを行いたい場合は 実際に実行されているクエリを確認していくという作業が必要です。 そこで使うことができる3つの方法について書きたいと思います。 遅いクエリを記録する MySQLにはスロークエリログといって、 実行に時間がかかったクエリを記録する機能が最初から付いています。 /etc/my.cnfに次のように設定を書けば実行時間が1秒を超えたクエリが出力

    deg84
    deg84 2010/08/14
    チューニングに必要なデータの集め方。そういえばこういうまとめってなかったなぁ
  • ウノウラボ Unoh Labs: レディの嗜みについて

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

  • ウノウラボ Unoh Labs: 仮想マシンとLVM2で簡単サーバ構築

    はじめまして、7月に入社いたしましたsatoshiと申します。 会社でも自宅でもPCMacにして、Linuxと同じ操作感で使用できて快適な今日この頃ですが、皆様いかがお過ごしでしょうか? 今回、KVM(Kernel-based Virtual Machine)とLVM(Logical Volume Manager)を使用して、サーバ構築すると便利なケースを紹介したいと思います。 新しくサーバを構築する場合、OSインストールイメージをDVDに焼いて、DVDをドライブに挿入して、手順の通り選択して...となると思います。 (中には、Cobblerを使用しているという先進的な方もいらっしゃるかもしれませんが) 仮想マシンでは新たにサーバ環境を構築する場合、既存の仮想ディスクをコピーして使い回せるのでインストールの手間を簡略化できます。 さらに、一歩進んでLVMで作成したスナップショットLVを使

    deg84
    deg84 2010/08/11
    ウノウラボってそのまま続けるのかな?
  • ウノウラボ Unoh Labs: IPアドレス帯をチェックする

    こんにちは。新入社員の ryosuke です。 ウノウに入社してから携帯サイトに関わっているのですが、これまで格的に携帯サイトを構築した事が個人的に無く、ノウハウが足りず周囲に助けて貰ったりしながら楽しくやってます。という訳で携帯のノウハウをご紹介という訳にはいきませんが、その周辺知識に絡んで今回はIPアドレス周りの処理について書かせてもらおうと思います。 携帯専用サイトでは携帯端末以外からのアクセスを制御(アク禁)したい場合があると思います(なんといっても携帯専用ですから)。 USER_AGENT等は簡単に変更できてしまうので、携帯キャリアのゲートウェイ経由で接続しているかどうかをチェックする事になります。ゲートウェイのIPアドレス帯は各キャリアのWEBサイトで公開されているのですが、69.208.0.0/24のようなIPアドレスの範囲を表現できるCIDR表記で公開されており、クライア

  • ウノウラボ Unoh Labs: 快適なsshクライアント生活

    はじめまして、HIROKIです。 大規模コンテンツの開発に携わっていると数多くのサーバにsshでログインすることになります。その手間を軽減するために $HOME/.ssh/config を設定してみます。 sshコマンドを簡略化 例えば dev01.labs.unoh.netというサーバにsshでログインするのであれば、 $ ssh -i ~/.ssh/id_rsa.unoh hiroki@dev01.labs.unoh.net という感じのコマンドでログインしているかと思います。 これを $ ssh dev01 でログインできるように設定してみましょう。 Host dev01 User hiroki HostName dev01.labs.unoh.net IdentityFile ~/.ssh/id_rsa.unoh 秘密鍵を複数使いわけている人はIdentityFileを指定すると便

  • ウノウラボ Unoh Labs: 英語が出来るように思わせてみる

    はじめまして、去年末に入社しましたkayです。 エンジニアとしてまだまだな私ですので、少し英語のお話でもしようと思います。 私自身、アメリカの大学に3年ほど通っており、ついこの間卒業したばかりなのですが、アメリカにいた頃はスラングだということすら知らずに使っていた英語もたくさんありました。 スラングというのはもともAfrican-Americanが使っている言葉として知られていたと思いますが、今は主に若者の言葉や外国の英語の教科書には載っていない用法のことを指しているのではないかと個人的に思っています。 そして、スラングはアメリカ人たちが楽するために使用されるものが多く、仕組みを理解することで外国人でもだいぶ楽して英語を扱える+英語が得意な人だと思わせられるようになります。 ただ、初心者がスラングばかり(特に文法的に間違っている文)を使っているとちゃんとした英語が身に付かない場合も

    deg84
    deg84 2010/02/28
  • ウノウラボ 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: Amazon Web Services入門: PHPとEC2/S3/SQS/SimpleDBで作るビデオ共有サイト

    新年あけましておめでとうございます、五十川です。 PHPデベロッパー向けのAmazon Web Services(AWS)のリソースはhttp://aws.amazon.com/php/にまとめられていますが、そのArticles & Tutorialsカテゴリーにある、Introduction to AWS for PHP Developersという記事は、AWSの主要サービスの概要と、PHPによるその操作を学ぶチュートリアルで、ここで取り上げられているサービスに初めて取り組むPHPデベロッパーには格好の入門となっており、ここではこのチュートリアルを紹介したいと思います。 また、このチュートリアルはAmazon純正のライブラリを利用していますが、AWS用のライブラリには様々なものがあり、この記事の最後ではそのひとつ、Tarzanを紹介しようと思います。 なお、以下のチュートリアルのスクリ

  • ウノウラボ Unoh Labs: Q4Mを触ってみる

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

  • ウノウラボ Unoh Labs: ECサイトのユーザビリティ・ガイドライン

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

  • ウノウラボ Unoh Labs: iPhone/iPod touch対応サイトを構築するための情報

    こんにちわ、山下です。 9月に発売された人気のiPod touchですが、私も即予約して購入してしまいました。二の指で操作するインタフェースは、Mac OS X譲りの滑らかな動作と相まって非常に楽しいです。ベッドで寝る前にSafariでWebブラウジングしているうちに眠ってしまって、一緒に朝を迎えることもしょっちゅうです。iPhoneと違ってGoogle Mapsのアプリがない、カレンダーに予定を入力できないなど、いろいろ制限もあるのですが、今は自由で楽しいiPodライフを送っています。 さて今回は、世の中にiPhone/iPod touch対応サイトがもっと増えればいいなという願いを込めて、iPhone/iPod touch対応サイトを作るために参考になるページを紹介します。 iPhone向けWebアプリケーションとコンテンツの最適化 アップル家によるiPhone向けWeb開発ガイド

  • ウノウラボ Unoh Labs: 分かったつもりになるAndroid開発方法

    こんばんは。うちだです。 皆さんAndroid携帯は購入しましたか? 社内ではiPhone勢が多く、Android携帯所持は私だけという悲しい現実を目の当たりにしています。 そこで以前、社内勉強会にて、Androidの素晴らしさを皆に知ってもらおうと発表した内容が今回のエントリーです。 今回のエントリーでは開発者視点で分かったつもりになる為に、広く浅く書いてます。 気で分かるには公式ドキュメントや書籍及び参考リンクをご参照ください。 参考: Android | Official Website 特徴 環境 Linuxカーネル BSD UNIXのlibc アプリケーションはDalvikと呼ばれるVM上で動作 主にJavaで開発 Google提供のSDKあり Eclipseプラグインあり アーキテクチャ 参考: わかった気になる気になるandroid メリット マルチタスク inten

  • ウノウラボ Unoh Labs: Apache で特定のコンテンツへのアクセスに対して帯域制限しよう

    こんばんは、最近自転車のライトを交換した naoya です。 今日は、Apache で特定のコンテンツへのアクセスに対して帯域制限する方法を紹介したいと思います。まず、特定のコンテンツの帯域を制限しようと思った背景から説明したいと思います。フォト蔵では、写真と動画をサポートしています。そのため、動画へのアクセスが増えると他の写真などへのコンテンツに対するレスポンスが悪くなってしまうことがあります。動画は、FLV 形式ですが比較的ファイルサイズが大きいものが多いため、FLV のみ帯域制限を行ってみることにしました。 まず、Apache で帯域制限できるモジュールについて調査しました。調査には、Software Design 2007年9月号をおもに参考にさせていただきました。 Software Design (ソフトウエア デザイン) 2007年 09月号 [雑誌] posted with

  • ウノウラボ Unoh Labs: Mercurialでバージョン管理

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