すがブロ

sugamasaoのhatenablogだよ

プログラム

gdb の GUI フロントエンドなツール

ddd というツールがあります デバッガ gdb と GUI ddd を用いた C, Java プログラムのデバッグ - 計算科学/実習第21回課題 ここを見てもらえれば雰囲気はわかると思いますが。。。 こーいうのの、もうちょっとイケてる版を作ってくれる人いないかなぁ*1。 と…

SIGNAL を受信する(2)

前回の続き 前回(SIGNAL を受信する - @sugamasao.blog.title # => ”コードで世界を変えたい”)があんまりにも投げっぱなしだったので、補足しておく。 シグナル後の動きを分かりやすくする為に、少しプリント文等を追加している。 ソース #include <stdio.h> #inclu</stdio.h>…

SIGNAL を受信する

SIGNAL を受信するには 昔は signal 関数を使ってシグナルハンドラを設定していたけど、今は sigaction 関数を使うようだ。 参考 システムプログラム(第5週) 試しに実装してみた 大概の SIGNAL のサンプルソースだと、シグナル受けたよーで終わるのが多い…

syslog に書き込んでみる

syslog 経由でログを出力 ターミナルから書き込むには logger コマンドを使うと書き込む事が出来る。 logger -t sample hoge こんな風にすると、 Mar 10 01:52:56 siegfried sample[761]: hoge こんな風に出力される。 -t xxx の部分がプロセス名が出力され…

daemon を作る

POSIX標準ではないが、 daemon 関数があるので、お手軽に作成できる daemon 関数は man 3 daemon とするか、404 - エラー: 404を参照のこと。 ちなみに、引数に 0 を渡した時の動作は書いてあるけれど、それ意外の場合・・・例えば、カレントディレクトリを…

JISコードの文字数を調べる(2)

修正版 エスケープシーケンスチェックあたりのロジックミスがあったので修正した版。 その他、ループ部分やエスケープシーケンス部分のチェックの記述方法を変更した。 def jis_couner(str) esc_flag = false esc_string = "" wide_byte_flag = false wide_f…

JISコードの文字数を調べる

ついカッとなって 2008/08/22:修正版→JISコードの文字数を調べる(2) - @sugamasao.blog.title # => ”コードで世界を変えたい” 文字数を調べるプログラムを作ってしまった。 ちなみに、 SJIS ではなく、 JIS のコードである。 JISコードは1バイト文字や2…

プログラミング言語の選択

生産性の悪さを目の当たりにした! 今C言語で開発をやっているのだけど*1、おれの生産性悪すぎワロタwww 2週間弱で2000行くらい書いてるけど(コメント含む)、どう考えても行数に大して実装される機能の割合がすくねぇ。 文字列操作を頻繁にやっている…

Python がイマイチ人気にならないたった一つの理由

ついに気がついた Ruby や Perl に比べてイマイチ日本では爆発しきれていない感のある Python だけど、その理由がわかった。 入門書が良くない Python の有名な書籍といえば「みんなのPython」があるのだけど、これがとてもマズい。 みんなのPython作者: 柴…

プログラム数カウントしちゃうよ

なんか作りたくなったので作ってみた ruby のスクリプトの空行とコメントと実際の行数を計算する。 複数行のコメント分(begin 〜 end)だとうまく計算できないけれど、あまりコメント形式として使われないから良いよね^^ base = '/tmp' ext = '.rb' result …

require は繰り返すのか?

require すると、require 先のファイルも呼んでくれる たとえば、以下のような2つのソースがある場合 # test1.rb class Test1 puts "Test1 require" def test1 puts "test1" end end #test2.rb require 'test1' class Test2 puts "Test2 require" def test2…

SQL内での計算とPGでの計算

そういえば SQL で例えば以下のような select 結果の値に対して計算処理を行いたい場合 select id * 10 whre table; こーいうのって、上記のように SQL で select 結果に 10 を掛ける計算をした場合と、一旦 id を取得した後に、プログラム(JavaなりRubyな…

ニコニコ動画のデータを取得

Ruby でやろうと思ったけどグリモンでやった方が見た目面白い ということに気がついたのでグリモンでやろうと思った。が、いかんせん素人なので思考をプログラムに落とせませんwww きっと、ここを参考にするとデータ取得というのはできると思うんだ。 http:/…

ちょっと

ニコニコ動画を搾取したい 簡単に Ruby でできるかと思いきやログイン部分があったり(当たり前だ)、正規の API が無かったりするので思ったほど簡単にはできなそう。 とりあえず、できるであろう目処はついたのだけど。 そんなことよりもうちょっと Mac の…

C言語から Ruby を呼びたい><

C言語がメインで、サブルーチンとして Ruby を呼びたいのです パフォーマンスを出したいので C 言語で実装したい。だけど、利便性を考えて少し Ruby のライブラリを読んで処理を噛ませたい! http://www.sb.soft.iwate-pu.ac.jp/~yushi/memo/ruby_ext.html …

MacPorts を入れたよ!

MacPorts というパッケージシステムがあります port コマンドで実行できるのだけど、デフォルトでは入っていないので別途インストールする必要がある。 http://www.macports.org/ ここから 1.6.0 をDLしてインストール。 設定とかはここが異常に詳しい。 id:…

数字をゼロ詰めにするには

使わないようでたまに使いたい局面があるんだ で、例えば二桁のゼロ詰めとかを愚直に書くとこんな感じだろうか(元々の値が文字列か数値かで変わるだろうけど)。 num = "0" if num.to_i < 10 num = "0" + num end ただ、なんか頭悪いなーって思う Ruby でこ…

あなたのおすすめLL言語は

Lightweight Language AHP http://dame.dyndns.org/misc/llahp/ をやってみた。 結果 http://dame.dyndns.org/misc/llahp/?q=Ak9m9g5gd-a2RHO&n=sugamasao sugamasao さんにオススメの LL は Ruby (41%) > Python (22%) > Perl (21%) > PHP (16%) です! だ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(5)

写経しながら学ぶ http://tam.qmix.org/wiki/Minki03.html どうやら、rails は URL を以下の規則で分けているらしい。 http://hogehoge/controller名/action名/ページ名(id) erb view でむかーし調べた erb を使う。 写経するのでとりあえずボチボチキーボ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(4)

rails を動かす DBの準備ができたので、適当に database を作る。 create database test_rails ついでに、テスト用にユーザも作っておく。 GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test' WITH GRANT OPTION; flush privilages; これ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(3)

mysql を入れてみたよ Mac OS X 10.4 (x86)用の mysql 5.0.45(パッケージ版)をダウンロードして、インストールしたみた。 マウントして中身の .pkg からいわれるがままにインストール。何かよくわからないけど、パッケージが2つあったから2つとも入れて…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(2)

MySQLインストール http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg ここをみたら Mac OS X (package format) downloads (platform notes) Mac OS X 10.3 (PowerPC, 32-bit) 5.0.45 66.2M Pick a mirror MD5: 24aeeb5f992284acb73101d28b0acb7a |…

Mac で Ruby on Rails を極めて女子にモテモテになる記録

Mac に Ruby on Rails 入れる 最初は Ruby on Rails が入っていないのでインストールする。 まずパッケージの確認 gem list中略rails (1.2.3) Web-application framework with template engine, control-flow layer, and ORM. rails で入れれば良いっぽい。 …

勢いでCodeReposに登録してみたよ

若干 やっちゃったかなーとか思うけど、こういうのも良いかなとおもって登録してみた。 http://coderepos.org/share/wiki/Committers/sugamasao とりあえず 他の人のソースでも読んでみよう

これってどっちが早いの(3)

懲りずに もう一つパターンを追加してみた。 そもそも何をしたいのかと言うと、「AというファイルからXXXという文字列を含む行を抽出して、行数をカウントしたい」ということ。 Ruby で実装したいので、シェルスクリプトとかでやった方が……と言うのはなしの…

好みの問題

こんな風な戻り値を返すメソッドがある場合 # この is_hogehoge は bool 型の値を持っている if is_hogehoge return true end return is_hogehoge # この場合の is_hogehoge は false の場合のみ こーいうのを見ると、なんかこう、むずむずしてくる。 戻り値…

カバレッジ測定

なんかすごい面白い ああやって可視化されるのは強烈に面白い。 これは単体開発時にやってるとかなりモチベーションに差が出るんじゃないかな(Trac のタイムラインとチケットみたいな雰囲気で)。 ……問題なのは今のプロジェクトは単体フェーズどころか開発…

Rubyでのコードカバレッジ

RUnitを使った開発で コードカバレッジを測定するツールというのは無いだろうか。 Javaとか C# だとあったと思うんだけどな。やっぱり動的言語だと難しいとかそーいう理由があるのだろうか。。。

これってどっちが早いんだろう(2)

指摘して頂いたので 前回のコメントで教えてもらった正規表現を使う時の定石パターンも追加してもう一度測定しなおしてみたよ。 恥ずかしい話 only としたいところが onry になってた!><恥ずかしくて死にたい\(^o^)/ あと そこらへんは脳内補完してね…

これってどっちが早いんだろう

ふと考えてみたんだけど あるファイル(以下A)から特定の値(以下X)が入っている行だけ抽出して、その結果を処理したい、という時はどっちが早いのか。どっちも大差ないものなんだろうか。 ※ただし、プログラムは Ruby から起動しなくてはいけないものとす…