今年の目標達成ならず

年内に10万PVに届かせるはずだったのに….今年後半忙しくてブログ更新頻度が大幅ダウンしたせいで,9000PV届かず.

来年は20万PV目指して頑張ります!

flymake-mode++

Emacs22にはflymake-modeというのがある.これは,リアルタイムに文法ミスとかのコンパイルエラー部分を強調表示してくれる.

まずMakefileに,

check-syntax:
    gcc -o null -Wall -S ${CHK_SOURCES}
sample:
    gcc -o sample sample.c

と書いておく.

その後,EmacsでM-x flymake-modeと入力すると,flymakeモードになる.#include<stdio.h>せずにprintfを使うと怒られたり,いろいろすごい.

動画での説明も貼っておきます.


D

問題は僕がEmacsではなくvimユーザであるということ.

pg_hba.conf ではまる

pg_hba.confは,PostgreSQLのユーザの認証について設定するファイルです.この書き方がよくわからなかったのでメモ.

# pg_hba.confの設定

local hoge hige trust

これで,ローカル接続でDB hogeに対してhigeさんはtrust(パスワードなし)でログイン出来ます.

ネット経由の場合は,

# pg_hba.confの設定

host hoge hige 192.168.11.0/24 trust

こうすると,192.168.11.なんとか のIPアドレスから,DB hogeにhigeさんはtrustでログイン出来ます.

ちなみに,pg_hba.confは,普通 /etc/postgresql/8.4/main/ 以下にあります.

Windowsで特定のユーザだけCapsとCtrlを入れ替える

日本語106キーボードで,Ctrlキーを押しやすい位置にあるCaps Lockキーと入れ替える設定はyohgaki’s wikiなどで紹介されているが,これをやってしまうと,ユーザ全員,キーマップが変わってしまう.

これだと家族や,職場の同僚とパソコンを共有してる場合に不都合が生じる.で,いろいろ調べたらユーザごとに変更できる設定を見つけた.

HKEY_CURRENT_USER\Keyboard Layout\Scancode Map というレジストリの値をいじれば良いらしい.

そこで,作ってみました.ダウンロードはこちら.キーマップを変更したいユーザでダウンロード後,そのファイルをダブルクリックしてレジストリに登録し,いったんログオフした後,ログインしなおしててください.

利用は自己責任でお願いします.

追記

もしかして別の人がログインしたら設定が上書きされる?

Rubyで1階層だけDeepコピー

dupもcloneも浅いコピー(shallow copy:シャローコピー)だそうで,深いコピー(Deep copy:ディープコピー)するにはMarshalを使った方法が一般的です.

array2 = Marshal.load(Marshal.dump(array1)); # deep copy

引用元:Rubyメモ

これだとオブジェクトを再帰的にコピーするわけですが,1階層だけDeep copyしたいときもある*1.そんなときはどうする?と思って書いてみた.

class Array
def deep_copy
self.map{|item| item.dup}
end
end
array1=[[1,2,3],[4,[5,6]]]
array2=array1.deep_copy

こうですか?あれ?何かが違う.

それにFixnumにはdupできんからまずい.

*1:あるのか知らんが.

紅葉観てきました

日曜日に地元の友達と京都観光してきました.京都駅でランチの後嵐山→清水寺.

紅葉

写真は清水寺で撮影したものです.若干修正入ってます.(こんなに色がきれいじゃなかった.)

今回のベストフォト?ほかの写真はFlickrとかPicasaとか別のところにアップします.