[git].gitconfigの設定

Posted under Webプログラミング by uechoco on 火曜日 15 12月 2009 at 22 : 16 : 37

svnから来たので、gitのことがよくわからず、なんでメールアドレスとかを登録せにゃあかんのかもイマイチ理解できていないのですが、仕様なのだから受け入れています。
登録した名前やメールアドレスは~/.gitconfigに作成されます。他にも登録した方が便利になる設定があるようです。

livedoor Techブログ:gitconfigについて – livedoor Blog(ブログ)

カラー(ハイライト)系の設定はだいたい有効にしておいた方が何かと便利ですね。(デフォルトONでもいいくらいなのに)
ちなみに、.gitconfigファイルにコメントを書くには、行頭に「#」か「;」を書けばいいようです。

もっと.gitconfigに詳しくなりたい方は、公式のマニュアル(英語)をみるといいでしょう。

git-config(1)

gitのいいところはローカルレポジトリができること。svn-svkでもよかったんだけどね。


[php]第48回PHP勉強会@関東に参加してきました

Posted under php by uechoco on 木曜日 10 12月 2009 at 01 : 26 : 15

久しぶりにPHP勉強会に参加してきました。今回は第48回PHP勉強会@関東 でした。会場を提供くださった、株式会社 永和システムマネジメントさん、ありがとうございます。そして、司会のgusagiさん、懇親会幹事のk-kishidaさん、NYからの発表のyandoさん、Ust配信のnekogetさん、お疲れさまでした。発表をご覧になりたい方は、nekogetさんのねこげっとぷれす » [動画]第48回PHP勉強会@関東に参加しました。で各発表の動画が閲覧できます。各発表者のブログなどで資料のアップもあるかと思います。

1年半ぶりの勉強会への参加だったので、今回参加した方は全員初対面でした。年齢的には私が最年少か、最年少タイだと思います。そういえば、gusagiさんに「たまにブログ見てます」と言われたのはうれしかったですねw そういう声が励みです。これからも気ままに更新していきます!

懇親会は焼き肉でした。会場のすぐそばなので移動が楽ちんでしたね。どうやら2009年のPHP界隈は焼き肉がすくなかったという意見があるようです。実は某1名の肉食いたいだけの叫びという噂もありますがw

php勉強会に参加したこと無い方は、ぜひとも、参加してみてください。聞く分にはphpのレベルは関係ありませんよ。そして、お勧めしたいのが懇親会への参加です。いろいろな参加者の方の実際の業務でのphp話や、あのサービスの裏話、などなどのお話が聞けて、結構有意義に過ごせますよ!

最後に、少し速いですが、今年1年、php界隈で活躍された方、phperの皆様、お疲れさまでした。phperの来年もいい年でありますように!


[symfony]Webデバッグツールバーにピークメモリを表示する

Posted under php,symfony by uechoco on 火曜日 8 12月 2009 at 23 : 41 : 46

知りませんでした。symfonyのWebデバッグツールバーに表示されているメモリ使用量は、メモリの最大使用量ではなかったのです現在の確保されたメモリ量というのが正しいです。これってsymfony使いの常識ですか?

当然、メモリの最大使用量を表示したいですよね。symfony 1.2以上であれば、簡単に実装できます。(symfony 1.0をお使いの方は、sfWebDebugで、より正確なメモリ使用量を見るには - Sooeyをご覧ください。)

symfonyのWebデバッグツールバーのカスタマイズ方法は、Cookbookにしっかりと載っているのです。今回参考にするのは、The symfony Cookbook | Webデバッグツールバーをカスタマイズする方法 | symfony | Web PHP Frameworkです。実際にやってみましょう。

まずはメモリの最大使用量を表示するためのsfWebDebugPanelクラスの派生クラスを作成します。sfWebDebugPanelMemoryクラスをほんの少しだけ変えただけのクラスです。libフォルダなどに作りましょう。

PHP:
  1. <?php
  2.  
  3. /**
  4.  * sfWebDebugPanelPeakMemory adds a panel to the web debug toolbar with the peak memory used by the script.
  5.  *
  6.  * @package    symfony
  7.  * @subpackage debug
  8.  */
  9. class sfWebDebugPanelPeakMemory extends sfWebDebugPanel
  10. {
  11.   public function getTitle()
  12.   {
  13.     if (function_exists('memory_get_peak_usage'))
  14.     {
  15.       $totalMemory = sprintf('%.1f', (memory_get_peak_usage() / 1024));
  16.  
  17.       return '<img src="'.$this->webDebug->getOption('image_root_path').'/memory.png" alt="Peak Memory" /> peak:'.$totalMemory.' KB';
  18.     }
  19.   }
  20.  
  21.   public function getPanelTitle()
  22.   {
  23.   }
  24.  
  25.   public function getPanelContent()
  26.   {
  27.   }
  28. }

お気づきかと思いますが、Webデバッグツールバーの1つ1つの項目はsfWebDebugPanelクラスの派生クラスです。構造化がうまくなされているので、追加も簡単という訳です。

次に、Webデバッグツールバーに登録します。今回はプロジェクト全体で適用したいので、ProjectConfiguration.class.phpを変更します。frontendConfiguration.class.phpでも同じコードで動きます。

PHP:
  1. class ProjectConfiguration extends sfProjectConfiguration
  2. {
  3.   public function setup()
  4.   {
  5.     // ...
  6.     $this->dispatcher->connect('debug.web.load_panels', array($this, 'configureWebDebugToolbar'));
  7.   }
  8.  
  9.   public function configureWebDebugToolbar(sfEvent $event)
  10.   {
  11.     $webDebugToolbar = $event->getSubject();
  12.     $webDebugToolbar->setPanel('peak_memory', new sfWebDebugPanelPeakMemory($webDebugToolbar));
  13.     $webDebugToolbar->removePanel('memory');
  14.   }
  15.  
  16. }

字面でなんとなくわかるかもしれませんが、Webデバッグツールバーのロード時にconfigureWebDebugToolbar()メソッドを呼び出すように登録しています。メソッド内では、さきほど作成した最大使用量を表示するパネルを追加し、代わりに元々あったメモリ表示のパネルを削除しています。

実際に使用したときのWebデバッグツールバーがこのようになります。
sfWebDebugPanelPeakMemory
上記sfWebDebugPanelPeakMemoryクラスの中で、わかりやすく「peak:」を表示するようにしています。

今一度、symfonyを見直してみるのもいいかもしれませんね。


[php]ctype関数でバリデート

Posted under php by uechoco on 月曜日 7 12月 2009 at 15 : 01 : 50

PHP: Ctype 関数 - Manual

最近のフレームワークは独自にバリデート機構を持っているので昔ほどバリデートに気を使うことも少なくなりましたが、自前でバリデートすることもまだあるでしょう。一般的には、正規表現のpreg_match()やis_numeric()、is_int()などがよく使われるのですが、ctype系の関数は知らない人も居るかもしれません。

ctype関数は、C言語のctype.hという標準ライブラリに由来があります。

ctype 関数は、正規表現よりもつねに好ましく、さらに str_* および is_* のような いくつかの等価な関数よりも好ましいことに注意してください。 これは、ctype 関数がネーティブな C ライブラリを使用しており、処理が著しく 高速であるためです。PHP: Ctype 導入 - Manual

とあるように、文字の種別をチェックする場合はctype系関数は断然お勧めという訳です。特に、ctype_alnum()は知っておいて損は無いでしょう。その名の通り与えた文字列が英数字の場合にtrueを返す関数です。正規表現でやっちゃっている人も多いと思います。

ところで、ctype系関数にはこんな比較をしている人がちらほらいます。

ctype関数はCライブラリを使用しているため,is_*, str_*より高速とのこと.
だが実際に比較してみると,is_* の方が速い.ctype と is_* , str_* の処理速度比較 - memo.xight.org

上記引用記事では、is_int()とctype_digit()を比較して、is_int()の方が速いという主張をしていますが、この比較はそもそも本質的に間違っていますis_int()は型チェックのための関数であり、ctype_digit()は文字列チェックのための関数です。これらの関数は想定している対象がそもそも違うので、適材適所で使用するというのが正しいでしょう。

というわけで、ctype関数は遅いというのは偏見です。ctype関数を有効活用しましょう。


[Mac]MindManager 8 for Macは2010年1月末リリース予定

Posted under mac入門記,ソフトウェア by uechoco on 月曜日 7 12月 2009 at 13 : 55 : 17

Windowsを使っていた頃からMindManager 7を使っていたのですが、Windowsの方は既にMindManager 8がでています。Macに移行してからもMindManager 7 for Macを購入して使っていたのですが、いよいよMac版のver 8もリリースされるようです。

リリース計画に遅れが出ていて、2009/11/19のMindjet Blogでは、「2010年1月末にリリース予定」と発表しています。そして、現在ベータ版の無料ダウンロードが行われています。

MindManager 8 for Mac Beta Program « The Mindjet Blog

早速ダウンロードしてみました。最初から多言語対応しているようで、日本語のインストール、日本語の画面で出迎えてくれます。早速起動してみました。Snow Leopardで動きますね。
MindManager8ForMacBeta

β版で確認できる新機能:

  • Mindjet共有機能なら、メールやFacebookやTwitterなどのソーシャルネットワークで、友人や同僚とマップをアップロード&共有できます。
  • AppleのiCal, iChat, Address Book, MobileMe, iPhotoなどとの統合
  • MicrosoftのEntourage, SharePoint, and Office Liveなどとの統合
  • トピック内ハイパーリンク
  • ジェスチャーとMagic Mouseのサポート

近々登場:

  • Apple iWork Pages 08 and Microsoft Word 2008 for Macのインポート
  • Apple iWork Pages 08 and Microsoft Word 2008 for Macへのエクスポート
  • Apple iWork Keynote 08 and Microsoft PowerPoint 2008 for Macへのエクスポート

MindManager 8 for Macの情報は、Mindjet Blogで随時更新されています。要チェックです。


« 前ページへ次ページへ »

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.