Simple, Slowly

ブログを引っ越ししました。http://48.jp

ヘテムルでPHP5.3を使う方法

ヘテムルのPHPが5.2だったんで、PHP5.3が使えたらなーと思ったら、できました。 ヘテムルで PHP をご利用いただく方法 .htaccessに以下のように書けば、そのディレクトリはPHP5.3として動作します。 AddHandler php5.3-script .php 古いサイトではPHP4で動い…

ケアレスミスに関してのコードの話し

システム作りの仕事をはじめて5年目になりますが、バグを出さないシステムを作るのは本当に難しいと思います。 バグは、ここは怪しいなと思っていたところで発生します。 そして、ここは出るはずがないだろうと思っていたところでも発生します。 ここは出る…

mount_smbfsでmountする

mac

macはmount_smbfsコマンドを使ってmountします。 mountするディレクトリを作成して、mount_smbfsでマウントすればOKです。 $ mkdir /mnt/example.com $ mount_smbfs //username@example.com /mnt/example.com 起動時に自動でmountするにはどうしたらいいんだ…

例外処理とサンプルコード

PHP

例外とは、プログラムの実行中に発生した問題をうまく処理するための仕組みです。 例外を利用すると、プログラムをあまり複雑にすることなくエラー時の対処などを処理できます。 例外が発生する典型的なケースは、整数をゼロで除算した、ファイルが見つから…

Gitでコミットが失敗した。原因はエディタの設定だった。

Git

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に変更…

macに.bashrcを作成したときのメモ

mac

.bashrcがなかったので、作成しました。以下のコマンドで作成します。 $ touch .bashrc .bashrcにailiasを定義してみます。 alias ls='ls -F -G' alias la='ls -a' alias ll='ls -l' .bashrcを反映させます。 $ source .bashrc lsコマンドを実行して変更が反…

設定していると便利なGitのalias

Git

設定していると便利なGitのaliasの紹介です。 試しにホームディレクトリの.gitconfigをエディタで開いて以下を入力してみましょう。 [alias] st = status co = checkout cp = cherry-pick # branch関連 br = branch ba = branch -a # 全てのbranchを表示 # …

Vundleでvimプラグインを管理する

vim

vimのプラグインの管理は、Vundleでやると便利です。 Vundle は Ruby on Rails 3 で採用されている、Gem 管理システム Bundler に影響を受けた、plugin 管理システムです。 Vundleをインストール インストールは簡単です。 $ git clone http://github.com/gm…

最低限これはやる。macの開発環境準備

mac

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の構文チェックを行う方法

vim

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の挙動の違いを検証してみました

PHP

array_mergeとarray+arrayの挙動の違いの理解が曖昧だったので検証してみました。 例1 基本的な配列の場合 Array ( [0] => 1 [1] => 3 [2] => 2 [3] => 4 ) Array ( [0] => 1 [1] => 3 …

Gitのインストール

Git

Gitを使いはじめて2年ほど経ちますが、開発に欠かせないツールとなっているこの頃です。 Gitのインストール方法について、まとめました。 Gitは主に二つの方法で入手できます。 一つはプラットフォームに応じたパッケージをインストールすることです。 もう…

jQueryのchangeイベントで気をつけること

jQueryのchangeイベントですが、IEだけ挙動が少し違いました。 jQueryはv1.4.1です。 以下はファイルを選択すると、changeイベントが発生するコードの概略です。 Smple Code <input type="file" id="imageUpForm"> $("#imageUpForm").change(function() { // 処理 }); ただしIEだと発火しない フ…

PHP5.4.0がリリースされました

PHP

PHP5.4.0がリリースされましたね。PHP 5.4.0 Release Announcement既存のコードへの影響は少ないようです。 Backward Incompatible Changes セーフモードがなくなった マジッククォートが削除された 呼び出し時の参照渡しをサポートしなくなった $a が文字列…

CakePHP2.0を使ってみよう 準備編

CakePHP2.0のチュートリアルです。 Blog Tutorialを参考に進んでいきます。 感じを掴むのが目的なので、細かい部分は割合してます。 環境はLAMPです。 ダウンロード GitHubかレポジトリ git clone git://github.com/cakephp/cakephp.gitからソースコードを取…

渡辺謙のダボス会議でのスピーチで思ったこと

渡辺謙のダボス会議でのスピーチ全文が、東京新聞のサイトに公開されています。渡辺謙さん、ダボス会議でスピーチ 原子力からの転換訴える 国は栄えて行くべきだ、経済や文明は発展していくべきだ、人は進化して行くべきだ。私たちはそうして前へ前へ進み、…

httpsでの注意点

http→httpsに変わるだけなのですが、ちらほらと問題が出たのでまとめておきます。 フォームの値がとれない https→httpにPOSTしてもデータは引き継がれません。 http→httpsも同じです。 httpsはhttpsに、httpはhttpにPOSTするようにしなくてはいけません。 ht…

CakePHPのSSL Componentでhttpとhttpsを切り替える

SSL Componentを使うと、http→https、https→httpの転送をやってくれるので便利です。 SSL Component 使い方 /* app_controller.php */ var $components = array( 'Secured.Ssl' => array( 'secured' => array( 'users' => 'login', 'store' => '*', 'post' =…

cake1.3のsimpletestの罠

罠というほどではないですが、同じ罠にはまった人のためにもメモしておきます。cakeのテストフレームワークはsimpletestで構築されています。 デフォルトではCakePHPに含まれていないため、サイトよりダウンロードしてくる必要があります。 cakeのチュートリ…

やっとスタートラインにたったかな

明けましておめでとうございます!新しい1年が始まりました。 ここ数年を振り返ると結婚と長男の誕生もあり、仕事と家庭の両立が大変でした。 仕事は人からアドバイスをもらったり、教えてもらったりすることがしにくい環境なので、はじめは大変でしたが最近…

皆様、よいお年を

早いもので今年も終わろうとしています。 2011年は波乱の年でしたね。 東日本大震災に欧州の金融危機。 中東をはじめ、イギリス、アメリカのデモ。 近年稀にみる波乱の年だったような気がします。 もちろんいいこともありました。福岡は何気に景気が良かった…

AWSへ移行しました

ここ最近、AWSにサーバーを移転しました。 構成としては、webサーバー4台とDBサーバー1台です。 ELBでそれぞれのwebサーバーにリクエストを振り分けるようにしています。 月間300万PVのサイトでの運用をしていますが、安定してトラフィックをさばけて…

ソーシャルゲーム・グローバルリーダー育成プログラム 全国キャラバンのイベントにいってきました

ソーシャルゲーム・グローバルリーダー育成プログラム 全国キャラバンのイベントにいってきました。 http://www.socialtoprunners.jp/next-str/fukuoka01/ 日本マイクロソフト株式会社 Microsoft Azure presents グローバル人材育成プログラムのご案内 株式…

東京にいってきました

先週は東京に行ってきました。 目的は ・忘年会の参加 ・年末のサーバー移行に向けた打ち合わせ 忘年会はサンシャインシティというでっかいオフィスビルがあるのですが、その建物の56階(高い!)でありました。 福岡にはそんなに高いビルはないので、上まで…

GET_LOCKでロックをかける

MySQLではGET_LOCKでロックをかけれます。 #ロックが使用可能かを確認します。ロックが使用可能 ( まだ使用されていない ) 場合は 1 を返します。 mysql> SELECT IS_FREE_LOCK("lock1"); -> 1 #ロックをかけます。成功時は1が返ります。 mysql> SELECT GET_…

ホークス日本一だ!そして・・・

ホークス日本一おめでとう! 第7戦までもつれてどうなることやらと思いましたが、最後は見事に勝ってくれました。 いやー、面白かった。 野球はあまり興味がなかったのですが、この日本シリーズで野球の動向が気になるようになりましたね。 MVPは小久保…

findとPerlを使った一括置換で作業効率をあげよう

findとPerlを使った一括置換が便利なので紹介します。 一括置換をすることで、作業効率が数倍アップします。人の手が入るのを極力減らすことで、ミスも防げます。自動化できるところは、極力自動化していきましょう。 find . -type f -name '*' | xargs perl…