[掲示板へもどる]
一括表示

  [No.761] KHCoderの再開発--スクリプトより実行方法 投稿者:アリ  投稿日:2011/04/27(Wed) 11:14:34

こんにちは。アリです。
始めまして、よろしくお願いします。

KHCoderの再開発方法を教えて頂きたいです。
現在、KHCoderの各機能はGUIより実行されていますが、実は、バックでスクリプトより自動的に実行したいです。

ちなみに、ローカルで開発アプリとKHCoderとの連携を実現し、KHCoderの機能がコメンドより実行できるようにしたいです。

既にKHCoderのソースをダウンロードしました、これから中身を確認しますが。
でも、コメンドより実行するのができるかどうか、全体のイメージと流れなどがよく分かりません。

教えていただけませんか。

よろしくお願い致します。


  [No.762] Re: KHCoderの再開発--スクリプトより実行方法 投稿者:HIGUCHI Koichi  投稿日:2011/04/27(Wed) 11:57:31

こんにちは、樋口です。書き込みありがとうございます。

ソースコードの中には、「kh_coder.pl」というファイルがあります。このフ
ァイルと同じ場所に移動して、「perl kh_coder.pl」を実行することで、ソー
スコード版のKH Coderを起動できます。

ただし、Perlがインストールされていないと「perlというコマンドが見つから
ない」と怒られてしまうでしょう。またPerlをインストールしても、おそらく
「モジュールが見つからない」というエラーが最初は出ます。よって、「見つ
からない」と言われたPerlモジュールをインストールする必要があります。

またPerl以外にも、ChaSen・MySQL・Rを準備する必要があります。正直に書く
と、ソースコード版のKH Coderをコマンドラインから利用できるようにするに
は、これらの点で、ちょっと(?)手間がかかります。しかし、お書きになっ
たような開発をするためには必須の作業です。


さて、ソースコード版のKH Coderを利用できる状態になったら、kh_coder.pl
を編集します。そして、コマンドライン・オプションを解釈・実行するように
改良すると良いでしょう。(現状のKH Coderはコマンドライン・オプションを
一切読み取っていません)

> perl kh_coder.pl -new_project_file=分析対象ファイル -exe=処理内容

例えば、このようなコマンドが実行された場合には、指定された分析対象ファ
イルに対して、指定された処理内容を適用するというようなプログラムをkh_c
oder.plに追加すると良いでしょう。

そうすれば、上記のようなコマンドを他のスクリプト/プログラムから実行す
ることで、KH Coderを利用できるようになります。


  [No.763] Re: KHCoderの再開発--スクリプトより実行方法 投稿者:アリ  投稿日:2011/04/27(Wed) 15:01:13

樋口先生
こんにちは。アリです。

早速、詳細なご回答を頂き、ありがとうございました。


ローカル環境で既にGUI版KHCoderをインストールし、いろいろな機能も実行できました。
KHCoderは利用するChaSen・MySQL・Rがその下[dep]フォルダにあるものだと思います。正しいでしょうか。

コード版のKH Coderを利用する場合、ChaSen・MySQL・Rのインストールと設定が再に必要となりますか。
※ローカルに既にActivePerl(Jcode, EUCJPMS, Tkをインストール済み)とMySQLがあります。

また、現在のローカル環境で、
perl kh_coder.pl 
を実行して、kh_coder\kh_lib\kh_sysconfig\win32.pmの61行(hinshi_chasenテーブルにレコードInsertする)からエラーが出ました。
<do failed: Can't call method "column" on an an undefined value at C:\Perl\lib\SQL\Statement\Term.pm line 199>

恐らく、Databaseへの接続できないと思います。

コード版のKH Coderを利用する時、どうやってChaSen・MySQL・Rを設定し、連携できますか。その設定手順については、何かご参照できる資料がありますか。既存のGUI版KHCoder下の「dep」を利用できますか。

よろしくお願い致します。


  [No.764] Re: Windows環境でのソースコード実行 投稿者:HIGUCHI Koichi  投稿日:2011/04/27(Wed) 15:54:10

ChaSen・MySQL・Rについては、個別にインストール・設定しても良いですし、
KH Coderのパッケージ版に付属のものをお使いいただくこともできます。

KH Coderのパッケージ版に付属のChaSen・MySQL・Rを使うには、パッケージ版
の「dep」フォルダを、ソースコード版のkh_coder.plと同じ場所にコピーしま
す。そして、ソースコード版のconfig\coder.iniを編集して下さい。以下の項
目について、パッケージ版と同じ値を入力します。

> all_in_one_pack
> sql_username
> sql_password
> sql_host
> sql_port


もしcoder.iniが見あたらない場合は、ソースコード版のKH Coderがまだ一度
も正常に起動していないということですので、まずは正常起動させなければな
りません。

エラーが出ているhinshi_chasenテーブルというのは、MySQLではなく、CSV形
式のファイルをSQLコマンドで操作しているものです。もしかするとDBD-CSV・
SQL-Statement・TXT-CSV_XSあたりのPerlモジュールのバージョン違いに起因
する問題かもしれません。ちなみにこちらの開発環境では、ActivePerlの5.10.
1を使用しています。


  [No.765] Re: Windows環境でのソースコード実行 投稿者:アリ  投稿日:2011/04/28(Thu) 11:05:53

樋口先生
こんにちは。ご回答ありがとうございました。
スクリプトより起動できました。
実は、ソースコードパッケージにあるcoder.iniが空ファイルとなっています。パッケージ版のcoder.iniを差し替えて、Pathを修正しました。
ちなみに、こちらのPerlはActive Perl 5.12.3となっています。

でも、起動されたGUIに上のメインメニューが文字化けで読めないですが、その下のサブメニューが全然大丈夫、日本語を正しく表示されています。
何故トップメニュー「プロジェクト」、「前処理」、「ツール」、「ヘルプ」は文字化けされていますかよく分かりません。


  [No.766] Re: Windows環境でのソースコード実行 投稿者:HIGUCHI Koichi  投稿日:2011/04/28(Thu) 15:20:59

メニューのトップが文字化けするのは、最新版のPerl/Tkで仕様が変わったた
めです。

(1)最新のソースコードをSourceforgeのCVSから入手していただくか、
(2)804.028以前のPerl/Tkをお使いいただくか、あるいは(3)KH Coder 2.b.24
のソースコードに小さな編集を加えていただくことで、問題を回避できます。

(1)CVSについてはこちらをご覧下さい。modulenameは「core」です。
http://sourceforge.net/scm/?type=cvs&group_id=65640

(3)編集については、kh_lib\gui_window.pmの217行目に、

> if ( $] > 5.008 && $::config_obj->os eq 'linux' )

このような部分がありますので、これを以下のように修正して下さい。

> if ( 1 )

これで、おそらく化けなくなると思います。


余談ですが、KH Coderのソースコードのトレースについては、こちらが参考
になるかもしれません。
http://khcoder.info/cgi-bin/bbs_khn/khcf.cgi?no=361&reno=359&oya=359&mode=msgview
(古い書き込みなので、行番号などは変わっていると思いますが、考え方は同
じです)


  [No.767] Re: Windows環境でのソースコード実行 投稿者:アリ  投稿日:2011/05/09(Mon) 16:20:56

ソースコード修正によりMainMenuの文字化け問題を解決しました。
いつも早速ご返事ありがとうございます。

また、既存システムとのI/Fの開発と稼動自動化については、ご提示のソースコードのトレースは大変助かると思います。ソース中身を見ときます。

今後もよろしくお願い致します。