Hatena::ブログ(Diary)

(旧) じゆうちょう - ooharabucyou

2010-07-28

移転

そういえばココに何も書いてなかったが、

現在は http://bucyou.netブログを書いておる

2010-02-22

第50回 PHP勉強会に参加するなど

放置ブログですが、記事を書く雰囲気なのでとりあえず記事を作るのである。

昨日、記念すべき第50回PHP勉強会@関東が開催されました!

大学が春休み・興味のある話・完全なるノリってことで

勢いで参加して、ついでにLTなどやってみることにしました。

会場を用意してくださった、コンテンツワンさまに感謝であります。

超簡素ですが、まとめ

mixiアプリについて(Weboo!)

Ustで配信をしていなかったし、mixiとパートナーなやつを結ばないと

見れない情報が出ていたりした(?)っぽいので何処までが、

セフセフでどっからがアウアウ!なのか良く解らん!ってことで

とりあえず保留。

個人的にmixiアプリは、とりあえずPC版にて小物(なアレアプリを)作るつもり。

(もちろんOpenPNEでもすぐ使えるようなアプリを作るつもりである)

PHPでWEB開発を行うようにしてオープンソーシャルアプリを作る(KuniTsuji)

モバイル版は従来のWebサイトのような感じでおk!ってことだが、

PC版はそういかんってこと。PC版はJavaScriptが唸ってdivにどーん!

運用した気になるモバイルオープンソーシャル (個々一番)

大変濃厚な内容で、不勉強な部分はUstを見直したりしてなんとかしたいと思ったところ。

特に負荷分散周りのスキルが自分には足りてないなーっと思ったわけです。

まちつく!の事例。mixiみたいにたくさん人がいるSNSでやるとすれば、

いかに臨機応変に出来るかが重要な予感。

OpenSocialはトラッフィック対策で甘えが許されない」

あと、「愛され系ゆるふわコーディングという言葉を覚えた。

許されるのならば、明日から使わせていただくことにします。

懇親会・LTなど

懇親会、LT出ました!

なんというか、50回記念な人の多さ?ほんぎゃ〜といったことろでした。

刺激的な話などもできてなかなか楽しかったです。

あとLTでちょっとお話をさせていただきあました。

ちょっと、手直ししてスライドはアップするつもりです。

内容は私がリードメンテナーをつとめているopOpenSocialPluginの話。

もっと軽い内容にすればよかったかもしれないと思いつつも、

みなさんの脳みその片隅に、ちょこっとだけでもオープンソースSNSプラットフォーム

「OpenPNE3」と、それでOpenSocialを対応するための「opOpenSocialPlugin」があるよ〜

っていうのがちょっとでも残ってくれれば嬉しいかもしれない。

まだまだヒヨッコなので、今後もLTかなにかを積極的にやろうと思いますよ。

次回以降は、symfonyソースコード探検あわわ噺とか、

PHPShindigのウヒヒ噺とか、PHP自体のソースコードでグヘヘ噺とかできれば

いいかな〜と思ってます。

話を聞いてくれた人は本当にありがとうございました。

そして、お疲れ様でした!

今日は開発者ではなく、大学生をやりますw

その他

今日は1日中、腹が痛かった。前日スーパーの半額な肉を焼いて食べたせいかもしれない。

早く映画のタイトルの一部をコマンドーに置き換えて台無しにするTwitterボット作りたい。

2009-12-19

BaseFormで確認画面用メソッドを作る妄想

たとえば、確認画面を必要とするAFormがあったとする。確認画面では、入力画面のポストの内容をinput (type=hidden)として埋め込むとする。

いろいろ方法はありそうだけど、せっかくなので確認画面のテンプレートで <?php echo $form ?> とかで手短に済ましてしまいたいと思ったわけですよ。

だからBaseFormつかうお!!

BaseFormはsymfony1.3/1.4からの新機能です。今までFormクラスの親にするものといえばsfFormでしたが、今はプロジェクト独自の親Formクラスが用意されていて、そいつがBaseFormです。さらに、こいつの親はsfSymfonyFormといって、イベント処理などをやっているっぽいですよ。

ここに何だかメソッド書いて、BaseFormを親とするクラスつくれば、使い回し放題なわけですよ。

んで、とりあえずウィジェットを全部sfWidgetFromInputHiddenにするメソッドなど書いてみた

BaseForm.class.php

class BaseForm extends sfFormSymfony
{
  public function configureConfirmForm()
  {
    foreach ($this as $name => $formField)
    {   
      $this->widgetSchema[$name] = new sfWidgetFormInputHidden();
    }   
  }
}

使うときは、こんな雰囲気。

(アクション内)

  public function executeなんやらかんやら(sfWebRequest $request)
  {
    $this->form = new なんやらかんやらForm();

    if ($request->isMethod(sfWebRequest::POST))
    {   
      $this->form->bind($request->getParameter('値'));
      if ($this->form->isValid())
      {   
        if ($request->getParameter('confirm'))
        {   
          // 確認画面では confirm=1 などにしておくとか・・・
          reutrn sfView::SUCCESS;
        }   
        else
        {   
          $this->form->configureConfirmForm();
          return 'Confirm';
        }   
      }   
    }
    return sfView::INPUT;

う〜ぬ。どうだろう。一応、フォームウィジェットが全部hiddenになってくれた。

ただ、画像とかの保存は、これでは対応できないか。

とりえあず、BaseFormいいね。

2009-11-27 Macにした

MacBookProにしたんだよ。

ということで、開発に必要な環境などをそろえていった訳ですが

今起きている問題などをまとめている。

解決策があれば、教えてください集でもあったりする。

Mac OS X Version 10.6.2のようです。

  • F8でSpacesが動かないことがある
    • 不具合らしい。killall Dockで治るらしいけど、超めんどい。
  • Firefox3.5.5上のFlash Player上でクリックするとメニューがでてきてクリックできない場合がある。
    • 謎。大変不便。同じような問題に陥っている人が探しても見つからない。アドオン全部切っても再現する。
  • ATOKでは、iChatの入力ができない場合がある。

これ以外は、今のところ不便していることはない。

あえて言えば、僕はエラー - Yahoo!ジオシティーズを愛用していたので、これはクローン作っちゃうか!という気分になっている。

2009-11-09

PHPで日本語形態素解析をがんばる

ども〜

なんか、いろいろ実験してみたくなったのでインストールの手順まとめ。

Debianでやってます。

日本語形態素解析につかうエンジンは、案の定MeCabを使います。ちなみに、食べ物としての和布蕪はあまり得意ではないよ。

とりあえず、上記サイトからブツを落としてきて展開後

$ ./configure --with-charset=utf8
$ make
# make install

エンコーディングについてゴニョゴニョやるのをお忘れ無く

さらに、同じく上記においてあるIPAの辞書ファイルをダウンロードしてインストールします。

SourceForgemecab-ipadicっていう階層の中にいらっしゃいますよ。

$ ./configure --with-charaset=utf8
$ make
# make install

やっぱり、エンコーディングオプション指定はいるようだよ。

んでもって、ちゃんとインスコできたかテストだよ。

$ mecab
肉まんが食べたい
肉まん  名詞,一般,*,*,*,*,肉まん,ニクマン,ニクマン
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
食べ    動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
たい    助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
EOS

おぉ。最高のショーだとはおもわんかね?

ここまできたが実は、perlrubypythonJavaやらはこのすばらしいエンジンを使うためのモノが公式(?)で用意されているのだが、PHPにはナーイ。

でも、必要があれば自然発生するのか、やっぱりPHPに対応させるヤツがありますよ。

http://d.hatena.ne.jp/rsky/20071228/1198841049

すばらしい!

ってことで、インストール

の前に、開発パッケージがいるってさ。

$ sudo apt-get install php5-dev

んで、落としてきて解凍

$ phpize
$ ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config
$ make
# make install

そして、/etc/php5/conf.d/mecab.ini を作成して

extension=mecab.so

と一言。

これで、

<?php
$t = new MeCab_Tagger();
echo $t->parse('そこではきものをぬいでください');

な、スクリプトを走らせると

そこ    名詞,代名詞,一般,*,*,*,そこ,ソコ,ソコ
で      助詞,格助詞,一般,*,*,*,で,デ,デ
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
きもの  名詞,一般,*,*,*,*,きもの,キモノ,キモノ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
ぬい    動詞,自立,*,*,五段・ガ行,連用タ接続,ぬぐ,ヌイ,ヌイ
で      助詞,接続助詞,*,*,*,*,で,デ,デ
ください        動詞,非自立,*,*,五段・ラ行特殊,命令i,くださる,クダサイ,クダサイ

なんとも、アレな感じに出力されれば大成功のようです。

単に日本語の単語分割がしたかっただけなので

var_dump(mecab_split("ここではきものをぬいでください"));

こんな感じで、

array(8) {
  [0]=>
  string(6) "そこ"
  [1]=>
  string(3) "で"
  [2]=>
  string(3) "は"
  [3]=>
  string(9) "きもの"
  [4]=>
  string(3) "を"
  [5]=>
  string(6) "ぬい"
  [6]=>
  string(3) "で"
  [7]=>
  string(12) "ください"
}

こうなるよ。