Mac Mini(201006) に Ubuntu を入れる

仕事で小型のサーバーが必要になったので色々選定してたら、「この間でたMacMiniにLinuxいれたらいいよねー」ってことになった。勢いで注文して普通にBootCampでやろうとしたけど結構ややこしかった(というか無理矢理っぽい)のでメモ。 1. BootCampでパー…

クエリのベンチマーク

仕事でクエリの最適化するのに簡単なベンチマークを採る必要があったので作った。探した方が早いかと思ったけど単純に同じクエリを必要回数発行してトータル時間見るだけなので自分が使いやすければそれでおk。あんまり変わらないと思うけどAPに合わせてPHP…

ITバレーカンファレンス@松山にいってきた

先日11/22に松山でITバレーカンファレンスがあったので行ってきた。 http://cybozu.co.jp/company/job/2010conference.html http://labs.cybozu.co.jp/blog/hata/archives/2008-10-30-1.html http://blog.bz2.jp/archives/2008/11/post-87.html 松山でこうい…

PLANEXのNAS(MZK-NAS02)をなんとかする

家のNASがぶっ壊れたので、RAID1対応で安いものをAmazonで探して買ってみた。 HDD無しだったけど同じくAmazonで安い500GBのHDDを2本買って合計30000円以内だったのでかなりお得な感じだと思う。到着してからwktkしながら箱から出してセットアップしていざ使…

Akelos0.9がきてるっぽいのでメモ(設定ファイル編)

久しぶりにアップデートしたらAkelosが待望?の0.9(REV.1196)になってたのでCHANGELOGの内容をメモ。今回は設定ファイルをベースに変更内容を追いかけてみる。 YAMLベースの設定ファイルが使えるようになった。 AkelosでもようやくYAML形式の設定ファイル…

Akelosで作ったアプリケーションを本番環境に配置する

Akelosでアプリケーションを作って、いざ公開する際に本番環境が以下のいずれかに当てはまる場合は正常に動作しない場合があるので注意が必要。 mod_rewriteが使えない。 公開URLが「http://[DOMAIN_NAME]/」じゃない。 「/public」を公開ルートに設定できな…

Akelosで作ったアプリケーションを本番環境に配置する

Akelosでアプリケーションを作って、いざ公開する際に本番環境が以下のいずれかに当てはまる場合は正常に動作しない場合があるので注意が必要。 mod_rewriteが使えない。 公開URLが「http://[DOMAIN_NAME]/」じゃない。 「/public」を公開ルートに設定できな…

フィルタチェーンが気持ち悪いのでActiveRecordをオーバーライドする

Akelos使ってるとバリデータの流れが気持ち悪いと思うことがある。 ActiveRecordでsaveを行うと順々にコールバックメソッドを評価してレコードが登録されるわけだが、メソッド名から想像する順序と実際に実行される順序が違いすぎて困る。ちなみにソースコー…

IE7 わけがわからない

IE7特有で発生するワケわからん症状をみつけた。現時点で再現はできるけど原因と対策は不明。見当もつかない。追記:今のところXP+IE7ではそれほど・・・という感じのような気がする。Vista+IE7だったり、もっと特有の環境で発生するのかも。とりあえず、以…

rm -rf /* が許されるのは小学生まで

昨日の話。 ____ / \ / ─ ─\ / (●) (●) \ さて、とりあえずソースの修正も終わったし | (__人__) | 1回テストして寝るお。 / ∩ノ ⊃ / ( \ / _ノ | | .\ “ /__| | \ /___ / ____ / \ / ─ ─\ ここから新規投稿して通知メ…

「rm -rf /*」をやった

ワザとじゃなくてミスで。 とりあえず、スレーブのHDDにcronで日次ミラーしてたので何とか復旧できたけども。。。 効果的なのは分かったので今後のためにもミラーリング用シェルスクリプトと復旧手順を個人的メモであげておく。※前準備としてスレーブHDDをマ…

今日のハマり

ビット演算子なんてあんまり使うことないから優先順位気にしてなかったよ。 ビットシフト以外は比較演算子よりも優先順位が低い。 if(9 & 8 == 8) ...は if(9 & (8 == 8)) ...と等価。

繰り返し予定をデータベースで表現する

スケジューラとかを作ってていつも悩むのが繰り返し予定をRDBに保存する方法。 色々なWEBアプリのスケジューラを見た感じではiCalendarのrruleでやるのが多いみたいだけど、何となくDBとの相性が悪そうな気がしてならない。繰り返し予定の要件としては、 繰…

Akelosでモジュールを使う

一般的にWEBアプリで管理画面を作る場合、通常のURLとは違い http://〜/admin/[controller]/[action]というURLを使いたくなる。Akelosでコレを実現する場合はとりあえずモジュールを使えばおk。たとえば上記の例の場合、まずURLルーティングを行うためにcon…

とりあえず

ひと通りAkelos把握したので今度のプロジェクトで提案してみる。 それにしてもAkelosユーザ少ないなぁ。CakePHPよりかよっぽど美しいと思うんだが。まぁAkelos使うくらいならRails使うわっていう感じかもね。ここらで参考リンクをひととおりまとめておくので…

hasAndBelongsToManyのバグ

Akelosでn対mのモデルを扱うときに新しくjoin_tableにレコードを追加したい場合多分以下のようにするのだと思う。 find(1); $user->group->add($group_model->find(array(1,2,3))); $user->save(); ?> 結果join_tableには以下のように追加されるはず。 SELEC…

Akelosでmysqlの文字化けをどうにかする

Akelos+mysql4.1以降の組み合わせでデータベースで日本語を扱う場合、mysqlの文字コードの設定次第で文字化けしする。というかこれはakelosに限った話ではなくて、mysql4.1以降の場合「SET NAMES xxx」を実行しておかないと文字コードが正しく扱われない。と…

Akelosのセッション管理をDBで行う

AkelosでセッションをDBを行う場合、現バージョン0.8なら以下のような感じになる。 まず、データベース上にセッション管理テーブルを作る。Mysqlならこんな感じ CREATE TABLE `sessions` ( `id` CHAR(32) PRIMARY KEY , `value` TEXT NOT NULL , `expire` DA…

Akelosで多対多(has_and_belongs_to_many)のテーブルを使う

引き続きAkelosのモデル周りの動作テスト。Akelosで多対多のテーブルを使いたいとき、Railsと同じくhas_and_belongs_to_manyが使える。使い方は簡単でたとえば以下のような感じでテーブル設計がされている場合 +-------+ +--------------+ +--------+ | user…

再帰的にファイル名を取得

PHP

ファイルを再帰的に列挙する関数を書いてみました。うーん。すごく難しいです 。・°°・(>_ 2007-11-12 - 女子高生ぷろぐらまーなお☆のブログ

Cake風にコンポーネントを使う

CakePHPの場合、コントローラで Session->read('login'); } } みたいな感じでコンポーネントを使うことができた。これはちょっと便利だったのでAkelosでも使えるようにする。 app/application_controller.php

まとめてmigrateをおこなう

Akelosでモデルのmigrateをするときにまとめてできないのがめんどくさいので、一括してmigrateを行うインストーラを作って対応。 app/installers/all_installer.php

AkActiveRecordを試す

昨日からAkelosを使い始めた。AkActiveRecordでスラスラいけるかと思ったらそうでもないらしい。 とりあえずいろいろと挙動を覚え書き。 多対1 has_many belongs_to +---------+ +-------+ | users | | roles | +---------+ +-------+ | id | +--| id | | na…

Akelosを使う

新しいプロジェクトで一瞬CakePHPを使おうとしたけど、なんか気持ち悪いのでやめることにした。 ということでどのフレームワーク使おうかという提案をしなきゃいけないのでいろいろ調べてたらAkelosが良い感じに気持ちがよさそうなので使ってみる。日本語の…

Youtubeの簡易クライアントのテスト

php

YoutubeのAPIで自分がアップロードした動画を非公開ビデオも含めて取得する方法が見つからないのでHTTP_Clientで無理やりもってくるためのスクリプトを書く。とりあえずGDataと統合されたっぽいしこの辺にも上がってるのでもうちょっと待てば認証APIとか出そ…

私的アドエスのまとめ

アドエスの利用環境がひととおり整ったので私的まとめ。 本体まわり 1. スタイラス LifeHackerの間で有名なゼブラのPenpodにスタイラス芯を入れてストラップにつけた。 スタイラスリフィルは元々持っていたTombowのZOOM414に付属していたもの(sk-vy)を流用。…

アドエスでM+フォント

アドエスのシステムフォントをM+フォントにしようと思ってPocketの手のフォントリンクで変えてみたら日本語が表示されない。豆腐状態。どうもフォント指定時に(M+2P+IPAG circle Regular)になっているのが問題っぽい。ためしにフォント指定時にフォント名…

symfonyでsession_regenerate_id()

session_regenerate_id()を使うとセッションIDを簡単に変更できるので、少なからずセッションハイジャック対策ができる。symfonyで認証画面を作り、ログイン時にsession_regenerate_idしてIDを再発行しようと思ったけど、デフォルトのsfSessionStorageを使う…

PHPExcelでExcel2000/XP形式のファイルをつくる

PHPExcelはPHP5でExcel2007形式のファイルを作成できるライブラリですが、一応Excel5形式にも対応しているのでExampleのとおりつくってる。 setActiveSheetIndex(0); function setExcelData(&$sheet, $col, $row, $data) { $sheet->setCellValue($col.$row…

symfonyでの日本語メール送信

いろいろ試した結果とりあえずこんな感じでおkっぽい。