第50回PHP勉強会@関東

PHP

今回は株式会社コンテンツワンにて開催されました。(多謝 とってもご近所。なので参加。テーマはOpenSocialで、第50回という記念もあってか、錚々たるメンバーが集ってました。内容は mixiアプリケーションについて@mixiアプリ(モバイル)の中の人 PHPでつ…

kumofsのインストール

大体はkumofsを使う(さくらインターネット創業日記)を参考にしながら進めればOKインストールに必要な情報は公式ドキュメントに記載されているので、そちらを参考にする 必要なライブラリのインストール CentOSの場合 sudo yum install libtool openssl-devel…

Synergyクライアントの自動起動

KDMの各起動スクリプトの末尾に下記の記述を加える。 # /etc/kde4/kdm/Xsetup SYNERGYC='/usr/bin/synergyc' if [ -x $SYNERGYC ]; then /usr/bin/killall synergyc sleep 1 $SYNERGYC <synergy server ip> fi # /etc/kde4/kdm/Xstartup SYNERGYC='/usr/bin/synergyc' if [ -x $</synergy>…

Twitterをmixiボイスに同期する

iPhoneからついったーを利用するほうが多いし、わざわざmixiボイスだけにポストすることはないので、同時にできないものかと思った。やっぱりみんなやっているようで twitterからmixiボイスにマルチポストするRubyスクリプト書いた - 5.1さらうどん Mixiエコ…

Sambaで絶対にマスターにしたくないときの設定

SambaはデフォルトでWindowsよりも優位に立って、マスタになろうとする設定になっているので、こっそり自分のPCで使うときは気をつけよう。そこで、絶対にマスタにしたくないときの設定は、Samba HOWTO集 - Chapter10. Network Browsing - Configure WORKGRO…

Gnome-RDPを使う

rdesktopだけだと、ホストを管理するのがめんどうだったので、GUIツールを探してみた。 grdesktopはバグで設定が保存されなくて、grdpはフルスクリーンとか、キーマップの変更に対応してなかったので、gnome-rdpを選択した。 sudo aptitude install gnome-rd…

Viewで使える特殊変数のまとめ

編集名 説明 $sf_context sfContextのインスタンス $sf_request sfRequestのインスタンス $sf_params sfRequest->getParameterHolder()で得られるオブジェクト $sf_user sfUserのインスタンス $sf_data テンプレートに渡した編集をエスケープしたり、そのま…

Doctrineのupdateの仕方が美しくない

Timestamp/Date/DateTime型だとエラーになる 普通に書くとこんな感じになるけど、エラーになる createQuery('f') ->update() ->set('f.bar', date('Y-m-d H:i:s')) ->execute(); #=> syntax error Doctrine::getTable('Foo')->createQuery('f') ->update() -…

sfJpMobilePluginを0.0.3にUP

0.0.2までやってからPCサイトを構築していたので、全く動かない状態で放置されてました。 下記のような修正を入れて、とりあえず動くようにしました。 動かなかった部分の修正 絵文字の相互変換周りの修正 リダイレクトの時にsession_idを維持するようにした…

Doctrine_Pager_Layoutの使い方

Doctrineに付属しているPagerクラス。 Pagerだけでは、ページングのナンバーリンクの自動生成はできない。そこで、包括的なDoctrine_Pager_Layoutを利用するようにするとPagerもRangeも同時に利用することが可能。しかし、Pager_Layoutの生成はちょっと煩雑…

PHP5.2.10でのpear&peclの不具合の解決

PHP

この前言ってた問題の解決方法。 PHP5.2.10でpearがおかしい - c/feを参考に、というかそのまま実行したら直った。やり方は/path/to/php/lib/php/.channelsにあるpear.php.net.regとpecl.php.net.regを5.2.9でインストールしたもので上書きするというもの。

PHP5.2.10のバグ?

PHP

pearおよびpeclコマンドが利用できない。"not supported protocal" って出てインストールができない。 PECLは、ソース取ってきてphpize -> make -> make installで入れられた。(XDebug) なので、拡張自体が未対応だからって理由ではないみたい。

PHP5.3.0を使ってみた

PHP

良かった mbstring.http_outputにtext/***以外のMimeに対応 クロージャの実装 FileInfoのネイティブサポート XDebugは大丈夫だった 設定ファイルがデフォルトでも分かりやすい(-distと-recommendedから-productと-developに変わった) 困った symfony1.2が動…

screenの自動起動(改)

前回から改良前回はsudo -sでネストはされなくなったものの、ローカルPCのscreen上からsshした際に、自動起動*1されなかったのでちょっと改良。 if [ $TERM != 'screen' ] || ([ $UID != 0 ] && [ $SHLVL = 1 ]);then screen -xR fi *1:screenからsshすると…

同梱の自動起動スクリプトがおかしい

pgpoolには自動起動用のスクリプトが redhat/pgpool.init として同梱されています。しかしこれの stop のとこがおかしく、--prefix=/usr 以外でインストールした場合、終了することができなくなっています。 これを修正して、ちゃんと停止するように修正。 s…

Formで定義したWidgetを、全てHiddenとして出力する

確認画面で必要になったのですが、意外と簡単に実装できた。Formクラスの中に下記のようなメソッドを追加して getName(); if (self::getCSRFFieldName() != $id) { $w = new sfWidgetFormInputHidden(); $txt .= $w->render(sprintf($this->getWidgetSchema(…

scponlyc(chrooted)で接続ができないときの対処

たまーにchrootが利用できないときがある。(RHEL5とかDebian4とかFreeBSDとか)そんなときは大体、作成したユーザのルートに/dev/nullを作成すると正常に動作するようになる。 cd /path/to/user/root mkdir dev && mknod -m 666 dev/null c 1 3 参考リンク sc…

プラグイン内でconfig_handlers.ymlを利用するときにエラーになる

config_handlers.ymlはプラグインの中で定義して、一緒に配布することが可能です。 しかし、バグかどうか分かりませんが、普通に書くとdebug=falseのときにエラーになるようです。 envがprodだろうがdevだろうが関係ありません。symfonyのバージョンは1.2.7 …

openpearでsymfonyプラグインを作るときに注意すること

openpearでパッケージングするときに色々パラメータを設定するのですが、「詳細な設定」のところにある「インストール先」の指定を注意しなければなりません。 デフォルトでは「/」となっておりますが、このままでplugin:installを行うと plugins/ config/ l…

openpearに登録しました。

openpearにてsfJpMobilePluginを公開しました。 開発はgithubで行っておりますので、こちらはgithubからマージしてもってくるスタンスです。 plugin:install 対応ということで。

やっと設定ファイルのキャッシュ機構が分かった

どうすればプラグインの中の設定ファイルをキャッシュできるか悩んでいたんですが、分かると簡単でした。キャッシュを行うにはconfig_handlers.ymlという設定ファイルに、どういった設定ファイルなのか認識させる必要があります。 このファイルはプラグイン…

sqlite3-rubyのインストールでエラーになるとき

dbd-sqlite3もしくはsqlite3-rubyをgemからインストールする際、sqlite3を/usrや/usr/local以外にインストールしてあると、必要なライブラリが見つからずエラーになります。その時は以下のようにして解決 gem install dbd-sqlite3 -- --with-sqlite3-include…

sfJpMobilePluginを作りました。

symfonyでの携帯サイトの作成を支援するsfJpMobilePluginを作りました。 githubにて公開してます。機能はgithub上のREADMEを読んでいただければと。 様々な環境に対応するのではなく、僕自身が必要だったから作ったものですので、機能不足が多々あります。最…

リポジトリの作り方

Git

サーバ側で作ったリポジトリは、最初は空なのでcloneはできない。 サーバ側でなんかファイルを追加すればいいんだけど、--bareなリポジトリの場合はそれができない。 じゃあどうすんの?なメモ。サーバにリポジトリの作成 -> ローカルにあるファイルをインポ…

3キャリアの絵文字のマッチング(Shift_JIS -> UTF-8)

symfonyを利用して携帯サイトを制作していているんだけど、symfony内ではユーザの入力データをUTF-8で扱う必要があるので、UTF-8の絵文字のパターンマッチングが必要になった。まぁ、もうUTF-8に対応していない機種は捨ててもいいかなとは思うんだが。 多分…

cloneで全てのログを取得する

Git

普通に git clone foo@bar:/path/to/repos.git としてもHEAD分しかログが取得されない。 今までのログを全て取得するには以下の様にする $ git clone --depth 0 foo@bar:/path/to/repos.git --depthは取得する履歴の深さの指定なんだけど、0もしくは数値以外…

screenの自動起動

.zshrcに if [ $TERM != 'screen' ];then screen -xR fi 'screen 自動起動'で検索すると if [ $SHLVL = 1 ]; then screen -xR fi とか書いてあるのが多いんだけど、これだとsudo -sでscreenがネストされてしまった。

別スレッドからフォームやコントロールを操作する

C#

Invokeメソッドを使う Form#InvokeもしくはControl#Invoke サンプル内容 処理開始とともにダイアログを表示 スレッドを10個作成 スレッドが全て終了後、ダイアログを閉じる サンプル using System; using System.Collections.Generic; using System.Componen…

フォルダ選択ダイアログ

C#

ダイアログの表示とパスの取得 FolderBrowserDialog fb = new FolderBrowserDialog(); if (fb.ShowDialog() == DialogResult.OK) { this.txtBox.Text = fb.SelectedPath; } 2回目以降のダイアログの開始位置を以前の場所からにする FolderBrowserDialog fb …

Kubuntu8.10のKNetworkManagerでEMOBILEを利用する

Ubuntu 8.10でEMOBILE(D02HW)をNetworkManagerから使えるようにするを参考に設定 モバイル端末用の設定 mobile-broadband-provider-infoをインストール $ sudo aptitude install mobile-broadband-provider-info serviceproviders.xmlの編集 <country code="jp"> </country>