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

PyrusでプロジェクトローカルなPEARライブラリインストール : PHP Advent Calendar jp 2011 Day 10

PHP

PHP Avent Calendar jp 2011の10日目、[twitter:@calpo22]です。 →前日「includeとextractの組み合わせでテンプレート処理を作る。PHPのAdvent Calender #9 - それマグで!」※追記 2012/09/16 PHPが古いとかの事情がなければ、今はライブラリの依存管理にはc…

session_set_save_handler()でカスタムセッションハンドラ設定したらFatal error: Class not found

PHP

複数のwebサーバーでセッション情報共有するのにmemcached使うためにカスタムセッションハンドラ設定したら ばっちり定義してるはずのクラスがなかったことになっててびびった話。 問題のあったスクリプト クラスHogeを定義 writeハンドラでnew Hoge()

SSLでエラー ssl_error_rx_record_too_long (-12263)

SSL

ブラウザにssl_error_rx_record_too_longと出力されて接続できない。エラーログには↓のように出る。 [Mon Sep 19 22:46:23 2011] [error] [client xxx.xxx.xxx.xxx] Invalid method in request \x16\x03\x01 一般的な原因 以下のような理由でhttpd.confのSSL…

quickrun: Specified outputter is not registered: buffer

vim

久しぶりに:BundleInstall!して、quickrun.vimがVersion0.5.0になったら動かなくなっちゃったけど、 vim scriptもgitもよく分かってなかったので前のバージョンを使うようにするのに苦労したからメモ。[追記 20110906] ちゃんと新しいvimを使ってればこんな…

root権のない一般ユーザーでも開発環境でCI(Jenkins/PHPUnit/Phing)してみたい (中編)

前回の続き、pearでPHPUnitインストールなど。 自分用pearの準備 pear自体はPHPについてくるので誰でもつかえると思うんですが、インストール先が/usr/local/phpとかだったり、そもそもpearが古かったりするので自分用のを入れましょう。 .pearrcの生成 /hom…

root権のない一般ユーザーでも開発環境でCI(Jenkins/PHPUnit/Phing)してみたい (前編)

JenkinsやPHPUnitやPhingの導入についてのありがたいまとめはいっぱいあります。 世の中のJenkins/PHPUnitのインストール情報はroot権ある人用 (当たり前) レガシーな開発環境にはPHPUnitなんぞ入ってなかったりします。 そのわりにポートはしっかり閉じられ…

uncaught exception: Syntax error, unrecognized expression: [@name=hoge]

jQuery1.2.6からjQuery1.6.2にアップデートしたらこんなのが出てきた。 jQuery内部でエラーが出てる 確か1.3でセレクタのエンジンがSizzle変わったといってたのでそのせいかしら。なんとも今更な。 昔の話しすぎて日本語の情報があんまり情報が引っかからな…

RDD (Release Driven Development) リリース駆動開発

とりあえずリリースして様子を見る、という開発手法。 ちょっと変更してすぐリリース 変更がちょっとなのでバグを埋め込みづらい 変更がちょっとなのでバグがあっても対処しやすい 変更に対する反応を確認しやすい 変更が大きいと、何が原因でこんな反応が返…

恥知らずなTDD使いがいた!

俺はRDDを使い手なんだがプロジェクトリーダーがが残念なことにTDDを使ってきたので「お前それで良いのか?」と言うと「何いきなり(テスト書かずに)実装してるわけ?」と言われた。 俺の前プロジェクトチームがTDDの熟練者なのだがおれはいつもデスマーチに…

テストコードのディレクトリ構成

今日のレガシー対応 ディレクトリ構成のお手本が見つからない PHPUnitのテスト用ディレクトリ構成はこうしなさい、みたいなのが見つからなかったので悶々と悩み続け・・・ Rails的なディレクトリ テストの内容でディレクトリを分けるか・・・ test |-- fixtu…

privateメソッドのテスト

今日のレガシー対応 privateメソッドをテストハーネスに入れた あるクラスのprivateメソッドのテストをしたい class Hoge { public pubMethod(){ $this->meth1(); ・・・ $this->meth2(); ・・・ } private meth1(){ ・・・ } private meth2(){ ・・・ } } …

PHPでTDD&CIワークショップ に参加してきました

勉強会は初めてで敷居が高いもののどうしてもテストがうまく書けなかったのでヒントをもらおうと、勉強会に勉強しに行った素人です。とても勉強になりました。レガシーコードに立ち向かう気力も頂きました。ほんとうにありがとうございました。 以下、TDD等…

既存システムでTDDするのが難しい理由

TDDしたい、CIしたいと思ってもなかなか導入できない。何でだろう? PHP製WebアプリケーションでのTDDを学び始めた現時点の気持ちまとめ。 Seleniumを使うような高いレイヤーのテスト どんなテストを書けばいいのかわからない 例えばDBから商品情報取ってペ…

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣 を読んだ

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣作者: Venkat Subramaniam,Andy Hunt,木下史彦,角谷信太郎出版社/メーカー: オーム社発売日: 2007/12/22メディア: 単行本(ソフトカバー)購入: 35人 クリック: 995回この商品を含むブログ (291…

requestAnimationFrame < よーしおまえらー、アニメーションにsetInterval使うなよー

より適切なものが追加されたのでそっちを使いましょう。 setInterval/setTimeout → requestAnimationFrame; これまでは setInterval function render(){ // アニメーション 1フレーム分の処理 } setInterval(render, 1000 / 60); これはもう古い。 これから…

JavaScript The Good PartsとJapaScriptパターンを読んだ

読んだ後の感想 JavaScript The Good Parts (´_`) 経典 JavaScriptパターン (´_`) JavaScript The Good Parts 強い思想に基づいた断定的な物言い 神はJavaScriptを作られた。 そこには善いパーツと悪いパーツがあった。 善悪の区別のつかぬ開発者はこれを使…

CSSだけでサイズ不定画像の中央を正方形に切り抜きサムネイル (かんたん!)

CSS

前に書いた記事より良さそうな方法が見つかったので。 長方形の画像を正方形に切り出してサムネイルとする サンプル CSSだけでサイズ不定画像の真ん中へんを正方形に切り抜きサムネイル - jsdo.it - share JavaScript, HTML5 and CSS 解説 HTML <a href=""> <img class="architrave_image" src="1pxの透過gif"> </a> CSS .arch…

John Resig「jQuery1.5.2から1.6.1へのアップデートでattr()のコードを書き換える必要はない」

jQuery1.6が出たとき、attr()の動作が変わっていてひと悶着あったんですが、このほどその辺が考慮された1.6.1が出ました。ひゃっほぅ まぁ僕はなぜかjQuery1.2.6を使い続けているので対岸の火事だったわけですが。 1.5.2から1.6へのアップデートで.attr('che…

GoogleAnalyticsのレポートから自分のアクセスを除外する方法

除外する手段はいろいろあるが・・・ カスタムフィルタで除外する対象を指定します。 IPアドレスやブラウザなどいろいろ指定できるものはありますが、どれも自分一人を特定するには向かないものです。なのでcookieを使って自分が使っているブラウザを除外対…

長方形の画像を正方形に切り出してサムネイルとする (画像サイズばらばらの場合&CSSのみで実装)

CSS

2011/05/17 画像タグのみ版追加→CSSだけでサイズ不定画像の中央を正方形に切り抜きサムネイル (かんたん!)長方形の画像の中心部を正方形に切り出してサムネイル表示したいんだけど、縦横比が定まってない画像の場合ってどうやって中心部を切り出したらいい…

「JavaSE Development Kit (JDK) not found」TitaniumのAndroid開発環境でつまづいている人に伝えたいただ一つのこと

「JDK無いって言われたら "< Back"ボタン押せ!」 JDKあるのに無いって言われてインストールできない ↓こんな感じ 環境変数はJAVA_HOMEもPATHもCLASS_PATHも設定したのに・・・ 原因はそんなことではなく http://stackoverflow.com/questions/4382178/androi…

svn: attempt to write a readonly database

svn

subversion1.4くらいの古いバージョンを使ってたのだけど、1.6にあがってから上記のようなエラーメッセージが出ることが稀によくある。 このほど理由が分かったのでメモ。 エラーは出るが実はコミットされる ↓こんな感じ $ svn ci 送信しています path/to/wo…

JSLintとJSHintとhoisting

↓こんな記事を発見。(私がJSLintをフォークしてJSHintを作った理由) http://anton.kovalyov.net/2011/02/20/why-i-forked-jslint-to-jshint/ここで話題になってるJSLintを作った人が、今読んでるJavaScript:Good Partsの著者らしいのでちょっと興味が沸いて…

PHPでPASV(passiveモード)なFTP

PHP

しようと思ったらあれもだめこれもだめと言われたので cURL、君に決めた! ftp関数が使えない マニュアルのサンプルどおり書いて終了、と思ったら・・・ Fatal error: Call to undefined function ftp_connect()マニュアル: PHP で FTP 関数を使用するには、…

What a wonderful world

英語の勉強にと思ってルイ・アームストロングの What a wonderful world を何十回か聞いてたら、あるときふと歌の意味が一部伝わって来てなんか涙が出そうになった。こんなことってあるんだなー。 と思いつつYoutubeみてたら日本人ですごいうまい人がいた。 …

UTF-8で※や→や■や…(三点リーダ)があるとカーソルがずれたり半角表示になる件

vim

一年以上ずれずれのまま我慢してた ><↓で解決 vim側 .vimrcに以下を追加 set ambiwidth=double PuTTY側 「ウィンドウ-変換-文字コードの設定」でUTF-8(CJK)を選択「ウィンドウ-変換-文字コードの設定」がUTF-8の場合は 「CJK用の文字幅を使用する」にチェ…

MySQLの全文検索の対象にならない単語

FullTextIndexの仕様や挙動は↓がきれいで分かりやすかった。 http://www.tatamilab.jp/rnd/archives/000389.html 失敗したこと Booleanモードで検索してるのになぜか取得できないレコードがあって、 調べてみたら「ft_max_word_len」の制限に引っかかってた…

MySQLでalter tableしてauto_incrementなcolumnをaddしたい

と思ったけどすんなり行かなかったのでメモ。 +-------+--------------+------+-----+ | Field | Type | Null | Key | +-------+--------------+------+-----+ | id | char(32) | NO | PRI | | title | varchar(300) | NO | | +-------+--------------+-----…

sqlite General error: 1 SQL logic error or missing database

SQLite3を使って掲示板みたいなサイトを作っていたとき、windows環境で開発していていざlinux環境に乗せたら動かなくなったという、まぁよくある話。SQLite3のデータを参照するページはちゃんと動くが、更新系の操作をすると上記のエラーが出る。 データファ…

JavaScript製WYSIWYGエディタと改行の問題

designMode="on"での時、データ次第でEnterキー押下時の動作が変わることを知らなかったせいで起こった、HTMLエディタ導入時の失敗談。 当初の要求はこれだけ ボタンで<img>タグを入力できる ボタンで<a>タグを入力できる 自分で実装しようと思ったが後から他にも出</a>…