【メモ】FuelPHPをインストールしてgitでプロジェクトを管理するまで

なんだか凄く嵌まってしまったのでメモだけでも残しておこうと。

手順

  1. gitをインストール
  2. FuelPHPをインストール
  3. FuelPHPの新しいプロジェクトを作成する
  4. 新しいプロジェクトを含むディレクトリ全体をgit管理下に置く
  5. eclipseにインポート

前提

  • サーバ側:CentOS 5.6
  • クライアント側:Windows 7 64bit / Eclipse 3.7.1
  • SSH等の設定は終了しているものとする

続きを読む

$.post()のコールバックが動くのはHTTPステータスコードが2xxのとき(jQuery)

前回の続き、というか補足メモ。 jQueryで作るAjaxな検索フォーム(テスト) | mutter

JavaScript: 検索部分

function sampleSearchFilckr () {
var word = $('#sampleSearchWord').val();
if(!word) {
alert('検索語を入力してください');
return false;
}
//検索
$.post(
'/sample/flickr',
{"q": word},
function(data, status) {
//searchに成功したら結果を表示する
$('#sampleSearchResult').html(data);
},
"html"
);
}

続きを読む

jQueryで作るAjaxな検索フォーム(テスト)

技術的にはだいぶ今さら感ある話題ですが作業のまとめとして。

サンプル

表題のフォームというのはこんな感じのです。
#sampleSearchResult a { border: none !important }

仕様

  • 検索語句を入力して「Flickrで検索する」を押すと僕のFlickrでの検索結果を表示する
  • 「クリア」を押すと検索語句と検索結果を削除する
  • 検索語句入力欄でリターンキーを押しても検索を開始する

続きを読む

InnoDBをリカバリして学んだこと

とても情けない理由でデータベースを壊してしまい、リカバリをすることに。破損個所はその直前の作業から言って何千万件のレコードを持つInnoDB。考えただけで己の「ポチ」を恨みたくなりますが、唯一ラッキーだったのはそのレコードの99%以上はノイズ(必要の無いログなど)で、最終的にはサイズを1000分の1以下にする予定だったということ。じゃなかったら多分復旧には日単位で時間が掛かっていたと思われる… 以下、解ったこと。

続きを読む

[CSS3] 先頭の要素にだけ別の設定をする(疑似クラス「:nth-child(n)」を覚えた)

Webデザインにおいてカラムをいくつか並べて、間に境界線を引くという場合がよくあります。

イメージ

25_01.jpg こういう場合これまで、1行目の2要素に適当なクラス名を付けた上で、それ以外の要素にborderを設定する…というような対処を行ってきました。

ソース例

#sample-list li {
padding: 20px;
border-top: solid 1px dotted;
}
#sample-list li.first {
border-top: none;
}

続きを読む

【PHP】 セッションファイルを階層分けして格納する

とあるシステムのセッションディレクトリを覗いてみたらミリオン単位のファイルが詰まっていることが解って、I/O重いの当たり前じゃねーか…!(普通は1ディレクトリ1000ファイルまでに抑えるべき)となったので改善を試みました。 具体的にはディレクトリを階層化します。

改善前

/path/to/session/sess_hogehogehoge

改善後

/path/to/session/0/1/2/sess_hogehogehoge
以下、手順。
  1. 階層化されたセッションディレクトリを作成する
  2. 作成したセッションディレクトリのパーミッションを変更する
  3. PHPの設定を変更する
  4. httpd再起動
  5. 古いセッションを削除するように設定する

続きを読む

【メモ】 2カラムでも満足できなかったので1カラムにしてみた、それとデザインの選択とユーザビリティの話。

さすがに怒られそうですが、怒られついでに「どうせだったら1カラムだってありじゃね」と思ったので試してみました。

前回

【メモ】 3カラムのブログデザインが好きになれないので2カラムにする | mutter 3カラム(オリジナル) 05_02_01.jpg 2カラム(前回) 05_02_02.jpg

続きを読む

【メモ】 3カラムのブログデザインが好きになれないので2カラムにする

大きなお世話、と叱られそうなんですけど、大好きなブログ「フモフモコラム」さんが少し前にリニューアルしまして3カラムになりました。これがあんまり好きになれない。 05_02_01.jpg いやー。デザインしてる人はそれぞれ理由(アフィリエイトとか)があってそうしてるんですけど、読み手としては記事の幅が狭くなればなるほど読みづらいんですよね…余計なものが目にはいるし…特にフモフモコラムさんは軽妙なテキストで長文を読ませるブログだったので、それが読みづらくなってしまって最後まで読めないという状況が個人的に頻出していました。何という残念。

続きを読む

MySQLのスロークエリログをmysqldumpslowで解析してファイルに書き出し、ログをローテーションする

MySQLのチューニングに当たってスロークエリログを書き出すことは良くあります。設定によっては放っておくと膨大なログになってしまうため、適度なタイミング(日毎とか週毎とか)でログローテーションしてやります。logrotateを使うのが常套手段。 スロークエリログの解析にはmysqldumpslowを使用します。mysqldumpslowを使用するとログを解析した上で、オプションに従って並べ替えて出力してくれます。ログ全体のまとめになるので、定期的これを実行すれば、どれくらいの頻度でスロークエリが発生しているかを定量的に計ることが出来ます。 …というわけで、この2つを組み合わせてみました。

/etc/logrotate.d/mysql

/var/log/mysql-slow.log {
# create 600 mysql mysql
notifempty
daily
rotate 5
missingok
prerotate
EXT=`/bin/date +%Y%m%d`
/usr/bin/mysqldumpslow -s t /var/log/mysql-slow.log > /var/log/mysql/mysql-slow.${EXT}.log
endscript
postrotate
# just if mysqld is really running
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin ping &>/dev/null
then
/usr/bin/mysqladmin flush-logs
fi
endscript
}

続きを読む