読者です 読者をやめる 読者になる 読者になる

すがブロ

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 から起動しなくてはいけないものとす…

Easy Mona Player 0.0.7 触ってみたよ

さっそくで申し訳ありません 節操なく触ってみた。 曲目は The Veronicas の 4ever 。ファイル形式は ogg 。 このファイルを music フォルダに入れて start.bat クリック。 4曲目(デフォルトで入っている曲の最後の曲)→5曲目(4ever)→4曲目→5曲目と再生し…

NSpec とか NSpecify についてちょっと調べてみた

Ruby ばかりじゃずるいよね! というわけで .NET ではどうかというと、なきたくなるほど情報が少ない。 NSpecify :日本語の情報が少しはある NSpecify - Behavior-Driven Development Framework Spring.NET JP - B-Wiki - NSpecify NSpec : RSpec と同じよ…

RUnit を調べようと思ったけど、良い機会なので RSpec について調べちゃったよ

RUnit を調べようと思った経緯 実際に RUnit を書いたときに「何を期待してそのテストプログラムを書いたのか?」ということがソースから読み取れない事があったりして、テストメソッド名なりコメントなりにそーいうことがわかるように記載しなきゃいけない…

viのウルテク

同じ処理をもう一度 例えば、間違えて tset と入力してしまった文字を test へ置き換えたい時。 キーボードの c + w で単語単位で削除+書き込みモードにして test と打ち直すよね(おれだけか?)。 で、その修正が二箇所あったときの話。 置換すれば良いん…

カッとなって作ったAA作るマシーン

ニコニコ動画を見ていて http://www.nicovideo.jp/watch/sm1096114 これを見て、「お、これならおれにもできるんじゃね?」と思って挑戦してみた。 ↑の作者は10分程度で作っていたが、おれは今このブログを書ける状態にもっていくまで4時間くらいかかってし…

インデックスとか付ける時

SQLスクリプトで ALTER IGNORE TABLE で実行すると重複のエラーがあっても処理を続行するっぽくかいてあるけど、付けても普通にエラーになる。 ちゃんと確認してないけど、エラー文言とかが出てるだけでちゃんと続きを実行してるんだろうか。 っていうか、 …

メールのSMTPが以外と知られていない件

おれが仕事がら使うから常識になっていただけかもしれないけど メール送信っつったら一般的に SMTP 通信な訳で、メールを扱うっつったらこれくらい知っとけよ! ということで。 悪用しちゃだめだし、特に FROM で知らないアドレスとか使うと他の人に迷惑だか…

C#(.NET)には chomp メソッド的なのが無い

みたいなので よくわからんけど改行コードは無くしちゃうよーっていうコードを↓のように書いた。 str.TrimEnd('\n', '\r'); ここまで出来るなら行末の改行コードを無くすメソッドが用意されてても良いのに。

TeraTerm は TeraTerm menu で port を指定できるようにするべき

現在は ssh かどうか? という設定しかなくて、ssh だったら 22 番ポート決め打ちなのだ coLinux を slirp で接続すると、 port80 なら 8080 とか、別のポートにバインディングしてクライアントから coLinux へ接続させるようになっている。 ここはユーザが…

coLinuxを導入してみた(3)

ネットワークの設定は うまくいかなかったので(そして、コメントで助言を頂いたので)、slirp という接続方法で接続してみる。 どうも、coLinux の 0.6系では不安定らしいけど、 0.7 系では安定して使える代物のようだ。 そうなると Windows で設定してた c…

coLinuxを導入してみた(2)

うまくマウントできないので ためしに、coLinux の新しいバージョン(0.7.1)をDLして設定してみると、うまいこと起動できた。 その際は以下のサイトを参考にした。 医者を志す妻を応援する夫の日記 - 2007-09-09 でも、ネットワークの設定で繋がらない(´Д`)…

coLinuxを導入してみた(1)

普段は VMware 使いだけど 家で常時使うには重いので、 Web+DB で特集されていたこともあって coLinux を導入してみることにした*1。 というわけで、以下から必要なものをDL。 http://sourceforge.net/project/showfiles.php?group_id=98788 coLinux 自身と…

Ruby に出てくる :xxx という記述

symbol というんだけど Ruby を使い始めた時にシンボルを使われているソースを見たんだけど、その時はいったい何をしているのかわからなかった。ハッシュのキーにしていたからなんとなくの用途は予想できたものの、具体的に文字列でハッシュのキーにしている…

なぜなに object_id

オブジェクトに付与される個別のIDのはずが あるオブジェクト同士をLinux上で比較すると別々なのに、 Unix 上だと同値になるという現象っぽいことが発生した。 なんでだろう。 ちなみに、 Linux は RedHat3 で、 Unix は Solaris10 なんだけど。 Ruby のバー…

Vim設定ファイルについて

結構わかりやすい ナレッジエース - Vim初心者的導入メモ 1/3 「使い方」編 このシリーズはあとで目を通しておこう。

ドラッグ&ドロップイベント

ブラウザにファイルをドロップする時 ってたまにあるよね。ショートカットをドラッグ&ドロップしたり。 そういった外部(デスクトップとか)のファイルをドロップさせないようにする方法について。 <script> <html> <head> var dropCancel = function() { window.ev</script>…

いまさらだけど JavaScript の基礎なんだよ!

いまさらだけど JavaScript わかりやすく説明してるブログとか結構あるんで、そこらへんを見るとJSがわかったような気がしてしまうんだけど、実際のところ自分の中に落とし込めないんで基礎からちゃんとやる。 キバヤシ口調で。 JSのグローバル変数は window…

はてなダイアリーから RSS のデータを取得してみる(3)

助言を頂いた 前回:id:seiunsky:20070816:1187303569 前回のコメントで id:hatecha 氏から ↓require ’rss’にしたら取れるようです http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.ja と教えていただいた。 require 'rss' とする…

はてなダイアリーから RSS のデータを取得してみる(2)

フィールドの取得について 前回:(id:seiunsky:20070815:1187210039) 取得するRSSを RSS2.0 へ変更したら description タグで全文とれてるっぽいけど、それが解決策なのか? というと、なんか違う気がする。 RSSリーダーとかってどうやって本文を取得して…

はてなダイアリーから RSS のデータを取得してみる

ふと思い立ったので はてなダイアリーで配信している RSS を取得してみようと思った。 で、ここ(http://d.hatena.ne.jp/adamrocker/20070129/hatena_bookmark_rss_elements_ruby)を参考に書いてみた。 require 'open-uri' require 'rss/1.0' hatena_diary …