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

UserDirアクセスのリライトルール

ハマった。。。 <IfModule mod_userdir.c> UserDir public_html </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [R] </IfModule>と設定して、 http://mydomain/~myuser/abc/defというふうにアクセスすると、期待…

2分木探索

php

必要があって書いた。 https://gist.github.com/4037394

svn import

svn

大量の管理外ファイルをコミットする時、失敗、めんどくさいことになる時があるので以下メモ。 svn既存プロジェクトをbranch, tagへのコピーではなく、新しいプロジェクトリポジトリにコピーする手順先ずは、新しいリポジトリの作成 svn # svnadmin create /…

特定のテーブルのみpg_dumpする

たまに使うので。 pg_dump -c -t tablename > dumpfile

timezoneの設定

php

PHP Warning: mktime(): It is not safe to rely on the system's timezone settings.とでたので、 date_default_timezone_set( "Asia/Tokyo" );とする。

strtotimeでハマる

php

64bitでも2038年(unixtimestamp:2147483647)までなのね。。。 追記 PHP5.2.6からは2147483647以降のtimestampも大丈夫なようです。 https://bugs.php.net/bug.php?id=44209

jpg cmykにハマる

jpgファイルがIE表示できないや、表示できるブラウザで見ると、登録した画像と色味違うというトラブルが発生で画像を調べる int(425) [1]=> int(198) [2]=> int(2) [3]=> string(24) "width="425" height="198"" ["bits"]=> int(8) ["channels"]=> int(4) […

google map v3 地図中心の緯度経度取得

gp = map.getCenter(); lat = gp.lat(); lng = gp.lng();で取得できる

POST メッセージボディの受け取り

php

直接、メッセージボディにjsonが飛んでくるので。 $fp = fopen( "php://input", "r" ); $message_body = stream_get_contents( $fp ); fclose( $fp ); $data = json_decode( $message_body ); php://stdinじゃダメ。 php://非推奨だが、 always_populate_raw…

可変長引数の関数を作成する

php

今までやったことなかったので。 関数の引数

githubにpushでエラー

git

github1にpushしようとすると以下のエラーが出た error: failed to push some refs to 'git@github.com:myrepo' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing a…

世界で闘うプログラミング力を鍛える150問

これ読みたい。発売が楽しみ。世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~作者: Gayle Laakmann McDowell,秋葉拓哉,岩田陽一,北川宜稔,Ozy出版社/メーカー: マイナビ発売日: 2012/11/13メディア: 単行本(ソフトカバ…

init.dスクリプトを作成

/etc/init.d/ 以下に配置するプロセス起動ファイルを作成 # vi /etc/init.d/myruner# chkconfig: 345 99 01 # description: my init.d file# chkconfig: runlevel 起動順番 終了順番 chkconfig --add serviceでrc.dにリンク貼る定義がこれ。実行ユーザ、コマ…

WEB+DB PRESS Vol.71

読んだ。 WebSocketとPlay frameworkのお勉強。 WebSocketは楽しい。WEB+DB PRESS Vol.71作者: 竹迫良範,Jxck,はまちや2,相澤歩,柴田博志,池田尚史,梅澤雄一郎,九岡佑介,近藤宇智朗,佐藤鉄平,mala,川添貴生,じょさん,後藤秀宣,藤原俊一郎,奥野幹也,堤智代,森…

Cannot find config.m4.

php

# pecl install json Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module ERROR: `phpize' failedOh...で、こうインストールする # cd /usr/local/src/ # tar xvfz /tmp/pear/download/json…

O'Reilly Japan Ebook StoreでMongoDB本購入

MongoDB本買った。MongoDB and PHP作者: Steve Francia出版社/メーカー: Oreilly & Associates Inc発売日: 2012/02/03メディア: ペーパーバック クリック: 2回この商品を含むブログ (2件) を見るScaling MongoDB作者: Kristina Chodorow出版社/メーカー: Ore…

MySQLのrootユーザのパスワードを忘れてしまったら

# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)でエラーが出る時。MySQLを--skip-grant-tablesで起動 # /etc/init.d/mysqld stop # mysqld_safe --skip-grant-tables & [1] 27375 121025 08:18:28 my…

logwatchを標準出力

# logwatch --printで吐ける。 設定ファイルは /usr/share/logwatch/ 以下にある

chrome, IE9のform.submit()

ハマったので。 <form name="f1" action="hoge" method="post"> <input type="submit" name="button1" value="button1" onClick="this.form.submit();"> <input type="submit" name="button2" value="button2" onClick="this.form.submit();"> </form> 例えばこのようなマークアップ、以前は押下されたsubmitボタンのname=valueも送信されたような気がしたが、勘違いしていた模様。 (ちなみ…

pcntl_forkのメモ

php

覚え書き _timeout ); //親スレッドからはpid=0で渡されるので自分自身のpidは以下で取得 $mypid = getmypid(); /** * なんらかの処理を書く * 親スレッドへメッセージは送れないので、 * 共有メモリやストレージにpid付きで保存等工夫 * * loop内で複数回pc…

Mac OS X PHPにpcntlをインストール

やってみたいことがあったので。 $ php -v PHP 5.3.15 with Suhosin-Patch (cli) (built: Jul 31 2012 14:49:18) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologiesと出たので該当バージョンのPHPソー…

permission denied for sequence sl_action_seqのエラー原因

slony-iのレプリケーション環境で以下のエラーが出た postgres7 error: [-1: ERROR: permission denied for sequence sl_action_seq] in EXECUTE("select lastval() AS lv;")該当部のコードを見てみると、 //レコード登録 pkeyはserial型 $db->query( insert…

半角スペースを16進数ASCIIで

$array = explode( "\x20", $string ); $string = join( "\x20", $array );$array = explode( " ", $string ); $string = join( " ", $array );よりは見やすいかな。 0x20とどっちだっけとよく忘れるので。

windows7 64bit Lhaplus右クリックで「圧縮、解凍」

ファイル右クリックで「圧縮、解凍」が出ないので、調べてみると、 すぐに拡張シェルを配布されているページを発見しました。 Lhaplus x64 shell extensionからLplsShlx64-v1.0.1.0.zipをダウンロード install.cmdを右クリック→「管理者として実行」すればよ…

bookmarklet

ちょっと作りたいものがあったので。 javascript:( function(){ var url='http://example.com/'; function o(title, src_url){ var m=window.open(url+'?title='+title+'&src_url='+src_url, 'a', 'width=600, height=400'); } o(encodeURIComponent(documen…

nologinユーザーにsuする

例えばこんなapacheユーザ root # vipw apache:x:48:48:Apache:/var/www:/sbin/nologin普通にswitch userすると root # su - apache This account is currently not available.となるので、ログインシェルを渡すとswitch userできる root # su - apache --sh…

trac環境の引越し

tracの環境を移行 /var/trac/repo を新環境に設置。 ブラウザからアクセスすると DatabaseError: file is encrypted or is not a databaseのエラーが。sqliteのバージョンが合ってないとのことなので、 # mv /var/trac/rep/db/trac.db /var/trac/rep/db/trac…

phpでGCM送信

書いた。 マルチキャストとポスト送信に対応。 使い方は、 set_api_key( "apikey" ); $GCM_request->set_extract( "key1", "value1" ); $GCM_request->set_extract( "key2", "value2" ); $GCM_request->send_message( array( "resistration_id1", "resistrat…

git addの操作取り消し

git

git addを取り消す $ git reset HEAD filename直前のgit commitを取り消す git commit --amend久々にgithubに上げたので。 git add filename git commit -m 'commit log' git push -u origin mastergithubのファイルを削除 git rm filename git commit -m 'c…

GCMの仕様、制限

必要があって調べたのでメモ。GCM Architectural Overview より同じメッセージを複数の端末に送信する場合はjsonペイロードで送信する。 registration_idsを,(カンマ区切り)で指定。 1セッションで送信できる端末数(registration_ids)は1000まで。 dataの最…