サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
calpo.hatenadiary.org
ブラウザに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設定部分を通ってないことが原因 バーチャルホストの設定で ポート番号の設定間違い IPアドレスの設定間違い 別ファイルにしたssl.confのinclude忘れ 意図とは違うバーチャルホストの設定を通っている(後述) 設定は正しいがhttpdの起動に問題 (← 今回はコレ) 設定は正しいのにSSL関連の設定部分を通らないケース httpd.confに <IfDefine SSL> ・ ・ </IfDefine>と
Githubでサブアカウントを使おうとしてもSSH公開鍵が同じだと同じユーザーと判断されてしまうため、そのままだとユーザー切り替えとか簡単には出来ません。 以下やりかた メインアカウントの設定は既にできてるものとします。 まずはサブアカウントの準備 サブアカウント用のsshキーペア作成 cd mkdir ~/.ssh/key4github/ cd ~/.ssh/key4github/ ssh-keygen -t rsa -C "hoge@example.com"キーの場所指定で ~/.ssh/key4github/ とする パスフレーズを忘れないように サブアカウント用のGithub側設定 右上アイコンAccountSettings>SSH Keys>Add SSH Keys から できた id_rsa.pub をはりつけ。 接続確認 さっき作った鍵でアクセスできるかどうか試します。 ss
以前jQueryで自前クリックカウントを取ったりしてたけどAnalyticsを使えば話は簡単だった。 (検索すると古いトラッキングコードの説明とかが引っかかってわりと混乱したけど) 任意のイベントを好きなようにグルーピングして階層でまとめてきれいにグラフで見せてもらえると。 イベントを拾うのでリンクだけじゃなくビデオの再生回数とかそういうのも。 $(function(){ $('a').click(function(e){ _gaq.push(['_trackEvent', 'Links', 'Click', $(this).attr('href')]); }); }); <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'xxxxxxxxxxxx']); _gaq.push([
twitter bootstrap railsを使ったら職が見つかり彼女も出来て背も3センチ伸びました。 ↑が親切すぎたので何も考えずにやってたらherokuでエラーがでてハマった話。 twitter-bootstrap-rails入れてherokuにデプロイしたらエラーが出る $ git push heroku master $ heroku open $ heroku logs 2012-02-28T12:11:12+00:00 app[web.1]: Completed 500 Internal Server Error in 205ms 2012-02-28T12:11:12+00:00 app[web.1]: 2012-02-28T12:11:12+00:00 app[web.1]: ActionView::Template::Error (couldn't find file
2011/05/17 画像タグのみ版追加→CSSだけでサイズ不定画像の中央を正方形に切り抜きサムネイル (かんたん!) 長方形の画像の中心部を正方形に切り出してサムネイル表示したいんだけど、縦横比が定まってない画像の場合ってどうやって中心部を切り出したらいいかしらね、という話。 画像の縦横比が分かっている(一定である)場合 このケースであればoverflow:hiddenな枠で画像を囲って位置を調整してあげればOK。特に問題は無いでしょう。 ↓等が参考になるかと思います。 http://www.multi.ne.jp/staff_note/2008/10/000543.php 画像の縦横比が不明だったり画像ごとにばらばらな場合 前述の方法だと、画像の真ん中辺を表示するために何pxずらして表示すればいいのか分かりません。できるエンジニアなら「じゃぁサーバーサイドでやるわ」とか「JavaScr
PHP Avent Calendar jp 2011の10日目、[twitter:@calpo22]です。 →前日「includeとextractの組み合わせでテンプレート処理を作る。PHPのAdvent Calender #9 - それマグで!」 ※追記 2012/09/16 PHPが古いとかの事情がなければ、今はライブラリの依存管理にはcomposer使うのがいいと思います。 取り急ぎ手元でPHPUnit使いたいとかであれば http://qiita.com/items/81085381c4281e498cde で一発。 みなさんPEAR使ってますか? PEARのライブラリを普通にインストールすると/usr/binとかに入るんですが、そうじゃなくて自分用に~/binに入れたいとか、フレームワークのvendorディレクトリに入れたいとかありますよね。 これで結構苦労していたところ、今年の
JenkinsやPHPUnitやPhingの導入についてのありがたいまとめはいっぱいあります。 世の中のJenkins/PHPUnitのインストール情報はroot権ある人用 (当たり前) レガシーな開発環境にはPHPUnitなんぞ入ってなかったりします。 そのわりにポートはしっかり閉じられててJenkins起動しても8080で接続できないとか。 仕方ないのでローカルのWindowsPCにJenkinsとか入れて、レガシーコードの方をWindowsPCに落としてきたけどまともに動かない しょうがないのでサンプルスクリプトでちょこっといじって終了 一般ユーザー権だけでJenkins/PHPUnit/Phingしたい でも実際に業務で触ってるものに対してPHPUnitでテスト書いて、JenkinsとPhingでCIしてみたい。 sudoできる人たちに「努力の方向が間違ってる」といわれそうですが。
と思ったけどすんなり行かなかったのでメモ。 +-------+--------------+------+-----+ | Field | Type | Null | Key | +-------+--------------+------+-----+ | id | char(32) | NO | PRI | | title | varchar(300) | NO | | +-------+--------------+------+-----+↑のようなテーブルhogeにauto_encrementなfugaカラムを追加しようとしたが・・・ mysql> alter table hoge add column fuga int NOT NULL AUTO_INCREMENT after id; ERROR 1075 (42000): Incorrect table definition
俺はRDDを使い手なんだがプロジェクトリーダーがが残念なことにTDDを使ってきたので「お前それで良いのか?」と言うと「何いきなり(テスト書かずに)実装してるわけ?」と言われた。 俺の前プロジェクトチームがTDDの熟練者なのだがおれはいつもデスマーチにするから気の毒になったので聞いただけなんだがむかついたので「お前中身が空のテストでボコるわ・・」と言ってプロジェクト開始直後にバグを溜めてコミットしたら多分リアルでビビったんだろうな、、カバレッジ測定してきたから無視してカカッとコミットしてから障害だしたらかなり青ざめてた おれは一気に次の実装をしたんだけどリーダーがテンパってておれの作業を見失ったのか指示出してこなかったから独自インデントでコーディング規約を崩した上についげきのオレオレデザインパターンでさらにプロジェクトへのダメージは加速した。 わざとチームから距離をとり「俺はこのまま納期に間
TDDしたい、CIしたいと思ってもなかなか導入できない。何でだろう? PHP製WebアプリケーションでのTDDを学び始めた現時点の気持ちまとめ。 Seleniumを使うような高いレイヤーのテスト どんなテストを書けばいいのかわからない 例えばDBから商品情報取ってページ生成する場合。 商品カテゴリごとに異なる趣きのページを作るのでそれぞれにviewのテストを書いたとする 各ページ内の商品詳細URLにパラメータが追加されることになった URL生成は共通のモデルで行っている 修正は一ヶ所で簡単なもの だったとしてもviewのテストはそうは行かない。 先に用意したテストケースを全部書き直さなきゃならない。 小さな変更にかかるコストが大きくなる 単純に時間がかかるというより めんどくさくなる → どうせやらなくなる という思い。 コントローラーとか中間くらいの層のテスト viewよりは下、ユニット
アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣 作者: Venkat Subramaniam,Andy Hunt,木下史彦,角谷信太郎出版社/メーカー: オーム社発売日: 2007/12/22メディア: 単行本(ソフトカバー)購入: 35人 クリック: 995回この商品を含むブログ (291件) を見る 45個のプラクティスの紹介が、それぞれ悪魔の誘惑に始まり天使のささやきで終わる。具体例と実行時の気持ちまでが説明されていてとても楽しく読みやすい。(日本語訳がとても丁寧に行われたように思えます) 以下、本を読んだ感想やふと思ったこと。 アジャイルは開発手法ではない アジャイルはチームを構成するメンバー各人の心構え、仕事に臨む態度である ・・・ここまで言い切ると語弊があるかもしれないが、この本を読むまではアジャイルというのがこんなにも人間にスポットを当てた方法論だとは思ってなか
↓こんな記事を発見。(私がJSLintをフォークしてJSHintを作った理由) http://anton.kovalyov.net/2011/02/20/why-i-forked-jslint-to-jshint/ ここで話題になってるJSLintを作った人が、今読んでるJavaScript:Good Partsの著者らしいのでちょっと興味が沸いて読んでみた。 JSLint でのチェックができない! よくあるコードだと思うんですが↓のようなコードをJSLintすると var myfunc = function() { for ( var i = 0; i < 3; i++ ) { /* something */ } }; ↓こんなふうに言われてそれ以降のチェックが行われない。 Error: Problem at line 2 character 11: Move 'var' declara
より適切なものが追加されたのでそっちを使いましょう。 setInterval/setTimeout → requestAnimationFrame; これまでは setInterval function render(){ // アニメーション 1フレーム分の処理 } setInterval(render, 1000 / 60); これはもう古い。 これからは requestAnimationFrame function animationLoop(){ render(); requestAnimationFrame(animationLoop); } animationLoop(); こうすべし。 requestAnimationFrameにすると何がいいの? 複数のアニメーション描写処理を一つにまとめて最適化してくれる 同じ用に動かしている物体A,Bの動きが次第にずれていくとかがなくな
除外する手段はいろいろあるが・・・ カスタムフィルタで除外する対象を指定します。 IPアドレスやブラウザなどいろいろ指定できるものはありますが、どれも自分一人を特定するには向かないものです。なのでcookieを使って自分が使っているブラウザを除外対象に設定します。 Cookieを使って除外する Analyticsはプロファイルごとにユーザー定義の値ユーザーに持たせることができます。 そこで自分自身(のブラウザ)にno_reportという値を設定し、この値を持つユーザーを除外するようAnalyticsに設定します。 Analyticsの設定 Analyticsの管理画面から該当プロファイルの「編集」をクリック プロファイル設定から「+フィルタを追加」をクリック フィルタ情報の欄で「カスタムフィルタ」を選択 追加で表示されたメニューで以下のとおり設定して「保存」 フィルタ名:自分を除外(適当で
subversion1.4くらいの古いバージョンを使ってたのだけど、1.6にあがってから上記のようなエラーメッセージが出ることが稀によくある。 このほど理由が分かったのでメモ。 エラーは出るが実はコミットされる ↓こんな感じ $ svn ci 送信しています path/to/working/dir/changed/file ファイルのデータを送信しています ..svn: コミットに失敗しました (詳しい理由は以下のとおりです): svn: attempt to write a readonly database svn: attempt to write a readonly database svn: コミットメッセージが一時ファイルに残っていました: svn: '/path/to/working/dir/svn-commit.tmp'このようなエラーは出るものの リポジトリにはちゃんと
このページを最初にブックマークしてみませんか?
『calpo.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く