久保田の作成したソフトの紹介をするページです。 現在はJavaで作成した自動巡回機能付きのプロキシーサーバーppsdを紹介しています。 後、HTMLの書き方の勉強と自分にとってのメモを兼ねて開発日誌を載せているつもりでしたが、なんか最近は単なる日記になっています。
diary_account.rb 0210.day0210.dayの部分は対象月のファイル名である。
(setq lookup-search-agents '((ndtp "localhost")))上記の文でlocalhostにアクセスしていたのをshelbyに変更。
(setq lookup-search-agents '((ndtp "shelby")))
hosts 192.168.1.5上の行を一般的な部分とBook entry部分の両方に追加して、使えるようになった。 192.168.1.5はsmokyのipアドレス。
Exception `PPSDProgram::PPSDProgramException' at /usr/local/lib/ruby/site_ruby/1.8/rppsd/ppsd_server_service.rb:13 - SecurityCheck error: Remote Address = 192.168.1.5ppsd.confがない場合の外部からのアクセスはエラーになるのは正しい仕様だろう。 このままにする。 ただ、Remote Addressの表示がおかしいか。 shelbyのアドレスが表示されないといけない気がする。 後で対処しよう。
widget_class "*" style "mona_14"の部分を
widget_class "*" style "mona_16"に変更することによって、見やすくなった。
/home/kbttshy/rppsd/src/response.rb:137: warning: instance variable @content_type_charset not initialized /home/kbttshy/rppsd/src/response.rb:137: warning: instance variable @content_type_charset not initialized Exception `NoMethodError' at /home/kbttshy/rppsd/src/response.rb:141 - private method `split' called for nil /home/kbttshy/rppsd/src/response.rb:141:in `__18985__': private method `split' called for nil (NoMethodError) from (eval):3:in `analyze_content_type' from /home/kbttshy/rppsd/src/response.rb:136:in `content_type_charset' from /home/kbttshy/rppsd/src/custom/windows1252_server_service.rb:5:in `response_filter' from /home/kbttshy/rppsd/src/server_service.rb:58:in `response' from /home/kbttshy/rppsd/src/server_service.rb:73:in `connect' from /home/kbttshy/rppsd/src/ppsd_server_service.rb:29:in `connect' from /home/kbttshy/rppsd/src/server_service.rb:58:in `response' from /home/kbttshy/rppsd/src/ppsd_server_service.rb:39:in `response' ... 10 levels... from /home/kbttshy/rppsd/src/get_url.rb:6:in `reset' from /home/kbttshy/rppsd/src/url_list.rb:529:in `reset' from /home/kbttshy/rppsd/src/ppsd.rb:42:in `ppsd_start' from /home/kbttshy/rppsd/src/ppsd.rb:63
apt-get update apt-get install dpkg apt apt-utils debconf perl apt-get dist-upgrade今の所、大きな問題はないが、一つだけleafnodeで問題が発生した。 /etc/hostsのhost名がFQDNでないと問題だと文句を言ってくる。 /usr/share/doc/leafnode/README-FQDN.gzを読んで見ると、どうやらメッセージを一意にするために必要なようだ。 127.0.0.1 smoky localhostの部分を127.0.0.1 smoky.ppsd.dyndns.org smoky localhostに変更して動いている。
[num, 0] = bufferの形にする事によって、挿入するようになった。 上のバグにはまだ対応していない。
Gtk-WARNING **: gtk_item_factory_create_item(): Can't specify a callback on a branch: "/File(_F)"落ちたメッセージはこんな感じだ。
reserve_list_edit.rb:301: [BUG] Segmentation fault ruby 1.8.0 (2002-12-24) [i586-linux] アボートしました (core dumped)コーディングを見直しているが、原因不明だ。 見ているかぎりでは別におかしくなさそうなのだが。
@gui_url_list.signal_connect("select_row") do |list, row, col, event| if event and event.event_type == Gdk::BUTTON2_PRESS puts "row = #{row} double clicked!" end endまた、コンスタントの設定値はソースのrbgdkconst.cとかrbgtkconst.cを見ればよい。
# \205 -> "_" right? "..." # \222 -> "'" # \223 -> "\"" # \224 -> "\"" # \226 -> "-"\200から\237までのそれ以外の値は空白に変換した。 Metaでタグ指定している場合には、これでうまく行くようになり、うれしいのだが、幾つか問題が出ている。 一つはreserveList関係の表示がまた遅くなったことで、なんか抜本的な解決ができないかと思う。 もう一つはタグがないけど、どうやらwindows-1252コードみたいなソースで、判定方法がわからず、困っている。
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">制御コードの変換は外部コマンドとしてtrを呼出して解決するつもりだ。 変換のコードはwindows-1252の規格がよくわからないので、最悪文字化けしないように空白でも良しとするが、できるだけらしいので置き換えることにしよう。
checking for main() in -lz... noと表示される。 どう対応していいか簡単にわからず、面倒に感じる。 一応、txtcounter.rbはruby-1.6で実行することで正常には動いている。
〜レキの日記〜 初めて自分で繭を見つけた。嬉しい。嬉しい。 これはきっと特別な事だ。 神様が私に遣わしてくれたんだ。 うんと優しくしてあげよう。 ずっと一緒にいてあげよう。 今度こそ、私はクラモリみたいに 良い灰羽になるんだ。
cvs -d /var/cvs initを実行して、問題なくなった。 shelbyでは/usr/local/cvsをリポジトリにしているが、smokyではDebian標準の/var/cvsに変更した。 実験のためcvs_practiceというプロジェクトを作成して日本語コードEUCのデータの更新がうまくいくかを確認した。 その他には、.bashrcで環境変数CVSROOTの設定をしていて、問題なく使えている。
(setq mew-mbox-command "incm") (setq mew-mbox-command-arg "-d /var/spool/mail/kbttshy")それに従って上記の行変更を行うとローカルでのデータが正常に読めるようになった。
----------------------------------- closure_queue.rb ------------------------------ require "thread" module ClosureQueue Closure_queue = Queue.new def init(num) locker = Mutex.new tbl = Array.new num.times do |i| tbl[i] = [] end num.times do |i| Thread.start(tbl[i]) do |closure_table| loop do while closure_table[0] closure_table[0][1].call locker.synchronize { closure_table.shift } end tag, proc = Closure_queue.deq fount_flag = false locker.synchronize do tbl.each do |item| if item[0] and item[0][0] == tag fount_flag = true item.push([tag, proc]) break end end unless fount_flag closure_table.push([tag, proc]) end end end end end end def enq(tag, &proc) Closure_queue.enq([tag, proc]) end module_function :init, :enq end if $0 == __FILE__ ClosureQueue.init(3) 100.times do |i| j = rand(4) ClosureQueue.enq(j) do sleep j puts "thread = #{Thread.current.inspect} #{i} number #{j} sleeps" end end sleep end ----------------------------------- closure_queue.rb ------------------------------