2008-11-01から1ヶ月間の記事一覧

PHPの黒魔術

php

タイプヒンティング(Type Hinting)の拡張 PHPTypeSafeで目から鱗が落ちた Type Hints for scalar values これはすごい。 アイデアもそうですが方法が。 通常はエラーとなるところをset_error_handlerで、 コントロールするということのようです。 あまり変な…

Joel on Softwareを読んだ

再読。読み物としても面白い。 ジョエルテスト ソフトウェアチームのクオリティを評価するテスト。 1. ソース管理してる? 2. ワンストップでビルドできる? 3. デイリービルドしてる? 4. バグデータベースはある? 5. 新しいコードを書く前にバグを直して…

Vimと、はてなダイアリーのシンタックス・ハイライトを同じにする

vim

はてなダイアリーのスーパーpre記法のハイライトを、vimと同じに変更する方法。 vimにデフォルトでインストールされているプラグイン、tohtml.vimを使う。 tohtml.vimを使うとコマンド一発で、ハイライト付htmlが作成できる。 2html.vim : ファイルをシンタ…

プログラミングPHP 第2版を読んだ

気になったところをメモ。 スタティック変数 関数が終了しても破棄されない。関数内でしか使用できない。

Windows XPのhosts

すぐ場所をわすれるのでメモ。 C:\WINDOWS\system32\drivers\etc\hosts hosts = PC内でホスト名をIPアドレスに変換する際に参照されるファイル

SQL、Selectの評価順

sql

sql、select文の評価順序じょっぱりのぐだめぎ: select 文の評価順序 from where group having select union order limit 評価順序を意識するかどうかで、sqlの書き方やチューニング方法が大きくかわりそうです。

PHP、オブジェクトに配列っぽく[]でアクセスできるように

php

PHP5で追加されたSPLのArrayAccessクラスを使うと、 配列っぽい書き方でクラスにアクセスすることができるみたいです。 配列演算子オーバーロードもしくは PHP 5 の配列エミュレート機能全般 ArrayAccess Interface Reference data = $array; } public funct…

MySQLでInsertもしくはUpdate(ON DUPLICATE KEY UPDATE)

mysqlにはON DUPLICATE KEY UPDATEというのがあるらしい(mysql 4.1.0以降)。 ユニーク制約のあるカラムに、重複の値をinsertしようとすると、かわりに対象レコードがupdateされる。MySQL 4.1 リファレンスマニュアル :: 6.4.3 INSERT 構文 mysql> INSERT INT…

Ubuntuのディレクトリ構成

ubuntuというかlinuxのルートディレクトリ構成メモ /bin 基本的なコマンドが入っている /dev デバイスファイルが配置されている /etc システムや各種プログラムの設定ファイルを格納 /home ユーザのホームディレクトリ /lib 共有ライブラリなど /sbin rootが…

RubyでMidi

midiファイル(smf)をプログラムで作成する方法を探したら、 Rubyのモジュールを公開している方がいました。http://www.funaba.org/music.html とりあえずインストールしてみる configやsetupでインストール先などを変更できるようです。 $ ruby install.rb…

UbuntuでSambaの設定

開発用にvar/www以下を全て共有する場合 ユーザーの作成 $ sudo smbpasswd -a 【ユーザ名】 設定 $ sudo vi /etc/samba/smb.conf workgroup = WORKGROUP #windowsのワークグループ名 hosts allow = 192.168.1. #接続を許可するIPを指定 [www] comment = www …

CakePHP1.2のapp/configディレクトリ

acl.ini.php アクセス制御設定用 acl = access control list(アクセス制御リスト) aco = access control object(アクセス制御対象) aro = access request object(アクセス要求対象) bootstrap.php コアとなるbootstrap.phpが読み込まれた後、app/webroot…

UbuntuにSubversionをインストール

インストール $ sudo apt-get install subversion subversion-tools libapache2-svn 設定 $ sudo vi /etc/apache2/mods-available/dav_svn.conf 以下のようにコメントを外す Basic認証をかけたりもできるようです。 <Location /svn> DAV svn SVNParentPath /var/lib/svn #一</location>…

CakePHP1.2のScaffold(bake)

cakephp1.2のscaffold*1の作り方メモ。 $ cake/console/cake bake 上記コマンドで、対話的にscaffoldの作成ができる。 ./cake bake model のように引数を渡してもOK Database Configuration = app/config/database.phpを作成 Project = 新しいプロジェクト(…

UbunutでApacheの設定

apacheの設定ディレクトリ $ cd /etc/apache2 サイト別の設定を作る $ sudo cp sites-available/default sites-available/my_site $ sudo vi sites-available/my_site $ sudo vi ports.conf #ポート設定を追加 サイトを有効にする $ sudo a2ensite my_site $…

Vmware + UbuntuでIP固定

windowsにvmwareとubuntu入れて、ひとり開発環境を作ろうと思いたったんですが、 ネットワークの設定に手間取ったのでメモ。 vmwareでubuntuを起動すると、すぐネットにつながります。 ただデフォルトで動的IPが付与されるので開発環境には具合が悪い。 IPを…