関西ボーダーの人に聞いたのでメモ。
http://www.morispo.co.jp/
並行輸入品を結構たくさん取り扱っている店らしい。
正規品の40%OFF位の値段で買えるので、安く済ませるならここかも。
page_adsence
2011年1月13日木曜日
2011年1月12日水曜日
controllerからviewへの変数の引き渡し方法
オレオレフレームワークで、MVCモデルで実装しようとした場合に、symfonyのようにcontroller(action)からviewに変数を渡すには、controllerの処理の最後にviewのファイルをrequire_onceしてやればよい。
2011年1月11日火曜日
grepコマンドで特定のディレクトリを除外して検索する方法
svn管理しているディレクトリ内をgrepする場合は以下のようにするとsvn管理下のファイルがヒットしないようになる。
ちなみに「--exclude=*.svn*」の「*.svn*」は正規表現のパターンなので、結構フレキシブルに使える。
grep -r --exclude=*.svn* 検索テキスト 対象ディレクトリちなみに「--exclude=*.svn*」の「*.svn*」は正規表現のパターンなので、結構フレキシブルに使える。
grep -r --exclude=正規表現のパターン 検索テキスト 対象ディレクトリ
起動が遅くなってしまったFirefoxの起動を素早く行うspeedfoxが使える
Webページの開発には欠かせないFirefoxですが、長年使っていると起動がどんどん遅くなりストレスに感じることがあります。
そこで使ってほしいのがこの「speedfox」
Firefoxというのは、初回起動時にプロファイルを作成し、そこに設定や履歴、ID、パスワード、ブックマークといった情報を保存しています。
しかし、これが何度も更新されることにより、HDDの断片化と同様の現象が起こります。
そこで使用するのが「speedfox」です。
「speedfox」はwindowsのデフラグツールのようにプロファイルの状態を最適化してくれるツールです。
利用方法も簡単。
まず「speedfox」をダウンロードし、解凍して出てきたexeファイルを実行します。
すると、どのプロファイルに対して実行するのかと、「Run Firefox after optimization」(Firefoxを終了してから最適化を行う)かというチェックボックスがありますので、それぞれ選択し、「Speed Up My Firefox」ボタンを押せば完了します。
僕が使用しているFirefoxも起動までに20秒位かかっていたFirefoxの起動が2秒位で起動するようになりました。
Firefox使いには必須ツールだと思います。
そこで使ってほしいのがこの「speedfox」
Firefoxというのは、初回起動時にプロファイルを作成し、そこに設定や履歴、ID、パスワード、ブックマークといった情報を保存しています。
しかし、これが何度も更新されることにより、HDDの断片化と同様の現象が起こります。
そこで使用するのが「speedfox」です。
「speedfox」はwindowsのデフラグツールのようにプロファイルの状態を最適化してくれるツールです。
利用方法も簡単。
まず「speedfox」をダウンロードし、解凍して出てきたexeファイルを実行します。
すると、どのプロファイルに対して実行するのかと、「Run Firefox after optimization」(Firefoxを終了してから最適化を行う)かというチェックボックスがありますので、それぞれ選択し、「Speed Up My Firefox」ボタンを押せば完了します。
僕が使用しているFirefoxも起動までに20秒位かかっていたFirefoxの起動が2秒位で起動するようになりました。
Firefox使いには必須ツールだと思います。
2011年1月6日木曜日
人の振り見て我が振り直せ
新しい会社に入社して一番最初に担当することになった仕事が、外注さんの作った管理ツールの検証と
機能追加だったんですが、ソースを見て愕然としました。
「なんじゃこりゃ・・・。」
なんの気遣いも感じられないソースだった。
インデントがそろってなかったり、無駄にスペース入れてあったり、逆にまったく入ってなかったり。
開発がひと段落しても、必要ないコメント(テスト用のコードとかデバッグコードとか)部分とか消してないし、使ってなさそうなファイルとかもそのまま放置。
こんなので金取るのか?って言うくらいひどいソースでした。
で、なぜ今回タイトルのような記事を書こうと思ったかというと、
自分が書いたソースで、そんな印象を受けさせたくない。
せめて、可読性だけでもきちんと保てるようにプログラムを書いていこうと思ったからだ。
絶対にやらないと決めたことを以下に示す。
PHP編
1.PHPのコーディング規約をなるべく守る。
2.変数名は適当に決めない。($keyとか$valueとか$val1、$val2等)
HTMLコーディング編
1.idやname属性等の情報もきちんとHTMLコーディング規約に則った形で決める。
(同一HTMLファイル内に同一のname属性を持たないようにする等の基本中の基本)
2.FirefoxのHTML Validatorでエラーがある状態のHTMLは完成しているとは言えない。
(HTML単体の場合のみ。PHPなどの出力が混ざってきた場合はよしとする)
3.JavascriptをHTMLソース内にベタ書きでは書かない。
(例外としてごくわずかな量のJSであればありとする)
4.CSSをHTMLソース内にベタ書きでは書かない。
(例外としてごくわずかな量のスタイルであればありとする)
機能追加だったんですが、ソースを見て愕然としました。
「なんじゃこりゃ・・・。」
なんの気遣いも感じられないソースだった。
インデントがそろってなかったり、無駄にスペース入れてあったり、逆にまったく入ってなかったり。
開発がひと段落しても、必要ないコメント(テスト用のコードとかデバッグコードとか)部分とか消してないし、使ってなさそうなファイルとかもそのまま放置。
こんなので金取るのか?って言うくらいひどいソースでした。
で、なぜ今回タイトルのような記事を書こうと思ったかというと、
自分が書いたソースで、そんな印象を受けさせたくない。
せめて、可読性だけでもきちんと保てるようにプログラムを書いていこうと思ったからだ。
絶対にやらないと決めたことを以下に示す。
PHP編
1.PHPのコーディング規約をなるべく守る。
2.変数名は適当に決めない。($keyとか$valueとか$val1、$val2等)
HTMLコーディング編
1.idやname属性等の情報もきちんとHTMLコーディング規約に則った形で決める。
(同一HTMLファイル内に同一のname属性を持たないようにする等の基本中の基本)
2.FirefoxのHTML Validatorでエラーがある状態のHTMLは完成しているとは言えない。
(HTML単体の場合のみ。PHPなどの出力が混ざってきた場合はよしとする)
3.JavascriptをHTMLソース内にベタ書きでは書かない。
(例外としてごくわずかな量のJSであればありとする)
4.CSSをHTMLソース内にベタ書きでは書かない。
(例外としてごくわずかな量のスタイルであればありとする)
2011年1月5日水曜日
MySQLの文字コードに関して
Server characterset
サーバーのデフォルトキャラクタセット。
Db characterset
デフォルトデータベース(use xxxで選択したデータベース)で使用される文字コード。デフォルトデータベースがまだ選択されていない場合は、Server charactersetと同じものが表示される。
Client characterset
クライアントから送られてくるクエリの文字コードを指定。
Conn. characterset
サーバーはクエリを受信した後に変換する文字コードを指定する。サーバーはクライアントから送られたクエリをClient charactersetからConn. charactersetに変換する。(introducerがない文字列に限る)
サーバーのデフォルトキャラクタセット。
Db characterset
デフォルトデータベース(use xxxで選択したデータベース)で使用される文字コード。デフォルトデータベースがまだ選択されていない場合は、Server charactersetと同じものが表示される。
Client characterset
クライアントから送られてくるクエリの文字コードを指定。
Conn. characterset
サーバーはクエリを受信した後に変換する文字コードを指定する。サーバーはクライアントから送られたクエリをClient charactersetからConn. charactersetに変換する。(introducerがない文字列に限る)
svnでapache経由でコミットしようとしらたエラーになった
VMWare上に作ってあるリポジトリにApache経由でアクセスして使えるようにしたくていろいろとやっていた時のログ。
作業前の状態は以下の通り。
1.Apache経由ではリポジトリを見ることは可能
2.WindowsからTortoiseSVNを使ってチェックアウトすることは可能
3.フォルダを追加してコミットしようとしたらエラーになった。
TortoiseSVNが吐いたエラーは以下の通り。
サーバ側のエラーログは以下の通り。
ググってみたら結果、これの原因はauthzsvn.confのせいだとわかった。
よく見てみたら、ルートディレクトリ以下は誰も書き込みできないようになっていたので、
管理者は書き込みが可能なように修正して保存。
再度コミットしてみたら今度は別のエラーがでた。
サーバー側のエラーログは以下の通り。
で、これもググってみた結果、リポジトリ内のdavとdbフォルダ以下のオーナーをapacheに変更しないといけないということだったので、さっそく変更
もう一度コミットしてみたら、今度はうまくいきました。
よかったよかった。
ちなみに、subversionのバージョンが1.5以降になるとdavディレクトリは自分で作らないといけないらしいので要注意。
作業前の状態は以下の通り。
1.Apache経由ではリポジトリを見ることは可能
2.WindowsからTortoiseSVNを使ってチェックアウトすることは可能
3.フォルダを追加してコミットしようとしたらエラーになった。
TortoiseSVNが吐いたエラーは以下の通り。
コミットに失敗しました (詳しい理由は以下のとおりです):
サーバが、リクエストへのレスポンスとして予想外の戻り値 (403 Forbidden) を送信してきました (リクエスト: MKACTIVITY, URL: '/!svn/act/532009ea-04a9-8547-9597-23cc8ad9e5fe')サーバ側のエラーログは以下の通り。
Access denied: 'ユーザー名' MKACTIVITY /:ググってみたら結果、これの原因はauthzsvn.confのせいだとわかった。
よく見てみたら、ルートディレクトリ以下は誰も書き込みできないようになっていたので、
管理者は書き込みが可能なように修正して保存。
再度コミットしてみたら今度は別のエラーがでた。
Can’t create directory ‘~~~~~~’: Permission deniedサーバー側のエラーログは以下の通り。
Could not create activity /!svn/act/9a75b9be-5637-be47-9bb1-504df8e09f8a. [500, #0]
could not begin a transaction [500, #13]
Can't create directory '/path/to/dir/svn/db/transactions/0-1.txn': Permission denied [500, #13]で、これもググってみた結果、リポジトリ内のdavとdbフォルダ以下のオーナーをapacheに変更しないといけないということだったので、さっそく変更
# chown apache:apache -R db/ dav/もう一度コミットしてみたら、今度はうまくいきました。
よかったよかった。
ちなみに、subversionのバージョンが1.5以降になるとdavディレクトリは自分で作らないといけないらしいので要注意。
登録:
投稿 (Atom)