タグ

ウノウラボに関するsotarokのブックマーク (21)

  • ウノウラボ Unoh Labs: PHPライブラリ Net_TokyoTyrantの紹介

    皆さんopenpearしてますか! 最近、インフルエンザの予防接種を受けたKeitaです。 ずいぶん前にですが、PHPからTokyoTyrantをネイティブに操作するライブラリをopenpearにてリリースしたので、簡単に紹介したいと思います。 Net_TokyoTyrantとは? PurePHPで書かれた、TokyoTyrantのネイティブなインターフェースを叩くライブラリです。 memcache互換のインターフェースなどとは違い、TokyoTyrantのLUA拡張などTokyoTyrant来の機能をほぼすべて使えるというのが特徴です。 インストール PEARライブラリとして公開されているので非常に簡単にインストール可能です。 openpearのチャンネルを追加します。 pear channel-discover openpear.org PEARコマンドでインストールを

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

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

    sotarok
    sotarok 2008/05/21
    メモメモ
  • ウノウラボ Unoh Labs: UNIXデーモンを作ろう

    20070405コードレビュー posted by (C)フォト蔵 尾藤正人です 先日ウノウの勉強会でUNIXデーモンの作り方についてプレゼンしました。 UNIXのデーモンの仕組みはWebサービスの開発にあたって直接関係の深いトピックではないかもしれませんが、知っておいて損はないと思います。 発表資料と動画を公開しますので、よかったらご覧下さい。 普段は気にしないUNIXデーモンが裏で何をやってるのか、少しでも身近に感じていただければと思います。 発表資料の公開にはちまたで話題のScribdを使ってみました。 プレゼン資料はKeynoteで作ったのですが、PowerPoint形式に変換してアップロードする簡単にできました。 デモ用に実際に動く簡単なデーモンプログラム ccho(シコー) を作成しました。 ccho は前々回の勉強会で行ったGnu Autotoolsで作った bat プログラ

  • ウノウラボ Unoh Labs: プチプチAPI に機能追加を行いました

    Keitaです。 去年、公開いたしましたプチプチAPIですが、長い間動作していなかったので修正を行い、さらに機能追加を行いました。 去年は、世の中でもプチプチのおもちゃが発売などが発売され空前のプチプチブームになり、さらにツンデレボイスもついたりして、われわれも負けてられないと、ツンデレヴォイスをつけてみました。 残念ながら、プロの声優さんをゲットするには時間がなかったので、僕が一人で会議室で録音してみました。 サービスに人気が出たら、音声を追加しようと思います。 2008/04/01 API用のバインディングを作成された方があらわれました。わずかAPI公開10分後のことでした。 というわけでうれしくなったのでいくつか僕のものではない音声も追加せていただきました。

    sotarok
    sotarok 2008/04/01
    おめでとうございます!!
  • ウノウラボ Unoh Labs: FFmpegで変換した3GPP動画をNTTドコモiモーションのストリーミング再生に対応させる (for Linux)

    isogawaです。 さまざまな形式の動画を携帯電話向けに変換して配信するサービスでは、変換処理をFFmpegで行っている例が多いと思われます。しかしFFmpegが出力する3GPPファイルは、NTTドコモiモーションの、ストリーミング(プログレッシブダウンロード)方式での再生はできません。QuickTime Proや携帯動画変換君で作成した動画はストリーミング再生も可能ですが、変換処理をLinux上で行っている場合には、これらを利用するわけにもいきません(できないことはないですが)。ではどうしたらいいでしょう?という小ネタ。 なにが問題なのか +--ftyp +--free +--mdat +--moov +--mvhd +--trak | +--tkhd | +--mdia +--trak | +--tkhd | +--mdia +--udta 3GPPのファイルフォーマットについては、

    sotarok
    sotarok 2008/03/12
    携帯 動画
  • ウノウラボ 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: Tracに QA(testing) のステータスを追加する方法

    2次元より3次元のほうが好きな hide です。 昨日のmasatoさんのエントリへのコメントで、Tracの話が盛り上がっていたので引き続きTracネタを続けます。今さらTracについての説明は必要ないと思いますが、どんなものかひと言で説明すると、BTSとWikiとSubversionリポジトリビュアーを合体したようなものです。この組み合わせ具合が絶妙で、Tracは様々なソフトウェア開発現場で使われています。有名なところでは、Ruby on Railsの開発にも使われています。 しかし、ウノウではBTSに影舞を使っています。何故かというと、標準ではTracのワークフローは次のようになっていて、testingのステータスがないからです。 最近は、ベータ・クオリティでもいいから、とにかく早くサービスを公開することが重要だという考え方が一般的になってきています。しかし、バグだらけのシステム

  • ウノウラボ Unoh Labs: Web2.0エンジニアのためのJavaScriptリファレンス集

    こんにちは、hideです。 近年のAjax技術の台頭により、Web2.0時代のエンジニアにとってJavaScriptは欠かすことのできない技術となってきました。しかし、2000年頃のWeb1.0時代には低機能な言語として認知されていました。このことは、"Rediscover the JavaScript"と題された次の文章に良く表れていると思います。 10 年。世界が JavaScript の真の実力を発見するのに要した時間である。 1995 年、Netscape 社の Brendan Eich により開発・設計された JavaScript は、「世界で最も誤解されたプログラミング言語」などと呼ばれもした、ともすれば不遇とすらいい得る歳月を経て、あたりのそこここに満ち充ちていた「Web の旧来的なインタラクションの窮屈さを革命したい」という思いによって、ふたたび表舞台に招来された。(S

  • ウノウラボ Unoh Labs: Services_TechnoratiでTechonoratiを使い倒そう

    はじめまして.新入社員のjokagiです.ウノウ株式会社に入社して丁度1週間のまだ右も左も分からない新入社員です.よろしくお願いいたします. さてみなさまよくご存じ(?)当番制のウノウラボですが,今日が私が当番だということに夕方気づいたので!!さっきネタを作りました. というか当番とかいうわりに日付が変わってしまいましたがみなさま気にせず興味のある方だけ生ぬるく読んでください. お題 今回はServices_Photozouの公開をしようかと思ったのですが,見て楽しいものを用意できませんでした.そこで気を取り直して自分が欲しかったPEAR::Services_Technorati(以後Services_Technorati)を用いてキーワード「unoh」を検索し,その結果をSmartyでさくっとRSSHTMLにするサンプルを作ってみました. Technorati(テクノラティ)はブログに

    sotarok
    sotarok 2008/01/10
    RSSのSmartyテンプレート
  • ウノウラボ Unoh Labs: PHPとMecabでキーワード自動リンクを実装する

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

  • ウノウラボ Unoh Labs: 日本語とPHP

    yamaokaです。 PHPで日語を扱う場合、mbstringモジュールを利用する場合が多いと思います。 日語に特有の機能(カタカナの全角/半角変換など)も備わっていて、とても便利です。 しかし、日以外ではmbstringモジュールはあまり利用されていないようです。 代わりに利用されているのがiconvモジュールで、 最近話題のフレームワーク、symfonyでも 国際化の機能を実現するために内部で利用されています。 iconvモジュールはPHP 5でPHP体に組み込まれました。 別途用意して組み込む必要があるmbstringモジュールと違って、最初から使用できるので便利ですね。 PHPのマニュアルのiconv関数のページを見ると、 いくつかの関数が定義されているのがわかります。 それぞれ、mbstring関数との 対応表を作ってみました。 iconv関数mbstring関数

    sotarok
    sotarok 2008/01/02
    iconvとmb_stringの対応表
  • ウノウラボ Unoh Labs: 意外と身近なphar - PHp ARchive

    こんにちは。shimookaです。 今回は意外と古くて身近、でも意外と知られていないphar(PHp ARchive)を取り上げてみました。 pharとは? pharとはPHp ARchiveの略で、その名の通りPHPスクリプトのアーカイブです。含まれる内容はPHPスクリプトである必要はなく、複数のファイルを含めることができます。Javaの世界で言うjarに近いもので、拡張子は「.phar」となることが一般的です。 pharの特徴としては、以下のものが上げられます。 アーカイブするファイルの圧縮をサポート(gzip・bz2) 署名のサポート(md5・sha1) phar拡張モジュールを使用することで、アーカイブを展開することなく透過的に利用可能 pharの中身と使い道 pharファイルは大まかには、データとスタブ、マニフェスト(アーカイブの情報を格納したバイナリデータ)で構成されます。前述

    sotarok
    sotarok 2007/12/24
    「続きはDo You PHP?で」を言うためのエントリ / ではなくて。PEAR2でも採用されるかもしれないpharのお話
  • ウノウラボ Unoh Labs: 自己学習で分類精度を向上させるベイジアンフィルタ

    20070201勉強会_ベイジアンフィルタ posted by (C)フォト蔵 ベイジアンフィルタを自己学習を行う事で文書を高精度にフィルタリングすることができるシステムです。 SpamassassinやPOPFileのようなspamメール振り分けソフトに使用されているのでご存知の方も多いと思います。 ベイジアンフィルタというとspamメールの処理で広く使われているイメージがありますが、 これをwebの世界でも応用してみれば面白いものができるんじゃないかと思っていろいろ開発してたのですが、 結局実現には至りませんでした。 このままではもったいないので、これまで勉強してわかってきたことを勉強会で発表しました。 勉強会の様子の動画と資料を公開します。 bayes.pdf 僕自身専門家ではないので、いろいろ間違ってる部分もあるかと思います。 その時はご指摘いただければ幸いです。

    sotarok
    sotarok 2007/12/22
    100ゲットずさー/ではなくて、ベイズのお話
  • ウノウラボ Unoh Labs: デザイナの立場からの「デザイン依頼のコツ」

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

    sotarok
    sotarok 2007/12/12
    ウェブデザイナには、デザインの知識だけでなくウェブの知識も必要だと思う。あくまで自然に美しく実現したいよね。デザインも、プログラミングも、マークアップも、SEOも。
  • ウノウラボ Unoh Labs: symfonyでよくあるトラブル

    yukiです。 今回はsymfony+MySQLを使って開発していた際に遭遇したトラブルとその対処を紹介したいと思います。 (1) ビルドしたPropelクラスで、DATETIME値が'0000-00-00 00:00:00'の時 SQLとしては問題なくとも、getTimeStampで取得する際にエラーになります。 NULL値を使うのが一番なのですが、外部の設計だったりするなど今回は変更できない場合に該当しました。 symfony側でもtrac で認識はされていますが、Creole の問題として対処しないことになっているようですので、今度はCreoleのtrac を見てみると、対処されているのがわかり、freeze化していれば影響は該当サイトのみにとどまりますので、今回は自作パッチを当てて対処しました。 そのうちsymfony側で対応してくれることを期待しておきます。 (2) カラム名

    sotarok
    sotarok 2007/12/04
    symfony+MySQLでよくあるトラブル
  • ウノウラボ Unoh Labs: いまさら、ディレクトリトラバーサルについて語ってみる

    Keitaです。 ディレクトリトラバーサルという言葉があります。 今では、常識になっており、開発するときには無意識に対策する(されている)人がほとんどだと思います。 ただ、DBにデータを格納することが当たり前の昨今ファイルの扱いをちゃんとできない人もたまーにお会いするのでので、個人的にPHPでやっていることを書いておきます。 どんなものか 詳しい定義は各自調べてもらうとして一例を一つ。 次のコードをみてください <?php $file = $_GET['file']; $dir = '/pngdir/'; $filepath .= $dir . $file; if (! file_exists($filepath)) { $filepath = $dir . 'nofile.png'; } header("Content-Type: image/png"); header("C

    sotarok
    sotarok 2007/11/22
    個人のサーバなどで性的なファイルをおいた場合の被害は計り知れません
  • ウノウラボ Unoh Labs: Linuxをネットワーク経由で自動インストールする方法(前編)

    miyakeです。今回は近頃流行りの、サーバの自動インストール方法をご紹介します。 1エントリにまとめるには内容が多かったので、2回に渡って書きたいと思います。ひとまず今日のところは「ネットワークブートから手動インストール」までです。 自動化の部分を期待された方は申し訳ありませんが、次回のエントリをお待ちください(普段より早めに書きたいとは思います)。 ウノウラボでは「 ベンチャー流サーバ構築のススメ(ソフトウェア編)」と題して、OSをインストールではなくコピーする方法をご紹介しています。両者を簡単に比較してみると、それぞれ以下のような特徴があります。 ■OSコピーのメリット 新サーバの環境構築の手間がほとんどない 最低限、IPアドレスの設定だけ変更すればすぐに実践投入できます。 完全に同じ構成のサーバを用意出来る 当然ながら、インストールされたパッケージだけでなく、サーバ内のファイルも同

  • ウノウラボ 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: 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: hasLayoutとは何か

    yamaokaです。 CSSに携わっている方なら、Holly hackを使ったことがあるかもしれません。 /* Hides from IE5-Mac \*/ * html .foo { height: 1%; } /* */ Internet Explorer(以下IE)で、レイアウトに問題のある要素に 上記のようなスタイルを指定をすると、 あら不思議、まともな表示がなされるというものです (上記のままではIE7に対応していませんが…)。 さて、どうしてレイアウトが意図したとおりに行われるようになるのでしょうか。 IEのhasLayoutプロパティ IEでは、全ての要素が 「hasLayout」という読み取り専用のプロパティを持っています。 これはそれぞれの要素がレイアウト情報(=要素の幅・高さなどに関する属性情報)を 保持しているかどうかを示す値で、 デフォルトの状態では「hasLayo