« 2007年1月 | メイン | 2007年3月 »

2007年2月28日

[書評] 巨大人脈SNSのチカラ
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは8makiです。

原田 和英さんの「巨大人脈SNSのチカラ」という本を読んだので、レビューさせてもらいます。
中でも個人的に注目したポイントに感想を付け加えながら書いてみます。


■SNS7つの構成要素


7つの要素とは、Identity、Presense、Relationships、Conversations、Groups、Reputation、Sharingである。

Identity:一貫した個人を保証
Presense:SNSにいるという息吹を感じられるような仕組み
Relations:友人を把握する仕組み
Conversations:メッセージだけではなく日記のコメントやコミュニティのトピックといった対話
Groups:共通の何かを持った集まり
Reputation:個人ページを見たときに自分がどのような人間かぱっと分かる仕組み
Sharing:共有すること

SNSを要素ごとに分解するとこうだ、みたいな感じです。
特にPresense「存在」という感覚はおもしろくて、存在することにはコストがかかるとも述べられています。
本の中での例に

メッセンジャーにおいて、ひとたびメッセージが入れば、今までしていた作業は中断され、再度戻るのには時間がかかる。
その場合、存在のコストは受けてが一身に受けていた。

これはリアルの世界での、人と待ち合わせるとき相手に遅刻されて待っている状況に近いと思います。
時間というコストに換算するとわかりやすいですが、でもなかなかSNSをしている時間をコストだとは捉えがたいかもしれません。
今後はこのコストもどんどん小さくなっていくのでしょう。
”友達の日記一覧”を繰り返し見なくてもいいような状況に。


■個人のSEO


「オンラインで人を見つけるもっとも基本的な方法は、彼らにあなたを見つけてもらう努力をすることだ。」

「個人のSEO」これ、個人的にキーワードでした。
SNSのおかげで簡単にオンラインへの露出ができるようになっています。
メディアへの露出が高い人は、やはりビジネスチャンスが多いのではないでしょうか。
アルファブロガーの中にもブログを通して個人のSEOを実践している人がいるかもしれませんね。
ただこの本では「見つからないようにする努力」も必要とも書かれており、バランスが難しいですが。


■新しい仕組みのSNS

世界のSNSに目を向けると画期的な仕組みを提供しているものもあります。

LinkedInはビジネスの繋がりを重要視したSNSなのですが、自分が必要とした人材にメッセージを送るには紹介してもらわないといけません。
つまり仲介人がいないと繋がることができないSNS。
双方を知っている人間が仲介することにより信頼性のある繋がりを持つことができる、というわけです。

またjamboというSNSもおもしろい。
これはNYのラガーディア空港内だけのSNS。

空港という、物語が生まれそうで生まれない場所だからこそ、このSNSは、利用者にとって何かしらのロマンを提供する。

とありましたが、ちょっとロビーの待機時間にやってしまいたくなりそう。

さらにはクイズ型のSNSなんてのも紹介されていました。
Tickleというのですが、登録する際に自分に関するクイズも登録する。
そして友人がそのクイズをやり正答率に応じてその人との関係性がわかるという仕組み。
一般的なクイズもあるらしく、それによってその人が何に詳しいかわかる、というものも。
新しいですね。

どれも日本にもあったら使ってみたいですね。


■あなたが「だれ」を知っているか


「あなたが何を知っているか、ということは大事だが、同時に大事なのは、あなたが『だれ』を知っているか、ということだ。」

自分が持っていないものを持っている人たち、あるいは、自分が知らないことを知っている人たちこそが重要なのだ。

狭い世界に篭ってるよりか、色々な業界の人と繋がってる人は価値が高い、ということなのでしょう。
でも、これは人脈という点で非常に大事なポイントかもしれません。
エンジニアだけで集っていても、お互いに技術の切磋琢磨はできますが、それ以外の領域で活躍するためには何かもの足りない、とも思ったり。


■人脈ネットワーク作りに必要な6つの要素


・常にネットワークを広げる機会を探せ。
・常にネットワークを築け。交流会やパーティなどで。
・恥ずかしがるな。
・近くの人々のことについて、覚えておけ、書き溜めておけ。
・弱い紐帯の重要性を知っておけ。時には知人程度の人の日記も読もう。
・ネットワークを動かすために、ネットワークの人々にいいことをしろ。

特に6番目は重要だと思います最近。
SNSでやたら告知メールとか送りつけてきたりする人は敬遠されるとも書かれています。
たしかにリアルの世界でもこういった人って結構いて、交流会やパーティでやたらと名刺を配り営業されている方。
それはそれでいいかもしれませんが、みんなが交流会に何を求めてくるのか。
まず相手のニーズを聞き、それに応えられるような人と出会えたらうれしいですよね。
逆もまた然り。


最後に、「今後のSNSについて」という欄外のコラムからいくつか紹介させていただきます。
非常におもしろいです。
また、著書の原田さんにお会いする機会がありまして、お聞きしたところこの部分にはかなり注力したとおっしゃっていました。
「今後のSNSについて」この本の裏題なのかもしれませんね。

  • SNSは「所有するものになる」
  • SNSはより友人の流動性を反映する必要がある
  • SNS内のネットワークを自動判別し分類する
  • 紹介文が固定化する問題
  • 利用者が他界したときの問題
  • 会話を促進する機能

もっと詳しく知りたい人は是非ご一読を!

※P.104にフォト蔵も紹介していただきました。ありがとうございました。

巨大人脈SNSのチカラ
巨大人脈SNSのチカラ
posted with amazlet on 07.02.28
原田 和英
朝日新聞社出版局 (2007/02)
売り上げランキング: 18940
おすすめ度の平均: 4.5
4 行動力のある著者だな
4 新たなる進化?
5 mixiだけがSNSだと思っている人へ

2007年2月26日

ThinkITでPHP開発手法の連載の第6回目が掲載されました
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは、hideです。

ThinkITでPHP開発手法の連載 第6回目が掲載されました。ウノウで採用している「Trac」のインストール方法と活用事例について説明していますので、興味のある方はお時間のある時にでも見て頂ければ幸いです。

第6回:BTS(Bug Tracking System)の利用

2007年2月23日

2/22サイトレビュー勉強会
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

hondaです。
昨日も代表の山田によるサイトレビュー勉強会がありました。
その様子をフォト蔵にアップしましたのでご覧ください。


20070222サイトレビュー勉強会 posted by (C)フォト蔵

 

■tree-nation.com http://www.tree-nation.com/

ウェブサイト上の寄付によって木を植えるプロジェクトのサイト。
一本10ユーロから75ユーロまでの4種類があります。

800万本の寄付を集めてニジェールのど真ん中に
ハート型の森を作るのが目標とのこと。
現在は429本(2/23現在)なので先は長いかもしれませんが、方向性としては面白いですね。

ウェブ上で、実際に植えた場所のマップがあり、
どこに植えるか決めることもできるし、
植えた人が誰かなど、詳細も見ることができます。
木にコメントするのが不思議です。

興味深いのは現実の場所とインターネットがうまく融合している点。
寄付の様子がビジュアライズされていて実感が持てます。
もっとも、ほんとに植えられているかはわかりませんが・・・。

サイトが非常に重いとか、まだまだ問題はありそうですが、
成功したらとても面白いプロジェクトになりそうです。

 

■FantasyMoguls.com - http://fantasymoguls.com/
■芸能証券 - http://www.gse.jp/

FantasyMoguls.comは映画のファンタジーリーグのサイトです。
今回レビューしたのはスポーツチームや映画などですが、
他にも音楽、テレビ番組、ファッションなど、娯楽産業に幅広く拡大している様です。


ファンタジーリーグは海外には多いけど
日本にはほとんどないそうで、芸能証券が唯一といっていいほど、とのことでした。
今回は芸能証券を長くレビューしていました。

芸能証券は、テクノラティのAPIを用いて、検索ヒット数を株価に見立てて
仮想的に取引をするサイトです。
移動平均とかも表示されていたり、IPO・上場廃止など、本格的です。

このサイト自体はまだアクセスが少ないようですが、
こういった話題性・トレンドを数量化・視覚化してみるのは面白いですね。

 

■WeatherBill - https://www.weatherbill.com/
WeatherBillは、簡単に言ってしまえば天候デリバティブのECサイトです。

天候デリバティブといったらその名のとおり、
実際の天候に連動する金融商品ですが、
それをウェブ上で簡単に売買しようというもの。


Flashで作られている、複雑な天候のアルゴリズムを計算をするツールもあるのですが、
直感的でわかりやすいインターフェースで勉強になります。
https://www.weatherbill.com/tools

 

 

以上です。
今回はちょっと変わったサイトが連ねましたが、
ほんとにいろいろなサイトがあるものですね。

詳しくはビデオをご覧ください!

hondaでした。

ウェブ開発の共同作業でパーミッションを有効活用する
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

前回カメラをなくした!!とかいってたら見つかってホッとしているjokagiです. 前回のエントリの書き上げはかなりサボってしまったので,その影響で今回はすぐに順番が回ってきてしまいました. 今回も負けずにロングエントリで行きます!!

このエントリの目的

複数人でウェブコンテンツを作成運用管理する場合,特に本番サーバーのファイルのパーミッションで悩んでいる人をよく見かけます. あまりパーミッションを積極的に有効活用できない人は挙句に誰でも読み書きできる(いわゆる0666や0777)ザルにすることが多いでしょう. いや待ってください. もうちょっと丁寧に設定してみませんか? というお話です.

必須環境

少なくとも初期作業においてはroot権限が必要になります. また,ある程度最低限のコマンドやその実行結果についての知識,あるいは調べる能力が必要になるかもしれません.

UNIXの一般的なファイルシステムのパーミッションについて

基本的なこと

UNIXのファイルシステムはいろいろありますが,おおむねパーミッション(アクセス権限)は3段階のレベルがあります.

User
ファイル・ディレクトリの所有者自身についての権限を現します.
Group
アカウント情報で同じグループに所属する人たちの権限をあらわします.
Other
前述のどれでもない人たちの権限をあらわします. Otherは「UserとGroupを含むすべてのアカウント」でなく,「UserとGroupに所属''しない''すべてのアカウント」であることに注意してください.
レベル対象ls -la のイメージ
Userファイルのオーナーの権限rwx------
Groupファイルやディレクトリのオーナーグループに所属するユーザーの権限---rwx---
Other上記のいずれでもないユーザーの------rwx

特殊なパーミッション

余談からですが,パーミッションを3桁の8進数(755とか666とか)で表す人がいますが,実はそもそもパーミッションは24ビット9ビットではなく,もっと多い桁数なので4桁必要です.

さて本題ですが特殊なパーミッションというのは何があるのか? ですが,chmodコマンドの日本語マニュアルを参照するとこういう記述があります.

 特別なアクセス権
 
     1000 プログラムコードをスワップに維持
     2000 実行時にグループ ID を設定
     4000 実行時にユーザー ID を設定

1000は使ったことがないのでコメントかトラックバックでいい例題を教えてください(苦笑 2000と4000はそれぞれオーナーユーザーあるいはグループはディレクトリに付加すると,中でファイルやディレクトリを作成するとオーナー情報を継承するというイメージになります.

本当に正確な意味はファイルシステムを専門に勉強したわけじゃないのでわかりませんが(苦笑

つまり,共同作業のとき,共通のグループを用意し,関係者をすべてそのグループに追加し,ディレクトリに2000を付加すればそのディレクトリ以下のオーナーグループが共通になるはずということです.

とりあえず試してみる

テスト条件

テストにはjokagiというユーザーを作成し,グループにunohを追加,unohにjokagiを追加します.

ユーザー名:jokagi elf
グループ名:jokagi elf unoh(jokagiとelfはこちらにも所属する)
ウェブ作業ディレクトリ:/home/web/

アカウントとグループを作成する

useraddとgroupaddでユーザーとグループを作成し,グループunohにユーザーjokagiを登録します. 下記作業はroot権限で作業を行ってください.

# /usr/bin/useradd jokagi
# /usr/bin/useradd elf
# /usr/bin/groupadd unoh
# /usr/bin/usermod -G unoh jokagi
# /usr/bin/usermod -G unoh elf

ここで注意すべきことは,usermodなど,アカウント情報の修正をした場合,ログアウトをしなければその情報が反映されない場合があるということです. ここではusermodをした場合はjokagiは一旦ログアウトするようにします.

余談ですがusermodで別グループの追加ができるんですね.いつもvigrで作業をしていました.

上記のようにすると例えばアカウント情報を表示するコマンドidの表示は下記のようになります.

$ id jokagi
uid=500(jokagi) gid=500(jokagi) 500(jokagi),502(unoh)
$ id elf
uid=501(elf) gid=501(elf) 501(elf),502(unoh)

やっと実験開始!!

さてそれでは実際にディレクトリを作成して試して見ましょう.

大まかな流れ

大まかには下記のような流れで作業をします.

  • ルートになるディレクトリ(ここでは/home/webとします)を用意する
  • /home/webのオーナーを共通グループにする
  • /home/webのパーミッションは少なくともディレクトリは「u+rwx g+rwx」に,ファイルは「u+rw g+rw」にする
  • /home/webを触るアカウントのumaskは0002にする

基本的な作業手順

それでは実際の作業を行います.作業はroot権限で下記のように行います.

まずディレクトリを作成します.

# /bin/mkdir /home/web
# ls -lad /home/web
drwxr-xr-x 2 root root 4096 Feb 23 13:12 /home/web

作成されたディレクトリのオーナーとパーミッションを設定します.

# /bin/chgrp unoh /home/web
# /bin/ls -lad /home/web
drwxrwxr-x 2 root unoh 4096 Feb 23 13:12 /home/web
# /bin/chmod u+rwx,g+srwx /home/web
drwxrwsr-x 2 root unoh 4096 Feb 23 13:12 /home/web

これでOKです. それではユーザーjokagiになってテストをしてみましょう.

まずユーザーjokagiになってオーナーとパーミッションの確認をしてみます.

# /bin/su - jokagi
$ ls -lad /home/web
drwxrwsr-x 2 root unoh 4096 2007-02-23 13:12 /home/web

次に/home/webに移動してオーナーとパーミッションの確認をします.

$ cd /home/web
$ ls -la
total 8
drwxrwsr-x 2 root   unoh    4096 Feb 23 13:12 .
drwxr-xr-x 3 jokagi jokagi  4096 Feb 23 13:12 ..

それではファイルとディレクトリを作成してオーナーとパーミッションの確認をしてみましょう.

$ touch file
$ mkdir directory
$ ls -la
total 12
drwxrwsr-x 3 root   unoh   4096 Feb 23 13:44 .
drwxr-xr-x 3 jokagi jokagi 4096 Feb 23 13:12 ..
drwxr-sr-x 2 jokagi unoh   4096 Feb 23 13:44 directory
-rw-r--r-- 1 jokagi unoh      0 Feb 23 13:44 file

どうでしょう? グループがunohになっていますね. それではユーザーelfで同様な作業をしてみましょう.

# /bin/su - elf
$ touch file2
$ mkdir directory2
$ ls -la
total 16
drwxrwsr-x 3 root   unoh   4096 Feb 23 13:44 .
drwxr-xr-x 3 jokagi jokagi 4096 Feb 23 13:12 ..
drwxr-sr-x 2 jokagi unoh   4096 Feb 23 13:44 directory
drwxr-sr-x 2 elf    unoh   4096 Feb 23 13:45 directory2
-rw-r--r-- 1 jokagi unoh      0 Feb 23 13:44 file
-rw-r--r-- 1 elf    unoh      0 Feb 23 13:45 file2

いかがでしょうか? オーナーユーザーはそれぞれ作成ユーザーに,グループは共通になっているのがわかるでしょうか?

応用

これの応用としてapacheの実行ユーザー(通常apacheやnobody)を共通グループに登録するという技があります. apacheのファイルやディレクトリ操作もコマンドラインでの操作と基本的には変わらないので,上記内容と同様の処理が行われ,その結果apacheで作成したディレクトリやファイルを一般ユーザーが編集削除できるということになります.

逆に言うとapacheからウェブコンテンツのファイル(HTMLや画像)の改ざんもできるということになりますので,セキュリティリスクが高まるともいえますので使用するという決定には細心の注意をすべきです.

注意すること

今回はグループを活用したファイル管理になるので,グループライタブルでない(グループ権限ベースで書き込めない状態)ファイルやディレクトリがでてくると,そのファイルはオーナーユーザーしか編集ができなくなります.

また前述のようにユーザーやグループデータベースの編集を行った場合,ログアウトしなければ反映されない場合があります.

GUIを使用している場合

こういう状態になるパターンの多くはumaskが0022になっている状態,例えばGUIのftpクライアントやsftpクライアントなどを使用している場合に発生している気がします. 特にGUIで作業をしている方はどういうパーミッションをソフトウェアが設定するか再確認をしておくに越したことはありません.

別の場所にあるファイルやディレクトリを移動する場合

また,ディレクトリやファイルの移動を行うときにも注意してください. それらの移動時にはg+sな指定の影響は受けないので,オーナーグループが期待したものと異なる状態になるでしょう.

事後対処

対策は上記作業を行ったユーザーならできます. 例えばパーミッションの問題ならコマンドラインで下記のようにします.

$ cd .../target/path/to
$ chgrp -R unoh *
$ find . -type d -exec chmod u+rwx,g+rwx {} \;
$ find . -type f -exec chmod u+rw,g+rw {} \;

対象にドットで始まるファイルやディレクトリがあるときはchgrpでは下記のようにしましょう.

$ chgrp -R .??*

終わり

いかがでしょうか? 共同開発を行う場合,パーミッションをオールライタブル(誰でも読み書きできる)な状態で行っていたり,共通アカウント(webmasterなど)を用意して吹く数人で共用している人は意外と多いんじゃないでしょうか?

前者は本当にパーミッションという概念が破綻してしまうのである意味ありえませんし,後者は個人情報保護を見据えるとあまりいただけない判断になると思います. それらは今回のようにグループを活用することで十分回避することができます.

ウェブアプリケーションを共同で開発する場合,ファイルの権限などの問題は誰しもが一度は悩むところだと思います. もし心当たりがあり,試す環境がある方はぜひ一度お試しください. それではあでゅー

PHPで不要とされた機能についての考察
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

Keitaです。 Hideさんが、ぼくをキャバクラに連れて行ってくれません。

さて、PHPの次期バージョンPHP6では、いくつか廃止されるPHPの機能があります。

UnicodeサポートがはいるPHP6を使うかどうかともかく、その機能のいくつかをみて、あーそうするとPHP4とか5でつかうのもアレなんじゃない?っていうのが今回の目的です。 ずいぶん前から言われてることなので、(リンク先の記事も2005年だし)知ってる人はしってると思いますがとりあえず。

magic_* 系統の廃止

一番わかりやすいところでいうと、「magic_quotes_gpc」が設定でOnの場合には、外部から送られてくるGET, POST, COOKLEの値に対して「'(シングルクオート)、" (ダブルクオート)、\(バックスラッシュ) 、NULLに、エスケープ文字列「'」を追加します。 一見セキュリティ上好ましい設定に見えますが、仮に、いわゆる、SQLインジェクション対策をしてない場合に、入力された時とDBから取り出したときに違う値を取り扱う羽目になります。

Input: data="abc'bb";

echo htmlspecialchars($_POST['data'], ENT_QUOTES); setDB($_POST['data']); //DBに格納する echo htmlspecialchars(getDB(), ENT_QUOTES);

output abc\'bb abc'bb

というわけで、相当な理由がなければ、使うことはないと思うんですが、でもたまに、ちらほらと聞こえてくる機能なので(そんなシステムが稼動していることが)いろいろと心配です。

register_globals

これは全会一致で、なくていいと思うので特にいうことはありません。さようなら!

safe_mode

この機能、PHPでたまにある、strip_tagsとかと一緒の「便利だけど信用しちゃいけない機能」の一つみたいです。 ただ、この名前が、どうもいけてないけど、これのせいで、PHP自体にセキュリティの問題が・・ということになってるケースが多かったので削除されたようです。

ちょっと調べてみると、yohgaki's blogというところに、なんとなくそれっぽい話が書いてありました。ぼくも、名前変えて継続すればいいのにと思いました。個人ではつかってないので、積極的には思いませんでしたけど。

<%の廃止

使ってるのみたことないのですが、なくていいと思います。というか、これどういう経緯でできたのかがいまいち想像できないんです。ASPから簡単にPHPに簡単に移植できるよ!とかいいたかったのでしょうか。・・・・とおもって簡単にしらべたら、もしかするとエディタで簡単に設定するためだったのかもしれません。もちろんそれだけじゃないでしょうけど

もし、使っている所があって見直しのきっかけになれば幸いです。

2007年2月21日

キャバ嬢メソッド 〜 キャバクラ嬢に学ぶWebサービス運営のコツ
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは、hideです。

皆さんは、キャバクラって行ったことありますか?
キャバクラとWebサービス、この一見、まったく関連が無いように見える2つのサービスですが、実は多くの点で共通点があります。これから新しくWebサービスを作ろうとしている人、現在Webサービスを運用している人は、彼女らの接客態度やサービス精神からいろいろと学ぶことができます。

では、順を追って紹介していきましょう。

1. 見た目が大切

第一印象で悪いイメージを持たれて損をしないように、思いっきりお洒落してユーザを迎えましょう。キャバクラでは香水の香りで嗅覚を刺激するなど、五感を活用した接客というのが行われています。しかし、Webサービスの場合、嗅覚/味覚/聴覚/触覚はないので、使えるのは視覚のみになります。より見た目が重要になってきます。

2. おもてなしの精神

とても基本的な事なのですが、数あるお店(Webサイト)の中からわざわざ足を運んでくれたお客様は大切にしなければなりません。こういうシステムを作ってやったから使え、という応対ではユーザは使ってくれません。おもてなしの精神を発揮して、満足してもらうことが重要です。

3. 常連客を大切に

ほぼ毎日通ってくれるような常連客は大切にしましょう。クチコミで知人に紹介してくれて、新しいユーザを連れて来てくれるかもしれません。

4. まめなメール連絡

メールを効果的に活用しましょう。Pull型のWebにおいては、メールはユーザとの唯一の連絡手段です。同報一斉送信の営業メールは有り難くもなんともありませんが、ユーザに合わせてパーソナライズされたメールは嬉しいものです。「もうすぐ誕生日だったよね?」とか、久しく顔を見せない客には、「最近、来てくれないけど元気にしてる?」といったメールが効果的です。

5. チラリズムを活用

その先に広がる世界を想像してもらって、ユーザをその気にさせる演出が重要です。初めて訪れるユーザにも分かりやすいように、便利な機能をチラリと見せてあげましょう。あくまでもチラリが原則です。

6. 季節のイベントで盛り上げる

夏には浴衣、クリスマスにはサンタの格好をするなど、季節のイベントを活用しましょう。Googleもイベントによってロゴを変えるなどしていますが、ちょっとした違いに人は喜びを感じるものです。

7. 常に新しい話題を提供

来店時に前回と同じ話をしたら、キャバ嬢失格です。常に新しい話題を提供しなければいけません。いつも同じ話しかしない人の所に行こうなんて思う人は少ないです。Webサービスにおいても同様で、前回の来訪時との違いを分かりやすく表示しなければなりません。

8. ドンペリ入りましたー!

高いお金を払ってくれるユーザに優越感を持たせてあげましょう。高級シャンパンのボトルを入れると、店員一同で「ドンペリ入りましたー!」という声が一斉にあがります。僕は味わったことがないのですが、これはきっとかなりの優越感に違いありません。mixiやFlickrでも有料ユーザには、「mixiプレミアム」や「Pro」という表示が付くのと同じです。ユーザにとっては、ちょっとした優越感なんですね。

こういった視点を持って一度キャバクラに行ってみるのも面白いかもしれません。きっと、No.1の売上げを誇る売れっ子には、それだけのノウハウがあるはずです。ここには書いていない極意みたいなものが見つかるかもしれません。
ただし、くれぐれものめり込み過ぎないように注意してください。

2007年2月19日

[書評] 社内ブログ革命
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

naoya です。
今日は、「社内ブログ革命」という本をウノウにいただきましたので、書評させていただきたいと思います。

この本は、サブタイトルに「営業・販売・開発を変えるコミュニケーション術」とあるとおり、社内ブログを開設することによってスムーズな情報発信や共有をすることがテーマになっています。
前半には社内ブログを開設にするにあたって重要となるポイント、後半には実際に社内ブログを開設している具体的な企業の例が書かれています。

ウノウでもさっそくこの本を読んで、今月から社内ブログを開設してみました!社内ブログに開設にあたっての技術的な内容は、まだ手探りなところがあるのである程度まとまったところで、このブログに書きたいと思います。

この本を読んで特に印象に残ったところは、次のポイントです。

  1. ブログを書く人の中で、モデルとなるモデレーターを作成する
  2. ブログを開設する前で、社内の説明会を開く
  3. コメントやトラックバックを用途に応じて設定する

これらのポイントに対する今までのウノウでの取り組みを紹介します。

1に関しては、まだまだ始めたばかりということにありますが、ブログを書く人と書かない人にかなりの差がすでにでてきているので、そろそろモデレーターを決めてブログを書くことが楽しくなるような雰囲気にしていきたいところです。
2に関しては、ブログを開発した直後に社員全員の前で社内ブログの開設方法や使い方を説明しました。社員の中にはブログが初めてという人もいるので、あわせて入門者向けの説明会も必要かもしれません。
3に関しては、ブログを見ることができる人は誰でもコメントできるようにしました。トラックバックは、誤って外部のブログなどにトラックバックを打つことがないように念のためオフに設定しました。


というわけで、ウノウでは「社内ブログ革命」をきっかけとして社内ブログを開設するに至りました。
ぜひ、みなさんも「社内ブログ革命」を参考にしながら社内ブログを開設してみてはいかがでしょうか?


社内ブログ革命 営業・販売・開発を変えるコミュニケーション術
シックス・アパート株式会社 編
日経BP社
売り上げランキング: 30027
おすすめ度の平均: 3.5
3 過渡期の一冊 という使命
4 社内ブログはどうやったらうまくいくか、いまから導入したい人へ

2007年2月18日

Web2.0サービスのデザイナーになるということ
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは、Sashaです。

IA (Information Architecture)系で重要サイトであるBoxes and Arrowsの記事の前半部分にこんなくだりがありました。

【要約】サイトリニューアルで、一般のデザイナーからデザインを公募しました。世界中からそれはそれはすばらしいデザインが集まってきて、公正な選定により、採用されるデザインが決定しました。きれいで、クリエイティブで、かっこいいデザインでした。にもかかわらず、私たちはこのリニューアルが失敗であったと反省しています。それはなぜでしょう。

結局のところ、
・ユーザーさんにサイトをどのように使ってもらいたいか
・ユーザーさんに何を、どのように伝えたいか
・ユーザーさんの声を、どのように受け止めるか
を『真剣に』考えているのは、サイトを開発している私たちしかいないのです。

デザイナーは、上記のような『作る人のキモチ』を代弁することができなければなりません。そのキモチを代弁することができるのは、まさにサイトを開発しているメンバーの他にいないのです。どんなに腕のいい外注さんでも、この事実を覆すことができないのです。...続く。

さて、なぜこんな話をしていると思いますか?ズバリ...

ウノウでは、デザイナーさんを大募集中!

なのです。

デザイナーならクリエイティブなデザイン・スタジオで働いてみたいと思うものです。そのキモチ、筆者はよくわかります。プログラマーが、プログラミングのことを理解し切磋琢磨できる畑で活躍したいと願うのと同様に、デザイナーはデザインを理解し切磋琢磨できる畑で活躍したいものです。

デザイナーである筆者が8ヶ月ほど前に転職活動で選択したのは、デザイン系受託制作会社ではなく、あえて、スーパーなプログラマーたちのそろう、Webサービスを自社開発する会社(=ウノウ)でした。今ウノウでデザイナーさんを募集するにあたり、自分の体験を踏まえてデザイナーがWebサービスを自社開発する技術系の会社で働くことの意義をご説明したいと思います。


(1)本当の意味でユーザーのためのサイトを作ることができる

企業のサイトを制作するのが、受託制作の基本ですよね。受託では、あなたのデザインで本当に喜ぶのも、あなたのデザインに文句をつけるのも、実際に使う・見るエンドユーザーさんたちではありません。あなたのデザインによって利益がもたらされる発注企業です。ウノウでは、デザインでユーザーさんを喜ばせることが、あなたの仕事になります。

(2)作りたいものを作れる土壌がある

自社開発系のウノウでは、社員が「欲しい!」と思ったものを作ることが、事業の基本です。プログラマーであっても、デザイナーであっても、作りたいもののアイデアは平等に降ってきます。そのアイデアを、形にできる制度と可能性が、ウノウには整っています。こういうの作りたかったけど、プログラミングできないから・・・とあきらめたりしていませんか?アイデアが社内の凄腕エンジニアをインスパイアすれば、きっと協力してくれるに違いありません。

(3)凄腕エンジニアに学べる

上記のような会社なので、凄腕のエンジニアたちが後から後から入社してくるのがウノウです。その辺のデザイン・ファームにはいない人種です。そんなに本腰入れてプログラミングが出来るようになりたいと思っているわけではなくても、技術的なことをある程度理解している、していないの違いは、あなたのデザイナーとしてのキャリアパスに大きく影響するはずです。

(4)毎日使えるデザイン、という挑戦がある

Webサービスは、万人が日々使い、何度でも戻ってくることを前提に作られます。デザインは、「使うもの」という点でアートとは全く性質の異なるものですよね。使いたいと思うものを、使いたいところに、使いたい気を促進する形で置いて行く。毎日使うものだから、デザイナーに課される挑戦は、とても大きいのです。やりがいも、得るものも、大きいのです。


こういう意義をしっかり見据えてウノウにデザイナーとして参加された場合にあなたに着いてくるであろうデザイナーとしての付加価値は、今後のキャリアにきっと大きなインパクトを与えると私は思います。そう信じているから、私もがんばっています。

ちょっとでも「ウノウ入りたい!」と思った方は、ぜひ求人ページから応募してみてください。お待ちしてます!

2007年2月16日

テスターを雇わない経営者の誤った理屈 best5
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは! やまもと@テスト番長です。

みなさんはJoel on Softwareという本(とWEBサイト)をご存知でしょうか。
以前ウノウラボでもnaoyaさんがThe Joel testのエントリを書いています。

サイトの記事をひとしきり読んだあとで、本は買って積んであったのですが
先日ふと手に取りぱらぱらページをめくっていたところ、
テストについて書いた面白い章があったのでご紹介します。


■ 第22章 テスタを雇わない(間違った)理由、ベスト5

1.バグは怠惰なプログラマから出てくる

→人は誰でもうっかりミスを犯します。他人の目から見たチェックをすべきです。

2.私のソフトウェアはWeb上にある。バグはすぐに直せる

→リリース後の修正はずっと高くつくものです。

3.ユーザがソフトウェアをテストしてくれる

→会社の品質に対する印象を悪くします。

4.テスタとして優れた資質のある人間はテスタとして働きたがらない

#テスタの募集に集まる人はあまりスキルが高くない、と読めますね。 →良い人材を探す努力を怠らないのは基本中の基本です。

5.テスタを雇う余裕がない!

→テスターを含む開発チームを組織することは コストにおいてプログラマだけのチームより高くつくということも、 品質においてプログラマだけのチームより悪くなることもありません。 テスターがいれば仕事全体が上手く回るはずです。 例えば、スタープログラマをリリース前の総当りテストに従事させるのはどう考えてもパワーの無駄無駄無駄無駄。



このようにソフトウェア開発の実情に暗い、未熟な経営者が犯しそうな判断ミスが列挙されています。

Joelはこの記事の中で、開発者2人に対し1人のテスターを雇うように推奨しています。MicrosoftではQAエンジニアはプログラマと同数雇用されているというのは有名な話ですが日本のエンジニアは米国のエンジニアよりお行儀が良いそうなので、もう少し譲歩して3~5対1くらいで考えるといいかなと思ってます。(激しくケースバイケースですが)

我等がウノウも次第に人数が増えていますが、うまくバランスを取って行けたらなーと思う次第です。

さて、蛇足ですが自分の経験を元にして項目をちょっと付け足してみましょうか。


6.常にテストの仕事がある訳じゃない


→経験を積んだテスターなら、仕様段階でのチェックや各種ドキュメントの作成もこなします。

7.藪蛇になるよりそっと納品してしまいたい

→バグがあっても運がよければ発露しないで済むかもしれない、というのは現実逃避に過ぎません。 対外的にバグが忌み嫌われていて臭い物に蓋をしたくなることもあるでしょうが、 それは本来の筋ではありません。

8.発注元が受け入れフェイズでテストしてくれる

→発注元にしてみればたまったものではありません。 出来上がり具合によっては信頼関係を失ったり工賃を減額されたりしそうですね。

・・・なんだか若干ダークになってきたのでこのへんで。
面白いエピソードをお持ちの方は是非教えてください!


Joel on Software
Joel on Software
posted with amazlet on 07.02.16
Joel Spolsky 青木 靖
オーム社
売り上げランキング: 33293
おすすめ度の平均: 4.5
5 実際に現場で使わせてもらってます
3 優秀なソフトウェア開発者の日々の徒然
3 プログラミングチームを率いるときに



2/15サイトレビュー勉強会
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

はじめまして。
昨日からウノウで開発に
携わらせてもらっているhondaです。

初日にもかかわらず、社内勉強会に
参加させていただきました。

今日のお題は先週に引き続き、
代表の山田による「サイトレビュー勉強会」でした。

フォト蔵に勉強会の様子をアップロードしましたので
ご覧ください。

20070215サイトレビュー posted by (C)フォト蔵

 

今回紹介されたサイトは下の3つです。


●BubblePLY
http://www.bubbleply.com/

先週紹介されたニコニコ動画と同様に
動画の中ににコメントを入れることもできるサイトです。

TechCrunchでも紹介されていますが、
リアルタイムに誰でも気軽に投稿できるニコニコ動画と違って
「編集としてコメントを書き込む」といった趣旨のようです。

まだまだ投稿数やコメント数が少ないのですが、
サービス設計のひとつで大きくサイトの特徴が
変わってしまうものなのですね。
勉強になります。


●Wikia
http://www.wikia.com/wiki/Wikia

続いて紹介されたのが、Wikiaです。
WikiaはWikipediaの創始者が立ち上げた
「まとめサイト」を作るようなサイトです。

今回レビューしたのは新しくローンチされたコミュニティサイト
「Entertainment Community」「Your Local Community」「Politics Community」
の三つについてでした。

誰でも投稿ができてコメントもできるし
レイティングなど基本的な機能は
ほぼそろえられているようです。

詳しくはムービーをご覧ください。


●Veoh
http://www.veoh.com/

続いて、ポストYouTubeとして最近注目を集めている
P2Pのビデオ共有サイト「Veoh(ベオ)」の紹介。

投稿されている動画をダウンロードして管理できるVeohプレーヤーは
洗練されたデザインで使い勝手がよさそうです。

まだ投稿数はそこまで多くないようですが、
ほかにもBitTorrentやYouTubeの中の検索ができたりして
他サービスとの連携も強化しているようです。

最先端で活躍されている方々のサイトのレビューを見るのは
とても参考になります。

今後ともどうぞよろしくお願いします。

2007年2月15日

WEBサービス運用における監視体制
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは satoです

WEBサービスは作るよりも運用の方がコストがかかるとも言われています。
運用を極力自動化して、コストを減らしたいものです。

ここではウノウで使っているツール類を紹介したいと思います。

1) 疎通、生存監視

webの生存監視などは nagiosを使って監視しています。 nagiosには

- いつ(土日を除く、10時~22時までの間で など)

- どのタイミングで(N回連続で ,復旧したら など)

- 何が起こったった時に(疎通が取れない など)

- どうするか(メールで通知する)
 
などを細かく設定できる監視ツールです。
ウノウでは
MySQL、memcached、HTTP、ping、DNS、SMTPなどの監視をnagiosで行っています。




2) システムやアプリケーションLOG


ログの監視には swatch を使用しています
swatchの機能には

- どのログを

- どのタイミングで(重複のログは N分おき、指定の形式は検出しない、など)

- どうするか(メールで通知する)

などを細かく設定できる監視ツールです。

ウノウでは
システムログやアプリケーションログ、apacheや mysqlのログは swatchを使用して
監視しています。


3) 日々のリソース統計と監視

日々のリソースの統計と監視にcactiを使用しています。

cactiにはSNMP等によるリソースの監視と RRDToolを用いたグラフの可視化のサポートをしてくれます。可視化をしておくと、いつどのような負荷があったか等の統計的なことから負荷予想がしやすくなったり、停止時の原因究明に役立ったりします。

他にも apacheのプロセス数や MySQLのクエリ発行数なども統計に含めておくと 
増設等のタイミングが見極めやすいです。

flikrやくらぶさんでは ganglia という監視ツールを使用しているそうですよ。




監視サーバを同じネットワークにおいておくと、SNMPの監視がしやすかったり
何かと便利ですが、ネットワークがダウンした際に、障害通知メールが
届かないという間抜けなことになってしまうので、監視サーバを監視する
サーバを外部に置く等の対策が必要だと思います。

2007年2月13日

ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!!
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

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: Tue, 13 Feb 2007 10:10:41 GMT
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
Expires: -1
Pragma: no-cache
Cache-Control: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=euc-jp

10fff  
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<!---->
(略)

jokagiは何年か前に偶然見つけたGETというコマンド(HEADもよく使う)を使用していますので,このコマンドの紹介と超簡単なハックをひとつ紹介したいと思います.

GETコマンドの使い方

GETコマンドの使い方は--helpしてみましょう.

$ GET --help
Unknown option: help
Usage: GET [-options] <url>...
    -m <method>   use method for the request (default is 'GET')
    -f            make request even if GET believes method is illegal
    -b <base>     Use the specified URL as base
    -t <timeout>  Set timeout value
    -i <time>     Set the If-Modified-Since header on the request
    -c <conttype> use this content-type for POST, PUT, CHECKIN
    -a            Use text mode for content I/O
    -p <proxyurl> use this as a proxy
    -P            don't load proxy settings from environment
    -H <header>   send this HTTP header (you can specify several)

    -u            Display method and URL before any response
    -U            Display request headers (implies -u)
    -s            Display response status code
    -S            Display response status chain
    -e            Display response headers
    -d            Do not display content
    -o <format>   Process HTML content in various ways

    -v            Show program version
    -h            Print this message

    -x            Extra debugging output

大体で言うと-m,-c,-p,-Hを覚えておくとよいです.後はDisplay~となっている系のオプション. 例えばhttp://www.yahoo.co.jp/のコンテンツを取得するのはこんな感じで行います.

$ GET 'http://yahoo.co.jp/' | head
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<!---->
<title>Yahoo! JAPAN</title>
<meta name="description" content="80??">
<style type="text/css" media="all">
<!--
.spacer { line-height: 110%; }
.spacer1 {line-height: 115%; }
URLを指定するときに「&」などが含まれるとshellの特殊記号として扱われるので注意してください. 大体はシングルクォートで囲む癖をつければ問題ないと思います.

GETを使うと簡単にコマンドラインでいろんなウェブ関連の処理ができます. 下記はgo-pear.org(pear.php.net)からPEARのインストーラーをダウンロードしてインストール作業を行う例です.

$ GET 'http://go-pear.org/' | php -q
Welcome to go-pear!

Go-pear will install the 'pear' command and all the files needed by
it.  This command is your tool for PEAR installation and maintenance.

Go-pear also lets you download and install the PEAR packages bundled
with PHP: MDB2.


If you wish to abort, press Control-C now, or press Enter to continue: 

ウェブサービスへのアクセスも簡単です. 下記はフォト蔵からキーワードmasatoで検索をする例です.

$ GET 'http://api.photozou.jp/rest/search_public?type=photo&order=date&keyword=masato' | head
<?xml version="1.0" encoding="UTF-8" ?>
<rsp stat="ok"
><info
><photo
><photo_id>2166156</photo_id
><user_id>137</user_id
><album_id>220281</album_id
><photo_title>P1140118</photo_title
><favorite_num>0</favorite_num
><comment_num>0</comment_num
指定URLにアクセスしてコンテンツを標準出力に出力する程度ならwgetでもできますが,標準ではファイルが作られるため,オプションを覚えなければいけません. 筆者はとても物覚えが悪いので,GETコマンドを覚える道を選択しました.

-m覚えようぜ!!といいつつ,実は-mに相当するコマンドがそれぞれHEAD,POSTとして用意されています.

$ rpm -qlf /usr/bin/GET | grep bin
/usr/bin/GET
/usr/bin/HEAD
/usr/bin/POST
/usr/bin/lwp-download
/usr/bin/lwp-mirror
/usr/bin/lwp-request
/usr/bin/lwp-rget

ようするにコマンド名イコールHTTPリクエスト方法(-mオプション)になります. ウェブアプリケーションでは通常GET,POST,HEADしか使わないので(HEADも開発中でもなければ使う機会は少ないかも),これだけで十分作業ができます(以後これらのコマンド群はまとめてGETコマンドとします).

GETコマンドはBasic認証に対応しているので,いちいちBasic認証情報をBase64エンコードしたりしなくてもいいことも特徴のひとつでしょう(ただし毎回認証情報を質問されるので,うっとおしければ-Hで自分で指定する必要があるかもしれません).また,基本的にキャッシュなどの機構はないので,ブラウザーで確認するほどキャッシュに振り回されることがありません.

また,HEADコマンドを使えば(HEADじゃなくてもできるけど)簡単にサーバー側からの送られてくるHTTPレスポンスヘッダーを確認することができます.

$ HEAD 'http://www.yahoo.co.jp/'
200 OK
Cache-Control: no-cache
Connection: close
Date: Tue, 13 Feb 2007 09:24:38 GMT
Pragma: no-cache
Content-Type: text/html; charset=euc-jp
Expires: -1
Client-Date: Tue, 13 Feb 2007 09:24:38 GMT
Client-Peer: 203.216.247.225:80
Client-Response-Num: 1
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"

残念ながらGETコマンドも注意点があります.

  • 動作環境にインストールされているCPANパッケージの具合によってはhttpsが使えない(ぽい)
  • Locationなどで別ページに飛ばせる処理はリダイレクト先の情報(コンテンツ)が出力される

この辺をうまく使うことでウェブサーバーを経由したユニットテストも可能になるかもしれません. またちょっとしたハックでWebDAVなどで必要なPROPFINDなどの対応もできるようになります. やり方はいくつかあると思いますが,jokagiは下記の手順でやってみました.

  • /usr/bin/GETを適当なパスにコピーする
    $ mkdir -p ~/bin/
    $ cp -pr /usr/bin/GET ~/bin/PROPFIND
    
  • viなどでファイルを開き(ただのperlのスクリプトです)検索で「GET」を探し,それっぽくPROPFINDを追加する
     %allowed_methods = (
         GET        => "",
         HEAD       => "",
         POST       => "C",
         PUT        => "C",
         DELETE     => "",
         TRACE      => "",
         OPTIONS    => "",
         PROPFIND   => "",   ←これを追加する
     );
    

これでPROPFINDとして使用できるようになります. 下記はその実行例です.

$ PROPFIND http://192.168.0.1/webdav/foo.txt
Enter username for Authorization at 192.168.0.1:80: user
Password: 
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response xmlns:ns0="DAV:" xmlns:ns1="urn:schemas-microsoft-com:" xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/webdav/foo.txt</D:href>
<D:propstat>
<D:prop>
<ns1:Win32CreationTime>Wed, 13 Dec 2006 07:06:38 GMT</ns1:Win32CreationTime>
<ns1:Win32LastAccessTime>Wed, 13 Dec 2006 07:06:38 GMT</ns1:Win32LastAccessTime>
<ns1:Win32LastModifiedTime>Wed, 13 Dec 2006 07:06:38 GMT</ns1:Win32LastModifiedTime>
<ns1:Win32FileAttributes>00000000</ns1:Win32FileAttributes>
<lp1:resourcetype/>
<lp1:creationdate>2006-12-13T07:07:42Z</lp1:creationdate>
<lp1:getcontentlength>0</lp1:getcontentlength>
<lp1:getlastmodified>Wed, 13 Dec 2006 07:07:42 GMT</lp1:getlastmodified>
<lp1:getetag>"1ed52e-0-e08ab80"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<D:supportedlock>
<D:lockentry>
<D:lockscope><D:exclusive/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
<D:lockentry>
<D:lockscope><D:shared/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
</D:supportedlock>
<D:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>

コピーでなくシンボリックリンクでもいいのですが,パッケージのアップデートの影響をもろ受けること,/usr/bin/直下を直接いじりたくないと思ったからです. perlがわかる人はそんなことしなくてもさくさくうまいやりかたでやると思います(コメントとかトラックバックとかで情報ください).

通常はwgetやcurlでも問題ないかもしれませんが,GETコマンドはできることがシンプルなのですぐに使いこなせると思います. また,WebDAVを使う人は今回のハックはちょっと開発効率アップに貢献するかもしれません. 一度使うと常用するようになってしまうのでぜひお試しください. それではあでゅー.

2007年2月 8日

人の振り見て我が振り伸ばせ - サイトレビュー勉強会
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

どうも。先月から映画生活の開発をやらせていただいている8makiです。

まずウノウに入って驚いたのは、技術勉強会がとにかく多いこと!
最低週に三回、ペアプログラミングやコードレビュー、各ツールの勉強会が催されます。

そして今日は代表の山田によるサイトレビュー勉強会が行われました。

先週から動画撮影の担当をさせていただいてますので、ここぞとばかりにアップします。

20070208_勉強会サイトレビュー (C)フォト蔵

全部で3つのサイトのレビューを行いました。


■picnic

WEB上で簡単に行える画像編集サイトです。
近頃様々な画像編集サイトがリリースされていますが、このpicnicはすべてFLASHで実装されていて何よりサクサク。
しかも編集した画像をそのままflickrに上げることもできます。

» picnic


■ニコニコ動画

これはもう皆さんご存知のニコニコ動画。
youtubeやAmebaVisionに上がっている動画にコメントを流して動画を愉快なプラットフォームにしてしまったサービスです。
ただ、ほとんど誰もコメントを書いていない動画は物寂しいものがありますね。

» ニコニコ動画


■hi5

MySpaceの次に来るのではないか?!と、期待されているアメリカのSNSです。
alexaランクも去年の11月を皮切りにすごい勢いで伸びています。
最近mixi動画がリリースされましたが、hi5も動画を完備していてオーソドックスなSNSです。
ただ、何が決め手で伸びたのか、目下リサーチ中です。

» hi5


こうやって日々新しい情報をインプットし、シェア、そしてアウトプットするという流れはベンチャー企業の成長要因のひとつとして強力な武器になるかもですね。

ちなみに私、百式の田口さんのところでsimplexsimpleというブログも書かせていただいております。
良いブログの書き方というものもシェアしていければなと思っておりますので今後ともよろしくです。

2007年2月 5日

ThinkITでPHP開発手法の連載の第五回目が掲載されました
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは! やまもと@テスト番長です。

ThinkITで、ウノウの開発者によるPHP開発手法の記事をご紹介させていただいてます。

本日、自分の担当分である
複数人での開発におけるテストの勘所が、掲載されました。

お時間の空いた時にでも、ご一読頂ければ幸いです。
宜しくお願い致します。

IE6でアルファチャンネルを含むPNGを表示する
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

yamaokaです。

webサイトで背景が透明な画像を使用する場合、画像を透過GIFまたはアルファチャンネルを含むPNGで作成する必要があります。どちらを使用してもかまわないのですが、下図のように背景を指定した場合はPNGの方がきれいにアンチエイリアスがかかります。

透過GIFとアルファチャンネルを含むPNGの比較
透過GIFとアルファチャンネルを含むPNGの比較 posted by (C)フォト蔵

PNGを使いたくなるところですが、Internet Explorer 6(以下IE6)はアルファチャンネルに対応していないので、一工夫する必要があります。IE6でアルファチャンネルを含むPNGを表示するには、IE6のフィルタ機能であるAlphaImageLoaderを使用します。フィルタを使用すると、画像としてではなく要素の背景のように振る舞います。したがって、表示させるにはIE6でアクセスがあった場合のみ以下のような処理を行えばよいことになります。

  1. imgタグのsrc属性を透過GIFに入れ替える(見えない)
  2. imgタグのフィルタとしてAlphaImageLoaderを使用、本来表示させたい画像を指定する

では、実装例です。縦横が1ピクセルの透過GIFファイルを用意し、下記のJavaScriptをロードします(ライブラリとしてPrototype.jsを使用しているので、併せてロードしてください)。


var AlphaChanneledPNG = Class.create();
AlphaChanneledPNG.prototype = {
  initialize: function(imgId, blankImgSrc) {
    this.imgId = imgId;
    this.blankImgSrc = blankImgSrc;
    Event.observe(window, 'load', this.show.bind(this));
  },
  show: function() {
    if (/MSIE (5\.5|6\.)/.test(navigator.userAgent)) {
      imgObj = $(this.imgId);
      orgSrc = imgObj.src;
      imgObj.src = this.blankImgSrc;
      imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader("
                          + "src='" + orgSrc + "', sizingMethod='scale')";
    }
  }
};

そして、アルファチャンネルを含む画像が指定されているimg要素にidを設定し、下記のようにオブジェクトを生成します。1つめの引数には対象のimg要素のidを、2つめの引数には用意しておいた透過GIFのパスを指定します。そうすることで、ページのロードが完了するタイミングでフィルタが適用されます。


var foo = new AlphaChanneledPNG('foo', '/path/to/blank.gif');

Internet Explorer 7ではアルファチャンネルがサポートされたので、フィルタを使用する必要はありません。また、上述のような処理を行うことにより、IE6に限って画像の上で右クリックして画像を保存する、という動作が行えなくなってしまうので注意する必要があります。

【追記(2007年02月07日)】
下記の各記事で紹介されているような方法を使ってもIE6でアルファチャンネルーを含むPNG画像を正常に表示することができます。

自己学習で分類精度を向上させるベイジアンフィルタ
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

尾藤正人です。

20070201勉強会_ベイジアンフィルタ posted by (C)フォト蔵

ベイジアンフィルタを自己学習を行う事で文書を高精度にフィルタリングすることができるシステムです。 SpamassassinやPOPFileのようなspamメール振り分けソフトに使用されているのでご存知の方も多いと思います。

ベイジアンフィルタというとspamメールの処理で広く使われているイメージがありますが、 これをwebの世界でも応用してみれば面白いものができるんじゃないかと思っていろいろ開発してたのですが、 結局実現には至りませんでした。

このままではもったいないので、これまで勉強してわかってきたことを勉強会で発表しました。 勉強会の様子の動画と資料を公開します。

bayes.pdf

僕自身専門家ではないので、いろいろ間違ってる部分もあるかと思います。 その時はご指摘いただければ幸いです。

2007年2月 2日

絵文字の相互変換リスト
このエントリーをはてなブックマークに追加 このエントリーをlivedoorクリップに追加

こんばんは。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)%
    PAGE1(O):%s(301~377)%
    PAGE1(P):%s(401~476)%
    PAGE1(Q):%s(501~562)%

ファイルは各キャリアごとになっています。

  • i-mode → EZweb, SoftBank
    [ファイルの内容]
    i-mode番号, Shift_JIS(hex), EZweb, SoftBank, EZweb(webでの自動変換)

    i-mode→EZwebはメールだけではなく、webでの自動変換もあります。 近似の絵文字を表示してくれます。
    メールとwebでの変換を見比べてみると、36文字も違っていました。
  • EZweb → i-mode, SoftBank
    [ファイルの内容]
    EZweb番号, Shift_JIS(web/hex), i-mode, SoftBank

    文字になってしまうものが多いので、気に入らない人は変えたほうがいいです。
  • SoftBank → i-mode, EZweb
    [ファイルの内容]
    SoftBank番号, Webコードの一部, i-mode, EZweb

    SoftBankからの場合は〓(ゲタ)になるものが多いです。
このデータが少しでもお役に立つのであれば幸いです。