タグ

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

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

    tsukkee
    tsukkee 2009/09/01
  • ウノウラボ Unoh Labs: PubSubHubbubとは

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

  • ウノウラボ Unoh Labs: iモードブラウザ 2.0まとめ

    こんばんは、五十川です。 ご存知の通り、5月以降に発売開始されたNTTドコモの携帯電話の殆どには、新しいiモードブラウザ 2.0が搭載されています。iモードブラウザの大幅な仕様の拡張はi-XHTMLの登場以来ということになりますが、iモードの登場から10年経って登場した新しいブラウザは、i-XHTMLのときよりも遥かに大きな、過去最大の変化を遂げています。 iモードブラウザ 2.0の詳細は、ドコモ公式のiモードブラウザ 2.0にまとめられています。以下では主要な変更点を確認していこうと思います。 キャッシュ容量拡大 1画面あたり読み込めるデータの最大量が、従来の100Kバイトから500Kバイトに、大幅に拡大されました。ご存知の通りiモードの場合この値は、画像などの外部リソースもすべてひっくるめた値ですが、iモードブラウザ 2.0では、新たにCSSファイルやJavaScriptファイルも外部

  • ウノウラボ Unoh Labs: Sinatra気に入った

    先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 おはようございます。内田です。 今までRailsを使うほどでも無いアプリはオレオレフレームワークで作ってたのですが、最近巷で流行ってるsinatraのコードを読んでみたら必要十分な機能があり、センスも良く、とても気にいった。 今回は公式ドキュメントの流れで、使いそうな機能をまとめてみました 一番簡単な例 sudo gem install sinatra # app.rb require 'rubygems' require 'sinatra' get '/' do 'Hello, world' end ruby app.rb curl http://localhost:4567/ Routes HTTPメソッドにURLとブロックを渡します get '/' do end post '/'

  • ウノウラボ Unoh Labs: 文字コードと携帯絵文字

    ウノウでは特に最近、積極的にエンジニアを採用しています。 ご興味のある方はFind Job !から、ぜひご応募ください!! 今年は早くも花粉が舞っているようですね。花粉症にはなりたくないなぁと毎年おびえるyukiです。 さて今回は、社内の勉強回で発表した「文字コードと携帯絵文字」のスライドを公開したいと思います。文字コードとは何か、とか、文字集合とは何か、というところから、各キャリアの対応状況や、最近Googleの提唱している「emoji4unicode」について、基礎の部分をさらっと触れている感じです。もしよろしければご覧下さい。 文字コードと携帯絵文字

  • ウノウラボ Unoh Labs: 携帯とCookieドメイン

    こんばんわ五十川です。 しばらく前になりますが、ソーシャルスクラップブックclippのモバイル版をリリースしました。cippモバイルではドコモ以外は、セッション管理にCookie(のみ)を利用することにしたのですが、そのときCookieドメインではまりました、というお話。 PC向けclippのドメイン名は、トップページなどのユーザ共通ページは「clipp.in」、ユーザ個別のページは「{username}.clipp.in」(例えばclipp-info.clipp.in)となっています。ケータイサイトをマルチなサブドメインにする例はあまり多くないと思いますが、clippモバイルでは、ルーティング直すのめんどくさいという怠け者な理由で、PC版のドメイン名がそのまま使えればいいなと思って取り掛かりました。しかし、その目論見はあっさりと破綻することになるのでした。 以下の内容は手元の数多くない端

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

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

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

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

  • ウノウラボ Unoh Labs: ソーシャルスクラップブック「clipp」とImageFlow

    五十川です。 ウノウではただいま「clipp(クリップ)」と名付けた新しいサービスを試験的に公開しています。これはソーシャルブックマーク+ミニブログといった体のもので、ページのURLやタイトルに加えて、文章の抜粋や画像のサムネイルなどに、自分のコメントを添えて登録できるというもので、気になったページを“切り貼りして”保存し、他者と共有する、“ソーシャルスクラップブック”といった趣のサービスです。 ※ clippは試験公開ということで現在は招待制とさせていただいておりますが、興味をお持ちいただいたかたは、clippのユーザ登録ページからメアドを登録しておいていただくと、招待状を送付させていただけると思いますので、是非どうぞ。 さて、clippでは画像を扱えるという特徴を活かして、画像をiTunes/iPodのCoverFlow風に表示する機能を用意してみました。 clippの各ユーザ毎のペー

  • ウノウラボ Unoh Labs: hasLayoutとは何か

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

  • ウノウラボ Unoh Labs: PHPでJSONを扱う

    yamaokaです。 Ajaxの普及に伴い、JavaScriptで扱いやすいJSON形式で サーバーからのレスポンスを返すことが増えてきているように思います。 PHPでJSONを扱う方法についていくつか紹介します。 JSON関数 もともとPECLの拡張モジュールとして提供されていましたが、 PHP 5.2.0以降、デフォルトでPHPに組み込まれるようになっています。 そのため、最も利用しやすい形式なのではないかと思います。 利用方法は以下のとおりです。json_decodeの戻り値はオブジェクトになります(第2引数にtrueを指定すると連想配列になります)。 $values = array('company' => 'ウノウ', 'name' => 'yamaoka'); $json = json_encode($values); // string '{"company":"\u30a6

  • ウノウラボ Unoh Labs: PEAR::DBをオーバーロードして手軽にロギングとプロファイリングする

    ウノウに入社してからすっかりエンゲル係数と体重が増加して困っているjokagiです. このまま年を越すのは微妙なので効果的なダイエット方法を教えてください. ということでエントリをはじめたいと思います. さて今回はよくある「データベースのアクセスログ取りたいね」とか「プロファイルを楽に取りたいね」という要求をふとひらめいたアイデアでお手軽に実現してみました. まず.いきなりすみませんが案件的にテスト実装した環境がPHP 4を使用していたため,この実装はまだPHP 5以上での動作は確認していません. また,今更メンテナンスモードで消える運命のPEAR::DBを扱うのかよ!!という方もいらっしゃると思いますが,とりあえず気づかなかったことにしてください. 基的で最低限のPEAR::DBの使い方 PEAR::DBを丁寧に説明してもきりがないのでざっくりだけ. 下記はMySQLにつないであるテー

    tsukkee
    tsukkee 2008/10/13
    overload
  • ウノウラボ 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

  • ウノウラボ Unoh Labs: Ext.js入門: Grid編

    Extは、ウェブアプリケーションを構築するための、クライアントサイドのJavaScriptフレームワーク(公式サイトのFAQより)です。日ではまだ実際の利用例はあまり多くないようですが、たぶんに日語のドキュメントがまだそれほど多くはないからではないかと思われ、今後利用事例は増えていくだろうと思われます。 Extの真骨頂は高機能でデザインの洗練された、(直ちに利用可能な)レディメイドのユーザインタフェースウィジェット群です。Extは「アダプタ」として、prototype.jsやjQuery、Yahoo! UIといったJavaScript拡張ライブラリを利用する設計ですが、現在は独自のアダプタも用意され、サードパーティのライブラリに依存しない実装も可能です。 現時点での安定版はバージョン1.1ですが、既に、大幅な機能強化が図られたバージョン2.0のアルファ版が公開されており、以下のページで

  • ウノウラボ 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: Mac OS X上のUnicode

    Firefoxは内部的に変換処理を行うようになっているようです。 問題はSafariとOperaですね。 選択されたファイルのパスからJavaScriptで ファイル名を抜き出してタイトルに設定する部分で、 正しく扱えるような文字コードに変換することにしたいと思います。 基的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、 「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、 その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう (ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。 変換用の文字テーブルを用意して、逐一変換していくかたちにしたいと思います。 というわけ

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

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

  • ウノウラボ Unoh Labs: ブラウザだけでネットワーク対戦ゲームができる無料ゲームポータル「プラッシュ」をβ公開しました

    尾藤正人(a.k.a BTO)です 大富豪チャット posted by (C)フォト蔵 ブラウザだけでネットワーク対戦ゲームができる無料ゲームポータル「プラッシュ」をβ公開しました プラッシュ プラッシュの特長 ブラウザだけで遊べる ネットワーク対戦ができる Wiiに対応している 無料で遊べる ブラウザだけで遊べる プラッシュのゲームは全てブラウザ上で遊ぶ事ができます。 面倒なソフトウェアのインストールはいっさい必要ありません。 ネットワーク対戦ができる プラッシュのゲームはネットワーク対戦ができます。 オンラインでリアルタイムでネットワーク越しにいろんな人とゲームを遊ぶ事ができます。 Wiiでも遊べる 今話題沸騰中のWiiに完全対応。 無料でゲームが遊べる プラッシュのゲームは全て無料で遊ぶ事ができます。 プラッシュの仕組み せっかくラボブログにエントリを書いているので、 少しプラッシュ

  • ウノウラボ Unoh Labs: inline-blockでマルチカラムレイアウト

    yamaokaです。 2007年7月19日、CSS 2.1が再び勧告候補になりました。正式な勧告になるのは来年になりそうですが、CSSに携わっている人は今のうちから内容に目を通しておくといいかもしれません。 adds a few highly requested features including the inline-block value for the display property, the color orange and the values pre-wrap and pre-line for the white-space property. 勧告候補になるにあたり、新たに追加された機能は上記引用の通りです。 今回は、試しにinline-blockを使ったマルチカラムレイアウトを作ってみようと思います(inline-blockに関しては既にOperaとSafariで先行

  • ウノウラボ Unoh Labs: 携帯サイト作成のためにも使えるPHPのライブラリ

    harukiです。 携帯サイト作成の際に使えるPHPのライブラリを知っているだけ羅列してみます。 Net_UserAgent_Mobile 基となるライブラリです。機種判定など、様々な用途に使用します。 細かい情報については、スクレイピングなどをしたりして自前で用意する必要があります。 PEAR::Mail メールの送信に使用できます。 特殊な送信の際は、Mail::factory()にsmtpで使用することになりますが、キャリアの迷惑メールの設定にも気をつける必要があります。 Mail_mime_Decomail (Y-110's Wiki) Mail_mimeと同じ使い方で、デコメール送信用にMIMEを組み立てることができるのでとても便利です。 Mail_mimeDecode 空メール・エラーメールなどを受け取って解析する際に使用します。 解析の際には、Mail_RFC822: