サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
choklog.jp
rubyのObject.cloneやObject.dupではオブジェクトのディープコピーを作成できない。オンラインマニュアルには次のようにある。 clone や dup は「浅い(shallow)」コピーであることに注意してください。オブジェクト自身を複製するだけで、オブジェクトの指している先(たとえば配列の要素など)までは複製しません。 これに対して、Marshalを使い、擬似的なディープコピーを実現できる。 def deep_copy(obj) Marshal.load(Marshal.dump(obj)) end a = deep_copy(b) シリアライズしてデシリアライズして返す、という力業。『The Ruby Way』のP.225で紹介されていた。
リモートサーバにあるSubversionリポジトリからCheckoutしたい場合 $ svn co svn+ssh://user@example.com/path/to/repos/project のようにすればよい。ただし、この場合はexample.comでsshdがデフォルトポート(=22番)で動作していると仮定している。22番ポートではないポートでsshdが起動している場合、次のように$HOME/.subversion/configを書き換える。 $ vi ~/.subversion/config [tunnels] new_config=ssh -p 99999 こうした状態で $ svn co svn+new_config://user@example.com/path/to/repos/project すると、user@example.comのポート番号
gnome についてくる gnome-terminal のアンチエイリアスされたフォントがけっこう綺麗で、これに満足してずっと使っていたんだけど、「−」とか「■」みたいな全角の記号がずれて表示されてしまい、見るだけならいいんだけど編集する必要が出てきてかなり不便だったので、日本語がわりと満足に使えるという評判の mlterm を使うことにしてみた。 満足のいく設定にいきつくまでに一苦労だったので、設定方法をここにメモっておくことにします。 まずは、mlterm のインストール。 % sudo aptitude install mlterm mplus もパッケージになってるので aptitude 経由でインストールできる。 % sudo aptitude install xfonts-mplus mlterm の設定。~/.mlterm/main を次のように設定す
引数でオプションを受け取ることができるシェルスクリプトを組みたくて、 オプションの parse をしてくれる getopt と getopts についてちょっと調べた。 - getopt : 単体のプログラム - getopts : bash に組み込まれている関数 どっちも同じようなことをしてくれるっぽいんだけど、 単体のプログラムである getopt の方が優秀っぽい。 getopt だと bash ryum.sh install ntp -h dev02a のように、オプションを引数の後に渡してもちゃんと処理してくれるけど、 getopts は上のような形でオプションを渡されると受け取れなくて、 bash ryum.sh -h dev02a install ntp のように引数はオプションの後に指定しなきゃいけない。柔軟性に欠ける。 ど
O'Reillyのオンラインショップで会計をするときのページに、「企業コード」を入力するテキストボックスがある。O'Reillyと契約を交わしている企業の社員は、ここに企業コードを入力すると、書籍代に所定の割引率が適用され、安価に書籍を購入することができる。私が前職に就いていたときにも、不定期に企業コードが社員にアナウンスされた。「O'Reillyの本でも買って勉強するといい」ということだろう。 前職を辞してしまったので、企業コードを入力して割引を受けることはできなくなったのだけれど、人材マッチングサイトのパソナテックに登録すると、パソナテックが企業コードを発行してくれる。 > http://www.pasonatech.co.jp/oreilly/index.jsp 試しに「月収100万円希望で派遣社員をやりたい」という(贅沢な)情報で仮登録して、上記のページの「企業コードを
先日、Yahoo!メッセンジャーのバックエンドシステムのバージョンアップのため、リリース版のpidginで日本語がやりとりできなくなってしまい、pidginにYahoo!メッセンジャーのバックエンドシステムに合わせてメッセージのやりとりをさせるためのパッチを書いたのですが、それをadiumにも適用してバイナリを作ってみました。 pidginはMSNやYahoo!などいろいろなプロトコルのIMサーバとのやりとりにlibpurpleというライブラリを使っているのですが、adiumもまたlibpurpleを使っているため、pidginのlibpurpleに対して行った修正をそのまま使うことができます。 adiumのためのlibpurpleのビルドやMacOSX用のdmgを作る過程はけっこう面倒なので、このへんに作業メモを置いておきます。 そして、出来上がったAdium_1.3svn.
ブルートフォース攻撃対策に、某所のsshポート番号を変更しました。手順は次の通りです。 1. sshd_config の編集 $ sudo vi /etc/ssh/sshd_config #Port 22 Port XXX # ← 任意の整数 XXX には新規に使用するポート番号を入れます。 2. iptables の編集 必要があれば、iptablesを編集し、任意のポートを開放します。 $ sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport XXX --syn -j ACCEPT $ sudo /sbin/service iptables save # (2008/01/19 : 追記) $ sudo /sbin/chkconfig iptables on # (2008/01/19 : 追記) XXX
例えば、httpd.confなどをいじっていて、「この行からこの行までコメントアウトしたい」という風に思うときがあります。今までは愚直にカーソルを移動しつつ'#'を入れていたのですが、Emacsで「string-rectangle」というコマンドを使えば、範囲指定した行頭に、任意の文字列を入れられるということを知りました。むしろ今まで知らなかったのが恥ずかしいかも。 範囲指定した状態で M-x string-rectangle もしくは、標準状態のEmacsでは C-x r t が「string-rectangle」に割り当てられています(ref: 「複数行の先頭に文字列を挿入 - 英語とプログラミング気まぐれ日記」)。 2008-02-04 22:33:39 | コメント(4) | トラックバック(0) トラックバック - http://choklog
scrubytを使いたくて、次のようにしてみた。 $ sudo gem install scrubyt ERROR: Error installing scrubyt: scrubyt requires RubyInline (= 3.6.3) 自分の環境ではRubyInlineが最新バージョン(3.6.6)だったため、動作しなかった。何ということでしょう。 バージョン指定は、次のようにgemの引数にできる(ref: 「scRubytをちょこっと触ったけど挫折 (polog)」) $ sudo gem install RubyInline --version '= 3.6.3' Successfully installed RubyInline-3.6.3 1 gem installed Installing ri documentation for RubyInline-
このページを最初にブックマークしてみませんか?
『ワンダーカジノの出金と上限がやばい!』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く