サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.ginriki.net
ひさびさ更新。 今回は、HDDデバイス名をdmesgコマンドで調べる時の事を考えてみます。 dmesgで出力されるメッセージは結構長いので、grepなどの検索を利用したいのですが、HDDがPATA(=IDE)接続のときと、SATA接続のときで、検索パターンを変えないといかんです。そのパターンについて以下に記述。 なお、以下の方法はLinux Kernel2.6系の話です。 Linux Kernel2.4系だと、SATAもhdaとかで認識するらしいので。 * HDDがPATAの場合 dmesg | grep hdを使います。 $ dmesg | grep hd ide0: BM-DMA at 0x1810-0x1817, BIOS settings: hda:DMA, hdb:pio hda: TOSHIBA MK4025GASL, ATA DISK drive hda: max reque
Windowsのバッチファイルを作る機会があったので、その時のノウハウメモ。 サービスの状態確認 サービスの起動・停止状態の出力させるには、sc.exe queryが使える。(ただし、Windows XP/Windows Server 2003以降) 後は、findstr (Windows用のgrep)と合わせて使えばいい。 たとえば、タスクスケジューラが起動しているかどうかの確認バッチファイルを 作ると以下の通り。 @echo off sc.exe query Schedule | findstr STATE | findstr RUNNING > nul if %ERRORLEVEL% == 1 echo Scheduler isn't running if %ERRORLEVEL% == 0 echo Scheduler running 実行結果(タスクスケジューラ起動時)は以下の通
jmp/call命令の実行直前までプログラムを進めるGDBスクリプトです。 こういう用途に使えるGDBコマンドがないようなので、自分で作りました。 必要な方はご自由に使ってください。 - script.gdb 使い方は以下の通り、 $ gdb a.out (gdb) source script.gdb (gdb) break main (gdb) run # main関数でbreak (gdb) run_until_call_jmp # main関数内のcall or jmp命令直前で停止 jmp,call命令のop codeの調べ方 IA-32命令セットにおける、JMP, CALLのオペコードは下記の通りになりますIA-32 インテル アーキテクチャ・ソフトウェア・ディベロッパーズ・マニュアル 中巻より抜粋。http://www.intel.com/jp/download/index.h
少し前に、ルータ(WZR-HP-AG300H)を買って自宅外からVPN接続してます。設定がWebブラウザから簡単にできますし、VPNサーバ用のマシンをルータと別に用意する必要もないので、結構便利です。 私の主な使い方は、 Android端末からVPN接続し、DAAP Media Playerで自宅のメディアサーバー1の曲を聴く。 PCからVPN接続+Wake on Lan(WoL)2で、自宅サーバを立ち上げてログイン。 の2つです。 せっかくなので、設定メモを残しておきます。 VPNサーバ/クライアントの設定 このルータのVPNサーバの方式はPPTPです。設定手順はルータのマニュアルが詳しいです。 http://buffalo.jp/download/manual/html/air1200/ ちなみに、私はDDNSにDynDNSを使ってます。 マニュアルに見当たらなかった注意点として、クラ
ブラウザキャッシュは意識して設定しないと簡単に無効になったり有効になったりしてしまいます。 必ず無効にしたい or 必ず有効にしたいというポリシーがあるなら、きちんとした設定が必要です。 ・ブラウザキャッシュを無効する方法 http://blog.knockoutmarch.com/2008/02/06/2323.html より引用
ブログに書くネタは結構あるんだけど、整理してから書こうとするとなかなか書けない・・・。 しょうがないんで、ネタは小出しに書くことにしよう。 PHPで何かのライブラリのオブジェクトを使う際、どんなメソッドがあるのかよくわからにことが多々あります。リファレンスを見りゃいいんですが、それが面倒な時は、PHP (CLI)のインタラクティブモードを使うと便利です。 インタラクティブモードの場合、statementが完成するたびに(セミコロンで区切られるたびに)処理が実行されるようです。
tarファイルには、いくつかのフォーマットがあるのだけど、何らかのコマンドで作成したtarファイルが どのフォーマットで作られているか判断するやり方が見当たらないのでメモしとく。 なお、メジャーなフォーマットは以下らしい1。 POSIX.1-1988 ustar format GNU tar format POSIX.1-2001 pax format 利用者から見たフォーマット間の大きな違いは、ustar形式のtarフォーマットの場合、tarでまとめる各ファイルのファイル名が256文字制限だったり、各ファイルのサイズ制限が8GBになってること。残りの2つのフォーマットは制限なし。その代わり、他と比べてustar形式は歴史がある形式なので、対応しているツールも多い。 ちなみに、普通のlinux上のtarプログラム(=GNU tar)がデフォルトで使うtarフォーマットは–helpを付ければ
NetBeansのリモートデバッグについて、以前の記事で、以下のように書きましたが、 注意点としては、リモートと同じフルパス上にソースコードを置く必要がある点です。リモート先で、/var/www/railsprjにRoRのプロジェクトコードが置いてあるなら、ローカルでも/var/www/railsprjにプロジェクトコードを置く必要があります。 このままだと、Windows上のNetBeansでLinux上のRailsがリモートデバッグできません。 そこで、NetBeansとFast Debugger(ruby-debug-ide)の間に挟むproxyを用意して、proxyの中でファイルパス変換することでリモートデバッグできるようにしました。本当は、NetBeansのIDE内部でファイルパス変換するように修正するべきだと思いますが、面倒だったのでproxyにしました。 せっかくなので、以下
某所で、「rubyプロセスがSEGVとかした時のコアファイルから、rubyスクリプトのバックトレースは取れるの?」って聞かれたので、ちょっと調べてみました。 結論としては、「rubyメソッドの呼び出し位置(ファイル名, 行番号)は取れるけど、呼び出し時の実引数を見るのは難しい」っていう感じです。 rubyのスタックフレームは、当然、rubyプロセスのメモリ上に構築されるので、スタックフレームのデータ構造さえわかれば、ある程度は表示できます。 ただ、コアファイルを出力したrubyプロセスはすでに存在しないので、ruby実装に使われているC関数をデバッガで(正確にはrubyプロセス上で)実行することができません。 そのため、オブジェクトのinspectなどを実行することが難しく、実引数のオブジェクトが何か調べることが困難です。ということで、今回はスタックフレームを表示させる方法を以下で説明しま
RubyのActiveRecordActiveRecordってデザインパターン名だったんだね。知らなかった・・・。http://ja.wikipedia.org/wiki/Active_Recordライブラリを使ってDB操作をした際、ハマッたのでメモ。 ActiveRecordを使うと、DBテーブルのレコードをオブジェクトとして取り出せます。 カラムのデータを取得する際は、カラム名をメソッド名としてオブジェクトを操作すれば良いのですが、 ActiveRecordの予約語と同じカラム名が存在すると正しく動作しません。 例えば、type, displayなどが予約語です。 ためしに、下記のようにテーブルとレコードをつくり、 $ mysql -u root test CREATE TABLE apples ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY
NetBeansには、rubyのデバッガフロントエンドが同梱されています。 今回は、それを使ってRuby on Rails(以下RoR)のリモートデバッグをするためのメモです。 個人的には、RoRが動いてるマシンにsshでログインした後、emacsとrubydb3x.elを使う方がメリットがある1と思いますが、emacsの場合デバッガ用GUIはありません。GUIに慣れてる人はNetBeansの方が楽なので、そういう人向けにまとめます。 なお、NetBeansをインストールしたローカルマシンで、RoRも動かす場合のデバッグ方法は、NetBeansのwikiを参照してください。 まあ、ローカルマシン上でデバッグする場合も、リモートマシンと接続してデバッグする場合もやり方はほとんど変わりません。 どちらの場合も、デバッギプロセス(と同じプロセス上で動くruby-debug-ide)がTCP(デフ
RubyのActiveRecord1ライブラリを使ってDB操作をした際、ハマッたのでメモ。 ActiveRecordを使うと、DBテーブルのレコードをオブジェクトとして取り出せます。 カラムのデータを取得する際は、カラム名をメソッド名としてオブジェクトを操作すれば良いのですが、 ActiveRecordの予約語と同じカラム名が存在すると正しく動作しません。 例えば、type, displayなどが予約語です。 ためしに、下記のようにテーブルとレコードをつくり、 $ mysql -u root test CREATE TABLE apples ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, type VARCHAR(20) NOT NULL ); INSERT INTO apples (type) VALUES ('fuji'); 以下のR
諸事情により、e-mobileのデータ通信カードが手元にあります。 データ通信カードを使ってインターネットに接続する際に割り当てられるIPは、接続毎に変化します。 この割り当てられるIPアドレスの範囲が気になったので調べてみることにしました。 これは、whoisサーバを使えば調べられます1。 #とりあえず、接続した際に割り当てられたIPアドレス(114.48.45.211)で調べる $ whois -h whois.apnic.net 114.48.45.211 % [whois.apnic.net node-2] % Whois data copyright terms http://www.apnic.net/db/dbcopyright.html inetnum: 114.48.0.0 - 114.51.255.255 netname: eMobile ...<略> #netname
今回はRuby on Railsについてメモ。 autoloadで自動読み込みされないファイル1をcontrollerの中などでrequireを使って読み込んだ場合、そのファイルはdevelopmentモード時でもユーザアクセス毎に再読み込みされません。そのため、ファイルを編集してもwebサーバを再起動しないと変更が反映されないので、デバッグがやりづらくて困ってました。 解決策がないかと思って、ググってみたところ、以下のページに解決策が書いてありました。 http://www.pistolfly.jp/weblog/2007/06/require-dependency.html requireじゃなくて、require_dependencyでファイル読み込みすれば良いということでした。 require_dependencyの挙動については、上のリンク先を参照してください。 この辺り(aut
このページを最初にブックマークしてみませんか?
『www.ginriki.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く