タグ

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

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

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

  • ウノウラボ 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: 快適な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: 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: ゼロからはじめる携帯サイト構築。

    こんにちは、日を妙に楽しみにしていたわりには見ようともしなかった ryosuke です。曇りで残念でした。曇りでも日と分かるぐらい暗くなったら嬉しかったのですが、東京ではそんな事は全然ありませんでしたね。 さてさて、そんな私ですが入社後半年が経過したところで、入社当初より携わって来た携帯サイト構築に関して得た知識(失敗談)をまとめてみようと思います。 初ラボブログ記事でも触れた様にそもそも格的な携帯サイト構築は経験に乏しく、バッドノウハウの塊の様な面倒な思いこみが先行しがちだったわけですが(実際バッドノウハウの塊ですが)、端末の機能や表現力が豊かになるのと同時に開発環境的なツールやライブラリの充実、ノウハウの蓄積と情報公開により随分すんなり入って行けた様に思います。 結局はキャリア感の差異を知り吸収する事がすべて いきなりですが、PCサイトと携帯サイトの違いで最も厄介な所はこれにつき

  • ウノウラボ Unoh Labs: OpenSocialを始めよう!第1回

    こんにちは五十川です。 先日、gooホームとmixiアプリが立て続けに公開され、いよいよ日でもOpenSocialが注目を集めるようになりました。そこで今回は、これからOpenSocialアプリケーションの開発を始めるにあたっての基礎的な内容をまとめてみたいと思います。 OpenSocialとは Google Code - OpenSocialの冒頭には、OpenSocial は複数のウェブサイト間で使用可能な、ソーシャル アプリケーションの共通 APIの定義であると書かれています。 あるOpenSocial対応のウェブサイトで動作するプログラムは、他のOpenSocial対応アプリケーションでも動作する — 例えばmixiアプリ用のプログラムは、gooホームやMySpaceなどでもそのまま動作する可能性があるというのがOpenSocialの重要な点です。もちろんウェブサイトごとに細部の

  • ウノウラボ Unoh Labs: prototype.jsへの依存を無くす方法

    komagataです。 Javascriptで何か書こうと思ったときにどのライブラリをベースにして作るかで非常に悩みます。一端特定のライブラリに依存してしまうと途中で変更するのが難しそうですし、コアオブジェクトを汚染しているものは混ぜると動かなくなる組み合わせもあります。 別に「Mochikitにしよう!」とか宣言して決めてしまえばいいじゃないかという意見もありますが、妙にそんなところが気にかかってなかなかプログラムを書き始められないことが多いです。 そこで、「どうしても使いたい関数はインライン化すればいいんじゃないか?」と思ったので試してみました。 どういうことかというと、例えばprototype.jsのObject.extendを使って以下のように書きたいところを・・・ var dst = {'foo':1, 'bar':2}; var src = {'foo':100}; var r

  • ウノウラボ Unoh Labs: シェル(bash)スクリプトを書くときのTips

    尾藤正人(a.k.a BTO)です UNIXを使う時にはシェルスクリプトをよく使います。 ちょっとしたコマンドを実行するには、シェルスクリプトは非常に便利です。 今回はシェルスクリプトを書くときに覚えておいた方が便利なTipsを紹介します。 非互換性 ここで紹介するものは基的にbashで動作するものになります。 伝統的なBourne Shellでは動作しないことが多くあると思います。 しかしながら最近はbashがメインで使われることが多いので、"だいだいの環境で動くからおk"ぐらいのノリで使ってもらえればと思います。 $(...) コマンドを"$(", ")"で囲むと実行結果をコマンドラインに代入してくれます。 一見これは"`"(バッククオート)と同じに見えますが、"$()"にはネストができるという利点があります。 例えばシェルスクリプト自身の絶対パスを取得するのは次のようにで

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

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

  • ウノウラボ Unoh Labs: Ext JSをUIに使って携帯サイトのシミュレータを作ってみた

    五十川です。 携帯サイトの見栄えをシミュレートするウェブアプリ作りました。と言っても、実際に作ったのはかれこれ半年以上前で、手直ししてから公開しようと思ってたら、結局「guid=ON」を付け足したくらいであとは放置だったので、さすがにいい加減晒そうと。 任意のヘッダでリクエストして、レスポンスの絵文字とか変換してサイトの見栄えを確認するというものですが、これはそもそもExt JSをいじってた頃に、Ext JSでこういうの作ればいい感じになるんじゃね?ということで、丁度2.0がリリースされた頃にデモ用に作ったものなのでした(なので、かれこれ半年以上前) 実機テストの代用になるわけでは、もちろんありませんが、絵文字も含めたマルチキャリアでの見栄えを手軽に確認したいときなどに、わりと便利に使えてたりします。 スクリーンショット 機種ごとのプリセットのヘッダグループをYAMLファイルに書いておいて

  • ウノウラボ Unoh Labs: CSSによるデザインワークと相性のよいHTMLって?

    yamazakiです。最近だいぶあたたかくなってきましたね。おかげで日中眠くて仕方ないわけですがいかがお過ごしでしょうか。 ウノウに入る以前も含めてそれなりに長いことHTMLCSSを書いてきたわけですが、今回は試みに、「だいたいこういうところに気を使われたHTMLだと、CSSでのデザイン適用やレイアウトがやりやすいな」というこれまでの経験則を簡単ですがまとめてみたいと思います。 まあ、このあたりはCSS書く人とHTML書く人の間でちゃんとルールを決めておけばいいだけの話なので、そもそも何の役に立つのか疑問といえば疑問ですが(笑 たとえばユーザがCSSを書いてスキンを作れるようなサービスを作る際、どういったHTMLにするかを決める、みたいな時には少し参考になる、かもしれません。 ID、クラスを適切に割り振って、要素がCSS側から一意に特定できるように たとえばグローバルナビゲーションとカ

  • ウノウラボ Unoh Labs: デザイナの立場からの「デザイン依頼のコツ」

    こんにちは。yamazakiです。 このブログをご覧になっているのはエンジニアの方が多いと思いますので、デザイナの方とのやりとりをされている方も結構いらっしゃるはず。 社内で「どういうふうに依頼されるのがデザイナとしてはいいもの出てきやすい?」というお話を振られたので今回はそれについて書いてみようと思います。 ※もちろんあくまでこれは私個人が思うところであり、全てのデザイナにあてはまるわけではないと思います。 ので、できればこれをご覧になったデザイナーの皆様も、「こういうふうに依頼してくれると力が発揮できる」というポイントなど書いていただけたら非常に嬉しいです。 また逆に、デザイナにはこういう点気をつけて欲しい、といった、エンジニア視点でのデザイナへのリクエストなどもいただけると嬉しいです。 ---- ビジョン、ゴールを共有するこれは複数の人間が関わるプロジェクトなら当たり前といえば

  • ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!!

    2GBのSDカード買って意気揚々と歓迎会に突撃したらカメラごと持って帰るのを忘れて生きていくのがつらくなったjokagiです. ガジェットには名前と連絡先をお忘れなく. さてウェブアプリケーションの開発をしていると当然ですがブラウザーで画面の確認をしたりしますが,ブラウザーで確認をしているとキャッシュに悩んだり面倒くさいことが少なくありません. 普通そういう時はtelnetなどで直接HTTPプロトコルでウェブサーバーと会話するわけですが面倒くさいですよね. $ telnet www.yahoo.co.jp 80 Trying 203.216.231.160... Connected to www.yahoo.co.jp. Escape character is '^]'. GET / HTTP/1.1 Host: www.yahoo.co.jp HTTP/1.1 200 OK Date:

  • ウノウラボ Unoh Labs: Adobe MAX で明らかになった次世代Flashの世界

    こんにちは! yamazakiです。 毎度このブログでは日ごろの仕事にちょっと役立つかもしれないデザイン話をあれこれとやらせていただいているのですが、今回はちょっと趣を変えて。 日ごろの仕事はどちらかというとデザイン画像を作ったり、HTMLCSSのコードを書いたりといったことが多いのですが、個人的にFlashが好きで、ActionScriptやFlex関係の勉強会などにもお邪魔させていただいたり、Flash関係の情報を集めていたりしています。 9/30~10/3にアメリカのシカゴで開催されたAdobe MAXというイベントで、Flashを中心としたAdobe製品についての発表がありまして、様々な新しい情報が出てきました。 このブログをご覧いただいている方の中にも、Flex/FlashやSilverlightなどといった技術の活用やRIA方面に関心のある方もいらっしゃるかと思います

  • ウノウラボ Unoh Labs: ブラウザでER図が描ける「WWW SQL Designer」紹介

    miyakeです。皆さんドキュメントはしっかり書いていますか? 近頃のWeb界隈では、詳細仕様書的なものは作らずにスピーディーに開発を進めるケースも多いかも知れません。ドキュメント作成のコストは小さくありませんし、内容を最新に保つのも一苦労です。とは言え、複数の人間が関わるプロジェクトにはER図はあると嬉しいなと個人的には思います。 今日はそんなER図をブラウザ上で作成するアプリケーション「WWW SQL Designer」をご紹介します。 以下のスクリーンショットは、このアプリを実際に触って試せるlive DEMOのものです。 WWW SQL Designer posted by (C)フォト蔵 上部のメニューからテーブルやカラムを作ったり消したりして、テーブルをドラッグアンドドロップで配置、リレーションを同じくドラッグアンドドロップで設定、というのがおおまかな作業の流れになります。まず

  • ウノウラボ Unoh Labs: 「視線を導く」方法あれこれ

    yamazakiです。毎度毎度技術系なこのウノウラボには馴染まない話題を振りまいているわけですが、さてはてどの程度お役に立てているものか…。 今回のテーマは「視線」です。例えばWebサイトは「見てもらう」ことが大事ですし、また、UI設計の場面などでも、「視線をうまく導いてやる」のは使い勝手をよくする上でも大切なことだと思います。といったわけで、ユーザの視線をうまく捕まえてみたり導いてみたりする上で役に立つかもしれない情報を簡単にまとめてみます。 1.視線をつかまえる Web上にも街にも広告だの何だのと情報が氾濫しています。その中で「見てもらう」ためには何かしらの工夫が必要になることがあります。というわけでまずは「人の視線をつかまえる」ための方法論を少し。 「人の顔」を使う まずはこの画像を見てみてください。 01 posted by (C)フォト蔵 最初に、どれを「見てしまいました」か?

  • ウノウラボ Unoh Labs: 携帯のエラーメールの種類

    harukiです。 メールを送信するサイトの場合、メールアドレスのクリーニングは定期的に行うべきです。 そのためにはエラーメールを解析しなければなりません。 そこで、エラーメールの種類をまとめてみました。 SMTPエラー 存在しないメールアドレスや、正しい形式でないメールアドレスの場合は、 DoCoMo,au,SoftBankの3キャリアともSMTPエラーになります。 例として、以下の条件でメールを送信したとします。 From: sender@example.com Return-Path: bounce@example.com To: アドレス@docomo.ne.jp MTAにより異なりますので、ここではPostfixを例にします。 Postfixではmultipart/reportのメールがbounce@example.comに届きます (※ 必要な情報のみに省略しています

  • ウノウラボ Unoh Labs: 意欲を維持するヒント集

    こんばんわ、sashaです。今日は精神論的な話です。 みなさんは「やる気」とか、「意欲」とか、どうやって維持していますか?特に最近やる気がないとか言うわけではぜんぜんないのですけど、日々の雑務に追われていると、モーチベーションが下がったときにクリエイティブに対処出来なくなりがちだよね、といことは自分にも他人にもごくたまにあるように思います。 最近、A List Apartで紹介された記事を読んで、こういうこと、自分でもいつも覚えておきたいし、自分の周りにいる多くの人にとっても役に立てばいいなー、と思ったので、ちょっと自分なりの言葉に置き換えながら翻訳してみました。 すべて知っているかのような偉そうな口調をしていますが、私自身に対する戒めと教えとして書いてますので、お許しください。また、原文では「be motivated to create (作り出すために意欲的であること)」といった

  • ウノウラボ Unoh Labs: JavaScriptライブラリといえば jQuery(入門編)

    こんにちわ。山下です。 最近、私の周りではJavaScriptライブラリといえば、jQuery の名前がまず最初に挙がってくるようになってきました。今回は、jQueryって何が便利なの?っていう人向けに、ポイントを掻い摘んで説明します。 1.名前空間を汚さない 他のJavaScriptライブラリとかだとStringとかArrayを直接拡張してたりしますが、jQueryはグローバルな名前空間を汚しません。eachとかmapのような便利な関数もすべてjQueryオブジェクトの属性として定義されています。 jQuery.each, jQuery.extend, jQuery.grep, jQuery.map, jQuery.merge, jQuery.trim, etc. また、標準では $ にショートカットが割り当てられるのですが、jQuery.noConflict()と書くことで proto

  • ウノウラボ 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