is_callable() のススメ

PHP

PHP で、クラスに関数が定義されている場合のみ当該関数を call する〜なんてことをする際に、下記のようなコードを書いていたのですが、、、 func(); } 「これって、func() が存在するけどその scope から呼べないケースどうなるん?private 関数とか。」と…

git add の dryrun

git

man 眺めてて偶然発見。 あんま使い機会なさそうですが、、、配下にディレクトリごとまるっとコピーして、そいつを git add する際に、どんくらい add されるかを俯瞰する、なんてケースには使えるかな。 $ cd /path/to/working/dir $ git add . -n

git でタグを切る/チェックアウトする

git

修正を push。 $ git push git.sample.jp:path.to.repos このタイミングでタグを切っておこうと思い立つ。 hash で指定してみる。 git log --pretty=oneline 目的の hash でタグ切る。今回は tags_ver_1.0.0 という名前で。 git tag tags_ver_1.0.0 12345678…

print_a でお手軽 debug

PHP

php 開発で多用するのが、var_dump やら var_export やらによる debug 出力。 こんなカンジ。ちょっとめんどいですよね。 var_dump(var_export($hoge, true)); print_a を使うと、とてもお手軽です。 print_a を利用するには、debuglib.php というファイルを…

OS やら kernel やらの version を調べるコマンド

掲題の件、下記 2 コマンドをよく使う。 主に debian 環境にて。 ■OS $ cat /proc/version Linux version 2.6.26-2-xen-686 (Debian 2.6.26-26lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Thu Jan 27 0…

レポジトリからディレクトリを削除

git

下記コマンドで消せる。 git rm -r hoge/ git rm -r --cached hoge/ 前者だとディレクトリ自体も消えます。 後者だとディレクトリは残った上で、インデックスからのみ削除されます。 上のコマンド叩いて git status すると、deleted 状態になっていることが…

input buffer overflow, can't enlarge buffer because scanner uses REJECT

gtags -v したら、下記エラーメッセージを出力して処理が止まってしまいました。 (snip) [31363] extracting tags of path/to/file/xxx.php [31364] extracting tags of path/to/file/yyy.php input buffer overflow, can't enlarge buffer because scanner …

mac de lv

Mac

mac には lv が入ってないんですねぇ。 日本語読んだりするとき便利なんですが。 ってことで。 sudo port install lv 下記エラーになる場合は、macports 入れましょう。 -bash: ports: command not found The MacPorts Project -- Home

mac de emacs de javascript

Google Code Archive - Long-term storage for Google Code Project Hosting. js2-mode ってのがあるんですかー。初めて知りました。 sudo cp js2-20090723b.el /usr/share/emacs/site-lisp/js2.el sudo emacs C-x C-f /usr/share/emacs/site-list/ M-x M-x …

mac de ペイントソフト

Mac

mac って、、、デフォルトでペイントソフト入ってないのん? つーことで、どれがよいのかわかりませんでしたが、なんとなく目についた下記を試してみました。http://paintbrush.sourceforge.net/よい:-) ただのメモ書きでした。 mac に入れたアプリとか一覧…

emacs でファイルの拡張子に応じて mode 切り替え

.tpl って拡張子を、php-mode に紐付けたくて。 .emacs に下記を追記。 ;; php (load-library "php-mode") (require 'php-mode) (setq auto-mode-alist (append '(("\\.tpl$" . php-mode)) auto-mode-alist)) あ、ちなみに、php-mode 入ってない人は、自分で…

「サイド バイ サイド構成が正しくない…」で困った。。

■問題発生。。。仕事で、前にリリースした MFC アプリケーションを version up しに行ったら、 こんなエラーで起動に失敗しました。 このアプリケーションのサイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。 詳細について…

Cygwin で emacs が終了できない

Cygwin 上で emacs 開いて C-x C-c したら、 C-x C-g is undefinedと表示されて、終了できない。。 どうやら、CYGWIN という環境変数に、tty が含まれていないとダメみたい。 ってことで、以下で解決。 C:\cygwin\Cygwin.bat 開く set CYGWIN=tty という記述…

SO_REUSEADDR で TIME_WAIT な TCP コネクションを再利用

下記エントリで書いた TIME_WAIT の件。socket の TIME_WAIT - 元気よく。エラー内容に気になる記述があります。 同じローカルアドレスを複数のソケットで使うためには、 SO_REUSEADDRソケットオプションをTRUEにする必要がある。 >SO_REUSEADDRソケットオ…

socket の TIME_WAIT

socket 通信をしてて、クライアントから一度接続を切って、その後すぐ再接続したらエラーになりました。。。 環境はこんな感じ。 サーバー: 192.168.1.1:52201 を listen クライアント:192.168.1.2:52202 から connect エラー内容は下記。 接続失敗 WSAEADDR…

リンカスクリプトで定義されたシンボルを C のソース内で参照

リンカスクリプトでメモリのアドレス定義を指定しますが、 このとき、リンカスクリプト内で、特定のアドレスに目印(シンボル)をつけておくことが出来ます。 こんな感じ。 MEMORY { ... ram(rwx) : o = 0xffc020, l = 0x003f00 ... } SECTIONS { ... .sample …

データ領域 と BSS 領域

前にも書きましたが、下記参考書を参考に、組み込み OS を作りつつお勉強しています。http://www.amazon.co.jp/12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%…

gd-2.0.35 のインストール

ubuntu-10.10 に gd-2.0.35 をインストールしようとして若干手間取ったので、メモ。 apt-get を試してみる yam@ubuntu:~/work/mrhc/src/mrhc$ sudo apt-get install gd Reading package lists... Done Building dependency tree Reading state information..…

warning LNK4089 とやらが出力された

VC6 を使用してて、ビルドしたら下記 warining が。 LINK : warning LNK4089: "wsock32.dll" へのすべての参照は /OPT:REF によって廃棄されます リンク中に参照されていない DLL が見つかったので、最適化のために削除しました、って意味みたい。 実害は無…

apache 拡張モジュールの作成

apache 拡張モジュールの作成方法をまとめておきます。 ubuntu 10.10 上で確認。 ソース取得 今回は httpd-2.2.17 を使用。 Download - The Apache HTTP Server Project httpd インストール ./configure --prefix=/home/yam/work/apache2 --enable-so make m…

H8/3069F ボードに書きこんでみた

書き込み用ツール、Open SH/H8 writer (h8write) をビルド。 そんでもってフラッシュ ROM に書きこんでみる。 h8wite ソース取得して、ビルド。 Open H8 writer gcc ./h8write.c -o h8write -Wall chmod +x h8wite 参考書に記述された通りにファームウェア作…

クロスコンパイラの準備

H8/3069F ボード用に biinutils/gcc をビルドします。 binutils tar xzvf binutils-2.21.tar.gz cd binutils-2.21/ ./configure --target=h8300-elf --disable-nls make sudo make install # --disable-nls は、「全くメッセージを翻訳しない」って意味らし…

組込み OS 開発環境構築 (VMWare 3.1.3 + ubuntu 10.10)

三十歳までに一個くらい OS 作っておくべきかなと思いまして。 コチラの参考書を片手に。http://www.amazon.co.jp/12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%…

emacs で .c 拡張子のファイルを c++mode で開く

apache の拡張モジュールを作成していたのですが、 どうやら apxs が生成してくれる makefile は、.c 拡張子のファイルしかビルド対象としてみてくれないようです。 普通 C で書くべきものだと思うので問題にならないのでしょうが、、、 自分は中で C++ 使っ…

emacs の表示が崩れる。。。

掲題の現象が。 なんか残像っぽいのが残ったり、インデントがおかしくなったり。 Ctrl + l とかで再描画してやると治るんですけど、入力するたびにそれやる必要があるとか、仕事になりません。 .emacs ファイルとにらめっこするも、これといって変な設定はし…

MySQL コマンド等備忘録

初めて触ったので、知らないことだらけです。。 mysql-essential-5.1.52-win32 mysql-connector-odbc-5.1.8-win32 default port = 3306 default-character-set=sjis データソース (database ごとに作成する) 管理ツール ユーザ DSN 追加 MySQL ODBC 5.1 Driv…

CListCtrl 上でラベルを編集

MFC

CListCtrl のリスト上で、表示されたラベル(とゆーかアイテムとゆーか…)を編集したいなーと思いまして。 LVS_EDITLABELS というスタイルを指定してやると、編集可能になるようです。 リソースエディタでリストコントロールのプロパティ開く 「Edit Labels」…

LogCat が表示されない場合の対処

eclipse で LogCat 見てたら、ログが数行程度出力されては消え、さらに数行程度出力されて…ってのを繰り返す状況に。 なんのこっちゃわからなかったので、とりあえず一度 Clear Log のボタン押してクリアしたら、治りました。 何が発端でこうなったのかわか…

Windows7 に Oracle 11gR2 をインストール

環境は、Windows7(32-bit) + Oracle11gR2(11.2.0.1.0)。 まずは zip ファイルをダウンロード http://www.oracle.com/technology/global/jp/software/products/database/index.html Oracle Database 11g Release 2 Microsoft Windows (32-bit) Disk 1 と Disk…

住所から緯度経度への変換

Geocoder に住所を示す文字列を渡して、緯度経度を示す値をゲットします。 GeoPoint を取得する感じで。GeoPoint があれば、GoogleMap とかをいろいろ操作できますので。 Activity の中でやる場合、サンプルはこんな感じ。 String strAddress = "東京都〇〇…