タグ

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

  • ウノウラボ Unoh Labs: PHPでDocTest

    yamaokaです。 何かソースコードを書いた場合、皆さんはどのようにテストをしていますか? PHPの場合、PHPUnitSimpleTestを使ってユニットテストをすることが多いと思います。でも、ユニットテストのために新しいファイルを作ってメソッドを実装したりするの、面倒くさくないですか? Pythonには標準でDocTestという仕組みが付いています。詳細はPythonのドキュメント(日語)を参照してもらうことにして、簡単に言うと、実際のソースコードの中にコメントとしてテストケースを書いてしまおうというアイデアです。 「実際のソースコード=テストケース」になるのですから、メソッドを修整したからテストケースも修整して…という手間が少なくて済みますよね。そうしたDocTestの仕組みを、PHPに移植しようとする試みを紹介します。 rhacoのDocTest rhacoは「PHPのライブ

  • ウノウラボ Unoh Labs: PHPとMecabでキーワード自動リンクを実装する

    こんにちは、山下です。 今年もどうぞよろしくお願い致します。 Webサービスを開発していると、特定のキーワードを自動でURLリンクにする処理が必要になることがあると思います。今回は、このキーワード自動リンク機能を形態素解析ツールMecabを使ってPHPで実装する方法を紹介したいと思います。 説明に入る前に少し補足しておくと、Trieの実装であるDouble-Array処理だけ利用したいのであれば、MecabからDouble-Array処理の部分を切り出したDartsというライブラリがあります。しかし、なぜMecabを使うかというと、PerlだとDartsのバインディングが公開されているのですが、現時点でPHP版はありません。また、最近のLinuxディストリビューションでは、Mecabのパッケージが最初から用意されているため、より簡単に利用できると思ったからです。 それでは、順を追って説明

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

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

  • ウノウラボ Unoh Labs: 携帯へメールを送る際の確認事項

    harukiです。 ケータイ宛にメールを送信するサイトにおける確認事項をまとめてみました。 サーバ側 DNS IPアドレスが逆引きできるようになっているか SPFレコードが正しく設定されているか SPFは、2007年11月1日からDoCoMoも対応します。 http://www.nttdocomo.co.jp/service/mail/imode_mail/sender_id/index.html MTA EHLO/HELOコマンドでのドメイン名が正しいか エンベロープFrom/Toは正しいか その他 Fromフィールドのドメインが正しいか (Aレコード、MXレコードが存在しているドメインか) Return-Pathは設定しているか 端末で表示できる文字コード・形式で送っているか あとは、OP25B(Outbound Port 25 Blocking)に該当する場合は、その確認も必要にな

  • ウノウラボ Unoh Labs: auとSoftBankの絵文字一覧YAML

    auとSoftBankの絵文字については、下記のページに公式の情報が掲載されています。しかし、情報がPDFであったり、HTMLであったりと、プログラムから使うのが難しいという問題があります。 EZFactory 絵文字 EZWeb絵文字一覧【タイプD】(リンク先はPDF) ソフトバンク 絵文字一覧 そこでこのPDFHTMLYAMLにしてみました。 諸般の事情により公開を停止しました。代わりに、同様の情報の取得方法に関する記事へのリンクを紹介いたします。 Ruby: http://d.hatena.ne.jp/tokuhirom/20070706/1183707279 Ruby: http://moriq.tdiary.net/20070211.html#p01 Ruby: http://d.hatena.ne.jp/urekat/20070927/1190905959 Perl: ht

    shoism
    shoism 2007/10/30
  • ウノウラボ Unoh Labs: symfonyでgettext

    yamaokaです。最近、PHPのフレームワークのsymfonyをいじっています。 symfonyでメッセージの国際化を行う場合、 デフォルトではXLIFFの形式を使うようになっています。 その他、gettextやデータベースからメッセージリソースを取得できるようにもなっているのですが、 その方法があまり公開されていません。 今回はgettextを利用してメッセージの国際化を行う方法を紹介します。 gettextに関する基的な情報については、 Wikipediaの該当項目や ウノウラボの過去記事 などを参考にどうぞ。実際の動作はsymfony 1.0.8で確認しています。 apps/<yourapp>/config/settings.ymlに下記を追記 all: .settings: i18n: on # 国際化を有効に standard_helpers: [I18N] # ヘルパーとし

  • ウノウラボ Unoh Labs: 3G携帯のみに限定したサイトを作る場合

    ※XHTML対応機種(FOMA 2001,2002,2101V以外) ●記述言語 HTMLが必須ではなくなり、XHTML「のみ」という選択も可能になります。 ●文字コード Shift_JISに加えてUTF-8、EUC-JPも使えるようです。 ●ページサイズ DoCoMo

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

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

    shoism
    shoism 2007/10/08
  • ウノウラボ Unoh Labs: 携帯サイトとクローラ

    harukiです。 ケータイユーザも検索エンジンから来るユーザも増えています。 そのため、携帯サイトも検索エンジンのクローラへ対応する必要があります。 ・Mobile Link Discoveryの記述を追加する PC用のページのheadタグ内に <link rel="alternate" media="handheld" href="(ケータイURL)" /> の記述を追加するだけです。 Mobile Link Discoveryに対応しているサイトでは、ケータイからのアクセス時に直接アクセスしてもらえるようになります。 Mobile Link Discovery 仕様 http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html 検索エンジンでは、Googleモバイルのgoogle mobile proxy http

  • ウノウラボ Unoh Labs: 携帯キャリアで画像を転送させない方法

    Keitaです。 携帯画像で待ち受け画像などで、ダウンロードはできるけどメールに添付できないタイプの画像があるとおもいます。 ここらへんどうやるか、気になって調べてみると、 Docomoと、AUは画像のコメント部分に、それぞれ、特定の文字列を入れれればいいようで、 Docomoの場合「copy="NO"」、KDDIの場合「kddi_copyright=on」を追加することでで、携帯でダウンロードできるが、メールなどで転送できない画像が作れました。 具体的に、MagickWand For PHPを使う場合には以下のような感じでヘッダを埋め込みます。 <?php $image = NewMagickWand(); MagickReadImage($image, 'Keita_s.jpg'); MagickCommentImage($image, 'kddi_copyright=on,

  • ウノウラボ Unoh Labs: チームリーダーが心掛けるべき10のポイント(テストチーム編)

    こんにちはー! やまもと@テスト番長です。 現在ウノウのテスト専任のスタッフは自分一人です。 いわば一人親方(建設業界用語)状態なのですが、 前職では総勢6人のテストチームを組織しておりました。 その頃心掛けていた、チームリーダー心得を書いてみたいと思います。 1.聞き上手になる 組織はコミュニケーションが命です。 話しにくいリーダーだと、必要な情報がうまく伝わりません。 気軽に相談を受ける・噂話が耳に入ってくるようでなくてはいけません。 そのためには聞き上手に徹すること。特に批判的な態度は控えることが重要です。 そんな相手には、誰も何も相談しないでしょう。 2.「おいしい仕事」を独り占めしない。 重要な判断や、やりがいのある仕事はなるべくメンバーに廻すようにします。 一見、重要な仕事はリーダーがこなすべき事のように見えますが、 その裏で他のメンバーがつまらない仕事

  • ウノウラボ Unoh Labs: MP4/3GPP/3GPP2ファイルフォーマットの基礎知識

    各ボックスはその先頭8バイト(オクテット)がボックスを識別するためのヘッダで、最初の4バイト(オクテット)がボックスのサイズ、続く4バイトがそのタイプです。 上の例では先頭の4バイトが0x1Cなので、最初のボックスは0x00~0x1Bまで、続く4バイトの「ftyp」がそのタイプです。ftypボックスの中身は具体的なデータですが、続くmoovボックスは、さらにmvhdボックスを含む構成になっています(そして実際にはこの後さらに複数のボックスが入れ子になっています)。 +--ftyp +--moov | +--mvhd | +--drm | | +--dcmd | +--trak | | +--tkhd | | +--mdia | | +--(以下省略) | +--trak | | +--tkhd | | +--mdia | | +--(以下省略) | +--udta | +--titl +-

  • ウノウラボ Unoh Labs: PHPでSSL通信する時の注意点

    yukiです。 今回はPHPでSSL通信したい時の注意点などを紹介します。 PHPでSSL通信を行う際には、 fsockopenpfsockopenfile_get_contentsfopenstream_socket_client など様々であり、利用する場面がありますが、SSL通信が許可されている必要があります。 よくHTTP_Requestなどを利用してPOSTしたいがhttpsだとうまくいかない!という記事を見かけますが、参考になればと思います。 * allow_url_fopenが有効かどうか 上記の関数についてfile_get_contents・fopenでは上記設定が有効かを調べます。 php.iniで設定されていますが、通常デフォルトで使用可能なのですが、レンタルサーバーなどでは使えないこともありますので調べてみましょう。 phpinfo()関数を利用するか

    shoism
    shoism 2007/09/07
  • ウノウラボ 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: 5分でできるウェブサーバのセキュリティ向上施策

    こんにちは、naoya です。 先日、ウノウが公開しているサービスの中にいくつかの脆弱性が見つかったため、社内で「脆弱性発見大会」を開催しました。この大会は、二人一チームに分かれてウノウが公開している各サービスの脆弱性を見つけることを目的とした大会です。結果は、いくつか各サービスに脆弱性が見つかり、すぐに修正することができました。 僕のチームは、ウノウのホームページやラボブログなど細かいサービスを担当しました。その中で、いくつかのウェブサーバにセキュリティ上あまい設定がありました。 今日は、ウェブサーバのセキュリティ向上のための設定方法についてエントリします。なお、ウェブサーバはApache 2.2系を前提としています。 サーバ情報の表示しない ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういっ

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

  • ウノウラボ Unoh Labs: MySQL オペミスでデータが破損してしまった場合の復旧方法

    こんにちは satoです。 オペミスで update に where句を付け忘れたり、プログラムのバグでデータが破損してしまったりした場合でも、バイナリログには更新SQLがすべて書き込まれるので、バックアップデータからオペミスが起こるまでの全てのSQLを流し込めれば、元の状態に戻すことは可能です。 •バイナリログを取っている •オンラインバックアップをとっている(mysqldumpMySQLを止めた状態でのcpによるバックアップとバイナリログ) •バックアップ時点でのバイナリログの書き込み位置を保存している 以上のような状態でデータが壊れた時の復旧手順をまとめてみました。シナリオとして •ある1カラム email をupdateしようとしたら、間違ってwhere 句を付け忘れ 全レコードをupdateしてしまった •気がついたのが半日後 というオペミスが発生したとします 1) データベー

    shoism
    shoism 2007/08/22
  • ウノウラボ Unoh Labs: Mac OS Xで携帯サイトの開発環境を整える

    尾藤正人(マカー3号)です。 家でも会社でも MacBook を使うようになって、名実共にマカーの仲間入りをしました。 最近はずっと携帯サイトの開発をやっているのですが、MacよりもWindowsの方が携帯サイト開発用のツールは充実してます。 携帯サイトを開発しているMacユーザの方で、当はWindowsは使いたくないんだけど、Windowsマシンを使ってたり、Parallels Desktop使ってる方は多いんじゃないでしょうか。 新しいParallels Desktopでは、Coherenceモードを使えばWindows上のアプリがMac上のアプリかのように使えるので、大きな問題はないのかもしれませんが、やはりMacネイティブでできるようにしたいものです。 というわけでMacで携帯サイトの開発環境を整えてみたので、何をやったのかを具体的に書いてみたいと思います。 Mac絵文字を表示

    shoism
    shoism 2007/08/21
  • ウノウラボ Unoh Labs: 絵文字の相互変換リスト

    こんばんは。harukです。 2週間前からビデオポップ担当になり、まず最初に、3キャリアの絵文字の変換から取り組みました。 検索して探してみたものの、いいものが見つからなかったのですが、幸いにも、3キャリアそれぞれメールでは絵文字の自動変換があるので、それを利用して作ることができます。(昔は手入力で一つ一つやってました) Tab区切りのテキストファイル(TSV)を置いておきましたので使いたい方は使ってください。 絵文字の番号の付け方はそれぞれ以下のようになっています。 DoCoMo(i-mode) 基絵文字:%i(1~176)% 拡張絵文字:%i(1001~1076)% au(EZweb) 絵文字番号=%e(1~822)% SoftBank PAGE1(G):%s( 1~ 90)% PAGE1(E):%s(101~190)% PAGE1(F):%s(201~290)% P

    shoism
    shoism 2007/08/13