読者です 読者をやめる 読者になる 読者になる

脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

cakephp2でテスト用DBにインデクスが作成されない

CakeTestFixture にこう書いておけば、 本番用DBからテスト用DBにスキーマを取り込んでくれる。 要はテーブルをコピーしてくれる。 public $import = ['model' => 'ModelName']; でも、なぜかpkey以外のindexは無視されてしまう。 コピーしてくれたテーブル…

シークのできないFLVを再変換

何らかの要因で壊れてしまい、シークのできないFLVがある。 これはffmpegを使って再変換をすれば解消できる。 ffmpeg -i input.flv -vcodec copy -acodec copy -sameq output.flv 自分のストリームを動画で残そうとして気づいた。

vsftpdでFTPS(FTP over SSL) の設定

鍵ファイルは rsa_private_key_file で指定できる。 rsa_private_key_file=/PATH/TO/server.key 証明書は、中間証明書を指定する機能がないため、 2つのファイルをくっつけたものを用意してそれを証明書として指定する。 順番は 証明書→中間証明書 の順。 ca…

WindowsのFTPクライアントはPASVモードに対応していない。

概要 Windows標準のFTPクライアントはPASVモードに対応していない。 ACTIVEモードでは標準(20,21)以外のポートに接続することは現実的じゃない(NAT問題)。 Windows標準のFTPクライアントをターゲットにする場合、 FTPサーバは標準ポートかつACTIVEモードのも…

php-gdが動作していない

php

概要 「php-gdが動作していないのでなんとかして」の対応メモ。 CentOS-6.4 x86-64 php-5.5.4 5.5.4-1.el6.remi gd-last 2.1.0-0.10.725ba9d.el6.remi

Chef更新とcygwinから使うメモ。

概要 Chefの新バージョンが出ていたので新しく入れることにした。 Windows7 64bit Cygwin 1.7.32 32bit Chef 11.16.0 Windows版 直接関係はないけどVagrant, VirtualBoxもWindows版

composer dumpautoload

autoload関連の定義ファイルを最新にする。 composer.jsonでautoload定義を更新した場合などに実行する必要がある。 名前から想像しづらくてすぐ忘れる。 composerのバージョンにもよるが、以下のようなautoload関連のファイルが対象。 vendor/autoload.php …

PHPでSoap Client

PHPで久しぶりにSOAP接続することになった。 たまにしか使わなくて忘れていたのでメモ。

DateTimeImmutableにハマる

PHP-5.5から使えるようになった DateTimeImmutable クラス。 DateTimeとの違いは値が不変であること。 DateTimeInterface というinterfaceも追加されていて、 これを使えば従来のDateTimeとも透過的に扱える。 とても素敵なクラスだと思う。 コード内の日付…

sshd on windows (cygwin)

Windowsでsshdを動かす。Win7Pro 64bit。 ここでは Cygwin の openssh を使う。

Vagrant+VirtualBox で CentOS-6.5 のBoxを作るメモ

Vagrant+VirtualBox で CentOS-6.5 のBoxを作るメモ CentOS-6.5のboxを作ることになったが、6.4のときのメモを参考にした。 6.6の時にもまた参考にするだろうから残しておく。 2014/05/30。

Cygwin on Vagrant + chef-solo + Berkshelf インストール編

Cygwinが絡むと毎回色々悩んでいるのでメモ。Windows7 64bit Cygwin 1.7.25 32bit Vagrant 1.6.2 Windows版 VirtualBox 4.3.12.r93733 Windows版 Chef 11.8.0 Windows版 Berkshelf 2.0.16 Windows版Chefは元々入っていたのを使うので少し古め。 Berkshelfは…

Windows + Cygwin SSHD の環境変数問題

リモートにWindows + Cygwin SSHD環境がある。ここにssh接続して作業を行っているのだけど、 ssh経由でシェルを立ち上げると、Windowsの環境変数が一部しか引き継がれない。 これにより、一部ツールが動作しない事がある。(今回はBerkshelfで、NUMBER_OF_PRO…

ssh-agentとkeychain

手元のPC(cygwin)→リモート 手元のPCはどうせ電源を切るわけだし、ssh-agentが永遠に常駐してもいいと考えているので、 keychainを使っている。 keychain source ~/.keychain/$HOSTNAME-sh ssh-addこれでssh-agentが起動して鍵も読み込まれた状態になってい…

fuelphpをcomposerでインストール

fuelphpをcomposerでインストール業務で少し使っていたのだけれど、 近頃のコンポネント志向なframeworkなら、できることならライブラリ群をcomposerで管理したい。こちらの記事を参考に試してみたところ FuelPHP をもっと Composer で使う | chatii-log Web…

OCP(Open-Closed Principle)

the Open-Closed Principle.拡張については開かれている(open)が、 修正については閉じられている(close)、べきだという設計思想。既存のクラスを修正せずに拡張できるようにせよ。

その場限りのインスタンス

PHP-5.4から、こんな書き方ができるようになった。 インスタンスを変数に格納せずにメソッドを呼べる。 (new ClassName)->someMethod(); PHP-5.3以前はこのように一旦変数に格納する必要があり、面倒だった。 $obj = new ClassName(); $obj->someMethod(); …

PDTでよく使うショートカット

実行系 Alt+Shift+X H php実行 Alt+Shift+D H phpデバッグ Alt+Shift+X Q Ant実行 検索系 Ctrl+Shift+R クラス検索 Ctrl+J インクリメンタルサーチ Makegood Alt+M C コンテキストをテスト Alt+M F ファイルをテスト Alt+M R 直前のテストを再実行 エディタ …

命名メモ

英語の弱い自分のための命名に関するメモ decide(でぃさいど) 決心する。 複数の候補の中からひとつを選定する場合にいいかも。 candidate(きゃんでぃでいと) 候補 formula(ふぉーみゅら) 決まり文句。公式。 refine(りふぁいん) 洗練、改良。

エクスプローラの右クリックからcmd.exe/mintty起動

とあるディレクトリをshellで開きたいことがある。レジストリの以下のキーにREG_SZでコマンドを書けば、 エクスプローラ上でフォルダを右クリックして開くことができる。 HKEY_CLASSES_ROOT/folder/shell/任意の名前/command minttyの例 HKEY_CLASSES_ROOT/f…

64bit環境のWindows7でvimprocをビルド

Windows7 64bit cygwin 1.7.25 64bit GVim 7.4(kaoriya) 64bit vimproc 7.0 1. cygwinにmingwのgccを入れておく (mingw64-x86_64-gcc)2. make_mingw64.mak 内の gcc を mingwのgccに書き換える $ cd ~/.vim/bundle/vimproc $ diff -u0 make_mingw64.mak.org …

chef-solo 対象サーバの一時ファイル

$HOME/chef-solo/dna.json run_list /tmp/chef-scriptxxxxxxxx-xxxxx-xxxxxxx 実行中のbashやscriptリソース。 `ps -aux | grep chef` で出てくる。 /var/chef/cache/chef-stacktrace.out エラー発生時のStackTrace

cygwin + chef-solo のはまりどころ

SSH鍵のパスはWindows形式である必要がある。 knife solo prepare user@hostname -i "C:\cygwin\home\pen\.ssh\id_rsa" -Vknife solo cook user@hostname -i "C:\cygwin\home\pen\.ssh\id_rsa" \ -l debug nodes/phpci.jsonsudo設定で !requiretty がされて…

ExcelフレンドリなCSVをphpunit/dbunitで使う

phpunit/dbunitで、DBのテストデータをCSVで用意するのはよくやること。いまどきのアプリなら当然 UTF-8。 でも Excel は UTF-8 をまともに読み書きできない。Excel よりも UTF-8 に強いツールはある事はあるのだけども、 やっぱり操作感は Excel には敵わな…

EGitのリポジトリ情報

このファイルに保存される。 workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefsプロジェクト選択>Team>ShareProject>Git Use or create repository in parent folder of projectにチェックを入れて ./.git …

行列変換

SQL

諸々の事情でテーブルが微妙な正規化になっていることがある。 よく見かける例が、ユーザ情報のテーブルに、メアド1、メアド2…といったもの。繰り返し項目が列ベースになっている困ったテーブルとの相互変換のメモ。

履歴付きデータ

SQL

社員の部署移動や、市町村の統廃合など、 あるデータに変更があったが過去の情報も残しておきたい場合によく使うパターン。pkeyを開始日+xxの複合キーにする。 終了日をNOT NULLで定義、継続中のデータはカラムの最大値を設定する。 CREATE TABLE emp ( beg…

KISSの原則

Keep It Simpke, Stupid. (単純にしておけ。馬鹿が。)

Win7でtelnet

C:\Users\aiueo>telnet 192.168.1.203 'telnet' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 あれっ コンパネ>プログラムと機能>Windows機能の有効化または無効化>Telnetクライアント再…

自動起動の設定(chkconfigとsysv-rc-conf)

使い慣れたchkconfigがなにやら失敗する。 [19:32:00 pen@aka init.d]$ chkconfig --list wicd wicd 0:off 1:off 2:on 3:on 4:on 5:on 6:off [19:32:11 pen@aka init.d]$ sudo chkconfig wicd off /sbin/insserv: そのようなファイルやディレクトリはありま…

Xの再起動

firefoxでyoutubeの動画をフルスクリーンにしたら、 LXDEのパネルが消えて戻らなくなった。もうしない。で、Xだけ再起動する手順のメモ。 まず、作業中のファイルを全部保存する。Ctrl + Alt + F1~6 でttyをデスクトップ環境以外に切り替える。 FキーはRunL…

バッテリ情報を出力する

Let's note CF-R5 がWinXPだからそろそろアレで、 スペック的にWin7は厳しいしubuntu-12.04.1を入れてみたのだ。デフォルトのwmでは重くて全然だめだったけど、LXDEにしたらそこそこ動く。 ただ、バッテリの持ちが悪いねぇ。 それで、バッテリの情報はprocか…

bashスクリプトのログに日付をつける(プロセス置換機能)

参考 http://sechiro.hatenablog.com/entry/2013/08/15/bash%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E7%BD%AE%E6%8F%9B%E6%A9%9F%E8%83%BD%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%B7%E3%82%A7%E3%83%AB%E4%BD%9C%E6%A5%AD%E3…

uid, gidをID順にソートして一覧する

サーバ間で uid や gid が揃っていない問題。 あってはいけないことだけど、そんな環境もあるよね。 ユーザID(uid) cat /etc/passwd | awk -F':' '{print $3 " " $1}' | sort -n グループID(gid) cat /etc/group| awk -F':' '{print $3 " " $1}' | sort -n

SendToはいずこへ

今さらながら WinXP から Win7 に乗り換えた。 そして早速こまったりして。 アイコンを右クリックして「送る」でアプリに食わせることのできる便利な機能。元々はEメールとかFAXとかFDに送るためのものだった気がするけど、 頻繁に使うエディタに送るのがも…

石川は日本列島のアホ毛である。

よくわかんないことは、すべて誤差である。

Eclipseが起動しなくなった場合

Windowsではあまりなったことがないのだけど、OSXで発生して困った。$WORKSPACE/.metadata/.log に有用なログは出てなく、 "-clean" を指定して起動してもだめ。workspaceの選択後に延々と待たされてしまう。 どうも一時ファイルが悪さをしているようで、こ…

DevLove2012に行ってきた

参加してきた。 会場提供のサイバーエージェントさんから 「Ameba Water」なる栄養のありそうな水とRedBullが支給される。

CtrlとかCommandとかOptionとか

mac

Shiftとか、Ctrlとか、 それを押しながら別のキーを押すといつもと違う動きになるキー、あるじゃん。 この構成がWindowsとちょっと違うの。Windowsは、Shift, Ctrl, Alt Macは、Shift, Ctrl, Command, Optionいっこ多い! とても混乱しているのでメモ。 この…

タイムゾーンの初期設定とタッチパッド

mac

Windows8はUIががらりと変わると聞いて、 それならもういっそのことmacでもいいんじゃないかと思い MacBook Pro Retina 13インチを買ってしまった。Windows 20年戦士から見たMacについて、 これからも覚えたことをどんどんスワップアウトしていこうと思う。 …

PostgreSQLで全文検索

PostgreSQLで形態素解析+全文検索をするなら textsearch_ja を使う模様。 GIN indexのmecabでの実装。お仕事で使ったので,構築手順と動作確認のメモ書き。 CentOS-5.5 x86_64。 Postgresの全文検索のところのドキュメントは読んでおく必要がある。 http://…

Zend_Http_Clientのすすめ

PHPでちょっとしたHTTPリクエストを送る必要がでてきた。 どうせGETだし単純だし file_get_contents() でいいやーと実装。 度重なる改修・機能追加,要件が膨らみ, なにやら複雑なコードになってしまっていることは少なくない。file_get_contents() はPHPの…

HTTPステータスコード 1xx系 メタ

100 (Continue)そのリクエストが受けられるということを示す。クライアントはExpectヘッダ他を送る必要がある。受けられない場合は417を返す。101 (Switching Protocols)使わない。クライアントがHTTP以外のプロトコルを使うことの宣言である Upgrade ヘッダ…

HTTPステータスコード 5xx系 サーバ側エラー

500 (Internal Server Error)サーバ側で詳細不明の問題が起きている。必要であればbodyにエラーメッセージを付けるが,クライアントで解決できる問題ではないので無意味かも。501 (Not Implemented)サーバがサポートしてないHTTPの機能を使おうとした。WebDA…

HTTPステータスコード 4xx系 クライアント側エラー

400 (Bad Request)不正な形式,無意味なデータをクライアントが送信してきた場合。クライアント側の汎用エラーなので,他の4xx系が使えなければこれ。必要あればbodyにエラーメッセージを付ける。401 (Unauthorized)認証情報がない・正しくない。WWW-Authent…

HTTPステータスコード 3xx系 redirect

300 (Multiple Choices)あまり使わない。要求されたリソースの表現方法が複数あり,どれを返せばよいかわからないことを示す。クライアントがAccept-*の指定をしてなかったか,存在しない表現を要求したかのどちらか。デフォルトを決めておいて,200とともに…

HTTPステータスコード 2xx 正常系

今更ながら,今後増えてゆくであろうweb api開発時のためにまとめておく。Restfulでありリソース指向であるものが美しい設計と考える。 200 (OK)あらゆるメソッドの正常終了201 (Created)putでリソースを新規作成した場合。Locationヘッダはリソースへのパス…

Postelの法則

サーバは理想主義であれ。クライアントは実用主義であれ。 受信に関してはより柔軟に、送信に関してはより正確に。 人に優しく、自分に厳しく。

記事を書いてみるテスト

春はあけぼのやうやう白くなりゆく山ぎは少し明かりて紫だちたる雲の細くたなびきたる 夏は夜月の頃はさらなり闇もなほ蛍の多く飛び違ひたる 秋は夕暮 夕陽のさして