2007-01-01から1年間の記事一覧

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っぽい。

apacheのdav_svnの設定でハマる

× SVNPath /home/svn ↓ ○ SVNParentPath /home/svn気がつくのに2時間かかった。

svnsyncでリポジトリミラーのメモ

・syncする側される側ともにバージョンは1.4以降(じゃないとsvnsync自体がない)・sync用のリポジトリを作成→svnadmin create hoge・リポジトリ内のhooks/pre-revprop-change を作成(中身は #!/bin/sh\nexit 0)・svnsync init file:///path_to_repos http…

symfonyで複数アプリケーションの運用

symfonyでプロジェクトに複数アプリケーションを作成して、それぞれにサブドメインを設定して運用を行う場合のメモ。 symfonyではwebディレクトリ内にアプリケーション毎に「(appname).php」ができるので、hogeとfugaいうアプリケーションを作った場合URLは…

HKLMとHKCUのRunとかRunOnce

Windows起動時に実行されるプログラムは 起動方法を自動にしているサービス レジストリの以下エントリ HKEY_LOCAL_MACHIME\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHIME\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCA…

WindowsでSenna+Tritonn+Mysqlをビルドする

Windows上でSenna組み込みMysqlを使う機会があったので。 http://qwik.jp/senna/mysql_windows.html一応公式に詳細な手順が載ってるのでそのままやってみたけどビルドでこける。1日ゴニュゴニョしてとりあえずうまくいったっぽいので備忘録的に手順を残して…

Subversionで管理外のファイルを追加する

Subversion使ってて、「svn add」せずに追加したファイルとかをバージョン管理下に置きたいときに「svn status」してから「?」の付いたファイル/フォルダを1つずつ・・・というのがめんどくさかったのでシェルスクリプトを作っておく。 svnadd.sh #!/bin/sh …

管理者権限で実行するバッチファイルのテンプレ

管理者権限でスクリプトを実行する必要があるけどユーザ切り替えるのがめんどくさいときとかに使えるような使えないような。 @ECHO OFF PUSHD %~dp0 CLS : : 管理者権限で実行するスクリプトテンプレ : IF "%~1" == "/a" GOTO IS_ADMIN NET USER %USERNAME% …

PEAR::Text_Wikiを使ったヘルパー

追記:20070714修正 元々E_STRICTが設定されていない場合にエラーが出てたので修正。 error_reporting($E ^ E_STRICT); ↓ if(($E & E_STRICT) == E_STRICT) error_reporting($E ^ E_STRICT); app/lib/helper/WikiHelper.php

mysqlでセッションを使うメモ

symfonyでセッション管理をファイルベースからMysqlを使うようにしたいので調べたら一応標準で用意されてるっぽいので使ってみる。 まずDBにテーブルを作る。 ソース見た感しではセッションIDと格納するデータ、タイムスタンプが必要そうなのでschema.ymlに…

Ubuntu feisty をいれてみる

自宅ノートの開発環境兼、もう普通に使っちゃおうということで「Dell Inspiron 6000」にUbuntuを放りこんでみた。※一応XPも残しておかないとまずいかもしれないのでデュアルブートで。なんか、インストール中にXPで使っているユーザのプロファイルを移行でき…

lighttpd & php5-cgiで発生するエラーについて

Windowsで環境つくらないといけなくなったので、VirtualPCでDebian入れてlighttpd(fcgi) + php5-cgiの環境つくった。とりあえずphp5-cgiとphp-pearとlighttpdをapt-getでインストールして、lighttpdの設定して、symfonyインストールしてsvnでリポジトリから…

夏暑い

夏になると暑くなる。 暑くなるとNATSUMEN聴きたくなる。去年から活動中止してるっぽいのが残念でしょうがない。とりあえずYoutubeでライブ音源出てたので聴いた。よかった。上手い。イイ。 Whole Lotta Summer Newsummerboy Pills To Kill Ma August Sonata…

単焦点レンズとカメラバッグ

タイミング的に http://d.hatena.ne.jp/naoya/20070628/1183027784 に影響されたみたいな感じでちょっと恥ずかしいけど一応注文したのは先週末ですから。少し広角気味の28mmレンズを買いました。やっぱりズームレンズよりはカメラ弄っている感があっていいな…

メールサーバ移行

自宅のメールサーバを機器ごと移行。 ・Postfix + Courier-imap + POP before SMTP(drac)だったのを ・Postfix with mysql(TLS/SSL) + Clam Antivirus + SMTP-AUTH(SASL2) + Courier-imapに変更。若干はまりつつもインストール&設定含めて約3時間で移行完…

Vistaのnetsh

Windows2k以降はnetshコマンドでネットワーク設定を簡単に切り換えることができる。 たとえば、 # ---------------------------------- # インターフェイス IP 構成 # ---------------------------------- pushd interface ip # "ローカル エリア接続" のイ…