ヘテムルのPHPが5.2だったんで、PHP5.3が使えたらなーと思ったら、できました。 ヘテムルで PHP をご利用いただく方法 .htaccessに以下のように書けば、そのディレクトリはPHP5.3として動作します。 AddHandler php5.3-script .php 古いサイトではPHP4で動い…
システム作りの仕事をはじめて5年目になりますが、バグを出さないシステムを作るのは本当に難しいと思います。 バグは、ここは怪しいなと思っていたところで発生します。 そして、ここは出るはずがないだろうと思っていたところでも発生します。 ここは出る…
macはmount_smbfsコマンドを使ってmountします。 mountするディレクトリを作成して、mount_smbfsでマウントすればOKです。 $ mkdir /mnt/example.com $ mount_smbfs //username@example.com /mnt/example.com 起動時に自動でmountするにはどうしたらいいんだ…
例外とは、プログラムの実行中に発生した問題をうまく処理するための仕組みです。 例外を利用すると、プログラムをあまり複雑にすることなくエラー時の対処などを処理できます。 例外が発生する典型的なケースは、整数をゼロで除算した、ファイルが見つから…
Git にて、git commit コマンドを実行し Vim 上でコメント書いて、コミットするとエラーが発生し、コミットが失敗しました。 $ git commit error: There was a problem with the editor 'vi'. Please supply the message using either -m or -F option. Git …
ログインの際にパスワードではなくSSH鍵を使うようにすると、セキュリティを向上させると同時に操作を簡素化でき非常に便利です。公開鍵と秘密鍵のペアを生成し、サーバーに登録します。 ローカル環境に.sshディレクトリを作成し、パーミッションを700に変更…
.bashrcがなかったので、作成しました。以下のコマンドで作成します。 $ touch .bashrc .bashrcにailiasを定義してみます。 alias ls='ls -F -G' alias la='ls -a' alias ll='ls -l' .bashrcを反映させます。 $ source .bashrc lsコマンドを実行して変更が反…
設定していると便利なGitのaliasの紹介です。 試しにホームディレクトリの.gitconfigをエディタで開いて以下を入力してみましょう。 [alias] st = status co = checkout cp = cherry-pick # branch関連 br = branch ba = branch -a # 全てのbranchを表示 # …
vimのプラグインの管理は、Vundleでやると便利です。 Vundle は Ruby on Rails 3 で採用されている、Gem 管理システム Bundler に影響を受けた、plugin 管理システムです。 Vundleをインストール インストールは簡単です。 $ git clone http://github.com/gm…
macで開発環境を準備したときのメモです。 OSはLion(10.7.3)です。 1.xcodeをインストール まずは、以下のページを参考にxcodeをAppStoreよりダウンロードしてインストールします。 OS X Lion に Xcode 4.1 をインストールする手順 1.4GBあるので、けっこう…
例えば、以下のようなファイルがあったとします。 . |-- 1.php |-- 2.php |-- apple.jpg |-- fuga.php |-- hoge.php |-- lib | |-- 01.php | |-- 02.php | `-- abc.php `-- orange.jpg 数字のファイルのみ抽出 カレントディレクトリのみを検索する場合は、 l…
vimでPHPの構文チェックができないものかと思って調べたら、案の定できました。 .vimrcに以下を記述して、「,l」を入力すれば構文チェックができます。 "" " PHP Lint nmap ,l :call PHPLint()<CR> " " " PHPLint " " @author halt feits <halt.feits at gmail.com> " function PHPLint() </halt.feits></cr>…
テーブルのサイズはphpMyAdminでも見れますが、コマンドから見れたほうが何かと便利なので、調べてみました。 全てのデータベースのサイズを確認する # MB単位 select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_sche…
array_mergeとarray+arrayの挙動の違いの理解が曖昧だったので検証してみました。 例1 基本的な配列の場合 Array ( [0] => 1 [1] => 3 [2] => 2 [3] => 4 ) Array ( [0] => 1 [1] => 3 …
Gitを使いはじめて2年ほど経ちますが、開発に欠かせないツールとなっているこの頃です。 Gitのインストール方法について、まとめました。 Gitは主に二つの方法で入手できます。 一つはプラットフォームに応じたパッケージをインストールすることです。 もう…
jQueryのchangeイベントですが、IEだけ挙動が少し違いました。 jQueryはv1.4.1です。 以下はファイルを選択すると、changeイベントが発生するコードの概略です。 Smple Code <input type="file" id="imageUpForm"> $("#imageUpForm").change(function() { // 処理 }); ただしIEだと発火しない フ…
PHP5.4.0がリリースされましたね。PHP 5.4.0 Release Announcement既存のコードへの影響は少ないようです。 Backward Incompatible Changes セーフモードがなくなった マジッククォートが削除された 呼び出し時の参照渡しをサポートしなくなった $a が文字列…
CakePHP2.0のチュートリアルです。 Blog Tutorialを参考に進んでいきます。 感じを掴むのが目的なので、細かい部分は割合してます。 環境はLAMPです。 ダウンロード GitHubかレポジトリ git clone git://github.com/cakephp/cakephp.gitからソースコードを取…
渡辺謙のダボス会議でのスピーチ全文が、東京新聞のサイトに公開されています。渡辺謙さん、ダボス会議でスピーチ 原子力からの転換訴える 国は栄えて行くべきだ、経済や文明は発展していくべきだ、人は進化して行くべきだ。私たちはそうして前へ前へ進み、…
http→httpsに変わるだけなのですが、ちらほらと問題が出たのでまとめておきます。 フォームの値がとれない https→httpにPOSTしてもデータは引き継がれません。 http→httpsも同じです。 httpsはhttpsに、httpはhttpにPOSTするようにしなくてはいけません。 ht…
SSL Componentを使うと、http→https、https→httpの転送をやってくれるので便利です。 SSL Component 使い方 /* app_controller.php */ var $components = array( 'Secured.Ssl' => array( 'secured' => array( 'users' => 'login', 'store' => '*', 'post' =…
罠というほどではないですが、同じ罠にはまった人のためにもメモしておきます。cakeのテストフレームワークはsimpletestで構築されています。 デフォルトではCakePHPに含まれていないため、サイトよりダウンロードしてくる必要があります。 cakeのチュートリ…
明けましておめでとうございます!新しい1年が始まりました。 ここ数年を振り返ると結婚と長男の誕生もあり、仕事と家庭の両立が大変でした。 仕事は人からアドバイスをもらったり、教えてもらったりすることがしにくい環境なので、はじめは大変でしたが最近…
早いもので今年も終わろうとしています。 2011年は波乱の年でしたね。 東日本大震災に欧州の金融危機。 中東をはじめ、イギリス、アメリカのデモ。 近年稀にみる波乱の年だったような気がします。 もちろんいいこともありました。福岡は何気に景気が良かった…
ここ最近、AWSにサーバーを移転しました。 構成としては、webサーバー4台とDBサーバー1台です。 ELBでそれぞれのwebサーバーにリクエストを振り分けるようにしています。 月間300万PVのサイトでの運用をしていますが、安定してトラフィックをさばけて…
ソーシャルゲーム・グローバルリーダー育成プログラム 全国キャラバンのイベントにいってきました。 http://www.socialtoprunners.jp/next-str/fukuoka01/ 日本マイクロソフト株式会社 Microsoft Azure presents グローバル人材育成プログラムのご案内 株式…
先週は東京に行ってきました。 目的は ・忘年会の参加 ・年末のサーバー移行に向けた打ち合わせ 忘年会はサンシャインシティというでっかいオフィスビルがあるのですが、その建物の56階(高い!)でありました。 福岡にはそんなに高いビルはないので、上まで…
MySQLではGET_LOCKでロックをかけれます。 #ロックが使用可能かを確認します。ロックが使用可能 ( まだ使用されていない ) 場合は 1 を返します。 mysql> SELECT IS_FREE_LOCK("lock1"); -> 1 #ロックをかけます。成功時は1が返ります。 mysql> SELECT GET_…
ホークス日本一おめでとう! 第7戦までもつれてどうなることやらと思いましたが、最後は見事に勝ってくれました。 いやー、面白かった。 野球はあまり興味がなかったのですが、この日本シリーズで野球の動向が気になるようになりましたね。 MVPは小久保…
findとPerlを使った一括置換が便利なので紹介します。 一括置換をすることで、作業効率が数倍アップします。人の手が入るのを極力減らすことで、ミスも防げます。自動化できるところは、極力自動化していきましょう。 find . -type f -name '*' | xargs perl…