開発やらlinuxについてやったこと、ひっかかったことのメモ
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
erb.cgiはまだうまくいかないので,とりあえず,ERBを勉強することに.
erb.rb を作成.以下ソース #!C:\Ruby\bin\ruby require 'erb' hoge = ERB.new(open("読み込みたいファイル名").read).result open("書き出すファイル名","w") { |f| f.write(hoge) } これでルビーの埋め込みコードが書かれたファイルを ERBで変換して出力してくれました. あとは,これをどうやってWEBに応用するのか... CGIやら.htaccessやらそこら辺の知識が全くないので苦戦中. PR
二つのファイル編集します.
まず,postgresql.conf listen_address ='localhost' ↓ listen_address ='*' これですべてのアドレスからの受付準備 次にpg_hba.conf host all all 0.0.0.0/0 trust を最終行に追加,または host all all LAN内アドレス 255.255.255.0 trust で,LAN内からのみデータベースをいじれるようにできる. この設定でもしクライアントからいじれなかったら,ファイアウォールとかでポート5432を解放して あげる必要があるかも.
rubyでpostgresを使う.
いろいろ躓いたのでやり方メモ まず,コマンドプロンプトから, >gem install postgres-pr Successfully installed postgres-pr-0.5.0 1 gem installed これで,インストールはおk 以下テスト用ソースコード require "postgres" conn = PGconn.connect("localhost",5432,"","","dbName","usrName","password") res = conn.exec("select * from ****") puts res これをdb.rbとして保存.コマンドプロンプトから >ruby db.rb #<PGresult:*******> と出力されればおそらく成功. つまづいた点は,最初ruby-postgresという拡張モジュールをインストールしたことから. 正常にインストールできたから上のソースコードを実行すると libpq.dllが見つかりませんエラー,環境変数PATHにぽすぐれbinをあててもエラー 調べてみたらどうやらruby-postgresはpostgres8.*シリーズに対応していないらしいです. そこで gem uninstall ruby-postgresでこのモジュールを捨てて,postgres-prをインストールしたのでした.
rubyをhtmlの中にコードを埋め込む形で使用したいので、
erb.cgiというのをダウンロードしたんですが、設定が上手くいかず困っています。 とりあえず、ドキュメントルートに.htaccessファイルを作成し、以下を記述 Options ExecCGI AddType text/html cgi AddHandler cgi-script cgi AddHandler rubypage .rhtml Action rubypage /cgi-bin/erb.cgi 前半部はcgiの使用を可にする記述で、後半部分はerb.cgiを使う設定 もしかしたらここが間違っているのかもしれないが、いまだ解決ページ見当たらず。 次にcgi-bin/にerb.cgiを設置。 erb.cgiはこちらからダウンロード これでルートでサンプルとしてerbtest.rhtmlを作って以下のソースを記述 <html> <head> </head> <body> <%="Hello World!"%> </body> </html> だめです。なぜだ。。。 解決しました.他にもいっぱいやらなきゃいけないことあったのに アホすぎて飛ばしてた. 以下参考ページ ここ(英語) は英語なので,読みづらかった. 解決方法は以下にメモ まず,cgi-scriptをapacheで動作できる環境にする. httpd.conf修正 #LoadModule cgi_module libexec/httpd/mod_cgi.so ↑コメントはずします. # To use CGI scripts: # AddHandler cgi-script .cgi ↑コメントはずします. さらに #ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" ScriptAlias /cgi-bin/ "C:/www/cgi-bin/" これで,www/cgi-bin/にCGIをおいても実行できる ここでひとまず,test.cgi作ってみる↓ #!C:\Ruby\bin\ruby puts "Content-type: text/html\n\n" puts "CGI script handling is set up and working fine!!!!!!" これをC:/www/cgi-bin/において http://localhost/cgi-bin/test.cgi を実 「CGI script handling is set up and working fine!!!!!!」 この文字が出ればおk 次は.htaccessの上書き処理の許可. またhttpd.conf修正 AllowOverride None → All に変更 ここまでやってアパッチ再起動して, .rhtmlをひらいてみたらできました!!
卒業研究でシリアル通信プログラムも作ってるので一応メモ
Javaでシリアル通信プログラムを作るには,JavaCommunicationsAPIというライブラリが必要です. いろいろ設定が必要なので,以下やり方.
なので,Windowsでやりたかったら,RXTXというライブラリを使うこと. なに,準拠したオープンソースなのでimport文が変わるだけであとは普通につかえます . import文は→gnu.io.*;です. バーコードリーダを使って文字列を取得してコンソール上に表示したいのだけれど,8文字ずつ区切って表示されてしまいます(2回SerialEventが呼ばれてる). Windowsでは問題なくいってたのに.どうしてだろう.. inputStream.read()で返された値が-1になるまで受信した値をStringBufferに格納してます. -1が返されるのは,ストリームの終わりに達したときのはずなんだけど,, 1回の読み込みで2回ストリームが作られてるということか?? |
カレンダー
カテゴリー
フリーエリア
最新記事
(07/25)
(04/22)
(04/21)
(02/22)
(02/08)
(02/04)
(01/16)
(11/26)
(11/24)
(11/12)
最新TB
プロフィール
HN:
poti
性別:
非公開
ブログ内検索
最古記事
(11/16)
(11/16)
(11/17)
(11/17)
(11/17)
(11/18)
(11/18)
(11/19)
(11/21)
(11/21)
P R
|