タグ

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

  • ウノウラボ Unoh Labs: さくらインターネットで添付画像付きのマルチパートメールをPHPで送ってみる

    matsudaです。こんにちは。 最近周りの環境に触発され、PHPでプログラミングを初めています。 で、なんとなくHTMLで画像が添付されてて、マルチパートなメールを送りたくなったので簡単な雛形を作ってみました。 ・最近プログラミングはじめた ・PEARのインストールとかよくわからない ・簡単に、添付画像とテキストでメールを送れればいい な人にオススメです。 さくらインターネットを利用していて、PEARのライブラリのインストールとかよくわからない!っていう人に効果を発揮するはずです。宛先と送信元メアドをかきかえて、ためしに利用してみてください。 <?php //内部のエンコード mb_language("japanese"); mb_internal_encoding("UTF-8"); //画像の取得と画像のエンコード $img = file_get_contents("

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

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

    advblog
    advblog 2012/07/30
  • ウノウラボ by Zynga Japan: フォト蔵、そしてウノウラボ

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

    advblog
    advblog 2012/07/17
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    shimookaです。 皆さんはPHPでデータの暗号化・復号をする必要に迫られた場合、どのようにしているでしょうか?今回は、PHPで利用可能なモジュールやパッケージとそれらのサンプルを3つほど挙げてみました。 mcrypt拡張モジュールを使った暗号化 libmcryptを利用したPHP拡張モジュールです。DES、3DES、Blowfish、RIJNDAEL(ラインダール:AES暗号とも呼ばれる)、Blowfishなどのブロック暗号をサポートしています。利用可能な暗号モードはCBC、OFB、CFB、ECBです。 PHPで利用するには、libmcryptをインストールし、configureオプションに「--with-mcrypt」を付ける必要があります。また、PHP5以降、libmcrypt 2.5.6以降が必要です。 以下は、SSHやファイル暗号化ソフトウェアなどに広く利用されているBlow

  • ウノウラボ Unoh Labs: ソフトウェアテストに向いている人材とは

    こんにちは! やまもと@テスト番長です。 日に日に寒くなってきておりますが、皆様お元気にお過ごしでしょうか?ウノウでは風邪で調子を崩す人が多くなってきております。欲の秋を満喫する為にも体調管理に気をつけたい今日この頃です。 先日リクルートページにテスターの募集が追加されたのですが、その際「テスターの募集条件ってどうしたらいいの?」という問い合わせを受けました。 確かに、ふつうのエンジニアに比べるとテスター(QA)の募集条件って難しいです。 今回はどんな人がテスターに向いているのかを書いてみたいと思います。 1)アプレンティス(徒弟)型 これがもっとも一般的な形ですね。 まだ技術力の低い新卒・学生のプログラマ志望の方などが、見習い的な位置づけからスタートするケースで、その業務の中にテストがあるという場合です。 見習いをするより、すぐ最前線でやってみたい!という人も多いでしょう。

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

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

  • ウノウラボ Unoh Labs: オススメ機能には Vogoo がオススメ

    こんにちは、ジュンヤです。 映画生活では、観た映画に対して満足度と呼ばれる点数をつけていくと、それに応じてあなたの好みであろうという映画を表示してくれる、オススメ機能という機能があります。 あなたの好みの映画を推測するのに、「協調フィルタリング」という方法を使っています。簡単に言えば、あなたが好きな映画を同じく好きだと評価しているほかのユーザーをみつけてきて、その人が好きと判定している別の映画であなたがまだ評価を付けていない映画をあなたにオススメします。人工知能の話題: 協調フィルタリングというページにわかりやすい説明が載っています。 この「協調フィルタリング」を比較的簡単に実装できる Vogoo というPHPのライブラリがあり、映画生活ではこれを一部改造したものを利用しています。(作者に感謝のメールを送ったところ、References の部分に「映画生活」をリストしていただきました) 日

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

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

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

    advblog
    advblog 2011/03/24
  • ウノウラボ by Zynga Japan: 都市伝説の検証!Flash CS5のswfはCS4よりファイル容量が大きい!?

    flashエンジニアのnaoです。 ディスカバリーチャンネルの番組に「怪しい伝説」(Mythbusters)ってのがありますよね。そう、"ワイヤーが切れて自由落下するエレベーター、地面に衝突する寸前に中でジャンプしたら助かるんじゃね?"とか、あほう 希少な検証をやるあの番組です。 ちょっと考えればわかりそうな事を真面目に検証する彼らを生暖かく見守る私ですが、この度自分自身、都市伝説に遭遇いたしました。 その都市伝説というのが、標題の「Flash CS5のswfはCS4よりファイル容量が大きい!?」なワケであります。 私の所属するプロジェクトでは、前任のflashエンジニアがFlash Profesional CS4で開発を行い、私を含めた後任のチームはCS5で開発を行っております。 この時に、前任からの引き継ぎ注意事項として 『swfファイルはCS4で書きだしたほうが軽くなる』 とい

    advblog
    advblog 2011/01/28
  • ウノウラボ by Zynga Japan: 30分でわかる PHP Extensionの作り方を学べる記事をかいたよー \(^o^)/

    こんにちは。12月に入社した@chobi_eです。 私が所属しているチームではお菓子系男子が30%を超えているという素敵チームで 毎週チーム内の漢の子がお菓子を焼いてくるという状況でハッピハッピハッピーです。 今日は私が学んできたPHP Extension作成についてのノウハウの一部を 公開しようと思います。 PHPExtension作成についての資料はklabさんやyoyaさん rskyさんの記事が参考になりますが私のようにPHPは書けてもCが書けない人には具体的にhello world以降何をすればいいのかがサッパリよく分かりません。 そこで先人達が作ってくれた偉大なライブラリをPHPで扱えるようにする為にC/MigemoのPHPバインディングを作ってみましょう C/Migemoをインストールしてみる 読者の方の中にはC/Migemoをご存知でない方もいらっしゃるかと思いますので簡単に

    advblog
    advblog 2011/01/11
  • ウノウラボ 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の許可を得てそのときのスライドの日語版を作成しましたので、それに解説を加えてご

    advblog
    advblog 2010/12/07
  • ウノウラボ Unoh Labs: 自力でUNIX TIMEを計算してみよう

    Flashエンジニアのくせに今日もFlashの話題を振らないnaoです。こんにちは。 クビにならないよう努力はしています。 今回のお題。何の役に立つのかと問われれば、漢らしく「何の役にもたたん」と答えましょう。しかし、ひょっとしたらいつか、使う日も来るかもしれない。こうして諸葛孔明の様に何事にも用意周到に備える私の部屋はモノで溢れかえっております。みろ、部屋がゴミのようだ。だってさー、PowerBook Duo(270cカラー液晶だぜ)とか、そのうちプレミアつきそうじゃん?いつか当に必要な時が来たら、その時には声高らかに朗々と「こんな事もあろうかと」と宣言をするのである。 というわけで今回は、まるで昔使った思い出の品のように、近年すっかり過去の遺物へと変貌し始めているUNIX TIMEです。UNIX TIMEといえば昔Perlcgiで掲示板スクリプトを作るときなんかにはよく使われまし

    advblog
    advblog 2010/11/13
  • ウノウラボ Unoh Labs: MemcacheとMySQLのデータ不整合をPropelPDOで解決してみる

    こんにちは市丸です。 Zynga Japanでは単純なPrimaryKeyをキャッシュする際、symfonyのPeerをオーバーライドし自動的にキャッシュ&クリアしています。 UserPeer.php class UserPeer extends BaseUserPeer { public static function retrieveByPK($pk, PropelPDO $con = null) { if (!$data = /* Cacheからとるよ */) { $data = parent::retrieveByPK($pk, $con); /* "User_$pk"みたいなキーでCacheするよ */ } return $data; } public static function doInsert($values, PropelPDO $con = null) { /* Ca

    advblog
    advblog 2010/10/26
  • ウノウラボ Unoh Labs: iPhone SDKでウェブAPIコール

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

    advblog
    advblog 2010/06/05
  • ウノウラボ 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を指定すると便

    advblog
    advblog 2010/03/13
  • ウノウラボ Unoh Labs: 5分くらいで知るScala

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

  • ウノウラボ Unoh Labs: PHP5.3の新機能まとめ

    先日から「GnuCash」使って家計簿を付け始めたyukiです。 だいぶ長いこと複式簿記に触れていなかったので、思い出すのに一苦労でした。家計簿で「損益計算書」や「貸借対照表」、「キャッシュフロー」を見てみると新たな発見があっていいですね。是非オススメです。 さて今回は、先日の社内勉強会で行った「いまさらPHP5.3をあらためて見てみる」をレポートします。機能をサンプルコード交えてざっとチェックしていっただけですが、参考になれば幸いです。 参考:PHP 5.2.x から PHP 5.3.x への移行 新機能からチェックしていきます。まずは話題になっていた名前空間などから。 名前空間 # global.php namespace { class MyProject { public function getName() { return 'global'; } } } # unoh.php

  • ウノウラボ Unoh Labs: RjDjのシーン開発入門

    こんにちは、五十川です。 RjDjというiPhoneアプリをご存知でしょうか。既によく知られたアプリですが、音声入力やタッチパネル、加速度センサーなど、iPhoneのデバイスインタフェースを使って、ユニークな音響をインタラクティブに作り出すことができるアプリです。と言っても、RjDj自体はその上で動作するアプリケーションのプラットフォームであり、さまざまなアプリケーションをインストールすることで、それぞれに異なるサウンドが体験できます。 RjDj上で動作するアプリケーションは「シーン」と呼ばれます。 以下のビデオの冒頭で流れる映像の音声は、Eargasmというシーンによる録音で、緩やかに流れる背景音に、深いエコーがかかった子供の声が重なり、なんだか夢の中にでも迷い込んだかのような雰囲気が醸し出されます。このシーンは、iPhoneのマイクが拾った音をリアルタイムに加工しており、それを加速度セ

  • ウノウラボ Unoh Labs: PubSubHubbubとは

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