FreeBSDメモ・JNetHackで遊ぶ

FreeBSDにNetHackというゲームの日本語版を入れる。 内容は、ダンジョンを探検するRPG風のゲーム。 portsでjapanese/nethack34をインストール。 テキスト版でやるなら、「.jnethackrc」というファイルを作り、「OPTIONS=windowtype:tty」と記述する。 コ…

RubyでCGIスクリプトを作る下準備・cryptを使う・改

前回(http://d.hatena.ne.jp/BeForU/20040704)のバグフィックス。 checkpwdの引数が空だとエラーになるので対策。(一応nilの時も考慮) def checkpwd(chk, pwd) # ↓この行だけ追加 return false if chk == nil || chk == "" || pwd == nil || pwd == "" i…

FreeBSDメモ・crontabの使い方

crontabを使ってコマンドを定期的に実行させる。 「crontab -e」でエディタを起動。 「/etc/crontab」ファイルも参考にして編集。 「crontab -l」で確認。 必要無くなったら「crontab -r」で削除。 設定例 「15,45 * * * * コマンド」で15分と45分に起動。 …

Ruby

オブジェクト指向言語RuayでCGIスクリプト 環境変数を表示するテスト RubyでCGIスクリプトを作る下準備・日時を求める RubyでCGIスクリプトを作る下準備・フォームデータを受け取る RubyでCGIスクリプトを作る下準備・フォームデータを受け取る・改 RubyでCG…

FreeBSD

FreeBSDメモ・スワップファイルの作り方 FreeBSDメモ・crontabの使い方 FreeBSDメモ・JNetHackで遊ぶ

備忘録・目次

備忘録・目次

RubyでCGIスクリプトを作る下準備・Rubyからsendmailを使う・改1

前回 http://d.hatena.ne.jp/BeForU/20040705 の改造。 SubjectをBase64でエンコードしてみるVersion。 FreeBSD + Ruby1.8.1 だとencode64でバグがある。→ http://www.daifukuya.com/kagemai/guest.rbx?project=kagemai&action=view_report&id=210 encode64→…

RubyでCGIスクリプトを作る下準備・URLを自動リンクする正規表現

$KCODEに"EUC"を代入すれば、\wが2バイト文字にマッチするので ↓はhttp://hogehoge/hoge?a=ほげほげ にもマッチする。 def autolink str $KCODE = "EUC" # 文字コードはEUC str.gsub!(/((https?|ftp):\/\/(=([\x21-\x7e]|\w)+|[\x21-\x7e])+)/) { |s| s = "<a href=\"#{$1}\" target=_blank></a>…

RubyでCGIスクリプトを作る下準備・Rubyからsendmailを使う

CGIスクリプトからメールを送信出来ると便利そうなので作る。 sendmailのオプションに-tを付けるとTo:、Cc:、Bcc:を解釈するようになる。 #!/usr/local/bin/ruby # # Rubyからsendmailを使うデモ # SENDMAIL = "/usr/libexec/sendmail/sendmail" # sendmail…

RubyでCGIスクリプトを作る下準備・cryptを使う

掲示板スクリプト等で使いそうなパスワード人証を作っておく。 saltはランダムで選ぶ仕様。 一般的なDESとMD5に対応。参照) Rubyリファレンスマニュアル -String- http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=String #!/usr/local/bin/ruby #…

RubyでCGIスクリプトを作る下準備・ファイルの読み書き

典型的なファイルの読み書きのデモ。 多分、windowsではflockは使えない。ftest.rb #!/usr/local/bin/ruby # # ファイルの読み書きデモ # file1 = "ftest.rb" # このスクリプトのファイル名 file2 = "test.txt" # 書き込みテスト用の空ファイル lock = "YES"…

FreeBSDメモ・スワップファイルの作り方

カーネルコンフィギュレーションに「pseudo-device vn 1 # Vnode driver」を確認。 スワップファイルを作成「# dd if=/dev/zero of=/usr/SWAPFILE bs=1024k count=10」(10kbの例) /etc/rc.confに「/usr/SWAPFILE」を記述。 リブートしてスワップファイルを…

Ruby/GDライブラリのメモ

GD::Image.new(width, height) 新規のイメージ。 width:幅 height:高さGD::Image.new_from_png(filename) ファイルから新規のPNGイメージ。 filename:ファイル名GD::Image#copy(dest_img, dest_X, dest_Y, self_X, self_Y, width, height) イメージのコピー…

RubyでCGIスクリプトを作る下準備・アクセスカウンターもどきのCGI

GDライブラリを使ってPNG画像の表示。 #!/usr/local/bin/ruby # # アクセスカウンターもどき・デモ # # 0.png, 1.png ... 9.png を自分で用意する # require "GD" W = 8 # 0.png 〜 9.png の画像の幅 H = 16 # 0.png 〜 9.png の画像の高さ N = 3 # 表示する…

RubyでCGIスクリプトを作る下準備・訪問者の環境変数を取得・一部訂正

http://d.hatena.ne.jp/BeForU/20040629#p2 でSocket.gethostbyaddrを使った時にホストの逆引きができないとエラーになって止まる。 CGIだと500 Internal Server Errorが出る。 Rubyではとりあえずgethostbyaddrはあきらめる。 host = ENV['REMOTE_HOST'] ad…

RubyでCGIスクリプトを作る下準備・GDライブラリをインストール

カウンターを作るならたぶん要る。 FreeBSDなら/usr/ports/graphics/ruby-gdをportsで入れるだけ。 portupgradeなら「portupgrade -NCRv graphics/ruby-gd」 新規にインストールする時のおまじない→「-NCRv」 Perlのライブラリはgraphics/p5-GD

RubyでCGIスクリプトを作る下準備・訪問者の環境変数を取得

作っておけば役に立ちそう。 これでグローバル変数に値がセットされる。 Perlだともう少し簡単になるのにRubyだと少々ややこしい。 def getenv $host = ENV['REMOTE_HOST'] $addr = ENV['REMOTE_ADDR'] $ua = ENV['HTTP_USER_AGENT'] $ref = ENV['HTTP_REFER…

RubyでCGIスクリプトを作る下準備・フォームデータを受け取る・改

前回 http://d.hatena.ne.jp/BeForU/20040628#p2 の改良。 GETとPOSTの両方に対応。 将来、掲示板スクリプトに使えるように"<"や">"を置き換える。 def tag(str) str.gsub!("&", "&amp;") str.gsub!("<", "&lt;") str.gsub!(">", "&gt;") str.gsub!("\"", "&…

RubyでCGIスクリプトを作る下準備・フォームデータを受け取る

標準で付いてるライブラリのcgi.rbを使えば楽そうだが、自分で作ってみる。 Perlでありがちな処理をRubyで再現。 Rubyの変数にnilがあるのを考慮しないと500 Internal Server Errorが出る。ややこしい。 #!/usr/local/bin/ruby # コンソール上のデバッグ用に…

RubyでCGIスクリプトを作る下準備・日時を求める

後々役に立ちそうな日時をもとめるルーチンを作ってみる。 海外サーバでも使えるようにグリニッジ標準時との時差を利用。 曜日に日本語を使いたいのでこんな感じになる。 曜日に英語なら1行で済むのでこれは不要。getdate.rb # # getdate.rb 日時を求めるRu…

オブジェクト指向言語RubyでCGIスクリプト

手始めに環境変数を表示するテスト #!/usr/local/bin/ruby print <<END Content-Type: text/html <html> <head> <title>ENV TEST</title> </head> <body> <h1>ENV TEST</h1> <table border=1> <tr><td><b>key</b></td><td><b>value</b></td></tr> END ENV.each { |key, value| print "<tr><td>#{key}</td><td>#{value}</td></tr>\n" } print…</table></body></end>

まだテスト

テスト あういえお かきくけこ さしすせそ たちつてと なにぬねの test testテスト あういえお かきくけこ さしすせそ たちつてと なにぬねの aaiiuueeoo test test

test

テスト テスト testテスト test2テスト2

見出し

リスト リスト リスト リスト リスト リスト http://d.hatena.ne.jp/

見出し

見出し

テスト

テスト