社長BLOG
09/02 symfony×OpenPNE3勉強会のまとめ(@Nifty会議室)
「9/2 OpenPNE3で学ぶsymfony勉強会@Nifty(19:00〜)」の開催レポート。
セッションの資料を共有する。
※手嶋以外のスピーカー資料も手に入り次第、本ページを更新します。
1. 「OpenPNEのモバイル機能とsymfony」スピーカー:手嶋守
日本で生まれたOpenPNEは、モバイルへの対応が充実しています。絵文字、携帯機種判別、フォームなどの個々の機能を紹介し、モバイル環境でのsymfony開発のアドバイスを行ないます。20100902symfony xop3
http://dl.dropbox.com/u/151520/permalink/20100902symfonyXop3.pdf1.5 「OpenPNEのモバイル機能とsymfony」スピーカー:川原翔吾
【特別LT参加】OpenPNEのモバイルOpenSocial機能について、プラグインの実装者本人のLTです!2. 「OpenPNEコード探訪 - ソースから学ぶsymfony開発テクニック集 -」スピーカー:後藤秀宣
OpenPNE3には、随所にsymfonyを「使いこなす」ためのテクニックがちりばめられています。
このようなソースコードを具体的に取り上げ、symfonyを使った開発実務の現場で役に立つノウハウを紹介します。今回は「symfonyのイベントディスパッチャーを使って将来のカスタマイズに備える」を中心に話します。
OpenPNE同士のID設計【案】
- 2010-09-02 (木)
- 社長BLOG
OpenPNEの設計の話。
複数のOpenPNEをまたいだID設計を考えている。
このID管理体系を発展させ、Twitterや他のSNSサービスにも応用ができるようにしていきたい。
考えたIDは二つ
・ネイティブID
そのSNSに直接所属するID。社員番号や学籍番号みたいに組織が組織のメンバーに発行するIDだと思って欲しい。
・ゲストID
SNSにログインするために利用する外部のID。OpenPNEにGmailのメールアドレスでログインする。というのがこれに当たる。
例を出して、もう少し理解を深めよう。
Twitterの場合は、スクリーンネームがネイティブIDで、参加時に利用するメールアドレスがゲストID。
mixi.jpの場合は、ユーザーID(自分は2936)がネイティブIDで、ログイン用に使うメールアドレスがゲストID。
図示するとこうなる。
OpenPNE同士のサイト連携の場合、@teji.comというSNSのメンバーが@pne.jpというSNSにログインする場合は、mori@teji.com というゲストIDを利用することになる。
mori@teji.comは @pne.jpの運営者の判断でmori@pne.jpというネイティブIDを発行してもらうこともできる。
この辺りが基本構造。
※もう少しまとまったら、改めて記事を更新する。
さくらのVPSにOpenPNE3.6 Betaをセットアップ
- 2010-09-01 (水)
- 社長BLOG
さくらのVPSが正式にサービスインした。
512MBのメモリで月々980円はかなり安い。
さくらには昔から世話になっていたが、クラウドがブームになってからは、少し疎遠になっていた。
今回さくらが本気でサービスを作ってきたのはとっても嬉しい。
※個人的には、クラウドって名前を付けて欲しかったが、
サービスインを記念して、OpenPNE3.6 Betaをインストールしてみたので設置レポートする。
OpenPNE3を快適に動かせる環境かどうか、チェックしてみたい。
さくらのVPSトップ
契約するとこんなコントロールパネルが表示される
リモートコンソールも提供してくれている。ネットワークを間違えて切っても安心だ。
OpenPNE3.6 Betaをセットアップ
できあがりのディレクトリ構造
OpenPNEの本体を設置する場所
Apacheから参照する場所
実体を/home/admin/OpenPNEに設置し、シンボリックリンクを張ってApacheから参照できるようにするところがポイント。このやり方で無くてもいいが、非常にうまく行っているので参考までに。
設置手順
※viエディタがわからない人は nanoエディタを使ってみてください。多少分かりやすいはず。
いきなりOS再インストール
rootのパスワードがわからなかったので、再インストールしてパスワードを設定した。
※【追記】しばらく待っていれば、構築完了のメールが届くようだ。せっかちだったので、メールを待てなかった。
サーバにsshでログイン
OSXであればターミナルから直接ログインができる。
adminユーザーを作成
vi /etc/ssh/sshd_config ssh rootログインできないようにする。
パッケージのインストール
CentOS5そのままではOpenPNE3が必要とするPHP5.2が含まれていない。
Dinoさんのレポジトリを利用し、PHP5.2.11をインストールする。
yum update
rpm -ivh http://nog.dino.co.jp/dist/centos/5/dino/noarch/dino-release-1.0-1.noarch.rpm
yum -y install httpd mysql-server postfix aspell curl gmp libxslt wget httpd-devel php-5.2.11 php-cli-5.2.11 php-devel-5.2.11 php-pear-5.2.11 php-mbstring-5.2.11 php-pdo-5.2.11 php-mysql-5.2.11 php-gd-5.2.11 php-mcrypt-5.2.11 php-xml-5.2.11
yum -y remove sendmail
※単なる install php では libeditがないと怒られ、うまく行かなかった。バージョン指定で乗り切る。
/home/adminのディレクトリパーミッションは755に。
chmod 755 /home/admin
ここ(/home/admin/OpenPNE/xxx.com)にOpenPNEの本体を設置していく。
/var/www/snsにApache側から見たSNSの置き場所を作成
所有者をadminにしているのは、設置のしやすさを考えて。
ダウンロードのリンクアドレスをコピー
ターゲット環境(/home/admin/OpenPNE)でwgetして展開する
お好みでサイト名のディレクトリにリネーム。
今回はIPアドレスにする。普段はドメイン名を指定しているよ。
configディレクトリの中から2つのサンプルファイルをコピー
データベース作成とパスワードを設定
./symfony openpne:install でインストール
おっとメモリが足りない
vi /etc/php.ini で使用メモリを128MBまで増やす
再び ./symfony openpne:install 今度は成功だ
vi /etc/httpd/conf/httpd.conf でApacheの設定をする
AllowOveride を有効にしておくことがポイント。OpenPNEがmod_rewrite .htaccessで利用する。
シンボリックリンクをはる
実体を設置している/home/admin/OpenPNEとApacheから参照される/var/www/sns/をつなぐ。
設置完了!
APCで高速化【番外編】
このままでもOpenPNE3は動くが、快適に動かすにはAPCを追加で導入するといい。
pearコマンドでAPCをインストール
こんな表示が出ればインストールはOK。
有効にするためには、
/etc/php.ini に extension=apc.so を記述する。
ここでApacheを再起動。
phpinfo()で動作確認。
web/test.php ファイルを作成する。
ブラウザからtest.phpにアクセス。 http://59.106.172.77/test.php
これでAPCの動作確認も完了。
※このサーバは9月7日に解約します。しばらくデフォルト設定のままにしておくので、確認用にどうぞ。
株式会社手嶋屋の社内SNSを紹介
- 2010-09-01 (水)
- 社長BLOG
昨日EGMサミットというイベントに出席させていただいた。
EGM というのはEmployee Generated Media の略で、(主に大企業の)従業員が中心となってつくり上げる、社内ネットメディアのことを指すそうだ。
各社の利用事例を聞いて、刺激を受けた。
今日は手嶋屋も負けてないんだぞと、OpenPNE発明元としての、超絶な使い方を紹介したい。
まずは基本情報から
・メンバー実人数:40人(全スタッフ参加)
・登録種別:社員、業務委託、インターン、卒業生(卒業生はログイン停止)、ボット
・OpenPNEバージョン:3.4.6
・レンタルサーバ:ラックスペースクラウド(RackSpace)512MBメモリ
・OS:CentOS 5.5くらい
これがトップページだ。OpenPNE Ver3.4を利用している。
特徴は以下のとおり。
アクティビティ(つぶやき)
流行りのタイムライン風ユーザーインターフェースを採用した。日記はもう古いね。
全員参加
招待制ではなく、手嶋屋正社員、インターン、業務委託スタッフなど全員が参加している。
全員フレンド
強制的にみんな友達になる。インターンが参加しても、翌日にはみんなと友達になっている。
opAutoFriendPluginを利用して実現。
シングルサインオン
手嶋屋はGoogleAppsでメールやドキュメントの管理をしているが、そのアカウントとOpenPNEをシングルサインオンできるようにしている。
opAuthGoogleAppsPluginを利用して実現。
ランチランダマイザー
ランチのメンバーを自動的に決めてくれるボットプログラムを稼働させている。
opLunchRandmizerPluginを利用して実現。
社内SNSの中で、ランチのメンバー決めだけをひたすら続けてくれるバーチャル社員だ。
世間の声
3カラム目にTwitterのリアルタイム検索結果を表示している。検索文字列は「手嶋屋 OR OpenPNE」うちに対する世間のつぶやきを全メンバーで閲覧できるようにする狙いがある。
GoogleCalendar
GoogleAppsとシングルサインオンしているので、個々のメンバーのカレンダーを表示することもできる。
実験的にだが、OpenPNE内にカレンダーを表示している。
ここで紹介した機能は、すべてオープンソースとして公開している。
http://github.com/tejima
とっさの即席カーテン
- 2010-08-30 (月)
- 社長BLOG
引越しをした最初の夜、この部屋にカーテンが無いことに気づいた。
そんな経験はないだろうか?
さて困ったどうしよう、という時のライフハック。
用意するもの
・IKEAのセールで買った掛け布団カバー。中の布団は出した。
・普通のホッチキス。
この二つがあれば、即席カーテンが出来上がる。
即席カーテンの作り方
作り方は簡単。まず布団カバーの一辺に等間隔でホッチキスでパンチを打っていく。
カーテンレールのコマの数だけ打つ、今回は15ヵ所にパンチ。
ホッチキスの工夫が今回のポイントだ。
針の片側だけがカバーにかかるようにパンチする。もう片側はわざと空振りさせておくのだ。
そして空振りした方の針を開いて、フック状の形にする。
あとはそれをカーテンレールに引っ掛けるだけ!
なんとこれだけで、立派なカーテンができあがる。
ほら、どう見ても普通のカーテンにしか見えない。
なんだかもう、このままでもいいんじゃないか?という気がしてくるぐらい、部屋に馴染んでいる。
OSS化のススメ
- 2010-08-23 (月)
- 社長BLOG
自社製品のオープンソース化を検討する企業に対するアドバイス。
OSS関連の書籍から学ぶ
・伽藍とバザール
http://cruel.org/freeware/cathedral.html
・JustForFun
・The Apache Way
OSSの先輩プロジェクトから学ぶ
・WordPress
http://wordpress.org
・OpenPNE
http://www.openpne.jp
経験から学ぶ
とにかくいち早く公開し、利用者のフィードバックに耳を傾ける。これが一番大事。
ソースコードが未完成でも、美しくなくてもいいので、公開する。
プロジェクトの運営も、相談もすべて公開された場所で行うことが必要だ。
ライセンスは頭を悩ますところだが、とりあえずソースを公開したうえで
「全著作権は◯◯に帰属します」としておけばOKである。
その後ライセンスを設定しても問題はない。
ちなみにOpenPNEプロジェクトの経験についてセミナーで話したものがある。
https://www.tejimaya.com/archives/5804
オープンソースの先輩、wordpress.comのUUがすごい
- 2010-08-20 (金)
- 社長BLOG
http://www.google.com/adplanner/static/top1000/
より、オープンソースのプログエンジンWordPressの商用ホスティングサイト、wordpress.comのユニークユーザー(UU)がすごい。
TwiterやBingを押さえてTop12位に位置している。
1億2000万ユニークユーザーというとてつもない数だ。
※Facebookのページビューも2位と十倍近くの差をつけ、ダントツですごいんだけどね。
理系女子大生コミュニティ「凛」がMITへのツアー参加者を募集中
- 2010-08-19 (木)
- 社長BLOG
理系女子大生コミュニティの「凛」がマサチューセッツ工科大学(MIT)へのスタディーツアーの参加者を募集している。
「凛」代表の辻さんには、Jobwebのインタビューの時にお世話になった。
http://student.jobweb.jp/contents/engineer/6302
その時以来、仲良くさせていただいている。今回、その「凛」がMITへのスタディーツアーを行うとのこと。
自分も19歳の時、MITに見学に行ったことがある。その時は単なる観光だったので、今回のようにスタディツアーとして中の人たちと交流することはできなかった。
自分が学生の時にこうしたプログラムがあったら、絶対に参加していただろう。
しかも今回は、理系女子サークルの企画だ。当然女子の参加が多そうだ!
ボストンにはハーバードもあるし(キャンパスにリスがいる)、湖や森はとてもステキだ。
ぜひサイトで詳細をチェックし、申し込んで欲しい。
http://rikeigirlsrin.blog103.fc2.com/blog-entry-247.html
===================================
HOW DO YOU BECOME A SPECIALIST?
———————————–
米・MITで学ぶ
スペシャリストとしてキャリア形成を
考えるスタディーツアー
・ ・ ・ ・ ・ ・
一 般 参 加 者 募 集 開 始!
===================================
「変化が激しい世の中だからこそ、
自分の強み を持たなければならない」
自分で自分のキャリアを築く必要性が
説かれるようになっている。
では、具体的に何をするべきなのか?
それをイノベーションの最先端を走って
いる人たちにきき、スペシャリストとして
キャリアを築く上で必要な観点を知る。
これが本スタディーツアーの目的です。
今回この目的に共感し、
インタビューやディスカッションに参加する
一般参加者を募集いたします!
また、事前インタビューとして、
MITメディアラボ副所長・Tangible Bits研究創始者の、
石井裕教授へのインタビューを東京にて実施いたします!
(8/15までにご応募いただいた方のみ同行可)
石井教授HPはこちらです。
一生に一度のチャンスです。
この機会をお見逃しなく!
===================================
ツアー概要
===================================
【実施期間】
9月7日~9月11日
※9月7日 MITにて現地集合
※9月11日 ボストン市内にて解散
※9月5日 東京にて石井裕教授に事前取材
(一次募集応募者のみ同行可・参加任意)
(時間・場所等詳細は追って連絡いたします)
【プログラム内容(仮)】
9月7日
MITキャンパスツアー
大学職員インタビュー
9月8-9日
現地スペシャリストインタビュー
※詳細調整中
エンジニア、研究者等に依頼中
9月10日
現地大学生インタビュー
ツアー参加者によるディスカッション
【参加費】
プログラム参加費 5万円
(※渡航費、宿泊費等は含まれません)
【参加資格者】
・将来スペシャリストとしてのキャリアを築いていきたい方
・海外に留学したいと思っている方
・海外でのキャリア形成の実態を知りたい方
※社会人・学生・性別は問いません
9/2 OpenPNE3で学ぶsymfony勉強会@Nifty(19:00〜)
※告知をATNDに集中させます。
【お申し込み方法】
参加をご希望の方は、ATNDからお申込みください。
http://atnd.org/events/7417
【お問い合わせ】
twitter @tejima にご質問ください。
http://twitter.com/tejima