2chブラウザののログコンバーターを作ろう
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。
ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。
関連スレ
monazilla.org (w
http://www.monazilla.org/
0002デフォルトの名無しさん
NGNGPerlとか使えば数日で完了するプロジェクトだと思うんだが。
0003デフォルトの名無しさん
NGNGその数日で終了することを誰も着手していないわけだが。
代表的なところで、かちゅ、ゾヌ1、ゾヌ2、Abone、Janeあたりの相互変換が
できると結構需要ありそうだね。
オープンソースで作って、対応ソフトを増やしていくと(・∀・)イイ!!かも。
00041
NGNGその内容やフォーマットも私一人では正直、解析ですら大変です。
フォルダもサーバー名だったり、板名だったり様々です。
これから出てくるブラウザにも柔軟に対応できるようなソフトを目指したいのです。
00051
NGNG今更ですがスレタイに「の」が一つ多かったですね。(;´д`)
0006デフォルトの名無しさん
NGNGで、最終的な変換はXSLTで。
面倒っちゃ面倒だが普通にやったらそれこそ>>2なので。
0007デフォルトの名無しさん
NGNGとりあえず「ログだけ相互変換」で動くものを迅速にリリースしたほうがいいかも。
0008デフォルトの名無しさん
NGNG>>2ができる奴は作り捨てでやっつけるし、できない奴はどうしようもないので諦める。
結果的に余り公開されて無いだけだと思うが。
公開したら公開したで仕様変わったときに対応迫られて面倒だしな。
0009デフォルトの名無しさん
NGNG同意。
そもそも、そんなにしょっちゅうソフトを変える人がそう沢山いるとは
思えないので、ユーザ名だのハンドル名だのはコンバートする意義が
少ないと思う。設定し直すのもたいした手間じゃないし。
ついてるに越したことはないが、それよりもコンバート対応ソフトを
一種類でも増やしたほうが有意義と思われ。
00101
NGNG最低限どんなファイルがあれば良いのか調べる必要がありますね。
00111
NGNG参考程度に。
色々 → Jane
http://www.geocities.co.jp/SiliconValley-Sunnyvale/7740/
かちゅ〜しゃ → ぞぬ
http://suzuka.cool.ne.jp/aiken/
かちゅ〜しゃ → Hikky ログコンバータ
http://www.geocities.co.jp/SiliconValley-Oakland/4909/
かちゅ〜しゃのログを2chで使用されているdat形式へ
http://kusuri-.hp.infoseek.co.jp/tools.html
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGそんな大規模なソフトじゃないから意味ないw
単にVerUPでEXE差し替えで十分だと思われ。
0014デフォルトの名無しさん
NGNG内部的には何かの統一的な表現形式を採用したほうがいいんじゃない?
XMLでログデータの受け渡しするんならプラグイン化も楽だと思うし。
(それこそ標準入力からXMLを読んで引数で指定したディレクトリにログを吐く
exe形式のプラグインでもいいような。。。(素人考え)
0015デフォルトの名無しさん
NGNGプラグイン形式にしておけば他のソフトが利用しやすくなると思うのだが。
ひとりで全部作るなら別にいいけど。
>>14
内部的ではそうするだろうね
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGデータ解析で挫折しそう。
00181
NGNGわかりました。
幼稚な上に汚くて叩き台にもならないかも知れませんが、
簡単なところでAbone→Janeでもやってみます。
余談ですがギコナビのidx(板リスト)ってバイナリなんですねぇ…。
0019デフォルトの名無しさん
NGNG言語はVC6と思っていいのけ?
それなら俺も力になれるかも。
需要は多いと思うので、がんがれ。
0020デフォルトの名無しさん
NGNGわざわざインストールして調べるのが鬱だ。
誰か必要最小限だけ張ってくれ。それを元にたぶんきっと誰かがなんか書くから。
0022デフォルトの名無しさん
NGNGない
00231
NGNGもし仮に
・スレッドタイトル
・レス数
・スレッド立てた日時
が項目として用意されていたとして、他の2chブラウザがバージョンアップし
新しい項目(仮にスレッド最終取得日時)が追加され、対応を余儀なくされた場合、
下位互換というのは楽に取れるものなのでしょうか?
ログコンバーターの更にコンバーターを用意する羽目になるのは
ミイラ取りがミイラになってしまうような物なので、XMLで独自に
ログ形式を用意するのであれば慎重に考えないと駄目ですね。
00241
NGNG少し時間かかるかも。
0025デフォルトの名無しさん
NGNGぞぬ→かちゅ→ぞぬ
と変換した場合に最初と最後が同じ物になるだろうか?
いくつかの項目はリセットされてしまう気がする……
0026デフォルトの名無しさん
NGNGたとえばどういう項目がならないと思うの?
2chのスレ情報が
・サーバ(http://pc2.2ch.net/ とか)
・カテゴリ(tech とか)
・スレ番号
んでスレ内の情報が
・番号
・ハンドル名
・メールアドレス
・投稿日
・発言内容
だけでしょ。抜けの発生する要素が思いつかないが・・・
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG<logs>
<category>
<name>tech</name>
<board>
<name>プログラム技術板</name>
<thread>
<id>1046742687</id>
<name>2chブラウザのログコンバータを作ろう</name>
<res>
<head>
<id>26</id>
<name>デフォルトの名無しさん</name>
<mailaddress>sage</mailaddress>
<date>03/03/04 16:08</date>
</head>
<body>
>>1さん。これを拡張子xmlで保存して、IEでみるといいです。
</body>
</res>
</thread>
</board>
</category>
</logs>
</xml>
003026
NGNG投稿日も投稿”日時”が正しいな。もうだめぽ。
0031デフォルトの名無しさん
NGNG例えばゾヌのinfファイル読んでみたかい?
スレの文字の色設定できたり太字にできたり、「ココまで読んだ」があったりメモがあったり。
他のブラウザにはない、独自の機能のためのデータをどう保存する?
003228
NGNG003331
NGNGだったら萎え
お気に入りとかも変換してくれよ
003426
NGNGああなるほど、そういう意味ね。
俺は純粋に2chのログという意味だけで考えてたよ。
ハンドル名や書き込みログと同様、その手の独自データは
切り捨ててもかまわないんじゃないかと個人的には思うがなー。
003631
NGNG純粋にログファイルだけの変換なら、別のブラウザに切り替えたときにまた取り直せばいい話だとおもうんだが。
(2chにはあんまり優しくないけどね)
透明あぼーんやら重要度やら既読フラグやらが別ブラウザでそのまま引き継げたら魅力的だと思う。
そのブラウザがそれらの機能をサポートしている必要があるけどw
どっちかといえばログコンバータよりお気に入りコンバータのほうがよろこばれそうな気がしないでもない。
0037デフォルトの名無しさん
NGNGム板の人間がくれくれ厨とは これいかに
003831
NGNGごめん。
0039デフォルトの名無しさん
NGNGしてくれよ→しようよ
こういう意図で言ったんだけど書き方を誤ったな。・゚・(ノД`)・゚・。
004026
NGNGんー 俺的には仕事柄(プログラマ)、今読み込めるログと同じぐらい
過去ログデータがかなり大事なんだよな。
たとえば xxx ってAPIについて調べたい!ってなった時に、過去ログからも
検索できるってのはかなり大きいから。
現在あるスレと違って、過去ログって見失うことあるし(ちなみに●は持ってる)
個人的な重要度は、
過去ログ>現在あるスレのログ>>>>お気に入り>透明あぼーんとかの付加情報
って感じだな。
まあ、人によって重要度は違ってくると思うが。
0041デフォルトの名無しさん
NGNG揚げ足取りスマソ 気にしないで
0042デフォルトの名無しさん
NGNGage進行のほうがいいんじゃないか?
それとも1が叩き台出すまではsageでいく?
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG個人的にはプラグインには任意のファイル(基本的にはexe)が指定できるようにしておいて、
どの言語からでもプラグインを追加できるようにするのがいいと
思うんだよなぁ。
ログ <=解析プラグイン(hogeToXml.exe)=> XML <=出力プラグイン(xmlToPiyo.jar)=> 別形式のログ
みたいにできないかな?
0045デフォルトの名無しさん
NGNG・それぞれのログから中間形式へ変換する XSLT
・中間形式からそれぞれのログへ変換する XSLT
XSLT ではなく単なるプログラムでもいいが。
この場合、ログ形式に対して XSLTは高々 2n 種で済む。
ただし、中間形式が十分な記述力を持っていないと情報落ちする。
004644
NGNG必須情報のみによって成り立つ最小のスキーマがあったとして、
致命的な設計ミスがなければ、情報落ちは(必須でない要素を追加していくことで)
あとから対策可能だと思うです。
0047デフォルトの名無しさん
NGNGというか、必須でない情報は別ファイルに追い出すとか。
かちゅのidx、ゾヌのinf……あと知らんけど、それら独特の情報は別ファイルに追い出して、
必要な情報があったらそれを使う。
コンバートのたびに情報量が増えるという欠点があるが……
そうすれば>>25の懸念も消えると思う。
プラグインはぜひともHTML出力プラグインが欲しいね。
どんなログからでもHTML形式にして吐き出せる。
004845
NGNG2ch とかちゅ〜しゃのログの相互変換しかできないけど。
>>46
それぞれのブラウザがログ(dat+idx)に記述する情報の集合を IDXi(IDX1,IDX2...) とすると、
IDX1 and IDX2 and IDX3... で表せる 「必須情報のみによって成り立つ最小のスキーマ」 では、
ユーザのニーズに応えられない。
IDX1 or IDX2 or IDX3 と、ひたすらに拡張することになる。
まあ、このスレで標準化して、ブラウザの方に準拠してもらうって考えもあるけど。
0050デフォルトの名無しさん
NGNG入力にもHTMLが使えたら過去ログ倉庫から読めたり
となるとプラグインの入力先がローカルファイルだけでなくWWW上のリソースも……ああ……
ちょっとトイレでオナってくる
005144
NGNGじゃあ、スキーマに数段階のレベルを持たせるというのはどうだろう。
XHTMLにStrictとそうでないものが数種あるように、
情報の再現性を基準に、定義のレベルを分けるという感じ。
こうしておけば、最小限のスキーマをもとに初期の開発は進むし、
より難しい要求は高次のスキーマが決まるとともに取りかかれるのではないかと。
005245
NGNGhttp:// や >>n にログの段階でリンクをはっていたりいなかったりするので。
さらにいえば、ログ中の空白を除去するブラウザもある。
つまり、ブラウザで読んだ時点でデータが異なる。
実用上は別に問題ないけどね。テストがし辛いが。
0053デフォルトの名無しさん
NGNG俺も去年の終わりごろにちょっと作って放置してあるよ……
ゴミレススマソ
005444
NGNGうん。もちろん正規表現を的確に利用するだけの技能が
必要になるんだろうね。
でも、それはたいしたことじゃないと思うな。
この段階で最も重要なのはインターフェイスなんじゃないだろうか。
プラグインがまっとうに動くことの保証があれば、
プラグインを書くひとはいると思うし、いずれ近いうちに揃っていくと思う。
0055デフォルトの名無しさん
NGNGでもVB厨の俺にはついていけなそうな悪寒
0057前調べたヤツ
NGNGログはかちゅ〜しゃをインストールしたフォルダの「log」フォルダ以下に保
存される。
/Hzb.exe本体
/config
hzb.favお気に入り
/logログフォルダ
/(server)BBSのサーバ名
/(bbs)BBSのディレクトリ名
subject.txtスレ一覧
subject.infスレ一覧データ
head.txtローカルルール
(key).datログファイル
(key).infスレッドデータファイル
(key).txtメモ
0058デフォルトの名無しさん
NGNG>>>57は無視してください。
ゾヌのやつだ……
0059デフォルトの名無しさん
NGNGMonazillaMLに仕様ください〜って流せば?
006045
NGNGログファイル単体のコンバータなのか、ログ情報全体のコンバータなのか。
参考にもならないかも知れないけど、
前に作った行ストリーム指向の Ruby 製ログ単体コンバータ
http://tiki.hakagi.net/tiki.cgi?p=piroshki
00611
NGNG本格的な進展が…。
データ形式のことは前述の通りサッパリなので本格的な内容は
有志の皆様にお任せします。
情けない叩きプログラムは今日中に出来れば良いな、という程度で。
もう少々お待ちください…。(情けなひ)
あとは軽くこのスレ用のサイト作りでもしますかね…。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGそれはそれでいいんじゃない?w
たとえ原型とどめなくなったとしても、やっぱベースになるものが
あるのと無いのじゃ、話の具体性がかなり違うよ
とりあえず1&ALLがんがれ!
00641
NGNGyahooBB規制。。?
http://qb.2ch.net/test/read.cgi/sec2ch/1045039955/
■メモ
・DATとSubject.txtは共通
・ABoneのBoard.ini 全て0KBで用途不明(飛ばし)
・Janeのidxの内容
------------------------------------------------
1045039955.idx(頭の行番号は投稿用に追加した物)
------------------------------------------------
001[スレタイ]:yahooBB規制。。?
002[日時]:Tue, 04 Mar 2003 09:25:18 GMT
003[レス]:13
004[不明]:0
005[不明]:
006[板URL]:http://qb.2ch.net/sec2ch
007[不明]:0
008[不明]:0
009[不明]:
010[不明]:
011[不明]:0
012[不明]:1046805933
------------------------------------------------
■Logが格納されているフォルダ
OpenJane
\Logs\2ch\案内\2ch規制情報
Abone
\log\qb.2ch.net\sec2ch
00651
NGNGかちゅ 12.1 KB (12,461 バイト)
Zonu2 11.1 KB (11,418 バイト)
Giko 11.1 KB (11,418 バイト)
Abone 11.1 KB (11,418 バイト)
Jane 11.1 KB (11,405 バイト)
かちゅはhttp〜の部分に<a hrefタグが付くみたいです。
他のDATはついていません。
00661
NGNGディスク上のサイズでは12.0 KB (12,288 バイト)だから正しいんでしょうか?
一応目で追って比較したら内容に違いは無さそうなんですが…。
00671
NGNGage推奨でお願いします。
クッキーの都合もあるので無理にとは言いませんが。
0068デフォルトの名無しさん
NGNG改行(LF/CRLF)とかじゃないかな?
0069デフォルトの名無しさん
NGNGJaneは改行コードがLF。
ABoneはGetResList.txtで既得スレが分かるけど、そのフォーマットは
バージョンを経て随分変わってるようなので、無視した方が良いかも。
あと、>>18で言ってるギコナビの板リストってスレリストのこと?(Folder.idx)
それだったら0x01区切り。
>>25についてだけど、ログ(dat)だけに限って言えば、「かちゅ」、「えまのん」等は
2chのサーバにあるやつと同じ形式に戻せないから、かちゅ→何か→かちゅ は
単純には出来ない。確認するの面倒だから記憶で悪いんだけど、Ya2b、Gicko
は全レスを取得するようにブラウザで設定してないと無理。
他のやつはCRLFかLFの違いしかないから大丈夫かな。
0070愛犬
NGNGかちゅ〜しゃログの変換は
・「あぼーん」→「あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>」
・「透明あぼ〜ん」→「<><><><>」
・区切りは「,」→「<>」
・「@`」を「,」に復帰
・名前欄前後の「<b>」「</b>」を削除(トリップ前後のタグは残す)
・リンク形式をPATHINFO式に変更する
<a href="http://vip.bbspink.com/test/read.cgi?bbs=ascii2d&key=1013545450&st=20&to=20&nofirst=true" target="_blank">
→「<a href="../test/read.cgi/ascii2d/1013545450/20" target="_blank">」てな感じ。
で、鯖datとだいたい同じになるかと。抜けがあったら補足してください。
1年前の話なので仕様が変わってたらダメぽ。
0071デフォルトの名無しさん
NGNG・項目と順番(名前、日付など)
・項目の形式(日付は YYYY/MM/DD YY/MM/DD など)
・項目のデリミタ(, <> など)
・レコードのデリミタ(LF CRLF など)
・エスケープ文字
・リンクの有無(>>n にリンクをつけるつけないなど)
・リンクの形式
0072デフォルトの名無しさん
NGNG・ファイル名の命名規則 (unixtime など)
・拡張子 (.dat .d など)
・ディレクトリ構造 (サーバ名/板名/ など)
あとなんだろう。
0073デフォルトの名無しさん
NGNGhttp://zonutan.hacca.jp/bbs/test/read.cgi/zonu/040660888/
ここの50ですー。VC++6.0で作ろうかと思ってたですが、、、
フォルダ分けが結構難物かも。
0074デフォルトの名無しさん
NGNG・ルートディレクトリ(かちゅ〜しゃなら log/)
・サイト名 (2ch)
・カテゴリ名 (PC等)
・サーバ名 (pc3)
・板ディレクトリ名 (tech)
・板名 (プログラム技術)
共通形式のボードファイルがあれば情報はとってこれるね。
0075デフォルトの名無しさん
NGNG00771
NGNGボードが更新されてサーバー名が変わった場合
既存のログはどうなるんでしょうか?
サーバー名使用されているのはABoneですが、
確認用に少ししか使っていないのでいまいちわからなかったり…。
0078デフォルトの名無しさん
NGNGコンバータだと納屋見所
0079デフォルトの名無しさん
NGNGログを引き継ぎたい場合は、logmover などでログを移動させる。
katju88 ではボードエイリアス機能で、古いログもそのまま読めるようになってる。
他は知らない。
0081デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/software/1045192709/
これの過去スレでログの形式を調べていた人がいた気がする。
00831
NGNGWebスペース貰えるまでに結構時間掛かるみたいですね・・・。
00841
NGNGhttp://www.geocities.co.jp/SiliconValley-Bay/8642/2chLogConverter.zip
かなり醜態晒します。叩き台っていうか俺が叩かれる勢いね。
でも一応、今日の成果物です。
残念ながらログの読み込みなどはまだ全く出来ません。
全体的に駄目なプログラムかもしれませんが、
指摘してくだされば改善に努めます。
00851
NGNG0086デフォルトの名無しさん
NGNGログだけの相互コンバーターを作って欲しい。
例えばぞぬ→かちゅ〜しゃ→ぞぬ
となっても、ログだけが移行できてれば
設定は移行できなくてもいい。
もちろん将来的には設定も含めて欲しいが差しあたっては。
>>11の一番上の作者です。
普段MFC使ってるんで、非MFC&Cライクの書き方はどうも違和感を覚えました。
DirectX使うときはそっちなんですけど、最近書いてないもんで。
さて、_THREADDATA構造体のresdataですが、レス数はMAX1001じゃないです。
ログ変換のルーチンがないので、とりあえずレベルかもしれませんが・・・
画面周りについては、主目的と外れるのでパス。
いずれにしても、今回のは肝心のログ変換部分がないので、これ以上は
何とも言えないです。
コーディングスタイルレベルではあると思いますけど、すんなりまとまる話
じゃないので、それはコーディングしてる人任せになっちゃいますね。
0088デフォルトの名無しさん
NGNGまあ、各プラグインは、エクスポート関数を呼んでもらうだけだろうから、
主画面はどう書いてもかまわないだろうけど。
ただ、核になる部分が、メンバ決め打ちの構造体というのがつらいかな。
IDはどうするんだとか、sageレスのフラグがあったりすると、柔軟に扱いづらい。
各ログ形式の最大公約数ではなく、最小公倍数の構成にしなければいけないから。
XMLがベストだけれど、それが大げさならハッシュでもいいかなと。
そのほうが面倒くさいかな?
008944
NGNG要素のみから成るシンプルなXMLのDOMツリーなら、それで簡単に代用できる気がする。
0090デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/digikei/index2.html
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGもうしらべてあるな。
00931
NGNGhttp://pc2.2ch.net/test/read.cgi/software/987860942/159
かちゅのidxの内容。
>>87
まぁ、画面構成はどっかで見たような感じですが、それは置いといて。
ほとんどがとりあえずレベルの物でresdataの配列も
何となく1000個なんですが、よく考えるとしたらば系は
1000以降も書けるのでNGですね。
>>88-89
ID忘れてました。すいません。
あとハッシュという用語がいまいちハッキリわからないのですが、
各項目のポインタを用意してmallocで確保するという理解で
あっているのでしょうか?
>>90
そうですね。
>>91
セマンティックウェブと言うのはログ検索などに?
ログ変換とは少し趣旨とずれてしまうので。
0094デフォルトの名無しさん
NGNGつか、ログのコンバートに関してはコンバータ作者も来ているようだし
そもそも、そこまで問題はないだろ。
XMLとかセマンティックウェブとかは、ログ毎のidxやinfファイルやその他の
設定ファイルをどう扱うか話してるんじゃないの?
0095デフォルトの名無しさん
NGNGJane使いだろ?
>とりあえず乱立を一通り読んでみた所で>>92が出しているレス以外の気になったところ。
>http://pc2.2ch.net/test/read.cgi/software/987860942/159
>かちゅのidxの内容。
普通のブラウザで開いてみればすぐ分かるが、こんなスレッドは存在せん。
正しくはこう。
http://pc.2ch.net/test/read.cgi/software/987860942/159
そのスレはソフトウェア板がpc2鯖じゃなくてpc鯖にあったときのスレだよ、と。
ちょうどログ話してるからちょっと関連性あると思うけど、
Janeのログって\logs\カテゴリ名\板名\xxxxxxxxxx.datって保存してて、
URLのデータがないんだよね。
だから実際は
http://pc.2ch.net/test/read.cgi/software/987860942/
なんだけど、今は「ソフトウェア板」は「http://pc2.2ch.net/software/」
というデータしかもってないから、
実際はpc鯖時代にあったスレッドにもかかわらず、
http://pc2.2ch.net/test/read.cgi/software/987860942/
になっちゃうんだね。
\logs\カテゴリ名\板名\xxxxxxxxxx.datってログの保存は、
板の移転時にログを移動する処理を作らなくてもいいというメリットがあるが、
上記のようなデメリットがあるんだよね。
Janeのログを変換するなら、そこらへんも気を付けないとだめだね。
009644
NGNG0097デフォルトの名無しさん
NGNG009844
NGNG<log>
<!-- 拡張子xmlで保存後、IE5.0以上かMozillaで開くと、ツリーが見れるです。 -->
<type>2ch</type>
<url>htt://pc2.2ch.net/test/read.cgi</url>
<category>
<id>tech</id>
<name><![CDATA[プログラム技術板]]></name>
<thread>
<id>1046742687</id>
<title><![CDATA[2chブラウザのログコンバータ作ろう]]></title>
<res>
<head>
<id>95</id>
<name><![CDATA[デフォルトの名無しさん]]></name>
<mailaddress>sage</mailaddress>
<timestamp>2003-03-06T20:14:57+09:00</timestamp>
</head>
<body><![CDATA[ここに本文がはいるです。]]></body>
</res>
</thread>
</category>
</log>
009944
NGNGcategory,thread,resは、通常複数個含まれる要素のつもりです。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG1週間もすればdat落ちだな、このスレも(藁
010273 ●
NGNG( ゚∀゚) 週末に少し作ってみる鴨。
0103デフォルトの名無しさん
NGNGスキーマも作ってください
0104デフォルトの名無しさん
NGNGハッシュっていうのはキーと値の集合で、連想配列とも呼ばれてるです。
一般的なハッシュの持つ特徴は、
1.操作はキーを指定して行う。 hash.put(key, value); hash.get(key); hash.remove(key);
2.ハッシュの内部ではキーの重複が許されず、キーが同じものを追加すると上書きされる。
3.出し入れの操作は非常に高速に行えるが、順序はまったく保証されない。
なのです。
ハッシュは、ライブラリの一部として提供されることが多いのです。
そこでこれに動的配列(vector、またはarraylistと呼ばれる)を組み合わせてあげると、
追加や削除に最適化された柔軟な構造体を作ることができるです。
0106デフォルトの名無しさん
NGNGサイト→カテゴリ→板→スレ→ログ
と5段階あるわけだけど、この例では一つの XML 文書に複数のサイトのログが入らないよね?
別に他の文書の要素を参照してもいいんだし。
サイト(掲示板群)の掲示板の構造自体も XML にしておけば(2channel.brd みたいなもの)、
category 要素や category 要素下の name 要素の情報は、
そっちから取得できるよね。
XML で id というと他の要素から参照するための uid というイメージがある。
やや冗長気味でもきちんと名前付けしてほしい。
名前空間も適当につけとくといいと思う。
010744
NGNG>複数サイトのログが入らない。
うっかりしてました。
サイトを表す要素を設けて、そのなかに入れた方がいいんでしょうか。
>そっちから取得できるよね。
トランスレート用の情報を参照を使った形式で持った場合、
プラグイン開発者側の負担が多くなる気もします。
参照なしのXMLをSAXで読みながら変換していくのと、
参照ありのXMLをDOMにして参照を解決しながら変換するのって、
あんまり変わらないんでしょうか。試してないんでよくわからないです。
それとも、プラグインへの受け渡し用と内部形式用のXMLを
別々に定義した方がいいんでしょうか。
>id 名前空間
要素(例:thread)内の要素(例:res)を一意に特定できるからidとしたんですが、
まずかったですか。考え直してみます。
名前空間はbbslogとかでいいですか?(超安易
01081
NGNGhttp://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/upload.cgi
010973 ●
NGNG0110デフォルトの名無しさん
NGNGぁゃιぃテイストなのかと。
01111
NGNGまぁ、配色は後で変えときます
0112デフォルトの名無しさん
NGNGPCニュースみたいにニュースカテゴリとPC等カテゴリの属する、
複数のカテゴリに同一の板がある場合もあるからね。
01131
NGNGhttp://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0002.zip
すいません、ヘルプミー。
動的に配列を用意して確保しようかと思ったんですが、
文字列操作のところで(1byte、2byte)へばってしまってます。
具体的にはCLogConvクラスのConvert関数です。
使用方法は上段のファイル指定からDATファイルパスを指定し
読み込みボタンを押すというところまでです。
ファイルパス指定して無い状態で読み込むと落ちます。
ブラクラ級の動作不安定状態なので確認の際は気をつけてください…。
0114デフォルトの名無しさん
NGNG( ゚д゚) ……。
0115デフォルトの名無しさん
NGNGそろそろトリップつけたほうがよかないか。
偽者が現れて変なものうpしないとも限らん。
0116デフォルトの名無しさん
NGNG○ ム板
失礼。逝ってくる・・・
01181 ◆LirUghTKBo
NGNG0119デフォルトの名無しさん
NGNGトリップ決めたらうpろだの所にでも書いておいてくだされ。
ここで「このトリップにします」って宣言されても本物かどうか判別する手立てがないので。
0122デフォルトの名無しさん
NGNG012344
NGNGあとで確認して訂正します。
0124デフォルトの名無しさん
NGNG<bbslog xmlns="http://www.2ch.net/bbslog">
<site xmlns:site="http://www.2ch.net/bbslog/site">
<site:type />
<site:uri />
<site:board xmlns:board="http://www.2ch.net/bbslog/site/board">
<board:category />
<board:thread xmlns:thread="http://www.2ch.net/bbslog/site/board/thread">
<thread:uri />
<thread:title />
<thread:res xmlns:res="http://www.2ch.net/bbslog/site/board/thread/res">
<res:head xmlns:reshead="http://www.2ch.net/bbslog/site/board/thread/res/reshead">
<reshead:number />
<reshead:mailaddress />
<reshead:timestamp />
</res:head>
<res:body />
</thread:res>
</board:thread>
</site:board>
</site>
</bbslog>
0125デフォルトの名無しさん
NGNGXMLなら文字コードは当然UTF-8だよな?
XMLドキュメント内のencoding指定なんてクソの役にもたたないぜ。
金庫の中に金庫の開け方を書いた紙を入れておくようなもんだ。
0126デフォルトの名無しさん
NGNGハァ?
糞の役にもたたんパーサ作ってる連中に言え
0127デフォルトの名無しさん
NGNGpython でさくっとプロトタイプ書くなどもできるし。
0128デフォルトの名無しさん
NGNG2ちゃんは文字実体参照を使ってるケースも多いし、
パーサによって挙動が変わってくる可能性がある。
0129デフォルトの名無しさん
NGNGなんのためにEncoding指定を1行目に書かないとエラーになるか考えてみろ。
#まあ俺はUTF-8派だが
0130デフォルトの名無しさん
NGNG応援してます。OpenJane、VC++使ってますがXMLほとんど知らないし
まあC++でXMLやろうスレをちょくちょく見てそろそろやろうとは思ってるんだけど、
力になれるかどうかわからないのでせめてテスターにでもなる所存です。
0131デフォルトの名無しさん
NGNG<?xml version="1.0"?>
でもエラーにはならない罠
それどころかxml宣言自体省略可能な罠
0132デフォルトの名無しさん
NGNG知ってるよ。
「(書くなら)1行目に書かないとエラーになる」だ。
それぐらい汲み取れよ。
何とも特徴のある書き方ですね。
とりあえず、適当に修正しときました。
詰まってたらどうぞ。
http://iwh7.hp.infoseek.co.jp/l/o/g/logconverter/cgi-bin/uploader/source/up0005.zip
処理の流れは、それとなく似せたつもり。
重複して上げちゃってます。すみません。
ページを更新したら、上がっちゃった。
01351 ◆LirUghTKBo
NGNG>>95
すいません、お察しの通りで。
指摘ありがとうございます。
今後は確認するようにします。
>>100 オメ
>>101 そうですね。モチベーションと勢いは大事だと思います。
>>104
遅レス申し訳ないです。
一応ハッシュと言う物はそれとなく理解したつもりです。
・・・プログラムで作れるかどうかと言うのはまた別問題ですが。
わかりやすい解説ありがとう御座いました。
>>121
OKデス。
じゃんじゃん使ってください。
ウpされたのIEでエラー出てますが。
>>130
同じくOpenJaneとVC++使ってXML無知の>>1です。
>>1必死だな とか言われても、必死です としか答えようの無い状況で頑張ってます。
>>133
とりあえずウpされたファイルを見てます。
特徴あると言うか…、文字列操作のプログラムなんて
組んだことも無かったんで、正直かなり稚拙な内容だと思います。
・・・にも関わらず読んで手直しして下さったのには非常に感謝してます。
と言うことで、もう少しプログラム見て研究します。
0136デフォルトの名無しさん
NGNG今使われている有名2chブラウザの開発者が、そのブラウザのログ形式として
このスレで議論されているログ形式を使用することは、大歓迎ですか?
0137デフォルトの名無しさん
NGNGあ、コレ俺だ。違うブラウザで同じログを使いたかったんで、調べてたです。
今はJaneのログ形式(datとidxと保存フォルダ)をゾヌ1形式に改造して使ってます。
ついでに、関係ありそうなリンク。
掲示板スクリプトデータフォーマット規定を作ろう
ttp://pc.2ch.net/php/kako/1035/10359/1035908481.html
CMTフォーマット
ttp://www.kaede.sakura.ne.jp/~nikeno/cmt/
ああ、up0005.zipのやつですが、
delete tmp;
→
delete [] tmp;
01391 ◆LirUghTKBo
NGNGほんと仮ですがXML吐き出してみました。
xmlFormat.txtでそれとなくやってます。
>>98を真似てやってみました。
DAT(Jane形式)を読み込むのは>>133でウpされたものに
ぬるぽなど多少手直しした物デス。
XML吐き出す関数はCLogConv::WriteXMLDataですが
みてわかる通りタグ名が固定など汎用性も無くかなりキツイ感じ。
サンプルに使っているDATは1000レスまでありますが、
IEで開くと普通にブラクラになりかねないくらい重かったです。
注意。
使い方
上段エディットボックスにDATのファイルパスを指定して読み込み。
その時点でXML吐き出してます。
0140デフォルトの名無しさん
NGNGその2chブラウザだけならともかく、多くの2chブラウザが
同一ログ形式を取るようになったらすごく(・∀・)イイ!!
そのための第一歩として、どこかの2chブラウザがここで
議論されてるログ形式を採用してくれるのを俺は歓迎します。
01411 ◆LirUghTKBo
NGNGVC++6プロジェクトファイル
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0008.zip
あぁ、同梱されてるexeファイルは一番最初の古い物なので意味無いです。
申し訳ないですが、コンパイルしてください。
01421 ◆LirUghTKBo
NGNG私の個人的な意見では、歓迎です。が、
作者側としては他のブラウザに無い機能などを盛り込み
それぞれの特色を出す為や、自分が扱いやすい形にするなど
色々な思想があってこその独自形式だと思います。
他に保存しているフォルダの関係もありますし、フォーマットは共通と
言っても、Ctrl+ドラッグで簡単にログ移行という感じにはなりませんし。
形式のみでのサポートをするかどうかの判断は各作者にお任せします。
・・・という感じですね。
まぁ、共通の形式が使えたらそれ程魅力的なことは無いと思います。
0143デフォルトの名無しさん
NGNGでも、>>125 の言うとおり、文字コードがわからないと1行目すら読めない。
「<?xml」という文字列は
Shift_JIS : 3c 3f 78 6d 6c
Unicode : 3c 00 3f 00 78 00 6d 00 6c 00
EBCDIC : 4c 6f e7 d4 d3
になる。
まあ、Shift_JIS も UTF-8 も ASCII 部は US-ASCII 互換だが。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG014644
NGNGXMLをアップロードしました。変更点は、
1.site要素を追加し、categoryをboard要素内に持つように変更 (>>112
2.なぜか抜け落ちてたname要素を追加
3.いくつかの要素名を、より適切と思われるものに変更
ツリー表示できないブラウザだとなんか味気ないので、
スタイルシート内包版もあわせてアップしてあります。
0147デフォルトの名無しさん
NGNG014944
NGNGあと、reshead要素は無くてもいい気がしたので
消しました。前よりすっきりしてます。
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0012.xml
01501 ◆LirUghTKBo
NGNGイリーガル言われて使い物にならない〜…
なんか、こう、いい感じのXML対応のエディタ無いですか?
0151デフォルトの名無しさん
NGNGおまいら昼間から暇そうですが、大学生ですか?
0152デフォルトの名無しさん
NGNGオマエモナー
0153デフォルトの名無しさん
NGNG警告しておく
これ以上そのことについては詮索するな
生命にかかわる
0154デフォルトの名無しさん
NGNGxpでもいいからソース嫁
0155デフォルトの名無しさん
NGNG無職引きこもり童貞パラサイトヲタクでつか?
0156デフォルトの名無しさん
NGNG( ゚ Д゚)
015744
NGNGキーワード[XML エディター フリー]で探してみたけど、
これが定番だ!ってやつはあんまり見当たらなかったです。
IBMの記事で紹介されてるJava製、海外製のフリーソフトとか、
Vectorとかに登録されてる日本製のフリーソフトとか、
いくつか候補になりそうなのはあるみたいだけど。。。
ちなみに私はemacs(sgml-mode or xml-mode) 派でつ。
>>155
( ´∀`) オマエガナー
0158デフォルトの名無しさん
NGNGschemaがある場合vs.net
無い場合そこら辺のテキストエディタ
0159デフォルトの名無しさん
NGNG01601 ◆LirUghTKBo
NGNGまぁ、春厨が旬の時期ですから。
こんなスレを気にするよりnyの47氏を先に気にしてくださいな。
>>157-158
eXeedとか良い感じですが、1000レスまで行くような
大きなXMLだと重くてかなり厳しいんですよ。
とりあえず贅沢言わずXML Notepadで確認、
EDLEAFあたりで編集という環境でやってみます。
>>159
わーお・・・。(;´Д`)
01611 ◆LirUghTKBo
NGNGttp://www.s34.co.jp/cpptechdoc/article/xml/xerces/
01621 ◆LirUghTKBo
NGNGhttp://xml.apache.org/xerces-c/index.html
これがクソの役にも立たん噂のパーサー(?)
01631 ◆LirUghTKBo
NGNGhttp://www.microsoft.com/japan/msdn/xml/downloads/msxml4.asp
XMLに何使えば良いのか良くわからないな…。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1017641205/
では一応、DOMならMSXML2=IE5以上がインストールされてる環境
で十分だろうということに。
01661 ◆LirUghTKBo
NGNGMSXML4を入れてしまったのでわからないですが、
#import "msxml.dll" named_guids raw_interfaces_only
using namespace MSXML;
このように書いたらMSXML4入って無くても
IE5さえあれば大丈夫ですよね…?
参考リンク
C++ アプリケーションから MSXML を使う
ttp://www.utj.co.jp/XML/dev/dom/dxdom1_1.html
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG2chブラウザはさりげなくOSをまたいで存在してるから、環境に依存しない言語も使っていこう。
そんなわけで、PerlならXML::Parser、XML::Generaterなどが軽くておすすめです。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG(strcpy,vsprintf,strstr,charの使うの&方法が...)
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNGしたいやつででしろと
01751 ◆LirUghTKBo
NGNGそれだとスレタイが「作ってください」に...。
>>172
すいません、プログラムもあまり詳しくないので
何言われてるのかよくわからないです。
何かまずかったですか?
0176デフォルトの名無しさん
NGNGJAXP (Java Api for Xml Processing) by SunMicrosystems
を使うのが良いかも。
Sunが嫌いならJakartaとかApacheとかのプロジェクトを探すと転がってるかと。
0177デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/security/000616/j-buffer-defend.html
VC++なら CStringかstd::basic_string<T>を使うのが無難だと思う。
>>174
そでつね。
01781 ◆LirUghTKBo
NGNGバッファーオーバーフローに関しては全然自信無いんで
まさしく指摘されている通りですね。
CStringも調べてみたら凄い便利そうなクラス。
VBみたいなノリで使えそうですね。
ちょうどMSXMLで使うBSTRの扱いにも困っていた所ですし…。
ありがとうございます。
01791 ◆LirUghTKBo
NGNG1時間半もかけてやってしまったわけですが・・・。
やっとCString使えるよ
0180デフォルトの名無しさん
NGNG_, ._
( ゜ Д゜) ……。
0182デフォルトの名無しさん
NGNGすさまじく切ない告白すんなよ。
応援すたくなっちまったじゃねーか!
ばんばれ。
01831 ◆LirUghTKBo
NGNGhttp://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0013.zip
大体CString、CFile化しました。
が、ちょっと問題があって調べてもいまいちわからない所が。
相変わらずCLogConv::ConvertのDATを抽出する部分なんですが
buf 1レス分丸ごとのデータ
div 区切り文字(<>)
として
buf.Mid(0,buf.Find(div))
と記述するとprintf("%s",buf)のように出すとちゃんと
抽出される(デバッグウィンドウの出力画面参照)のですが
CString str = new CString(buf.Mid(0,buf.Find(div)))
とこのように書くと上手く行かない罠。
Mid関数もCString型が返って来るので大丈夫なはずなんですが…。
後生ですから助けてください。
0184デフォルトの名無しさん
NGNGCString *pstr = new CString(buf.Mid(0,buf.Find(div)));
こうするべきじゃないか?
CString str(buf.Mid(0,buf.Find(div)));
または
CString str = buf.Mid(0,buf.Find(div));
ってやるのが正解なんだろうけど。
ダイジョブ?
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGそれで良いと思うよ。
0187デフォルトの名無しさん
NGNG01881 ◆LirUghTKBo
NGNGしかもポインタ間違えたし。
typedef struct _RESDATA{
INTresno;//レス番号
CString*cName;//投稿者
CString*cMail;//メアド
CString*cResDate;//投稿日
CString*cID;//ID
CString*cMessage;//本文
_RESDATA*nextptr;//
_RESDATA*prevptr;//
}RESDATA,*LPRESDATA;
CStringbuf;
cfile.ReadString(buf); //datをopen済みのCFile
LPRESDATArd;
rd = new RESDATA;
rd->cName = new CString(buf.Mid(0,buf.Find(div)));
なので
> CString *pstr = new CString(buf.Mid(0,buf.Find(div)));
> こうするべきじゃないか?
そうしているつもりです…。
>>185-187
いや、正直に本音言うと自分でこんなにやる予定じゃなかったです。(;´Д`)
01891 ◆LirUghTKBo
NGNG0190デフォルトの名無しさん
NGNGスキルアップのためと思ってがんばれ。
ところでCStringのポインタって使ったことある?
文字列配列ならCStringArrayあるし、あんまり使う場面が……。
0191デフォルトの名無しさん
NGNGRESDATAの中でCString*型にする理由がよく分からんのだが。
0192デフォルトの名無しさん
NGNG:
:
_RESDATA*nextptr;//
_RESDATA*prevptr;//
}RESDATA,*LPRESDATA;
これってstd::vector<LPRESDATA>とかでまとめたくなるね。
0193デフォルトの名無しさん
NGNG構造体ポインタの配列はCPtrArray使うとかリストならCPtrListとかあるし。
MFCでもSTLでも使うなら中途半端じゃなくがっつし使った方が。
0194デフォルトの名無しさん
NGNG俺もそう思う。
CStringにしておいても問題ないと思う。
これじゃmallocで実行時に動的に文字列用の配列を確保する昔からの方法と何ら変わりがない。
>>190
今のところ、ない。
引数で渡すときも汎用性を考えてLPCTSTR型にしてる。
個人的な意見ですが、無理に直す必要はないかと。
少なくともConvert関数は問題なかったと思います。
CStringのFindとMidは、内部で_tcsstrとmemcpy
を使ってるので、やってることは修正する前とほとんど同じです。
作ってるのは>>1さんなので、自分が慣れている
コーディングスタイルで良いと思います。
この機会に覚えるとかいうのなら別ですが・・・
0196デフォルトの名無しさん
NGNGただフィルターだったら、素直にperlで組んだほうが良いんじゃないの?
素人なので見当違いの事言ってたらすんましぇん
0197デフォルトの名無しさん
NGNGどっちかってーとstd::listの方が良いような良くないような。
0198デフォルトの名無しさん
NGNGこのスレの展開が楽しみなので止めた。
01991 ◆LirUghTKBo
NGNGえー、ストレートに言うと、CStringを初めて使ったのは今日の昼からです。
ちゃんとした使い方も良く知らず書いたので問題あるのは覚悟の上で。
指摘してくださる皆様に感謝。
で、何でポインタにしてたかと言うと、以下の行
rd->cName = buf.Mid(0,buf.Find(div));
最初にCString(非ポインタ同士)を渡すところで
http://www.geocities.co.jp/SiliconValley-Bay/8642/vcerr.gif
なエラーが出てしまったからポインタにしてみると
渡される全然文字は違いますが、何となく動いたので。
・・・という最悪の理由です。('A`)
とりあえずそれに変えた問題のソースコード。
http://www.geocities.co.jp/SiliconValley-Bay/8642/2chLogConverter.zip
02001 ◆LirUghTKBo
NGNGツツかれると修正します。
何となく暗黙的にスタイルが修正されるのを感じつつ。
>>196
今のところ>>44の左側を作っている(つもり)です。
言語については私はVBとVC++以外からっきし駄目です。
あと、もう忘れてますがCASL1ぐらいなら。
>>198
私が待っている「>>1じゃ話にならん、俺に任せろ!」という神は
>>1の愚行を楽しんでいるわけですね。
楽しんで頂いて何よりです('A`)
見守ってください。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGrd = new RESDATA; // レスデータを確保
//memset(rd, 0, sizeof(RESDATA));//->これ
C++のstructはpublicなclass。
クラスのメンバはコンストラクタで初期化する(される)のが...。
rdをご丁寧にmemsetしてるから使うときに当然でーたは...。
0203デフォルトの名無しさん
NGNG最終的には設定も含めて変換できるようにしたい。
まずはログから。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG02061 ◆LirUghTKBo
NGNG!!!!
アアアー、まじですかー!!!!11223
動的に変数を取ったなら尚更初期化しましょうってのが
裏目に出て原因になってしまったわけですか…(鬱)
ありがとうございます。
02071 ◆LirUghTKBo
NGNG02081 ◆LirUghTKBo
NGNGぬるぽと言ってガッとやられるケース
そ の ま ん ま ですね。
0209デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>208
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG>>1の戯言を聞いてるだけじゃなんも進展がないわけで。
0212デフォルトの名無しさん
NGNGインフォシークに文句があるならxrea.com使えと。
いまならちょうど募集してますよ。
0213デフォルトの名無しさん
NGNG禿同。
仕様さえしっかり決めれば、あとはみんな同時進行で実装作業に入れる。
どうなるかわからない仕様のままだと、怖くて手を出せない。
単に >>1 の成長を見守るスレに終わる。
>>149 に載ってるやつが最新版?
字句的にこれでOKとしても、まだ決めなきゃいけないことはあると思う。
0214デフォルトの名無しさん
NGNGsitetype,siteurl,boardurl,threadurl,threadtitle,resnumber
ではツリー構造の意味が・・・と感じたので
要素名の変更・一部属性化したものをうp、、しようと思ったのですが
なぜかできなかったので次のレスにコピペします。
0215214
NGNG<server url="http://pc2.2ch.net/" type="2ch">
<board name="tech">
<thread key="1046742687">
<title>title</title>
<res num="1"><!-- num はいらないかも -->
<name>name</name><mail>mail</mail>
<date>date</date><msg><![CDATA[msg]]></msg>
</res>
<res num="2" abone="abone">
<name>あぼ〜ん</name><mail>あぼ〜ん</mail>
<date>あぼ〜ん</date><msg>あぼ〜ん</msg>
</res>
</thread>
</board>
</server>
</bbslog>
0216214
NGNGxml からログ(や xhtml, PDF)に変換する際の便宜上のものです。
「透明あぼーん」や「移転したよ」,「停止しました」
等々がログにどんな形で残るのか?or残らないのか?
あたりはまったく知らないので考慮に入れていません。
カテゴリ名の取得は>>106さんの方法に一票
02171 ◆LirUghTKBo
NGNG新しいウpロダ用意できました。たぶん良好です。
>>212さん感謝。
021844
NGNG0219デフォルトの名無しさん
NGNGそれとserver, board, threadの寿命は短いほうが。こんな感じで
<bbslog>
<head>
<server />
<board />
<thread />
<title />
</head>
<body>
<res />
<res />
<res />
</body>
</bbslog>
0220デフォルトの名無しさん
NGNGこの xml の形式でデータを保存した場合、全部のデータは1個のファイルに
入れなきゃだめですか?スレッドごとに別な xml ファイルにしてもいいですか?
もっと言えば、レスごとに別ファイルにしても、問題ないですか?
02211 ◆LirUghTKBo
NGNG戯言のDQNレスは無い平和DAYです。
XMLのスキーマ(?)あたり話し合って頂けたら良いかなとか
思っております。では。
>>220
まだあまり決まっていない段階なので、問題と言うよりは
どんどん提案してくださった方が良いと思います。
0222デフォルトの名無しさん
NGNGこの がどれのことなのか解らないんですが、
>>215 全データを1つのxmlで、
>>219 スレごとに1つのxmlで、
に向いてると思います。
このスレ的には>>219のが合ってそう。
0223&<>"'
NGNGは
CDATA使った方がいいぽ。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG2ch形式って4つくらいあるよ。
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG<!ELEMENTmail- - CDATA>
<!ELEMENTid- - CDATA>
<!ELEMENTrh- 0 (name?, mail?, id?)>
<!ATTLISTrh
idID#REQUIRED-- レス番 --
dateCDATA #REQUIRED-- yyyy-mm-dd --
timeCDATA#REQUIRED-- hh:mm(:ss)? --
>
<!ELEMENTref- 0 EMPTY>
<!ATTLISTref
idIDREFS#REQUIRED-- レスの参照 >>1 --
>
<!ELEMENTbr- 0 EMPTY>
<!ELEMENT% inline"ref, br">
<!ELEMENTrb- -((%inline;)|PDATA)*>
<!ELEMENTres- - (rh, rb)>
0230デフォルトの名無しさん
NGNG<res>
<rh id="223" date="2003/03/08" time="11:14"><name>&<>"'</name></rh>
<rb>$lt;name>name</name> <br/>は<br/>CDATA使った方がいいぽ。</rb>
</res>
<res>
<rh id="224" date="2003/03/08" time="16:54"><mail>sage</mail></rh>
<rb><ref id="223"/>そうだね.</rb>
</res>
sample -->
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG<!ELEMENT mail - - CDATA>
<!ELEMENT id - - CDATA>
<!ELEMENT rh - 0 (name?, mail?, id?)>
<!ATTLIST rh
id ID #REQUIRED -- レス番 --
date CDATA #REQUIRED -- yyyy-mm-dd --
time CDATA #REQUIRED -- hh:mm(:ss)? --
>
<!ELEMENT ref - 0 EMPTY>
<!ATTLIST ref
id IDREFS #REQUIRED -- レスの参照 >>1 --
>
<!ELEMENT br - 0 EMPTY>
<!ELEMENT % inline "ref, br">
<!ELEMENT rb - - ((%inline;)|PDATA)*>
<!ELEMENT res - - (rh, rb)>
0233デフォルトの名無しさん
NGNGDTDとスキーマってどっちがはやってるの?
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG流行という意味ではschema
というか上 >>229,232 にでてるDTDはSGMLのであってXMLのじゃない。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGタブはヌル文字アタックでゲーハー板がForbidden攻撃などの結果
他の制御文字もろともフィルタリングされるようになりますた。
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG私一人かも知れませんが。がんばって作っていただけるとうれしいです。
0242デフォルトの名無しさん
NGNGXMLの形式はまとまるのにまだ時間がかかりそうだし、
>>1は友人のケコーン式に行っておそらく今ごろ二次会か三次会で
騒いでいるかもしれないので、プラグイン形式の模索版を作ってみました。
一応、OpenJaneログ→>>215式XMLに "なんちゃって変換" する
プラグインとそのソースも同封しています。その他はReadme.txtをご覧あれ。
0243デフォルトの名無しさん
NGNG悲しいけどここ作ろうスレなのよねぇ
0244デフォルトの名無しさん
NGNG今のところXMLは
要素名、属性名は >>215、
ツリー構造は >>219、
res要素以下の構造は >>215 か>>230 ってところですかね。
で、その>>215と>>230で違っているのが.datの各フィールドを
そのまま保存するか、
パーシングして保存するか。
前者は楽チン、
後者はログコンバータとしては2度手間、だけどマークアップ的にはより良い。
例:日付フィールド
<date>03/03/05 10:06 ID:3TyuvqLs</date>
<rh date="03/03/05" time="10:06">
0245デフォルトの名無しさん
NGNGhttp://www.w3.org/TR/xmlschema-2/
0246242 ◆GsQAUnYIlM
NGNGhttp://www.geocities.co.jp/Beautycare/4965/public/logconv.html
02471 ◆LirUghTKBo
NGNG|
| ('A`) ハァ...
/ ̄ノ( ヘヘ ̄ ̄
02481 ◆LirUghTKBo
NGNGよく読むと欲しかった情報があまり無かったり…。
>>242
CFileFindとGetProcAddressあたりに目から鱗が落ちた気分。
プラグインと言っても作り方、利用方法が漠然としてて
全然わからなかったので非常に参考なります。感謝。
>>238
待ってくれるだけ良いですね。('ー`)
0249デフォルトの名無しさん
NGNG構造は
ドメイン(2ch)
+- 板(プログラム)
+- スレッド(ログコンバータを作ろう)
+- レス(1-n)
この形で表現できると思う。
それを踏まえた上で、
ボトムアップでフォーマットを決めて行けば
色々と作業しやすいんじゃないだろうか?
お帰り >>1
0250デフォルトの名無しさん
NGNG朝帰りですか…
0251242 ◆GsQAUnYIlM
NGNG実は俺、道民。
0252242 ◆GsQAUnYIlM
NGNGちょっと手直し版です。プラグイン呼び出しを別スレッドにしました。
XMLも、とりあえず<res>内をそのまんま出力するようにしてみました。
0253デフォルトの名無しさん
NGNG朝帰りってまさか結婚式で出会った女性とちょめちょめしたんじゃないだろうな。
もしも>>1がそんなナンパな奴なら俺はこのプロジェクトを降りる!
02541 ◆LirUghTKBo
NGNG下らないスレ違いの戯言だけどさ、聞いてくれよ。
2次会行ったんですよ、2次会。
それは楽しく終了して帰ろうと思って電車の時間を確認したら
終電の時間過ぎてたんですよ。えぇ。
してね、始発の時間を確認したら4時間あるんですよ。
その間どう過ごそうかと。
で、3次会行ったんですよ。3次会。
カラオケ2時間歌って閉店なので終了。
残り2時間くらいはまぁ、駅で過ごそうかと。そう思ったんですよ。
駅に戻ったら
鍵かかってたんですよ。
後ろ向いて繁華街だった場所を見直したんです。
適当なところで時間潰そうかと思って。
真っ暗なんです。
気温ですか?マイナス20度ですよ。
以下想像どおり。(場合によっては絶する)
02561 ◆LirUghTKBo
NGNG修正。
改めて参考になるような本を探してみたら
XMLを扱っている参考書ではJavaやPerl、PHPばっかりで後は.NETぐらい。
MSXML4付属の英語マニュアル読めって事ですか…。
頑張るか('A`)
02571 ◆LirUghTKBo
NGNGとりあえず前回とほとんど変わってませんが
レスの数だけかましていたメモリリークを修正しました。
流石に放置しておくのもアレなんで…。
02581 ◆LirUghTKBo
NGNGBBSによって記述が違うみたいです。
(Janeの2ch DAT)
03/02/28 10:01 ID:???
(JaneのしたらばJBBS DAT)
2002/05/13(月) 08:40 ID:???
こういう場合もありますし、そのままやった方が
良いのではないかと思います。
0259デフォルトの名無しさん
NGNGぽいけど、あの辺の仕様って公開されてんの?
0260デフォルトの名無しさん
NGNG>>70らしいでつ
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG共通だし。
0263デフォルトの名無しさん
NGNGこのスレのOpenJaneログ
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0007.zip
0264デフォルトの名無しさん
NGNGDateTime=2003/03/10 00:14:37
Size=78075
Url=http://pc2.2ch.net/tech/dat/1046742687.dat
BOLD=0
REVERSE=0
COLOR=clWindowText
ABONE=0
INVISIBLE=0
READ=263
BBSTYPE=0
BOARDURL=http://pc2.2ch.net/tech/
TOP=15981
READALL=0
PRIORITY=0
READ_POS=0
UPDCHECK=0
LAST_LOAD=03/03/10 00:44:13
TITLE=2chブラウザののログコンバーターを作ろう
LAST_SENT=03/03/08 02:02:19
0265デフォルトの名無しさん
NGNGホットゾヌ1.0β2.9
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0008.zip
0266デフォルトの名無しさん
NGNG中間形式を XML で持つんだったら、XPath とか XSLT とか使って
レスのフィルタリング機能とか実装しませんか?
中間形式 XML のログ * フィルタリング情報 XML ファイル
= フィルタリング済み HTML ログ
よく2ちゃんのまとめサイトで、必要な情報や、より価値のあるレスだけを
抜き出してまとめて整理してあるところってあるじゃないですか。スレの杜とか。
そういう「選ぶ・まとめる・整理する」というのを自動化して、
フィルタリング結果を javadoc みたいに HTML にレンダリングできたら、
面倒くさくなくていいと思いません?
「有意義なレスを抽出する」作業を分散できるので、特定のサイト管理者が
全部やらなくちゃいけないこともなくなるから、2ちゃんの膨大な資源を
みんなで効率良く発掘できる手段になると思うんですが・・。
まぁ必ずしも XML でやる必要もないでしょうけど。
0267デフォルトの名無しさん
NGNGselection
「いる/いらない」情報をもつフィルタ。
いわゆる荒らし対策のあぼ〜ん情報を保持するフィルタと考えてください。
score
「どれだけ価値があるか」情報。selection の上位版。
それぞれのレスに non-negative number のスコアを与えます。
0/1 の値だけを持つ score 情報は、selection と等価。
hierarchy(tree)
ベタ形式 → Tree 形式
先例はこちら:
http://nmgm.s2.xrea.com/x/class/
link
hierarchy の上位版? それぞれのレスに関連したレスの情報の情報を保持。
walkthrough
読む順番と関連レスを保持。
memo
レスに対するコメントや捕捉、メモなどの情報を保持。
0268デフォルトの名無しさん
NGNG自動化や共有をする?
0269デフォルトの名無しさん
NGNG使うというのがあります。
たとえば、スレを斜め読みしたい人は、selection * hierarchy で
スレのだいたいの像がつかめます。
より有意義と思われる情報を読みたい人は、score + score で得点の高い
レスを目印に読み進めます。
そして、辞書的に使いたい人は、selection + link といった風です。
>>268
フィルタリングのやり方は、どういうフィルタを作りたいかという
価値観によって変わるでしょうか・・。
人の手が必要な場合もあるでしょうし、レスの tree 関係を抽出するだけなら、
http://nmgm.s2.xrea.com/x/class/
で示されているように '>>数字' を元に機械的に処理してもいいでしょうし。
もちろん '>>数字' に投稿者によるミスが含まれていたら、手動で直す
こともできるでしょうね。
>>268さんのおっしゃるとおり、フィルタリング情報を共有することによって
ログのブラウズ作業がより効率化することにもつながると思います。
そのフィルタリング情報は、どんなファイル形式で持ってもいいと思います。
XML でもいいし、もっとコンパクトにシリアライズして、スレの締め 950-1000
あたりに「これがこのスレのハイライトでした」と貼りつけてもいいでしょうし。
0270デフォルトの名無しさん
NGNGフィルタリング情報ファイルを共有するアップローダを用意しさえすれば、
クライアントがローカルに HTML レンダリングできるので、CGI に HTML
レンダリングさせてサーバに負荷をかけることはないと思います。
0271デフォルトの名無しさん
NGNGdate要素にID入ってていいの?
0272デフォルトの名無しさん
NGNG各monazillaツール互換以外にHTMLでの出力プラグインの話は前にも少し出てたよね。
そっちを作る話と一緒にすればいいかも。
あー、でもゾヌ2のしおりを出力するようなもんなのかな。
0273266
NGNGなるほど・・。既にそういう話はあったんですね。コメントありがとうございます。
中間形式 XML の書式が決まったら、既存の XSLT ツールで
レンダリングするのも簡単で柔軟な対応ができるでしょうから、ぜひ
このスレでもその点を考慮に入れてくださいませ。
しおりを共有できるのは面白いですね。
>>267に追加させてください。
bookmark
しおりの情報を保持。
0274デフォルトの名無しさん
NGNGいいですね。
スキン対応とかも含めていいんでしょうか?(漏れだけ違う話かも…)
0275デフォルトの名無しさん
NGNG2ch のログ形式に依存してるよね。
2ch 中でも何もなかったり、ID だったり、リモートホストだったりと
板によって異なるからプラグイン側で面倒を見るべきかと。
02761 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0009.zip
仮ですがMSXML(2?)を利用したXML出力をしました。
中身のDATを水曜どうでしょうから>>263の物へ変更。
XMLのフォーマットは仮に>>215を参考に。
<res num="1">のようなアトリビュート(?)の出し方が
よくわからないので保留…。
一応吐き出したXMLもウpしておきます。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0010.xml
MSXMLも昔の奴は全然資料無くて困ります。
02771 ◆LirUghTKBo
NGNG02781 ◆LirUghTKBo
NGNG0279デフォルトの名無しさん
NGNG<res num="1">
じゃなくて
<res>
<num>1</num>
にすればいいじゃん。
ただ、dat自体もレス番号を保持していないし<num>は不要という話もある。
0280デフォルトの名無しさん
NGNG02811 ◆LirUghTKBo
NGNG単なるDATを解析するついでに保持していたぐらいなので
言われてみれば確かにレス番号を保持する必要は無いかもしれません。
でも>>266のようなことをしたい人もいるでしょうし、XSLTを使う要素の一つとして
持つぐらいは良いんじゃないかなと思っています。
で、一応XSLTで利用しやすい形で<res num="1">なんですよね?
・・・と、私が皆さんに聞いてみたり。
ごめんなさい、XMLそのものを知って日が浅いので
私からは何とも言えないです。鬱('A`)
>>280
わかってるくせに。( ´ー`)σ)Д`)
0282デフォルトの名無しさん
NGNG私はそれでいいと思うんだけどな。
ちゃんとした仕様だけ決めてしまえばいい。
そしたら、思いもよらない使い方をするやつが現れたりするかも。
ある1つのデータ形式の書き方の違いで、2ch全体の全てのログを表すことも、
たった1つのレスを表すことも出来るようにすれば、友達同士でログ交換できるし。
2ch ブラウザ開発者が、もしかするとその形式に対応してくれるかもしれないし。
0283デフォルトの名無しさん
NGNGスレッドのタイトルをtitle要素にした方がよくない?
<title>2chブラウザののログコンバーターを作ろう</title>
0284デフォルトの名無しさん
NGNGレスにハッシュコードつけて共有(w
0285デフォルトの名無しさん
NGNGん?言ってる意味がわからない。
ハッシュコードについては理解しているつもりだが・・・。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGよくわかんないけど、●買わなくてもよくなる、ってこと?
0290デフォルトの名無しさん
NGNG/ ´∀)
| U /
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
∧_∧
/ ´∀`) < ぬるぽ
| U /
( ヽノ
ノ>ノ
しU
02911 ◆LirUghTKBo
NGNG「ID:」が本文までに含まれてしまうとID付きスレッドの処理と勘違いして
やっちまうらしい…。
まず区切りまでの部分を先に抽出しなきゃ駄目ね。
と言うことで叩かせて頂きます!!
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>290
02921 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0011.zip
ID無しのスレで本文にID:があるとおかしくなるのを修正。
トリップ付きの名前だと「1 </b>◆LirUghTKBo <b>」になってるので念のためCDATAで確保。
スレ名を<title>でくくるように修正。
レス番号を<num>1</num>でとりあえず追加。
吐き出したXML。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0012.xml
出力したXMLもちゃんとUTF-8になっているらしく激しく感動。
きっと>>125も安心ですね。
02931 ◆LirUghTKBo
NGNG何とかならないかな…。
0294デフォルトの名無しさん
NGNGhttp://www.w3.org/TR/REC-DOM-Level-1/
http://www.w3.org/TR/REC-DOM-Level-1/idl-definitions.html
0295242 ◆GsQAUnYIlM
NGNGXMLを>>244形式に近づけた。ただし<res>内はそのまんま出力。
まぁ、これ(OpenJaneToXml)はあくまでも動作確認用のプラグインなので、
実際の共通XML作成プログラムは>>1に任せるとする。
で、今回のバージョンの2chブラウザログコンバータ(仮)には
通知関数を付けてみた。
例えば、ログにtechのサーバはpc2.2ch.netと記録されてたとする。
ところがその後サーバがpc20.2ch.netに変更されたとする。
このとき、プラグインはコンバータ本体に問い合わせて、
正しいサーバを取得できるようにしてはどうかというもの。
コンバータ本体は最新の板一覧情報をプラグイン側に通知する。
今のところコンバータはSettingsフォルダに入ってるbbsinfo.iniから取得してるけど。
"tech"自体が変わっちゃったら意味ないけどな・・・
0296デフォルトの名無しさん
NGNG<name>,<msg>,<mail>(?)
でどうするん?
1)実体参照にするのか。
2)実体参照が指す文字にするのか。
3)その他。
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG]]>
って現れる可能性ある?
0299デフォルトの名無しさん
NGNGに変換してからCDATAセクションに文字列を埋め込むのがXMLの仕様だから、読み取り時には出てこない。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGlogをupシル!
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG0305244
NGNGまず Schema のサンプルとそのインスタンスを作りました。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0013.zip
基本的には >>215, >>219 をあわせたもので、変更点は
[bbslog要素]
意味が広すぎるので要素名を monalog に変更。
[namespace]
これは逆に 2ch のみのログとは限らないので
http://www.2ch.net/log から http://monazilla.org/log に変更。
(サンプルでは http://www.monazilla.org/log-030311)
[abone属性]
abone 以外に Over 1000 Thread , 移転, 等々も
表すため state 属性に変更(省略可、初期値 normal)。
0306迷ったところ
NGNG『そのままでいく』>>258
この場合、要素名を変更するか、もしくは date の解釈を
レスの日付ではなくデータベースの日付フィールドにある値、とする(無理矢理)。
『回避』>>271,>>275
する場合、別途要素か属性を設る。
「あぼーん」や「Over 1000 Thread」等のメッセージもここに入ってくるので、
その場合も意味を通すために要素自体を省略するか、空白にする。
<res num="2" state="abone">
<name><![CDATA[あぼーん]]></name>
<mail>あぼーん</mail>
<date>あぼーん</date>
<msg><![CDATA[あぼーん]]></msg>
</res>
↓
<res num="2" state="abone" />
こうしておくと >>266-270 のようなことをする場合に便利。。。というより
こうしておかないとXMLにした意味が薄れる。
他に、
server 要素の属性は
uri : http://pc2.2ch.net/
name : pc2.2ch.net
どちらかよいか。
num の有無。
トリップの抽出は?
メッセージ内のアンカー情報保存 >>230 は?等々。
0307244
NGNGhttp://monazilla.org/log
↓修正
http://monazilla.org/monalog
03081 ◆LirUghTKBo
NGNGとりあえずトリップの抽出について
トリップを別に用意する場合、
>1 ◆LirUghTKBo
こんな感じの普通のトリップなら問題ないんですが
>ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
こういう特殊な場合はどういう風にデータを持てば良いのか
という問題が。
03091 ◆LirUghTKBo
NGNGというわけで>>305,244氏の内容に沿って作り直してみます。
ところでその中のXMLで一つ確認したいんですが、
<server uri="http://pc2.2ch.net/" type="2ch" />
urlではなく、uriは誤植ですか?それとも意味有りで正しいですか?
0310デフォルトの名無しさん
NGNG03121 ◆LirUghTKBo
NGNG>>294
ありがとうございます。
>>295 242 ◆GsQAUnYIlM氏
通知の流れがどういう順番で来てるのかわからなかったり…。
また後でソース読ませていただきます。
> 実際の共通XML作成プログラムは>>1に任せるとする。
このスレ読んでる9割近い人が凄い不安を感じてると思います。
というよりも、私が不安です。
>>300
全ての2chブラウザは平等です。
が、今まだ下地を作ってる段階なので待って下さい。
あと工作員の中の人も大変だなとか、Jane川必死だな(藁とか
('ー`)クスッと笑える程度なら結構ですが、それもほどほどに。
0313242 ◆GsQAUnYIlM
NGNGあの中に入ってるプラグインは通知関数を使ってないので見てもわかりにくいかも。
流れとしては、
コンバータが通知関数ポインタ(NotifyCallbackProc)を
プラグインのLogConv関数に渡す
↓
プラグインは渡された関数ポインタを使って問い合わせる
例)
BBSINFO bi;
lstrcpy(bi.szBoard, "tech"); // "tech"のサーバ名を問い合わせる例
lpNotifyCallback(hWnd, コマンド, &bi);
↓
コンバータの通知関数(NotifyCallbackProc)が呼び出される
int CALLBACK CLogconvDlg::NotifyCallbackProc(HWND hWnd, int nCommand, LPVOID pParam)
{
BBSINFO* pbi = (BBSINFO*)pParam;
if(lstrcmp(pbi->szBoard, "tech") == 0)
lstrcpy(pbi->szServer, "pc2.2ch.net"); // プラグイン側へサーバ名を渡す
}
みたいな感じ。要するにコールバック。
0314242 ◆GsQAUnYIlM
NGNG通知関数の使用例とプラグイン設定ダイアログ表示例を
追加したサンプル1プラグインのソースも添付。
03151 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0014.zip
XMLのフォーマットを>>305の物に変更。
アトリビュート付加。(何でこんな悩んでたんだ…)
出力したXML
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0015.xml
とりあえずスレッドのキーやサーバーなどは決め打ちですので
その辺は後日対応って所で。
03161 ◆LirUghTKBo
NGNG解説ありがとうございます。
OKです。大体わかりました。
近いうちに私の方で組んでいるプログラムを
これに従ってDLL化しようかと思ってます。
0317デフォルトの名無しさん
NGNG305のことだけど
1 </b>◆LirUghTKBo <b>
は
<b>1</b>◆LirUghTKBo <b></b>
じゃない?
>>315
の構造だけど
<monalog>
<log> or <thread> //ラップしておいたほうがmonalogに複数logをおけるかも
<head> //ヘッダ
<body> //内容
</log> or </thread>
</monalog>
0318317
NGNGの構造...
..以下
はなんか勘違いしてたんで無視して。
0319デフォルトの名無しさん
NGNG> ラップしておいたほうがmonalogに複数logをおけるかも
賛成です。
1氏の>>315の形式ですと、1ファイル内に1つのログしか置けないです。
代わりの案としては、
・body を thread に置き換えて、thread-id をその属性もしくは要素として持たせる
→ 1ファイル内に、1板の複数のスレのログを保持できる。
・<monabbs><head /><body /></monabbs> 相当の形式にする
→ 1ファイル内に、サーバとスレにかかわらずいくつもログを置ける
あと <head /> とか <body /> とか general 過ぎるタグ名使うのたるいんで、
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0004.xml
↑みたいに、<head /> の代わりに <original /> とか、<body /> の代わりに
<postings /> や、あるいは <res-set />、<thread /> というように、
より具体的な名前を使って欲しいです。これは個人的な希望。
0320デフォルトの名無しさん
NGNG1つのファイルに複数のログを入れる必要ってあるのかな・・・
あんまり大きなサイズのXMLは避けたほうがいいと思うんだけど。
0321デフォルトの名無しさん
NGNG置き換えるよりもさらにラップするほうが簡単。
<monalogarchive>
<monalog>
</monalog>
<monalog>
</monalog>
</monalogarchive>
みたいな感じにすれば参照も楽々。
0322デフォルトの名無しさん
NGNGなぜ?
0323デフォルトの名無しさん
NGNG複数のログを入れてもいいし、入れなくてもいい。
なるべく必要のない制限は作らないスキーマがいいと思うけど。
0324デフォルトの名無しさん
NGNGファイルサイズがでかくなるのがいやなだけなら、
外部実体にすればいいっしょ?
っていうか、ログって言葉気をつけないと、意味が不明。
板なのかスレなのかレスなのか。
03251 ◆LirUghTKBo
NGNG現状でXMLのファイルをスレッド毎に保持しているのは
2chブラウザのDAT保存がそういう形になっているので
そうしているだけで、必ずしも分ける必要は無いかもしれないです。
スレッドのキー(番号)もXML側で持っていますからね。
で>>320はブラウザやエディタで開いた時の事を考えて
大きな一つのXMLは避けたいと言っているのだろうと勝手に解釈。
というわけで外部実体というのが現実的でしょうか?
・・・で、外部実体って何?
0326320
NGNG100M超えてるXMLのDOMなんか想像したくねぇぞーって事です
外部実体でも結局読むので同じかな
ちなみに
2月から使い始めたOpenJaneのログが既に120MB
マ板だけでも18MBあるのでかちゅな人とかじゃ死にそう
とおもちゃって、
でも323なのでアボーン>>俺
0328デフォルトの名無しさん
NGNG外部実体については、「たのしいXML」というページで確認しました。
たしかにこれだと、巨大なDOMってことになっちゃいますね。
ということは、XMLレベルじゃなく、monalog のレベルで外部のファイルを
参照する方法が必要ということでしょうか?
「たのしいXML」
http://www.cityfujisawa.ne.jp/~yanai/xml/
「外部エンティティ」という項があります。
0329デフォルトの名無しさん
NGNG・thread-id="0fda343fdsfa" で参照し、id から実体を得る方法は別途用意
・2ch用ブラウザがやっているように、ログの配置を固定して、
ルートからの相対パスで参照 ref="/hoge/moge.xml"
03301 ◆LirUghTKBo
NGNG外部実体もa hrefみたいな感じかなと思っていたら丸ごと持ってくるようで、
>>329で提案された方法もプログラム側としては構わないのですが、
スタイルシートから使うのは無理になってしまうのではないかと。
(可能なら以下の行は無視してください)
で、外部参照だったら>>326で言われている超巨大なDOMにはならず、
確認もルートのXMLをIEなどで開かない限りは大丈夫だろう、ということで
結局、外部参照に落ち着きそうな結論に達しました。
いずれにしろボードリストみたいな物は持っておかないと駄目ですね。
03311 ◆LirUghTKBo
NGNG0332244
NGNGまたお昼を取りながら XML についていくつか書きます。
>>317-325
の複数スレッド保存について。
これ完全に忘れてました。。。
いくつか案が出てますが参考にしながら私も1つ書いてみます。
<monalog>
<thread server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
<title>2chブラウザののログコンバーターを作ろう</title>
<res-set />
</thread>
<thread server="hokkaido.machibbs.com" board="hokkaidou" key="1046404143" type="Machi-BBS">
<title>【札幌】ぱかぱかヒヒーン【競馬ファン】</title>
<res-set />
</thread>
<thread server="vip.bbspink.com" board="club" key="1037792310" type="bbspink">
<title>風俗で身を持ち崩してる男ども集まれ!4</title>
<res-set />
</thread>
</monalog>
うーん、ちょっと無理があるな(汁
0333244
NGNG>>326
これは文書型作成時に考慮すべき問題ではないと思います。
プラグイン製作者さん達に丸投げで。
複数スレッド保存が可能なら
普段は単一スレッドで保存、
後で似たタイトルのスレッドをまとめて保存、
なんてこともできそうですし。
>>330
ちょっと言葉が混乱してるような。
外部参照って外部実体を参照するってことなんですよね?
0334デフォルトの名無しさん
NGNGなるほど〜!
>>244さん
>>332はなかなか良い案だと思います〜。
ひとつ質問なんですが、<thread> の属性 type はどういう時に使うんでしょうか。
元になったログが2ちゃんタイプだったとかまち BBS タイプだったとか
区別する必要はあるんでしょうか・・。
03351 ◆LirUghTKBo
NGNG本体の方に2chブラウザなどでよくあるステータス表示(下の方)する
エリアを用意できないでしょうか?
DLL側でメッセージを送信して色々表示できたら良いかなと。
…なんて自分でやろうとしてMFCよくわからなかったのはヒミツ。('A`)
>>333,244氏
> 外部参照って外部実体を参照するってことなんですよね?
そう、ですね。多分。
>>328で紹介されている外部エンティティの内容そのままだと
思っていただければ。
0337デフォルトの名無しさん
NGNG03381 ◆LirUghTKBo
NGNG表示するメッセージの内容はプラグイン側で用意するって形で。
0339デフォルトの名無しさん
NGNGexeならプラグインじゃなくて単体で配布すりゃいいって話も
0340デフォルトの名無しさん
NGNGデータ形式を統一して、exeとかで公開すれば良いだけかと?
0341デフォルトの名無しさん
NGNGそりゃ変換できるならどっちでもいい。
インターフェイスも統一されてればわかりやすいだろうなと、その程度のこと。
0342デフォルトの名無しさん
NGNG1 中間フォーマットの決定
2 各専用ブラウザ形式から中間フォーマットへのコンバータ
3 中間フォーマットからxhtmlへのコンバータ
4 2,3を制御するユーザインタフェースツール
0343342
NGNG0344デフォルトの名無しさん
NGNG3はXSLでできるんじゃ?
0345342
NGNGうん、まぁ、何を使っても良いだろうね。デザインとか、色々好みが出てくるだろうし。
あ、2の訂正、各専用ブラウザ<->中間フォーマット だね
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG1の中間フォーマットって何?
XMLってのはもう決まってんだから、適当にタグ付けして、
あとは実際の運用で決めていくしかないと思うけど。
4はGUIの事いってんの?
フィルターなら一括処理できなきゃ意味が無い。
1が作った様な糞なGUIだったら不用。
DLLかコマンドラインツールで十分。
さっさと2を作っちまってください。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGぜんぜん進まない気がする。今までそうだったし。
0351デフォルトの名無しさん
NGNG2,3,4で競争されることには変わりなりと思うんだけど。
0352デフォルトの名無しさん
NGNG1は、XML了解
2は、コマンドラインツールでもいいの?
DLLにメッセージとか言ってたので、少し気になったのだ。
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG( ゚ Д゚)…。
0355デフォルトの名無しさん
NGNG4の機能としては、
a プラグインの選択
b 変換元ファイルの選択
c 変換先ファイルの指定
かな?
DLLでもいいんだけど、そかいいかw
0356デフォルトの名無しさん
NGNG今出てる>>1のと>>242はあくまでも2用のツールの一つであって、
全員がそれを使えというわけではない。
2,3,4はみんなが自由に作ればいい。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGタグ付けが済んでりゃ中身なんかどうでもいいよ。
どうせ後でいくらでも修正できるんだし。
>>355
プラグインその他なんて、後で決めれば良い話。
今の時点で4の話やったって無駄。
2をperlでもCの関数でもいいからさっさと作ったほうがいい。
作ったもん勝ち。
0359342
NGNG0360デフォルトの名無しさん
NGNGつまり
1 今話し合ってるXMLの形式
2 >>1が作ってるブラウザログからXMLへ変換するDLL
3 XSLTなどでできる
4 >>242のコンバータツール
と言いたいのか?
先に出てるが、1さえできれば2はperlでもJavaでも作ってもいいし
2と4を合体させてもいいし、2,3,4の統合ツールでもいいし、
とにかく2,3,4は自由に作って公開すればよい。
0361342
NGNGあ、とりあえず、作業用の3,4が無いと、検証がめんどいかもね
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG0364seven
NGNG0365デフォルトの名無しさん
NGNG1なんか今日中に決めちまえ。
後で1に修正が出ても、ゆっくり変えてけばいい。
0366デフォルトの名無しさん
NGNGかちゅ〜しゃとかゾヌとかまだまだあるんだから口だけじゃなくて手を動かせ。
0367seven
NGNGOpenJane->XML DLL(Win)
だけですか?
0368デフォルトの名無しさん
NGNG0369seven
NGNGげ
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG1,2を今週中なら妥当な作業かもな。
0373seven
NGNG03741 ◆LirUghTKBo
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGいまのところのだんかいのぽいんとで、
1 さんが作ったプログラムで吐き出したXMLは、どこで手に入れられますか?
もしできることならかのうなら、もっかいどっかに貼ってほすぃ。
わたしC++とか動かせないので・・・。
03771 ◆LirUghTKBo
NGNGウpロダ
http://logconvert.s28.xrea.com/cgi-bin/uploader/upload.cgi
XML
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0015.xml
03781 ◆LirUghTKBo
NGNGそろそろ待ちきれない人が出てきたようで…。
仕切り直しと言うことで改めて状況説明。
>>342で書かれている事を元に説明すると
1:基本的な形はまとまってきた所だが、不十分な所もまだ有り。
2:>>356で書かれている通り。
3:未着手
4:未着手
という状況です。
XMLの部分をもう少し話し合って決めようってのが今のところの現状。
JavaでもVBでもC#でもPrelでもDelphiでも
このスレに関係なく相互ログコンバータ作りました
と言うのであれば、それはそれで良いと思いますよ。
自分で勝手にやっちゃってください。
0379デフォルトの名無しさん
NGNGアプロダに 「up0015.xml に改行いれたやつ。」というのを Upしたんだけど、
一旦DOMにして、ファイルに吐いたら、CDATA が外れちゃってました。
0380242 ◆GsQAUnYIlM
NGNGhttp://www.geocities.co.jp/Beautycare/4965/public/logconv.html
ステータス通知コマンドを追加。
コマンド用のフラグやら構造体はMonaLogConv.hをプロジェクトに追加して
インクルードすればすぐ使えるんで。
0381デフォルトの名無しさん
NGNG各ブラウザが dat インポータ/エクスポータを作ればいいだけだと思うし、
必要だと思った人が作成してくれてますよね?
Jane とかすごくいいインポータあるし。
ログのコンバートなんて1回しかやりませんし、performance はそれほど
いらないと思います。
それよりも 1 氏の言うように XML の構造を早く決めてほしいデス♥
0382デフォルトの名無しさん
NGNGコンバートが目的なら Perl で ad-hoc に書けばおしまい。1000行もいらない。
けど、XML かませてプラグイン方式にしておけば、
誰か面白い利用法を考えつく余地がある。
0383デフォルトの名無しさん
NGNGなんでわざわざ別形式にしているんだろう?
0384デフォルトの名無しさん
NGNG2chブラウザのの標準ログ形式を作ろう
なわけだ。
03851 ◆LirUghTKBo
NGNG状況説明2!
何でXMLか。
各ブラウザの設定ファイル(.infや.idxなど)にも出来る限り対応する為。
<monalog>
<thread>
<setting>
<openjane />
<hotzonu />
</setting>
みたいな感じ♥
03861 ◆LirUghTKBo
NGNG相互変換を可能にする手段の一つだと思ってくだされば。
0388デフォルトの名無しさん
NGNGそれはナンセンス。
0390388じゃないけど
NGNG進行役を買ってでるのは結構だけど、それなら「こんな風に進行させます」という
アナウンスをしておいた方がいいよ。
プログラミングスキルは別になくてもいいけど(もちろんあった方がいいけど)
スキルのなさと、行き当たりばったりな無計画さは違うからね〜。
リーダーシップもない、進行役もおぼつかない>>1はだめぽ。
03911 ◆LirUghTKBo
NGNGまとめてきます。
0392390
NGNG0393デフォルトの名無しさん
NGNG代々木実験
http://qb.2ch.net/test/read.cgi/accuse/1047496935/
0394デフォルトの名無しさん
NGNGこの2つは、2ちゃんブラウザの差分取得の起点(スレが更新されたかを判断する情報)なんだけど、
それぞれが独自形式で管理しているため、この部分が変換のネックとなるはず。
(あとはいわゆるdatファイルから情報を作り出すことができるんだが。)
0395デフォルトの名無しさん
NGNG<monalog>
<thread server="" board="" key="" default-name="">
<original>
<fileinfo last-modified="" filesize="" filename="" type="dat" />
</original>
<topic> ... </topic>
<res-set>
<res num="">
<name />
<trip />
<email />
<date />
<author-id />
<body>
<br />
<ref num="" />
<ref num="" uri=""> ... </ref>
<uri href="">
</body>
</res>
</res-set>
</thread>
<monalog>
0396395
NGNG<res-set /> はもしかしたらいらないかも。<thread /> 要素の下に
直接 <res /> があってもいいと思う。
あと <res /> も <body /> を使わないで直書きの方がいい? それとも
CDATA とか使った方がいいの?
03971 ◆LirUghTKBo
NGNGある程度状況説明を含むように書き直しました。
書いてる途中だったので>>394-396の内容が
含まれてませんがご了承ください。
0398愛犬
NGNGinfやidxのスレッド固有情報は、元の形式を隠蔽してデータを抽象化したほうが扱いやすい気がします。
かちゅ〜しゃidxの14項目目やホットゾヌinfの「SIZE」をまとめて
<size>235434</size>
等で保持して、出力プラグインで振り分けしてもらう感じで。
いずれにしても各ブラウザ独自の仕様があれば要素の定義が最小公倍数的に増加してしまうわけですが。
0399デフォルトの名無しさん
NGNGCDATAにするかどうか、ってのは、単に好みの問題なのかも。
CDATAにすれば、中に<や>が出てくるデータを楽に書けます、というだけで、
CDATA使わずに、< や > を使って書いても、意味的にはまったく同一。
ってことであってる?
(ん!?スレちがい?)
0400愛犬
NGNGXMLの定義ですが、03/03/11付けと書かれた仕様でおおかた問題ないと思います。
<name/>や<msg/>内の情報はdatそのままの状態がある意味で各ブラウザ作者さんに
とっての統一形式になっているのでパースする利点は薄いかと。
0401デフォルトの名無しさん
NGNGお!サイトいい感じですね!
よ〜し俺も負けないでがんばるぞ。
0402デフォルトの名無しさん
NGNG> <name/>や<msg/>内の情報はdatそのままの状態がある意味で各ブラウザ作者さんに
> とっての統一形式になっているのでパースする利点は薄いかと。
パージングしてタグ付けしとけば、ID とかトリップとかだけ抽出して
検索したい時に便利じゃない? それとも検索時にパージングするのですか?
0403デフォルトの名無しさん
NGNGいろんなXML形式がはびこり、各中間形式(XML)を調整するための中間形式
が必要になる罠。
0404デフォルトの名無しさん
NGNGXML にする意義は、情報をマークアップすることにあります。
たとえば XSLT でトリップの色を変えて出力したい場合、
トリップ情報が名前と分かれてる方がやりやすいです。
いちいち解析してもいいけど。
0405402
NGNG0406242 ◆GsQAUnYIlM
NGNGOpenJaneからXMLへ変換する俺版プラグインのα版。
俺もOpenJane使ってるもんだから・・・すまん。>>1と同じもん作ってしまった。
>>1のXML出力部分のソースを参考にUnicode出力するようにした。
入力フォルダを指定したらサブフォルダまで走査する。
OpenJaneだからLogsフォルダを指定すれば良いかと。
非効率なのでけっこう時間かかります。
テストするときはテスト用のログフォルダを作ることをお薦めします。
あくまでもα版!
それと、Commonaというのは共通Mona(Common+Mona)形式ログって意味の
俺造語なのでご了承ください。
0407愛犬
NGNGdat→XMLではなくて、dat+情報ファイル(idxとか)→XMLという考え方で、ログのコンバートで
障害となる各ブラウザごとの仕様の相違を吸収するのが一番の目的かと思っています。
datに関しては区切り文字とエスケープされた文字(「,」とか)の補正がかかれば充分で、XMLで
マークアップされるのは「ここまで読んだ」とかidx/inf内の情報が中心なのかなー、と。
最終的にこのXMLがコンバート以外の用途でも使用されるなら、>>395のような形式だといろいろ
使えそうで良いかもです。掲示板統一フォーマットみたいな方向性かな。
04081 ◆LirUghTKBo
NGNG_, ._
( ゚ Д゚) ガシャ
( つ O. __
と_)_) (__()、;.o:。
いや、良いです。
調べて書いたソースが血となり肉となるなら。
やることはまだ他にも沢山ありますし。
というわけで今、設定ファイルなどの内容などかき集めてまとめてる最中。
>>398で愛犬氏が言われているような要素がハッキリしない事には
作るにも作れないと思うんで。
0409デフォルトの名無しさん
NGNGなるほど・・XML の使用目的に微妙な差異があるのですね。
・各ブラウザごとのログ仕様の相違を吸収し、コンバートする >>407 >>394
・各ブラウザの拡張機能を XML で保持 >>398 >>407
・マークアップすることでログのデータベースとしての質の向上 >>402
・ログをアーカイブ化してまとめるための手段としての XML >>333
・XSLT による表示のしやすさを重視 >>404
・掲示板の一般的なフォーマットの探求 >>384 >>407
少しずつスレの方向性が見えてきたような・・。
XML って懐が深いから、いろんなニーズに応えてくれそうですネ。
0410デフォルトの名無しさん
NGNG決めてみてはいかがでしょうか。>>1氏 その他の方々
2ちゃん系ログを XML にするというのは、もう既に決まってるんですよね?
あとはどこに重点を置くか決めれば、おのずとフォーマットも決まると
思うのですけど・・
0411デフォルトの名無しさん
NGNG簡単に書き直してみる。
<monalog>
<thread>
<title></title>
<res-set>
<res>
</res>
<res>
</res>
</res-set>
</thread>
</monalog>
これなら、たった1つのレスだけを含むこともできるし、たくさんのスレッドも保持できる。
柔軟性高そう。
0412デフォルトの名無しさん
NGNGshift jisの方がよいと思いますが。。。(dat形式って基本的にshift jisですよね?)
04131 ◆LirUghTKBo
NGNG趣旨としては、DATと設定ファイル(.infや.idx)を含む相互変換なので
> ・各ブラウザごとのログ仕様の相違を吸収し、コンバートする
> ・各ブラウザの拡張機能を XML で保持
というのが主な目的です。
例:ぞぬ(dat+inf) -> 中間形式XML -> Jane(dat+idx)
0414デフォルトの名無しさん
NGNGその目的と例では、ぞぬ(dat+inf) ⇔ Jane(dat+idx) のコンバータを作れば
足りると思いますけど・・
そもそも XML にする必要はあるんでしょうか? 二度手間では?
0415デフォルトの名無しさん
NGNGみたいなことあるから
DTDは書いた方がいいと思うんだけど。
0416デフォルトの名無しさん
NGNGスレを頭から読み直せヽ(`Д´)ノ
0417デフォルトの名無しさん
NGNGXMLにすることでそれを他の目的に利用する人が現れるかもしれないし、
コンバータということで言えば、仮に
・ゾヌ
・Jane
・Abone
があるとすると、さらにかちゅ〜しゃのコンバータを作ろうとした時
ゾヌ <-> かちゅ〜しゃ
Jane <-> かちゅ〜しゃ
Abone <-> かちゅ〜しゃ
と、対応ブラウザが一つ増えるたびにそれぞれのブラウザ用にコンバータを
作らなければならなくなる。これが中間形式を介する方法だと、
中間形式 <-> かちゅ〜しゃ
のコンバータを作るだけで他のブラウザとも相互変換ができるようになる。
0418414
NGNGXML でログを保持することの利点は理解しているつもりですが、
1 氏の主な目的が>>413だとすれば、彼がスレの方向転換をしたいという
意味で言ったのだと汲んだのですが・・でもおそらく 1 氏はスレの流れが
速過ぎてよく噛み砕いてないんだと思います。
>>417
おっしゃる通りだと思います。
XML 形式にすれば、既存のツールや強力なフレームワークが使えるので、
それは大きなメリットだと思います。
だからこそ、>>409にあるような事柄を、もっとよく議論すべきだと
思うのですけど・・。あと、
ぞぬ ⇔ XML
Jane ⇔ XML
Abone ⇔ XML
というルーチンを組むことを考えれば、労力は同じことではないでしょうか?
しかも、もしひとつのブラウザのログの仕様が変更になって、
中間形式である XML のフォーマットも変更しなくてはならなくなった時、
作業量がブラウザの数だけ増えると思います。
0419デフォルトの名無しさん
NGNGぞぬ→かちゅはどうすんの?かちゅ→Janeは?
今後登場するアプリに関しては?
アプリ作る時は直接バイナリ書けば済むと思いますけど。cat > a.out
って言いたいのかい?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGXML→各ブラウザは一度作ればあとは流用できるでしょ。
新規ブラウザが出現したときの労力は単純見積もりで半分だよ。
それに、コンバータ開発者が自分の使用していないブラウザの仕様を
調べなくてもよくなるのは大きいんじゃないかな。
0422デフォルトの名無しさん
NGNG「さらに対応ブラウザが増えたとき」の労力のことを言ってるのだが。
最初に既存ブラウザ用を作る労力はあって当たり前。
>しかも、もしひとつのブラウザのログの仕様が変更になって、
>中間形式である XML のフォーマットも変更しなくてはならなくなった時、
俺はそういうことが嫌なので、中間形式にはブラウザの独自設定に依存するような
内容は極力入れない方がいいと思ってる。
0423421
NGNG> しかも、もしひとつのブラウザのログの仕様が変更になって、
> 中間形式である XML のフォーマットも変更しなくてはならなくなった時、
というのは同じ工数がかかる可能性がある。基本的にそういうことが起こり得ない
仕様を策定すべきなんだろうけど。
>>409に関しての議論をすべきという意見には同意。
ただ、ログのコンバート以外の用途ってそんなに需要あるかな…
0424デフォルトの名無しさん
NGNGここまでのレスで少なくともHTML出力や特定部分のログだけを抜き出したいという
需要はある
0425デフォルトの名無しさん
NGNG誰かやってくれんか。
04261 ◆LirUghTKBo
NGNG>>418
XMLを使ってから数日なので大それた事を言えないですが。
確かにXSLTなどからの利用を考えた上で話していた時もあります。
>>414氏にはどういう風に見えたのかわかりませんが、
私の考えは>>44で書かれている事を一貫しています。
それだけは誤解の無きようお願いします。
0427デフォルトの名無しさん
NGNG2chぽいものにしたいなぁ。.dqnとか。
0428デフォルトの名無しさん
NGNG各プラットホームで統一XMLへの相互変換ができるのが重要であって
プラグイン形式は12氏が提唱したひとつの案なワケだ。それを具現化
させつつあるのが242氏?
0430242 ◆GsQAUnYIlM
NGNGそうそうその通りです。
俺も個人的にSJISの方がやりやすいな。
膨大なログをUnicodeに変換してさらにファイルサイズも増えると時間がかかって・・・
0431デフォルトの名無しさん
NGNG<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml version="1.0" encoding="EUC-JP"?>
monalog の形式をどうするか、という問題と、そのファイルでどの encoding を
用いるかってのは、別の問題。どんな encoding であっても、monalog は monalog。
上の4つのテキスト宣言のうちのどれかを、monalog の先頭の行に置けばいい。
もし、先頭行にテキスト宣言が無い場合は、UTF-8 か UTF-16 のどちらかとして扱われる。
UTF-8 か UTF-16 のどっちなんだ?→先頭のUnicode文字でわかる。
0432412
NGNGそうなんだけど、monalogのデフォルトエンコーディング(defacto encodingかな)は、shift jisがいいなあ、、、ということです。
コンバータプラグインとか作る側にとっての負担が下がるかも。
0433デフォルトの名無しさん
NGNGある程度共通なログ形式考えたほうがいいと思うんだけど
0434431
NGNG2ch 以外の掲示板については、やりたい人が別スレでやる。ってことでいいのでは?
と私は思う。
04351 ◆LirUghTKBo
NGNG色々調べてみたんですが、
同一のファイルを文字コード色々変更して保存しない限り、
扱いが統一されていればShiftJISでも問題は無いと思います。
ですが、XML読み出すときには、いずれにしろMSXMLなりexpatなりxercesなり
必要になると思いますし、出力した巨大なmonalogを
テキストエディタなどで編集するのは考えにくいです。
Shift_JIS型にする利点は、DATからXMLに書き出すときに
fprintfとかcoutで簡単に出力が出来ます。
というぐらいしか考えられないんですが、どうでしょう?
いや、それほどUnicodeを保護推進しているわけでもないんですが…。
04361 ◆LirUghTKBo
NGNGShift_JISだからと言ってchar型が来るわけじゃないです…。
0437デフォルトの名無しさん
NGNGパーサで読み出すときに誰もchar型を期待していないと思うが・・・
書き出すのが楽ってのが一番の理由だろう。
04381 ◆LirUghTKBo
NGNGShift_JISで。
0439デフォルトの名無しさん
NGNGIE6でも表示はできるけど、ファイル出力となるとXalanみたいなでかいプロセッサを
入れなければならないので、エンドユーザには敬遠されるかも。
XSLTの偉い人、ここで作られたXMLをHTMLまたは他のブラウザ形式ログに
変換するXSLTを書いてみてくださらんか。そうすればちょっとはXML+XSLTの
すごさがわかってもらえるはず。そしてこのスレでやろうとしてることが具現化できるはず。
0440デフォルトの名無しさん
NGNGなんだから、ついでにUnicodeに変換する手間ぐらい
どうってことないと思うけどね。
0441デフォルトの名無しさん
NGNGブラウザdat (コンバータ→) 中間XML (XSLTプロセッサ+XSLT→) ブラウザdat
で後半の矢印部分のコンバータを作る手間が省けるんだけどなぁ。
0442seven
NGNG0444デフォルトの名無しさん
NGNG04451 ◆LirUghTKBo
NGNG04461 ◆LirUghTKBo
NGNG>>332,441で書かれている形で問題ないですか?
個人的にはスッキリした形で良いと思っています。
そして、必要であれば>>394で書かれている事や、
>>395で提案されているような形に拡張と。
これをハッキリ決めとかないと先に進まないぽ
0448デフォルトの名無しさん
NGNGPalmでやろうとすると、unicodeエンコードはさすがにつらいのよ。
0449242 ◆GsQAUnYIlM
NGNG0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG> とりあえず複数のmonalogを格納する形としては
そこで使われている monalog の意味は?
monalog 自体が複数の2chスレッドを保持できる element というのが
私の認識なのだが。
ところで、このプロジェクトやこのプロジェクトで議論されているログ形式
の事を呼ぶときには、Monalog と先頭を大文字で記すことを提唱したい。
んで、Monalog で使われる形式は XML で、その XML のルートエレメントが monalog と。
形式としては、>>332 の方式に賛成。<head> や <body> がないやつね。
あと、どっかで出てきたと思うのだけど、日付日時IDのデータを格納するのに、
date というタグ名はいやだな。Schema のデータ型と名前がダブってるから。
しかも内容が全然違うし。
データ型に関しては、「たのしいXML」の「XML Schema(入門編)」「6. 単純型」
を参照。
「たのしいXML」
http://www.cityfujisawa.ne.jp/~yanai/xml/
>>450
そお?(笑)
04521 ◆LirUghTKBo
NGNGで、よく考えるとこの形にするとスレッド追加などは
どの道パーサーを挟まなければいけないんで、
Shift_JISでの手軽な出力が逆に手間掛かってしまいそうですが
無理にUnicodeする必要も無いので、とりあえずはShift_JISで様子見。
04531 ◆LirUghTKBo
NGNG04541 ◆LirUghTKBo
NGNG気のせいです。
>>451
言葉足らずで申し訳ないです。
http://logconvert.s28.xrea.com/
03/03/11付けの内容で書かれている内容で考えています。
まだthreadとres-setが出てくる前の話なんで、一緒にしてしまいました。
>>446で書かれているmonalogはthread以下の物と同じ意味です。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGだからパーサ使ってる人はパーサでShif_JIS形式で吐き出せばいいじゃん。
MSXMLだって単にエンコーディング文字列指定するだけなんだし。
0459242 ◆GsQAUnYIlM
NGNG0460デフォルトの名無しさん
NGNG外枠は>>332でいいと思います。
レスの中身は>>395みたいなのじゃないとxsltで扱い難いです。
monalog-030311はログコンバートのためだけの形式とみれば良いのですが、
別の事には向いてないっす。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGの<head xmlns="">や<body xmlns="">のxmlnsってなんか意味あるん?
04631 ◆LirUghTKBo
NGNG>>451
日付に関しては名称を変更します。
XMLの仕様に沿ってdate型に出来るかどうかは
プラグイン作者に任せる方向で今後検討。
>>458
わかってます、ごめんなさい。
それ以上突っ込まないで… (クA`)
>>459
だってとっつきにくいんだもんw
>>460
res-setの中身はそれでまとめてみます。
>>395のbodyの中の要素は何の部分が入るのか
いまいちわからなかったりするのですが...。
あとbodyという名前も変更する必要がありますね。
>>461
理由書いて欲しいな。
>>462
無いです。
MSXMLの使い方ろくにわかってない>>1が出力したXMLなんで
消し方わかったら消します。特に問題は無いはず。
04641 ◆LirUghTKBo
NGNGトリップを持つ場合、
>ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
これはどこからどこまでトリップになるんでしょうか?
<trip>3SHRUNYAXA</trip>
<trip>◆3SHRUNYAXA</trip>
<trip>◆3SHRUNYAXA @どうやら管理人 ★</trip>
ちょっと悩み。
0465デフォルトの名無しさん
NGNG04661 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0017.xml
とりあえず>>395のbodyの中身がいくら考えてもわからないので保留。
要素名がセンス無いのは勘弁。
_∧∧__ / ̄ ̄ ̄ ̄
|( ゚д゚)| < 寝る!
|\⌒~\ \____
\ |⌒⌒|
04671 ◆LirUghTKBo
NGNG巨大なDOMを吐き出すことだね。
0468デフォルトの名無しさん
NGNG----(・∀・)----イイ
ただ、名前欄の名前部分とトリップ部分を分けるのは、大変な気がするっす。
分けてないデータは必ず持つようにして、分けてあるデータはオプションで
持っても良いことにはできないでしょうか。
あと、<author-id />の部分ですが、String 型で、IDという文字も含めて持つように
することを提案します。
削除依頼板とかに行くと、IDじゃなくて、HOSTってのがあるからです。
0469デフォルトの名無しさん
NGNG<br />はそのまま
<ref num=""/>は >>num これ
<ref num="" uri="">...</ref> 別スレ(uri)のnumへの参照?か何か。
<uri href="" />は<a href="http://...">http://...</a>だと思う。
まあメッセージの中もちゃんと解析シル!ってことっしょ
こういうのがあると参照レスをポップアップ表示するHTMLも簡単に作れるし。
>>468
ならHost要素も作るべし
0470デフォルトの名無しさん
NGNGううむ。
レスの内容までパースするのは必要かなぁ・・・。
プログラム板にいる人だから分かると思うけど、プログラムソース
が貼り付けられたときに、不必要なPOPUPが出現することもあるのは
知ってるでしょ。シフト演算子とか、比較演算子とかで。
そういうのも含まれちゃうし、結局信頼できるデータにはならないと思うんだよなぁ・・・。
全角の>>は含めるのか、とか。
そういうのは現行の2chブラウザに任せておいたら?。とおもう。
test :
>-1, >>-1 >0, >>0, >1001, >>1001, >1002, >>1002;
>9999, >>9999, >99999, >>99999, >999999, >>999999
> ならHost要素も作るべし
そうかもしれませんね。
IDとHOST以外には、無いのかな。確認しなきゃ。
IDやHOSTを分けるなら、その前に、date と time を分けたら、と思う。
0471デフォルトの名無しさん
NGNG名前欄に◆があれば以後10文字を含めてトリップであることが保証されると思う。
まあ、2ch系の板のみの仕様なので他の板で◆が含まれてたら妙なことに。
2ch以外にも対応できるように要素を増やすのもいいけど、2ch以外で障害がでない
要素わけも重要かと思われ。<trip/>の必要性も再考しますか。
04721 ◆LirUghTKBo
NGNG簡単なところでまとめて見ました。
hostエレメントについては複雑になってしまう気がするので、
<author id="" host="" />
みたいな形が良いと思いますがどうでしょう?
0473244
NGNGちょっと上のほうとかまだ読めて無いので見当違いな事書いちゃいそうですが
>>471
その辺は thread の type 属性をみてプラグイン側で処理してもらうしか。
>>472
<author ID="" host="">デフォルトの名無しさん</author>
こんな風にもできますね
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ なら
<author ID="" host="" cap="cap">ひろゆき<trip>3SHRUNYAXA</trip>@どうやら管理人</author>
こんな感じで。
0474デフォルトの名無しさん
NGNGちょっとその構造は変じゃないか? 氏名情報がごっちゃになってる
発言者を<author/>で囲むなら、冗長だけど
<author>
<name/>
<mail/>
<trip/>
<id/>
<host/>
<cap/>
</author>
みたいになるのでわ。
0476デフォルトの名無しさん
NGNGんじゃこうしよ
<name cap="cap">ひろゆき<trip>3SHRUNYAXA</trip>@どうやら管理人</name>
id,hostはまた別で、トリップはこう
0477デフォルトの名無しさん
NGNGひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
</name>
でいいと思うんだけど・・
0478デフォルトの名無しさん
NGNG765 名前: ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ [sage] 投稿日: 03/03/14 14:02 ID:UkdJEufW
わたしはひろゆき]]>わたしはひろゆき
<res num="765" state="normal">
<author>
<name cap="true">ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★</name>
<trip>3SHRUNYAXA</trip>
<mail>sage<mail>
<res-date>03/03/14</res-date>
<res-time>14:02</res-time>
<id type="ID">UkdJEufW</id>
</author>
<message>
<![CDATA[わたしはひろゆき]]>わたしはひろゆき]]>
</message>
</author>
説明。
<name cap="X">
の X の所には、name の中に★があるかどうかに応じて、true または false が入る。
<res-date> と <res-time> を、わけてみた。分けないなら、<res-datetime> きぼんぬ。
<id type="X"> の X のところには、ID か HOST が入る。厳密に言えば、日付日時の
後ろにあるもののうちの、「:」(コロン)より前の部分。
0479デフォルトの名無しさん
NGNG1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
<res-date> と <res-time> を分けちゃうと、これを扱えなくなるね・・・。
0480デフォルトの名無しさん
NGNG04811 ◆LirUghTKBo
NGNG>>478-479
news+などだとキャップの他にφが付いたりしますから
bool型だとまずいかなと。
normal=無し、cap="★"、journalist="φ ★"
これぐらい?
1000超えについては244氏がresにstateというのを用意しています。
内容はnormal,abone,tomeiabone,removal,over,threadstopが
11日付の内容で用意されています。下のコメント文になっているあたり。
http://logconvert.s28.xrea.com/monalog-030311.xsd
と言うわけで1000Overだった場合、
<res num="1001" state="over" />
という記述が出来るはずなので大丈夫だと思います。
tima,dateについては、"/"を"-"に変えて秒を適当につけるぐらいなので
プラグイン側も大した作業ではないかと。
04821 ◆LirUghTKBo
NGNG0483デフォルトの名無しさん
NGNG同意。
分解する意味わからん。
面倒になるだけじゃないのか
0484デフォルトの名無しさん
NGNG> <res num="1001" state="over" />
↑こんなのから、
"1001<><>Over 1000 Thread<>このスレッドは1000を超えました。 <br> もう書けないので、新しいスレッドを立ててくださいです。。。 <>"
という文字列を自動生成するってことですか?
0485デフォルトの名無しさん
NGNG2ch でもよく変わるし。
0486デフォルトの名無しさん
NGNG例:あぼーん、スレスト
0487デフォルトの名無しさん
NGNGシンプルにしとけよ馬鹿
という有名な言葉を贈ります。
0488デフォルトの名無しさん
NGNGじゃ俺からも
きっちりマークアップしてないXMLなんぞ無意味
0489デフォルトの名無しさん
NGNG前に誰かが書いてたが、マークアップされるのはdatの中身じゃないはず。
0490デフォルトの名無しさん
NGNGそれでは意味が無いと。
0491(^^)
NGNGdatをいくら解析したってログのコンバートは出来ないと思うけど?
それこそ「意味が無い」。
というか、どっちかというと意味が違うのか。datの中身をバラしたい香具師はXMLで
何がしたいのさ。統一フォーマットの策定なら別スレ立てれば。
0493デフォルトの名無しさん
NGNGそういう文句まできっちりコンバートする理由ってあるのかな?
0494デフォルトの名無しさん
NGNGまだきまんねーの?
もうそのまま保存でいいだろ?
>>305と>>332あわせりゃできあがり
0495デフォルトの名無しさん
NGNG逆に考えて欲しいな。
わざわざ state="over" なんていうスキーマ作ってまで、1001 番目のレス
を正しく再現できなくなるような仕様にする必要はあるのか?と、問うてるわけ。
0496デフォルトの名無しさん
NGNG祭り状態のスレだと1010あたりは行くらしい。
0497デフォルトの名無しさん
NGNG俺どっかのスレがバグって2000とか3000逝ってるの見た記憶あるな
まあnum付いてるからそれはまた別問題だが
でだ、1氏は>>258で理由はどうあれ>>306の『そのままでいく』を選んでるわけで
244氏も迷ったところとか書きながら結局作ったスキーマは『そのままでいく』方式なんだから
いい加減そっちで見切り発車しちゃえよ
>>494
それじゃまたdateにidがどうたらこうたら言い出す馬鹿が出てくるから
dateだけdateTimeIDHOSTとかにしとかなきゃ納得しないっぽいぞ(藁
0498デフォルトの名無しさん
NGNG>俺どっかのスレがバグって2000とか3000逝ってるの見た記憶あるな
それって大昔の2ちゃんのログではないのかえ?
0499デフォルトの名無しさん
NGNGうん 確かそう
そういや2chブラウザっていつからあるんじゃろ
0500デフォルトの名無しさん
NGNG現在の流れを築いたのは次の2chブラウザか。
そしてnavi2ch(かちゅプロトタイプ)、ギコナビと来て、
大ブレイクしたかちゅ〜しゃに続く、と。
mac版はしらん。
05011 ◆LirUghTKBo
NGNG(スロットで猪木にしばかれてキマシタなどとは口が裂けても言えない…)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0019.xml
monalog-030313の内容に従って複数のスレッドを格納してみました。
tripが単なる文字置き換えなので、エレメントと認識されてませんが、後日修正。
というわけで、XMLの偉い人様。
これで何かやって欲しいなと思ってたりするわけですが…。
ある程度内容がまとまってきたのでそろそろDATを変換する方にも
着手して行きたいなと思っております。
VC++6プロジェクトファイル
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0018.zip
もはやこいつに何の意味も持ちませんがとりあえず。
05021 ◆LirUghTKBo
NGNG05031 ◆LirUghTKBo
NGNG<monalog xmlns="http://www.monazilla.org/monalog-030314">
<thread server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
<title><![CDATA[2chブラウザののログコンバータを作ろう]]></title>
<info last-modified="Sat, 15 Mar 2003 04:37:38 GMT" size="161404">
<res-set>
<res num="1" state="normal">
<name>1<trip>LirUghTKBo</trip></name>
<email><![CDATA[sage]]></email>
<res-date>03/03/15 13:37</res-date>
<author id="" host="" />
<message>
<![CDATA[monalog-030314サンプル]]>
</message>
</res>
</thread>
</monalog>
infoエレメント追加。ひとまずこんな所かな?
後は取得の工夫と適当な値埋め次第で設定ファイルも作れそう。
…ホットゾヌ2のinf内のETAGが意味不明なのを除けば。
Ya2bがちょっと癖ありそうな感じ。
05041φ ☆
NGNG05051 ◆LirUghTKBo
NGNGしかも今日は静かだったねぇ。
沈みすぎ?愛想尽かされた?
まぁ、ここまで来たら一人でもやるけどさ…。('A`)
>>503で書いた内容に準拠して出力。
規制情報から1件、削除要請から1件、他このスレを含む3件の5スレッドです。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0020.xml
あとキャップの件では記者の場合、φも名前扱いにし、★のみの扱いにしました。
よって<name cap="bool型" />という形に落ち着こうかと。
これはマズイと言うのがあれば、指摘してください。
なんて自分勝手に突っ走ってる予感。
まぁ、話す事は大体決まったし、自分でゴソゴソやって
HPでの情報公開が手薄になっているのも一つの要因であるとは思うんですが…。
とりあえずjane(.idx)とぞぬ1(.inf)に付いては明日にでも。
VC++6DSW
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0021.zip
突貫工事だからもうグチャグチャ。見れたものじゃないし、だめぽ。
メモ
2chブラウザで使われているSizeの項目は
CFileFindのGetLengthで同じ値が取得できます。
05061 ◆LirUghTKBo
NGNGいきなり名前がおかしくなってるのは見なかったことにして下さい。Λ||Λ
0507名無しさん@お腹いっぱい。
NGNG中途半端にキャップだのトリップだのIDだのを取り出されてもXSLTではそう大したはことできません
できても大げさなスキン程度です
>>244から出てますが
やるなら全部
やらないなら何もやらない
の2択ではないんですか?
このスレは途中からくだらないことに捉われてまったく進んでないように見えます
どちらを選んでいるのか教えてください
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG「文字列」 じゃなくて 「日付」 とした扱えるほうがいいんじゃない。
他は(日付を含めて全部でもいいけど)とりあえずプラグインに任せておいて、
よい表現方法があったら Ver.2 として取り込めばいい。
0510デフォルトの名無しさん
NGNG正規化してるだけ?
もしそうだとしたら意味ないね
他の掲示板のデータも取り込めるくらいのを
めざしてほしいところかな
05111 ◆LirUghTKBo
NGNGかなり悩んだ末。
TRIPやCAP、ID、HOSTの抽出などあれこれ盛り込んでも
ラチが空かない上に、スレの趣旨とは少し違ってきている気がします。
MegaBBSなど他の掲示板に対しても無意味ですし。
日付に関しても賛否両論あるとは思いますが、
日付、ID、HOSTを全て含めて1項目(区切り<>で一つ)
という事にします。投稿文に関しても同様にそのまま。
DAT変換の為の中間形式を最優先です。
えまのん等、IDやHOST、TRIPなど分けている形式については
出力プラグインの方で操作する言う形で。
中途半端にしてもXLSTじゃロクに使えない上に無駄に
プラグイン作るのが面倒になってしまうのでは意味が無いです。
形式も依存してしまう内容かもしれませんが
もしバージョンアップする機会があれば、日付や本文なども含めて
パースしましょう、という結論です。
0512デフォルトの名無しさん
NGNG賛成です
次にXMLのサンプルが出ればそれのDTD書きます(XMLSchemaは解らないので・・・)
0513デフォルトの名無しさん
NGNGversion="1.0"みたいな。
05141 ◆LirUghTKBo
NGNG見た目ウザイかもしれませんが、バージョンが上がって形式が変わっても
monalog内に複数のバージョンを格納することが出来…るはずです。
<?xml version="1.0" encoding="Shift_JIS" ?>
<monalog xmlns="http://www.monazilla.org/Monalog">
<thread version="1.0" server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
<title><![CDATA[2chブラウザののログコンバータを作ろう]]></title>
<info last-modified="Sat, 15 Mar 2003 04:37:38 GMT" size="161404" />
<res-set>
<res num="1" state="normal">
<name><![CDATA[1 </b>◆LirUghTKBo <b>]]></name>
<email><![CDATA[sage]]></email>
<timestamp><![CDATA[03/03/04 10:51]]></timestamp>
<message><![CDATA[Monalog Ver1.0 サンプル]]></message>
</res>
</res-set>
</thread>
</monalog>
stateに関してはA Boneにあぼーん(abone)、弱あぼーん(aboneSE)、透明あぼーん(aboneEX)などの
機能がある為、残します。
これにそって出したXMLが以下の物になります。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0023.xml
0515シロートの素朴な疑問
NGNGthreadにversion持たせるの?
monalogのとこじゃなくて?
05161 ◆LirUghTKBo
NGNGなぜthreadにしたかと言う理由は>>514の上3行に書いてあります。
それはマズイ、と言うのであればご意見よろしくお願いします。
0517threadでも実用上問題ないとは思うけど
NGNG<monalog xmlns="http://www.monazilla.org/Monalog/1.0" version="1.0">
(中略)
</monalog>
<monalog xmlns="http://www.monazilla.org/Monalog/1.1" version="1.1">
(中略)
</monalog>
↑こういう記述がXMLで許されないんだったら無視してちょ。
こっちがより良いかなと思った。「monalogフォーマットのバージョン」を表現する、という意味で。
05181 ◆LirUghTKBo
NGNG試しに作ってみたところIEでは表示できませんでした。
あと、自ら話を振っていて申し訳ないのですが、
複数のバージョンのMonalogを同時に持っても
内容が複雑になり、バグの要因を増やすだけに
なってしまいそうなので、やめておきます。
バージョンの記述については>>517氏の通りにしましょう。
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG<name><email><timestamp><message>に関しては、1さんの決定に賛成。
だって、わかりやすいもん。
CDATA なので、XML形式を出力するときに気にするべきことは、
]]> という文字列が出てきたら、]]& に書き換えてあげること。
05231 ◆LirUghTKBo
NGNG当然落胆された方もいるとは思いますが。
Version情報を>>517の内容(もちろんルートは一つよ(笑))に変え、
242氏のソフトのプラグインで作りました。(OpenJane用DLL)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0025.zip
pluginというフォルダに入れて下さい。
ソフト本体は242氏のサイトで。
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html
2ch以外はまだ未対応です。
(まちBBSなどタイトルがDATの1行目最後に無い物もある)
242氏の言葉を借りると、あくまでα版!
.datと.idxは一緒に用意してネ。
ただ、自分のOpenJaneのログを突っ込んでみて、
やっぱり20Mを超えたあたりから(重くて)ちょっと厳しいかなと思ったり('A`)
つーかまだ変換してるよママン(つД`)イツオワルノ...
>>521
]]>に関しては、恐らく依存するのが皆無であろう
えまのんの形式でさえ>に変換されてますので、
read.cgiあたりから変えてるのだと思います。(少なくとも2chは)
ですから、心配する必要は無いかもしれないです。
05241 ◆LirUghTKBo
NGNG>えまのんの形式でさえ>に変換されてますので、
えまのんの形式でさえ&gt;に変換されてますので、
05251 ◆LirUghTKBo
NGNG>>523で書かれているプラグインは、出力フォルダに
Monalog.xmlというファイルを作成します。
それにmsxml.dllでゴリゴリ書き込んでっています。
0526デフォルトの名無しさん
NGNG元ブラウザのdatサイズを記録しても他のブラウザにとっては何の役にもたたないと
思うのだけど。
0527デフォルトの名無しさん
NGNGたしかに。
dat のサイズを記録するよりも、datに戻そうとしたときに1バイトの狂いも
出ないような厳密な仕様を記述することが大事。
あと、
]]> を ]]> に直すのは、CDATAの中なのだから、当然なのだけど、
ちょっと混乱中。
・文字列を全部なめて、> が出てきたらそれを > に変える。
・文字列を全部なめて、]]> が出てきたら、それを ]]> に変える。
これ、どっちがいいのだろう?
エスケープする’前’の文字列として、]]> ってのが出てきたとして、
これを何にもいじらないとすると、もとにもどす時に ]]> にされちゃう?
05281 ◆LirUghTKBo
NGNG2時間近く経過した今もまだ変換中の1です。
ある意味、動画エンコードよりもひどいとか思えてきたり。
いくらコンバーターでプログラムの速度はあまり関係無いとは言っても、
流石にまだコンバート中だと考え物です…。
>>526-527
あ、見落としてました。Size。
いくつかの設定ファイルでSIZEの項目があったので
必要かなと追加したんですが、CFleのGetLength()と
同じ値が取れるのであれば、DATを復元した後の
ファイルから取得すれば良い話ですね。
>>527
]]> は ]]&gt; と保存され
]]&gt; は ]]&amp;gt; と保存されているみたいです。
05291 ◆LirUghTKBo
NGNG&gt;てすと > >
0531デフォルトの名無しさん
NGNGこのサイズ-1したサイズ+取得時刻(if modified since)を送って、レスが増えたかどうかチェックするのが、2ちゃんブラウザの定石。
つまり、このサイズを間違えると、ログコンバート後にレス番号がずれたり、更新されたのに更新されていない、とか、不具合が発生する。
0532242 ◆GsQAUnYIlM
NGNG外出中だった。
名前をMonalogに変えてこれまでの変更をちょこっと加えて0.02を作ってみた。
自分のOpenJaneログ(約6.0MB)を変換するのに1分くらいだった。
変換後のXMLは47個(約8MB)
OpenJaneではSizeってどこに記録してあるのかな?
idxにもdatにもそれらしきものが無かったので↑の0.02には採用してないんだけど。
05331 ◆LirUghTKBo
NGNGXML分けてない追記式の方法ですしね…。
大量になるとNodeListを取得するのに激しく時間が掛かる予感。
で、OpenJaneのSizeに関してデスガ、
SIZEの項目がある2chブラウザのホットゾヌが出した値と
OpenJaneで読み込んだDATをCFileのGetLengthで出した
値が一緒だったので同じだという結論です。安直…?
一応このままSizeについてはXMLで持っておいた方が良いんでしょうか?
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGそのままSize情報になるみたいです。
05361 ◆LirUghTKBo
NGNGPentium3-800MHz
590個のDATで3時間。
44MのXMLです。
そして242氏のプラグインで別のXMLに出す方式。
10分。ファイルサイズは65メガ。
…ベンチマークですかって(笑
ちなみに44MのXMLをXML Notepadで開くと、撃墜。
秀丸で開いても恐ろしいぐらいスワップするので辞退。
とりあえず、一つのフォルダに展開したMonalogを
DATに復元するときにそれぞれに振り分けると言う方法にしますか…。
Monalog.xmlについてはプログラムでは実際に使わず、
外部エンティティを用いてボードリストにするぐらいで。(今は無くても良いかも)
>>534
自分のサイト放置してまで1をやってるから、否定も出来ない。
>>535
ありがとうございます!
かなり重要な情報。
…とすると、それはホットゾヌでもかちゅーしゃでも通用しますね。
0537デフォルトの名無しさん
NGNGホットゾヌ/ギコナビとJaneのdatファイルサイズは違うよ。
05381 ◆LirUghTKBo
NGNGあぁ・・・改行コードの違いかな・・・。
やはりsizeは持っておいた方が良いみたいですね。
あと、2chブラウザが突っ込んでるフォルダ全てから
]]>という文字列を全部検索してみたところ、見つかりませんでした。
そういうわけで、CDATAも大丈夫かなと。
疲れた。
0539デフォルトの名無しさん
NGNGOpen Janeは鯖側と一致します(逆に一致しないと取得に不具合がある)。
あとホットゾヌ1はローカルあぼーんすると実際にdatを書き換えるので、
さらにサイズがズレる事があるみたいです。
ゾヌ2ではあぼーん情報が別になったのでこの問題は無くなりましたけど、
dat形式の鯖側との同期についてはいまだ調整中みたいですね。
0540デフォルトの名無しさん
NGNGな考え何すけどそんな気にするようなことなのかな?
過去ログ倉庫逝きの.datが今使ってるブラウザで見れたらそれでいいっす
0541デフォルトの名無しさん
NGNGXMLにいちいち変換しなくても
タグのデータに参照番号を決めて、
それを操作する入出力クラスを作ってしまえば
無駄な変換もパースもいらん。
0542デフォルトの名無しさん
NGNG川o・-・)ノ <先生!こんなのがありました!
__/ / /
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/tochigi/
0543デフォルトの名無しさん
NGNG>XMLにいちいち変換しなくても
( ´д)ヒソ(´д`)ヒソ(д` )
0544デフォルトの名無しさん
NGNG単にサーバがxx.2ch.netだったらってこと?
xx.bbspink.comだったらtypeは2chじゃなくてbbspinkになるのかな?
2ch内の板であろうが無かろうが、サーバの文字列(2chとかbbspinkとか)が基準なのかな?
typeとは具体的に何の「型」なのだろう。
05451 ◆LirUghTKBo
NGNGゾヌ2のinfにある、SITEIDに当たる物です。ゾヌ1だとBBSTYPE。
判断基準はそれぞれのブラウザにより異なると思います。
サポートしているBBSもしてないBBSもありますし。
typeの内容はだいたい以下の物になると思います。
1_5ch
15ch
212ch
2ch
2chKakolog
machibbs
megabbs
milkcafe
miniflo
mitinoku
shitaraba
後はUserが設置した物もありますが…。
上手い具合に判別方法が見つからず。
0546デフォルトの名無しさん
NGNGいやだからね、判断基準がばらばらなものを記録してどうするのって。
例えばあるブラウザがpinkbbsも2ちゃんねるの一部だから"2ch"タイプとしたとする。
別のブラウザはpinkbbsを"pinkbbs"タイプとしたとする。
そうすると同じものを表現してるXMLなのに二つのtypeができちゃうわけでしょ。
例えばXMLにtype="2ch"とあったとして、それをあるブラウザがどう判断するかも
決まってないわけでしょ。それがpinkbbsかもしれないし、2chかもしれないのに、
ブラウザからはそれが判断できないんだから。
0547seven
NGNG異論のあるのは、保留してVer.2以降で決めることにして。
共通仕様の話って、これが初めてじゃないんだよ。
05481 ◆LirUghTKBo
NGNG結論を先に。
その辺のtypeの基準は、ホットゾヌを基準として考えています。
もしpinkbbsなどで処理の振り分けが必要だった場合は、
typeとドメインを出力プラグインに見てもらって判断してもらいます。
ドメインから推測してtypeも無くすことは可能でしょうが、
あまり信頼できる情報ではないかと思います。
typeがあればDAT復元するときや、ディレクトリの振り分けなどに使えますし、
無くしてしまうとユーザーが設置した互換掲示板のコンバートで
Monalogとしての判断基準が無くなってしまうわけで、残しています。
0549デフォルトの名無しさん
NGNGJaneやかちゅはどこからtypeを持ってくればよい?
0550デフォルトの名無しさん
NGNG念力
05521 ◆LirUghTKBo
NGNGidxなりフォルダの階層なり判断はどうにでもなると思うのですが。
どこから判断するかはプラグインの作者次第ですし。
typeってそんな的外れで難しい事書いてますか?
0553デフォルトの名無しさん
NGNG「ここから先はこの仕様では定めない」と
ばっさり切っちゃってもええんやで。
普通の2chのログが普通に保存できるようになって、
1さんのプログラムを使う人が増えてくれば、
細かい仕様に対する要望もがんがん上がってくるでしょう。
(バグ報告もね)
0554デフォルトの名無しさん
NGNG不定要素のtypeはあくまでもoptionalであるべきなので、プラグイン側もそれを
信頼できない。ぶっちゃけ、おまけ。
あと基本的にプラグインはXMLと1つ〜複数のファイルの相互「変換」のみを受け持つ
形になると思う。スレをひとつずつ変換するのかフォルダごと変換するのかは、プラグ
イン呼び出すインタフェース側のアプリケーション次第。何度か出てきてるけど、>>1は
まだプラグインがどういうものか解ってないの?
05551 ◆LirUghTKBo
NGNGその情報は絶対に信用できるかと言えば、無理ですね…。
とりあえず確実な方法が見つかるまでTypeは排除。
至ってシンプルなコンバートにしましょう。
>>554
今までただ何も考えずにブチ込む側の人だったので
プラグインの内容(仕組み)の理解は薄いです。
参考になりました。
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGMonazillaに掲載されてるからね
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGそれはdatで十分という話もある
0560デフォルトの名無しさん
NGNGdat形式がいいと思うなら自分で作れ。
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGというわけで、作ってみた
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGMSXMLは書き込むより読み込む方が面倒…。
DATをMonalogへ、MonalogからDATへ変換する機能を付けました。
フォルダごと変換ではなく、単一ファイルです。
今回DLLじゃなくて糞GUIのアレ。(VC++6ソース exe有り)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0026.zip
プログラムももうそろそろ整理しないと大変なことになりそうな予感。
Aboneのスレッド倉庫に並べるくらいまで行きたかったんですが、
流石に無理。後日で…。
あと改行コードもCRLFになっているため、JaneのDATとは
完全に一致する物ではないです。念のため。
というか、LFで改行するにはどうすれば...
エスケープシーケンスでは無理?
05661 ◆LirUghTKBo
NGNG0567デフォルトの名無しさん
NGNG\nじゃなくて0x0Aを出力すると吉
05681 ◆LirUghTKBo
NGNGあぁ、なるほど…。
CStdioFile::WriteStringでは改行文字は0x0Aでも自動でCRLFになって
LFで書くためにはfopenでかつバイナリで書かないと駄目なのね…。
ありがとうございます。
05691 ◆LirUghTKBo
NGNGfopenじゃなくても、CFileをバイナリでオープンしてWriteダネ...。
お騒がせしてマス。Λ||Λ
0570デフォルトの名無しさん
NGNG05711 ◆LirUghTKBo
NGNGAboneのお気に入り操作するクラス作ってたら妙に時間掛かってマスガ。
つか戦争起きてるときに何のんきにこんな事やってんだろうね
0572委員長 ◆/DABoneCRY
NGNGまだ半分ぐらいしか過去レス読めてないので、本格参加は後日に
なりますが。
とりあえず何かお手伝い出来ることありますか?
「おめぇがコンバータ作れ!」は無しの方向で。(^-^;
05731 ◆LirUghTKBo
NGNG委員長様、はじめまして。ヘタレの1です。
今、Aboneのお気に入り及びスレッド倉庫のtxtをツリー構造で操作する物ですが、
手間取っているのは単なる自分が出しているヌルポバグです。('A`)
それはさておき。
いくつか確認したいことがあります。
・過去ログを作成するにあたってDATの場所は見た通りでidxは無しで問題は無い
(あぼーん情報付けるにあたって必要になるが、今のところ非実装。)
・過去ログを見るためにはスレッド倉庫store.txt(またはお気に入り)に記述する
と言うだけでこちらの環境(Ver1.43)では表示されているのですが、
一応これで問題ないのか確認したいです。
それでは何かが足りなくて不具合が出る可能性もある、とか
過去ログを登録する望ましい形などあればご意見頂きたいかなと。
05741 ◆LirUghTKBo
NGNG0575デフォルトの名無しさん
NGNGおめぇがコンバータ作れ!
05761 ◆LirUghTKBo
NGNG>>242 ◆GsQAUnYIlM氏
見ていてかつ余裕があればlogconv.exeの仕様変更をお願いします。
・プラグインに渡される入力パスはフルパスにする
単一のファイルパスやサブフォルダの検索などはlogconv.exeが管理。
でも今の所は単一ファイルは必要無いので、サブフォルダまでの検索でお願いします。
出力フォルダはそのままでOK。
復元時のプラグインはそれぞれ自分で階層掘っていく形になるかと。
・プラグイン側で検索する拡張子の指定ができる
上記の続きになりますが、DATだけではなくXMLからの復元も考えて
拡張子は「*.xml」(Monalog.xmlとも指定できるようにワイルドカード込み)と
指定できるようにして下さい。
・カテゴリ名から板名の取得(優先度低い)
現在はカテゴリ名からサーバーアドレスが取得できますが、
これに板名の取得も出来るように追加してください。
あと細かい点ですが、242氏が作ったMonalogへ変換するプラグインは
last-modifiedとmailで食い違いが出てますので修正お願いします。
…なんて書いてみるテスト。忙しければ後日対応で結構です。
「おめぇが変えろっ!」ってのは無しの方向で。
0577242 ◆GsQAUnYIlM
NGNG3番目はともかく1、2番目はプラグイン側でやることじゃなかろか。
1は入力フォルダが与えられてるんだからそこをルートに再帰でもして
サブフォルダを走査すればいいんだし(OpenJane to Monalogはそうしてる。)、
2はWin32APIでいうところのFindFirstFileに渡すパスを変えればいいだけだし。
05781 ◆LirUghTKBo
NGNG単一ファイル変換だけにとらわれずに、
サブフォルダも検索する関数と、単一ファイルを変換する関数を
提供すれば問題は無い、か...。
失礼しました。
明日にはMonalog->Aboneのプラグインが出来そうな予感。
0579委員長 ◆/DABoneCRY
NGNG> ・過去ログを作成するにあたってDATの場所は見た通りでidxは無しで問題は無い
> (あぼーん情報付けるにあたって必要になるが、今のところ非実装。)
そうですね、**********.datと**********.idxは対になってまして、各種あぼーんの情報やしおり情報、スレッド別のコテハン等の格納先となり、それらの操作が行われた際に作られます。
**********.datに関してはサイトにてまとめられている表の通りで間違いありません。
> ・過去ログを見るためにはスレッド倉庫store.txt(またはお気に入り)に記述する
> と言うだけでこちらの環境(Ver1.43)では表示されているのですが、
過去ログを見る=A Boneにログを飲み込ませるという意味でしょうか?
その前提で説明すると、ログファイル(**********.dat)とGetResList.txtへの登録が必要になり、これは必須です。
GetResList.txtに登録されれば、Aペイン(板一覧の所)にある[既得スレッド]に表示されるハズです。
お気に入り(BookMark.txt)とスレッド倉庫(Store.txt)は、あくまでもそれらのタブにて表示させる際に必要となるだけで、逆にいうと、それらのファイルに記述すると、そのスレッドはお気に入り登録(スレッド倉庫登録)されたスレッドということになります。
GetResList.txt、BookMark.txt、Store.txt の書式は次レスで。
0580委員長 ◆/DABoneCRY
NGNG[A Bone.exe]\conf\[BBS名]\GetResList.txt
(書式)
datのURL=既得レス数[\t]datサイズ[\t]スレッドタイトル[\t]最終取得時間[\t]最終書込時間[\t]スレッドタイトル(別名)
datのURL:2ちゃんねる内のdatファイルのURL
既得レス数:現在取得しているレス数
datサイズ:現在取得しているdatファイルのサイズ(CRLFではなくLFで計算)
つまり、2ちゃんねるに準拠したサイズの為、実際に保存されている
サイズとは違います。
スレッドタイトル:スレッドのタイトル
最終取得時間:文字通りの意味
最終書込時間:文字通りの意味(未書込みの場合、文字数0)
スレッドタイトル(別名):A Boneではユーザーがタイトルを変更出来るため(未設定の場合、文字数0)
0581委員長 ◆/DABoneCRY
NGNG[A Bone.exe]\conf\[BBS名]\BookMark.txt
(書式)
フォルダの場合
[\t]タイプフラグ[\t]フォルダ名[\t][\t][\t]フラグ
スレッドの場合
タイプフラグ:ノードのタイプフラグ(0=スレッド、1=フォルダフォルダ)
スレッド名(フォルダ名):
カテゴリ名:(フォルダの場合は文字数0)
datのURL:(フォルダの場合は文字数0)
フラグ:ノードの開閉フラグ(0=開、1=閉)
(注)
各行の先頭の[\t]は行によって無かったり、複数あったりします。
先頭の[\t]の個数によって、ツリーの階層を表します。
(例)
AAA
[\t]BBB
[\t][\t]CCC
AAA ←レベル1(\tは0個)
└BBB ←レベル2(\tは1個)
└CCC ←レベル3(\tは2個)
■Store.txt(スレッド倉庫のIndexファイル)
[A Bone.exe]\conf\[BBS名]\Store.txt
書式はBookMark.txtと同じ
0582委員長 ◆/DABoneCRY
NGNGBookMark.txtのスレッドの場合の書式が抜けてました。(^-^;
スレッドの場合
[\t]タイプフラグ[\t]スレッド名[\t]カテゴリ名[\t]datのURL[\t]フラグ
です。
ということで、>574の解答は、ツリー表示する際に
子ノードを展開するかどうかというフラグです。
0583デフォルトの名無しさん
NGNG>1がんがれー
05841 ◆LirUghTKBo
NGNG委員長様。フォーマット解説ありがとう御座いました。大変助かります。
あと、GetResList.txtの動きを調べてみたらURLでソートされている
必要があるみたいですね。(同じカテゴリが連続するように)
CListCtrlあたり使えば簡単に出来るかな…
一応予定としては、GetResListへの登録(重複チェック含む)と
登録したスレッドを過去ログ倉庫と同列にフォルダを作りリストを作成
と言うところまでやってみます。
今日までに作れそうだと昨日ほざいてましたが、予定追加でもう少し掛かりそう。
>>583
アリガトウゴザイマス。
がんがります
つーかDLLってどうやってデバッグするの...('A`)
0585デフォルトの名無しさん
NGNG>DLLのデバッグ
デバッグするためのプログラムを指定できるので、logconv.exeを指定しる。
logconv.exeのプラグインフォルダには、デバッグしたいデバッグ版のDLLを入れとく。
05861 ◆LirUghTKBo
NGNG入力:OpenJaneのログフォルダ
出力:任意の展開フォルダ
OpenJaneのログファイルをMonalog形式に変換します。
[Key].xmlとして一つのファイルにまとめて展開しますので
ログ展開用のフォルダを用意して下さい。
なお、2ch以外BBSには対応していないのでご了承くださいまし。
>>MonalogToAbone.dll
入力:OpenJaneToMonalog.dllで展開したログが入っているフォルダ
出力:Abone.exeのあるルートフォルダ
色々制限ついてますが何とか形になった模様。
制限については以下の通り。
・serverが2ch,bbspink以外のログは処理しません。
・GetResList.txt,Store.txtの有無判定を行っていないので
必ず一度は「何かしらのレスを取得した状態」で行ってください。
エラー起きます。保証無し。
・プログラムがヘタレに組んでしまった為にXMLの検索時、サブフォルダを認識できません。
一応GetResList.txt、Store.txtについては
GetResList.txt.bakとStore.txt.bakでコピーを取っています。
が、バグなど含まれる可能性があるので、復旧できるなどの知識が無い方は使わないで下さい。
05871 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0027.lzh
動かすソフトは242氏のサイトでよろしく。
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html
寝る。
今の頭の状態でソース公開まで踏み込めない。
>>585
ありがとうございます。
おかげさまでスムーズな作業が出来ました。
・・・でも結局毎回ファイルコピーなのですね(´・ω・`)
05881 ◆LirUghTKBo
NGNG興味ある方お試しください。
もうだめぽ
05891 ◆LirUghTKBo
NGNG0590デフォルトの名無しさん
NGNG>>OpenJaneToMonalog.dll
>>MonalogToAbone.dll
という作りをするのか。てっきり
>>OpenJaneToXML.dll
>>MonalogToXML.dll
>>XMLToMonalog.dll
>>XMLToAbone.dll
ってなるのかと思ってた。(ログ読み直すか。。)
0591デフォルトの名無しさん
NGNGコンバーターをテストしてみました。
が、Open JaneのログをMonalogに変換している途中で
コンバーターが落ちてしまいます。
外部板のログがあったので
外部板のログを別にして変換しようとしたのですが、
同じでした。
OSは、WinXP Home SP1です。
それではコンバーターの完成を楽しみにしています。
(もっと詳しい動作報告が必要なときは、遠慮なくおっしゃってください)
0592デフォルトの名無しさん
NGNGMonalogがXML形式の2chログってことだと思う。
05931 ◆LirUghTKBo
NGNG近いうちにAboneからMonalogのDLLと、Janeに展開するDLLも作ろうかと思っています。
XMLへ変換するものばかり作るよりも何かしらのDATへ展開する方向を
優先するべきかと思ったのでAboneへのログ移動を作ってみた次第です。
>>591
動作確認ありがとうございます。
確かにMonalogへ変換するプラグインの方は外部板及びまちBBSへの対応が
まだ整っていないので不具合が出ると思います・・・。申し訳ないです。
こちらでもう少し十分なデバッグをし、再リリースしたいと思います。
ついでにソースも見直すと凄い事書いてるから手直ししてから出します…。
0594デフォルトの名無しさん
NGNGすまん。たしかにMonalogがXMLのことだね。
2週間もいるのに頭に入ってなかったよ。>>590は脳内あぼーんでおながい。
05951 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0028.zip
以下のファイルが誤って読み取られるのを回避しました。
これでOpenJaneのルートを指定しても問題は無いはずです。
(OpenJaneのLogsフォルダを指定するのが前提だったのは説明不足な自分の責任)
・bbsmenu.dat(ボードリスト)
・favorites.dat(お気に入り)
・result.dat(鯖までお使いのファイル)
昨日の物でエラーが出た方はもう一度お試しあれ。
あと街BBSのXML変換は出来ていると思いますが、したらばなどの
それ以外の板ではまだ対応が終わっていません。
というわけでまだ2ch限定でよろしくお願いします。
報告歓迎。
0596591
NGNGdllを新しいものに入れ替えてテストしてみたのですが
やはり変換の途中でコンバーターが落ちてしまいます。
(出力元のフォルダをLogsフォルダにしても、
Logsフォルダ内の2chフォルダにしても同様でした。)
さらにOpen Janeのルートフォルダを指定すると
変換が始まる前に落ちてしまいました。
Janeをコンバーターと同じディレクトリに置いても同様です。
0597242 ◆GsQAUnYIlM
NGNGhttp://www.geocities.co.jp/Beautycare/4965/public/logconv/XSLTtestwithOJ001.zip
みたいなのを作ってみた。
OpenJane→Monalog→XSLTで他の形式に変換
をシームレスに実行してみるテストプラグイン。
一応簡単なHTMLに変換するだけのサンプルxslファイルを入れておいた。
IE6またはMSXML3以降必須。
0598242 ◆GsQAUnYIlM
NGNG指定できないし(Monalogファイルと一緒のフォルダに出力される。)でぐだぐだなんだけど、
ブラウザのログからXSLTでの変換まで一気にやってみるテストなので許してください。
.xslを指定するダイアログをキャンセルしたら処理を中止するようにした方が良かったかも。
今のバージョンはキャンセルするとMonalogだけ吐きます。
05991 ◆LirUghTKBo
NGNG車のバッテリーあがってたのでジャンプするのも限界感じたので交換
と言う無駄な出費がかさんで鬱な1です。ご機嫌麗しゅう。
>>591サン、少しデバッグでお世話になってもよろしいでしょうか。
その環境で動けばある程度は対応できると思われるヨカーン。
・使用しているブラウザ(Jane)を教えてください。
ちなみに私はOpenJaneDue(0.1.7.0)デス。
・OpenJaneのフォルダを「*.dat」で検索し、
出てきたファイルは>>595の物以外で存在するか。
・logconv.exeで実行し、エラーが起きた際に、
本体下記のステータス表示部分には何と表示されているか。
とりあえず以上の事を教えてください。
一応こちらとしても変換のトレースログをテキストで出力、
.idxファイルが存在しない場合の処理と、.datでも
ログファイルではないと思われる物をスキップする処理をつけます。
エラー処理を手抜きするとロクな事にならないですね…。
06001 ◆LirUghTKBo
NGNGまぁ、寂れたとは言っても、決めるところはある程度決まって、
後は作る人が作って反応を見ると言う感じですから。
このぐらいのペースの方が気楽で良いかも。私は全力ですが(笑
XSLTの出力良い感じです。
中の仕組みがどうなってるのかいまいちわかりませんが感動してます。
全部CDATAでとっている為か、<や>が全部変えられ、
改行も効いてませんが技術的には非常にそそられますね。
今の段階のMonalogではDLLで直接HTML吐き出し、やってもCSSでデザイン
と言うところが限界っぽいですが…。
0601591
NGNG>599
>・使用しているブラウザ(Jane)を教えてください。
私が使っているのは、Open Jane Doeの派生版の
Viewってやつです。
> ・OpenJaneのフォルダを「*.dat」で検索し、
> 出てきたファイルは>>595の物以外で存在するか。
last.datというのがありました。これは、
Doeの設定の「終了時に開いていた板・スレを次回起動時に開く」
という項目にチェックが入っていると、生成される物のようです。
ちなみに、ルートフォルダを指定してコンバーターを実行させた
時、このlast.datを一番最初に読み取りに行っていました。
> ・logconv.exeで実行し、エラーが起きた際に、
> 本体下記のステータス表示部分には何と表示されているか。
**********.dat処理中というメッセージが表示されています。
今、コンバーターを起動して確かめてみたら
どうやらいつも同じdatファイルでエラーが出て止まっているようです。
もし必要なら、問題のdatファイルをうpろだにあげておきますが
いかがでしょうか?
ではでは、1サン、ガンガレーヽ(´ー`)ノ
0602591@自己レス
NGNGcommand.datという外部コマンド用のdatファイルと
mouse.datというマウスジェスチャー用
のdatファイルがみつかりました。
06031 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0029.zip
最初の1行を読み取り、区切り文字「<>」が存在しない場合はスキップ。
また、.idxファイルが存在しない場合もスキップ。
とりあえず動作を信じてDebug用のファイル出力は止めてます...。
多分これで大丈夫。ダイジョウブ。ダイジョウブ・・・だと良いな。
あとserverの抽出も少し変えました。
後ろからスラッシュを検索していく形にし、したらばの場合、
server="jbbs.shitaraba.com/[ジャンル]" category="[数字]"
みたいな形になります。
が、ただやってみただけなので現段階では意味無し。
06041 ◆LirUghTKBo
NGNGそれでもエラーが出たらまだ粘着します。安定するまで。
それはそれとして、実家から
「じっちゃんがあぼーんしそうだから帰宅しる!」
と言われたので明日にでも帰るかもしれません...。
実家もネット環境無いわけではないのですが、
33Kbpsだかそこらのアナログな回線だったはず。
ノートPC持って行って、DLLぐらいなら頑張ればウpできるけど…
どうしよう(´・ω・`)
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNGおいおい、じっちゃんメインに考えろよ。
# nice -20 じっちゃん
# nice 19 ログコンバータ
0607591@自己レス
NGNGコンバーターは問題なく動作しました。
今は、おじいさんの事を一番に考えてあげてください。
0608デフォルトの名無しさん
NGNGせめてバグを直してから実家に帰ってください。
0609デフォルトの名無しさん
NGNG06101 ◆LirUghTKBo
NGNG実家で直すので詳細キボンヌ(`・ω・´)
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGじっちゃんをまず優先しろ。
0613デフォルトの名無しさん
NGNGじっちゃんの名にかけて。
0614デフォルトの名無しさん
NGNGもう戻ってこなくてもいいよ。
0615デフォルトの名無しさん
NGNG>>1がいない間にどこが嫌なのか腹を割って話そうじゃないか。
0616アシュル ◆adhRKFl5jU
NGNG0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。
ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。
関連スレ
monazilla.org (w
http://www.monazilla.org/
0619デフォルトの名無しさん
NGNGのが多いよ
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG無いなら無いで、このスレにこなけりゃいいだけ。
0622デフォルトの名無しさん
NGNGプロフィール・チャット・掲示板しか無いサイトへ行って、
「つーかこのサイト存在する必要なんてあるんだろうか」
と書き込みしてまわってくれ。適任だろ。
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG川o・-・)ノ <先生!こんなのがありました!
__/ / /
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/shinagawa/
0625デフォルトの名無しさん
NGNGそれか専門学生だろうね。春休みで暇そうだから。
ただの引篭もり童貞かもしれんが。
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGじつはフセインの孫
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGkage作者にお願いして<a hrefタグなしでも、表示の際、置換できるような対応をお願いして、
後はidxの仕様を各作者に公開を求めるっつーことにすれば、ログコンバーター(idxコンバーターか?)
作るにしても相当楽になりそうなんだが。。。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGどうすればいい?
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGこの際ブラウザ固有データと見なした方がいいような気がする。
0638デフォルトの名無しさん
NGNGその「ブラウザ用のデータ」はどっから持ってくる?
例えば、
Aのログがあったとして、それをBに変換するとき、
Bの固有の必須情報はいったいどこから。
0639デフォルトの名無しさん
NGNGたとえば、何?
具体的な例を。
0640デフォルトの名無しさん
NGNG仕様知らんからどれが必須か知らんけど、そういうことはありえないのかと
疑問に思うわけ。
0641デフォルトの名無しさん
NGNG俺はあり得ないと思うから、何に対して思ってるか具体例を教えて欲しいと思ってるわけ。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNGfumu
0645デフォルトの名無しさん
NGNGデフォルト値か、人が入力
0646デフォルトの名無しさん
NGNGそのデフォルト値をブラウザ側で対応してくれれば(つまり、datさえあればidxは
必須ではない)、かちゅ〜しゃ以外のログは相互に移動できる気がするけど
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGかちゅ〜しゃ固有のデフォルトはこれでいいと思う。
新着 = 0
最終取得 = 変換した時刻
最終書き込み = なし
表示位置 = スレの先頭
dat + idx ⇔ Monalog
0649デフォルトの名無しさん
NGNGかちゅ〜しゃに限らず、Monalogからその2ファイルが生成されなきゃ意味が無い
ちゃんとスレ読んでんのか、春厨?
0650デフォルトの名無しさん
NGNG別にかちゅ〜しゃだけの話をしてるようにも見えないが、
例えとしてかちゅ〜しゃを出しただけじゃないのか?
それに、
>かちゅ〜しゃに限らず、Monalogからその2ファイルが生成されなきゃ意味が無い
ともかぎらんぞ。
ギコナビはdatだけでOKだし、
逆にidxとdatだけじゃなく、あぼ〜ん情報のabnとか生成するソフトもあるし、
2ファイルと決まっているわけじゃない。
0651650
NGNG648は分かってなさそうだな。
0652デフォルトの名無しさん
NGNGdatだけだと、次から更新するとレス番号がずれるような、、、。
話はかわって、、、
monalogから、個々の2ちゃんブラウザが認識できるログデータ+管理ファイル(群)をつくるのが目標でそ。
ブラウザ"固有"のデータとしてmonalogに取り込むのは、あんまり意味ないようにおもうなあ。
データアイテムを追加する、このアイテムを持たないブラウザのデフォルト値はこれ、みたいなほうが良いのでは?
で、具体的なアイテムは何?
(実際調査しないとダメか。)
0653デフォルトの名無しさん
NGNGB. ある程度一般的な要素は monalog なり monaidx で規定する
とりこぼれる分はプラグインが頑張る
C. ブラウザごとにスキーマを作る。プラグインは補助データとして利用する
0654デフォルトの名無しさん
NGNGhttp://headlines.yahoo.co.jp/hl?a=20030329-00000063-kyodo-int
0655デフォルトの名無しさん
NGNG648はMonalogから管理情報を作るときのデフォルトを書いてるだけじゃないのかな
読めるようにするだけなら、648の捏造方式でいいと思う
とりあえずブラウザごとの固有情報を並べてよう
そうすれば共通項が見えてくる(かもしれない)
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGなにをいまさら(;´Д`)
ちゃんとスレ読んでんのか、春厨?
0658seven
NGNG0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGサーバから取得したLast-Modifiedをそのまま保存してないブラウザがあるってこと?
HTTP-dateに合致しない形式は調整したほうがいいだろな。
0661デフォルトの名無しさん
NGNGABoneは 2003/03/30 14:37:48 な感じ。
0662デフォルトの名無しさん
NGNGもっと他のブラウザ見習えよ>委員長
0663デフォルトの名無しさん
NGNG仕様書もないのに無茶言うなあ、、、。
0664デフォルトの名無しさん
NGNGそれってローカルマシンの取得時刻なのかな。
サーバの時刻と1秒でもズレてたら If-Modified-Since で不一致に
なる気がするけど。
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNGローカルではないようだ。
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG初めから読め。
0669デフォルトの名無しさん
NGNGじゃあ、コンバートしないでdat移動させるだけでよかろ(w
0670デフォルトの名無しさん
NGNGしたけりゃすれ。スレの主旨わかってないなら過去ログ読め。
0671242 ◆GsQAUnYIlM
NGNGA Bone <-> Monalog1.0 相互変換プラグインを作ってみました。
A Boneログに変換する場合は>>579-580に従って、datとGetResList.txtを生成します。
対応板は2chのみです。
テストする場合はA Boneが入ってるフォルダごとコピーしてコピー先でやることを推奨。
0672デフォルトの名無しさん
NGNGいや、つかお前こそ>>1読めよ
0673デフォルトの名無しさん
NGNGなるほど、おまえは>>1しか読んでないからそんな戯言を。
0674デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
お前>>1や>>242が作ったツール使った上で言ってるんだろうな?
0675デフォルトの名無しさん
NGNGだからAboneはidxが無くてもdatとGetResList.txtだけでコンバートできるんだって。
おまえこそ過去ログ読んだ上で言ってんだろうな。
0676デフォルトの名無しさん
NGNG何とか相手を空回りさせたがってる低脳が頑張るスレ
0677デフォルトの名無しさん
NGNGどっちかというとAboneは、dat(+idx)の他にGetResList.txtが必要という見方もできるね。
ところで>>1は帰ってこないけど、じいさん大丈夫なんだろうか…
0678デフォルトの名無しさん
NGNG遠吠えご苦労。
0679676
NGNGよかった、スルーできる利口なのばかりだったらどうしようかと(w
0680デフォルトの名無しさん
NGNG0681676
NGNG同感(w
0682デフォルトの名無しさん
NGNGいや、君が。
0683676
NGNG読解力無いんだねぇキミ(w
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNG別にどこ行ったっていいんじゃない?
自分が作るって言ってて消えたんなら腹立つが。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGttp://tmp.2chan.net/img2/src/1049177094509.jpg
0689デフォルトの名無しさん
NGNG0690seven
NGNG仕様が日々刻々変化する各専用ブラウザを最小公倍数的にサポートしようとすると、ほとんど不可能。
で、その間で、どの部分を採用して、どの部分を不採用にするかというのが、とてもめんどいんです。
でも、最小公倍数的にやらないと、元データにもどせないしね。
0691デフォルトの名無しさん
NGNG今更何言ってるの・・・・
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNGdat ⇔ one はすぐできるけど、
dat ⇔ XML や one ⇔ XML は、すぐできないと思う。
なぜなら、
・XML のフレームワーク・ツール群を有効に活用できるフォーマットを
探索したいという要望がある。
・ログの共通フォーマットを規定する必要があるかも知れない。
それは、できるだけ多くのブラウザのログの仕様を考慮したものにしたい。
・または、必要最小限の情報だけを保持するだけのかも知れない。
しかし必要最小限だけならば、dat 形式を使えば済むかも知れない。
見極めが難しく、単独個人での見切り発車コーディングが困難。
・マークアップの難しさ。
文脈依存である情報をマークアップする必要性の可能性。
・2ちゃんのプログラマは、単独でのコーディングは得意?だけど、
匿名掲示板の特性上チームワークを発揮するのが難しい。
・需要の少なさ。ログコンバータは走らせる機会が非常に少なく、
プログラミングへの動機につながりにくい。
つまり、dat ⇔ one は技術的に簡単だし、単独でコーディングを進められるけど、
dat ⇔ XML や one ⇔ XML は、隠れた困難さがあるんだと思います。
0694693
NGNGホスト規制つらかった〜。どうして急に書けるようになったんだろ?
まーいっか・・。
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG>>1がはじめに目指してたのはそれっぽい
0697デフォルトの名無しさん
NGNG0698242 ◆GsQAUnYIlM
NGNG0699デフォルトの名無しさん
NGNG継続は力なりと言うし。
ただなぁ、のが多いんだよ・・・。
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG>>1はニュー速住人かと思われ
0703デフォルトの名無しさん
NGNGなんだよ戦犯って・・知能低いな・・。
折角みんなで知恵出し合って協力しあってるのに・・。
0704デフォルトの名無しさん
NGNG∧_∧
∧_∧ (´<_` ) 意外とすんなり決めたな。兄者。
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/ / (u ⊃
 ̄ ̄ ̄ ̄ ̄
0705デフォルトの名無しさん
NGNGなんだよムキになって・・知能低いな・・。
折角みんなでスレ止まらないよう協力しあってるのに・・。
0706デフォルトの名無しさん
NGNGするとそのブラウザの仕様は、今ここで語っている
ログコンバータの仕様としても特に問題は無いだろう。
またブラウザの仕様な訳だから、他のブラウザにとっても利用し易いものだろう。
要するに、このスレはその「全ての機能を有するブラウザ」の仕様を考えるスレな訳だ。
で、XMLとかデータ保存形式の話だが、
それ以外の仕様を煮詰めてからでないと2転3転するだけだと思うのだが…
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG今後出てくるであろうブラウザの要件にも沿えるように、仕様の「先取り」を目指そうっていう話でしょ。
今ある仕様のメンテナンスがちゃんとできるようになったら、そういう方向を目指してもいいと思うよ。
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG…と、思うのは安易かなぁ
0711デフォルトの名無しさん
NGNG正しい。そのためにMonalog versionがある。
0712デフォルトの名無しさん
NGNGこれを「新しいブラウザの仕様を考えてみる」という方向にしてみてはどうかと。
つまり
→datの保存場所はxxxにする
→idxにはxxxの情報を記録し保存場所はxxxにする
→xxx機能の情報はxxxファイルに保存し書式はxxxである
…等のブラウザの仕様を決めていく。
目標は既存ブラウザの全ての機能を有するブラウザである。
こうして出来た仮想ブラウザの仕様は、結果としてログコンバータのデータ保存形式になる。
…と考えたのだが。
0713デフォルトの名無しさん
NGNGというのを作者さん込みでmonazzilaスレでやりたいね。
もう、コンバータなんてどうでもいいからさ。
0714デフォルトの名無しさん
NGNG//monalog/thread[@server = "???" && @category="???" && @key="???"]/res[@num = ???]
という構造がそうガラリと変わるというわけでもなさそうですし。
基本的な構造は変わりようがないとも思いますので、
ブラウザ作者さんたちは安心して monalog に依存することができると思います。
仕様を制定する側も、XML ならブラウザ作者側のアルゴリズムに影響を与えないように
新たな機能追加をすることが可能かと。
例えば、しおり機能をつける時、次のどちらの仕様も
スレを特定したり、レス内容を抽出したりするアルゴリズムに影響を与えません。
//monalog/thread/res[@anchored = true]
とやっても、
//monalog/thread/anchor[@num = ???]
とやっても、元からあるデータ構造に影響を与えません。
0715デフォルトの名無しさん
NGNGこの話は頓挫する。
0716デフォルトの名無しさん
NGNGそりゃそんな仕様が実現すればコンバートする必要なくなるしな。
0717デフォルトの名無しさん
NGNG<res num="" state="">
<name>aaa◆bbb</name>
...
</res>
としても、
<res num="" state="">
<name>aaa<trip><symbol>◆</symbol>bbb</trip></name>
...
</res>
としても、res/name/text() から得られる文字列にはある程度の普遍性があるはずです。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG>>714→>>717ね。
つまり、情報をフォルダで分けたりファイル名で分けたりしてもいいですけど、
XML の方が楽なんじゃん? っつー話です。
だってはじめから DOM だし、改行やタブで区切った順序重視のテキストファイルの
パーザを書かなくて済むんだもん。
XPath が整ってくれば、ますます楽になります。
イマノウチに XML のフォーマットを考えておくのが吉かと。
0720デフォルトの名無しさん
NGNG非準拠ブラウザのデータをコンバートする話が出てきそうな予感。
0721714,717,719
NGNGいちおうブラウザ作者ですけど。
0722デフォルトの名無しさん
NGNGブラウザ作者は全員XMLを使え、と。正直無理ぽ。
0723デフォルトの名無しさん
NGNG加工も何の問題も無いが、理想でしかないと思う。
いや、実現すれば本当に便利なことだとは思うのよ。
0724デフォルトの名無しさん
NGNGじゃあ名無しで書き込むなよ、チキン野郎が!
0725デフォルトの名無しさん
NGNGXMLにコンバートするまでもない
0726デフォルトの名無しさん
NGNGななしに言われてもね。低脳発言やめろ
0727デフォルトの名無しさん
NGNG準拠ブラウザと非準拠ブラウザが存在してそれら同士のコンバート話は尽きない。
0728デフォルトの名無しさん
NGNGあ、そうですね…。
技術的な問題があるのなら、そのブラウザは DAT に対応するだけで
いいんじゃないでしょうか。
まぁ DAT のパージングができる技術があるなら、DOM も扱えると思うけど。
>>725
XML は拡張がしやすいし、DAT 由来の情報の透過性があるので有効です。
ただし、「コンバートする」という作業には、マークアップ作業が伴うので
それがこのスレでの最大の議論点です。
なぜなら、>>725さんの言う通り DAT は生で保存されているので、
マークアップすべき情報が文脈依存だからです。
ここのスレの議論を読んでいましたが、既に>>242さんがコンバータを
作られているのにスレの流れが滞っているのは、そういう問題があるからだと
思います。
私はマークアップ作業をしたければ人の手で行えばいいと思いますが、
さすがに疲れるので、XML の構造は至極単純なものでいいと思います。
0729デフォルトの名無しさん
NGNGこれは DAT 由来の情報を XML へコンバートする際には
至極単純なデータ構造だけ保存すればいいという話で、
XML の共通拡張フォーマットを突き詰めて考えることには
また大きな意義があると思います。
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG.datとして格納されているログはマークアップしなくてもいいじゃん、って話と、
いわゆる.idxとしてブラウザ独自で持っている情報(機能)をまとめあげて、
さらに将来作成が予想される情報(機能)をまとめあげて「共通仕様」をつくろう、
という話が混ざっているように感じるが、、、。
ともかく、datのほうは置いておいて、idxについて考えてみると、、、
・スレ取得日時とサイズ(差分取得のために必要)
・取得先URI(不要かな?)
・スレファイル名とスレタイトル
・どこまでよんだかの情報(レス番号? バイト数?)
・ローカルあぼーんするレス番号のリスト
...なもんかな?
0732デフォルトの名無しさん
NGNG> .datとして格納されているログはマークアップしなくてもいいじゃん、って話と、
いや、マークアップのするかしないかではなく、
どれくらいの詳細さでマークアップするか、ということです。
DAT からコンバートする場合はゆるくマークアップして、
より高品質なログを作りたい時に、機械的にまたは人力で
さらに詳しくマークアップをしよう、というわけです。
また、>>731さんの言うような idx ファイルなどの拡張情報を組みこみたいときにも
XML の拡張しやすさ(XML ファイル解析アルゴリズムへの影響の少なさ)が
メリットになりますよね。
では、>>731さんの言うような情報をどのようにして XML で表せばいいか、
他にどのような情報を埋め込められれば役立つか、話して行きましょうか?
0733731
NGNG私は「datはdatのままでBLOBで扱い、気にしないのが正解かな?」派(?)なんで、ああいう書き方になったんです。
# ログは、2ちゃんブラウザの持ち物ではなく「2ちゃんねる(掲示板)」の持ち物って感じかな?
# マークアップするなら、それこそ2ちゃんねるから離れた「理想の掲示板としてあるべき
# 書き込みデータ仕様」を定義してからの方がいいと思う。2ちゃんねるの仕様に依存するのは
# (主催者側の都合によって変わる可能性があるので)危険すぎ。
...まあ、この部分は置いておいて、Aboneには
・最終書き込み時間
・そのスレで名乗るハンドル名
・ログタイプ
・所属カテゴリ
もあるのかな。(>580より)
0734732
NGNG> 私は「datはdatのままでBLOBで扱い、気にしないのが正解かな?」派(?)なんで、ああいう書き方になったんです。
私も dat は dat のままで扱って、XML はこのスレの副産物みたいなものという
位置付けで理解しています。
もともと私は、2ちゃん系掲示板のログを操作するのに XML 形式の
外部フィルター情報ファイルの使用を考えていましたので、
このスレでログの XML 形式の仕様が議論されているのを見かけて、
ログの標準 XML 形式が決まるなら、私のフィルター情報 XML ファイルにも
それにのっとったデザインを施そうと思ってたのです。
というわけで私は、ログのコンバータは one ⇔ the other のプラグインをそれぞれ
需要のあるだけ作る必要しかない、という意見です。
そして、one ⇔ the other のコンバートをする際に、必ずしも一方のブラウザのログ形式が
dat 形式にのっとっていない場合があるので、one ⇔ dat を作る必要が出てくると思います。
それを one ⇔ XML に置き換えても大して開発コストは変わらないんじゃないか
という意味で、副産物的 XML フォーマット規定を期待しています。
0735732
NGNG> # マークアップするなら、それこそ2ちゃんねるから離れた「理想の掲示板としてあるべき
> # 書き込みデータ仕様」を定義してからの方がいいと思う。
あ、2ちゃんは理想的な掲示板じゃないんですかねぇ、やっぱ?(笑)
理想の掲示板というと、PHP でガツガツに作られたフォーラム系の掲示板が
最も近いでしょうか?
2ちゃんもフローティングスレッド方式掲示板の範疇でいえばいい線いってると
思いますけどね。
> # 2ちゃんねるの仕様に依存するのは
> # (主催者側の都合によって変わる可能性があるので)危険すぎ。
同意です。でも、まぁ既存の2ちゃんブラウザは全て2ちゃんねる(や他の掲示板)の
仕様に依存しているので、そんなに危惧するほどでもないと思います。
仕様といっても1投稿あたり4フィールドしかない単純で普遍的なレコード形式の
基本を守ればログのパージングはできますし。
0736732
NGNGどんな種類の情報があると便利か・どこに格納するか、などです。
a) ブラウザをサポートする情報(取得サイズなど)
b) ユーザの2ちゃんサーフをサポートする情報(コテハン記録、しおり機能など)
c) ユーザがログを評価・操作する情報(ローカルあぼーんなど)
d) ログファイルの由来を示す情報(取得先 URI、ログタイプなど)
上記の中で、c) については、>>266-270 あたりに述べた通りです。
こういった種類の情報を、idx に格納するか、XML 形式のログに埋めこむか、
共通拡張機能フォーマット XML を規定して、ログとは独立させて
外部ファイルとしてもつか、とかみんなで検討して欲しいです。
0737731
NGNG私の立場は、モバイル機向け2ちゃんねるブラウザの開発で、母艦の2ちゃんねるブラウザとの"データ同期"は、
喉から手が出るくらいほしい機能なんですよね。(実際に要望もありますし。)
で、2ちゃんねるブラウザすべてに対応するのはまず無理なんで、1つに絞るかど〜すっかなあ、
datはどうにかなるけど付加情報をどうすっかなあ、って時にここを知って発展させたい、と思っています。
# いつでもどこでも2ちゃんねる、などという、それこそニーズは限定される使い方にはなるんですけど...。
xmlにしたにしろ"2ちゃんねる管理のdat形式"にコンバートするのは必須でしょうから、これはできてアタリマエだと考えて
いるんですが、まず興味があるのは
・コンバート後のログを使って差分取得してもレス番号がずれないか?
・スレにレスを書き込みできるのか?(そのための情報に欠落がないのか?)
・コンバート時間は?
です。(これらは今のMonalogで、特に問題はないと考えてますが、検証したい項目です...。)
で、とりあえず。
0738731
NGNGで、とりあえず形式は別にして、2ちゃんねるブラウザが「共通に持つ情報」と「共通に持たない情報」とに分類してから、
と思ったのですが、どうでしょう?
# そのためには、「今2ちゃんねるブラウザが持っている項目を具体的に挙げていきたい、と。
で、xmlはそれこそど〜とでもできる形式なんで、具体的にどこに置く、ってのは後回しでも良いかと思っていました。
0739731
NGNG「スレ毎に持つ情報」
・スレ取得日時とサイズ(差分取得のために必要)
・取得先URI(サーバ名+板名+キーで持つ?)
・スレファイル名(キーと同一?)
・スレタイトル
・どこまでよんだかの情報(レス番号? バイト数?)
・ローカルあぼーんするレス番号のリスト
・最終書き込み時間
・そのスレで名乗るハンドル名
・ログタイプ(ログの構造形式?)
・所属カテゴリ(格納ディレクトリ名?)
「ブラウザ全体で持つ情報」
・取得済みスレリスト
以外に2ちゃんねるブラウザが持っている(持つべき)情報って、どんなのがありますか?
0740732
NGNGログを取得するには、dat のどこまで取得済みかを記録しておけば良いそうです。(>>531)
レス動作に必要な情報は、カテゴリ名("tech")、スレ key("1046742687")、
時刻、そしてクッキー制御でしょうか?
コンバート時間は非力な CPU でも問題ないくらいだと思います。
ただ、XML を導入するなら、あまりにデカい DOM Tree はモバイル機のメモリには
つらいかも知れません。SAX 実装を使えばいいんでしょうけど・・。
「スレ毎に持つ情報」は、>>739にあるの以外思いつきませんけど、
「ブラウザ全体で持つ情報」は、板一覧とか、板毎のスレ一覧とかでしょうか。
ここらへんは他のブラウザをもう少し突っ込んで調査する必要がありそうですね。
委員長さんの記述>>579-582も参照
参考までに、OO 分析をする上での3つのアプローチ
1) 実際の世界を参考にし、オブジェクト構造を似せようとする
2) オブジェクトに責任を振り分けるように組み立てる
3) ユースケースを基にデザインする
>>731さんの場合、やりたい事が決まっているので、3) が良いと予測します。
共通 XML 形式の仕様を決めるなら、2) のアプローチが良いと考えます。
↑つーか余計なお世話? でもなんか決定基準があったほうが納得しやすいんで。
0741731
NGNGこのスレ的には、共通XML形式が決まって、それが特にブラウザのログコンバートで使われるようになるのが、成功だと思うのですが、どうでしょう?
# ここで同期手段についてのあれこれは、やるつもりはないですよ〜。
で、732さんの考える"オブジェクト"って何になりますか?
私だったら、「スレ」「板(掲示板)」「ブラウザ」の3つかなあ。
# 「板カテゴリ」というのもあってもよいかも。
スレ情報に追加。
・取得時にエラーになったかどうか
0742デフォルトの名無しさん
NGNGそしたら世の中の色んな掲示板のデータを共通XMLに変換するフィルタを作れば
掲示板ブラウザという新たなジャンルが
0743デフォルトの名無しさん
NGNG何年も前に、ある会社のバイトで働いていた時に、
その会社が嫌になって、
ばあちゃんが倒れて、あぼーんしたのをきっかけに
そのままトンズラこいた事があった…。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGXML形式の話が出ると待ちきれなくなった馬鹿が煽ってる場面を何度も何度も見かけたし、
また出てきそうな悪寒がする
0746デフォルトの名無しさん
NGNGなんでこのスレにいるのかが気になる
0748デフォルトの名無しさん
NGNGつーか「○○なのでしばらく書き込めません」は
そのまま失踪するときの定番パターン
0749デフォルトの名無しさん
NGNG重ねるのは z じゃなくて l です。
ツマラン突込みだなまったく
0750デフォルトの名無しさん
NGNG0751seven
NGNG0752デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG余計なことは何も書かない。これ最強。
最悪なのは「遅くとも今月末までには」とか期限を切ること。
07571 ◆LirUghTKBo
NGNGしばらく期間があいてしまいましたが
自分の居場所はもう用意されてない予感...。
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG実はあまり解決になってなさそうな事を言ったのは>>757
0761デフォルトの名無しさん
NGNGお疲れさん。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNG0766732
NGNGしおり・ローカルあぼーんなどに対応とか・・・
まぁ誰か何か思いついたら書きこんでくださるでしょうし
このままマターリしててもいいんじゃないでしょうか。
0767デフォルトの名無しさん
NGNG完全に別に扱わないといけないところを同列に扱ってるようでは
なんだか
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGだから、同列に扱っちゃダメだ と言っている。
datはdatで使うんだから。
0772デフォルトの名無しさん
NGNGあーいや、逆にダメな理由を説明してくれまいか。
0773デフォルトの名無しさん
NGNGまさかインスタンスだけ?
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG0776山崎渉
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG再開したかったらネタ出せよ。マジで。
0784デフォルトの名無しさん
NGNG↑を10秒以上見ていると…
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGお茶の水博士に見える?
0787seven
NGNG0788デフォルトの名無しさん
NGNGアトムの作り親の出身地、出身大学、星座を述べよ
↓
0789デフォルトの名無しさん
NGNG0790山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0791デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
0792デフォルトの名無しさん
NGNG1かよw
0793デフォルトの名無しさん
NGNGすばらしいです。
俺開発できないのに>>1からずーと3時間くらいこのスレ読みふけってました。
皆さんお疲れ様です。
0794デフォルトの名無しさん
NGNGとりあえずは完成・・・・・。
かなり見た目は悪いがな。
URL指定はhttp://を消さないとダメなのは仕様です。
まあ使えばわかるとは思う。
不安ならウイルスチェックはしとけよ。
お約束だが自己責任でよろ。
0795デフォルトの名無しさん
NGNGテキストファイルが物凄い勢いで生成されました
0796デフォルトの名無しさん
NGNG何個?
0797デフォルトの名無しさん
NGNG実行してみたら、もの凄い勢いでディスクにアクセスし始めました…。
10秒経っても表示されなかったからすぐ終了したけど、なんなの?
0798デフォルトの名無しさん
NGNGチェックしとけ
0800デフォルトの名無しさん
NGNG0802797
NGNG本当だ。
*.TXTで検索したら、Cドライブのディスクトップに6000個ほどファイル(60MB)が出来てた(w
Dが起動ドライブだから気が付かなかった。
疑ってスマソ。。
0803デフォルトの名無しさん
NGNGディスクトップってルートディレクトリのこと?
新しい解釈な感じ(笑)
0805794
NGNG0806デフォルトの名無しさん
NGNG/;;;γ'⌒゙ヽ、
ギャー!! / ヽ
ギャー!! ◎ l ))
。∧_∧、 /,.;
(( と(・Д・;ll);ヾ、__,/彡・,ハイ、ツギ。
゚・ し'"γ'⌒;ヽ、`ミ゚;`'.∧∧ ∧∧
/,;;;;;;;'/ ヽ;'∵‘(゚ー゚*) (゚ー゚*) やめてくれー
(( i;;;;;;;;;;i ◎ ゙i ;' (| つ と つ ∧_∧
ヾ;;;;;;;,ヽ、 ノ | 〜 | 〜\(; ・∀・) ←>>805
`ー--=ニ-ー' UU (/ヽ) ミ彡ミ彡ミ ズルズル
U___つつ ))
0807デフォルトの名無しさん
NGNG「(・∀・)」まみれになりながら。
・・アホすぎる。
0808デフォルトの名無しさん
NGNG0809794
NGNGテストなんかしねえよ。
たかが5行のプログラムだし。
0810デフォルトの名無しさん
NGNG0811794
NGNG動作確認してから10000回ループに変えました。
すみません。ヘタレです。
0812デフォルトの名無しさん
NGNGいや、テストは大事だよ。
ちゃんとテストしたと聞いてお前の将来に光が見えた。
ボケェ
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGいろんな外観のHTMLに変換するXSLTは書いてみたんだけど、そんな需要も無いみたいだしなぁ。
ログに対して需要のある操作ってキーワードの検索の他にどんなのがあるだろう。
○年○月○日○時頃の○板の○スレのログが欲しいとかかなぁ。
0815デフォルトの名無しさん
NGNG知名度が低い。
0816デフォルトの名無しさん
NGNGXMLも文書型無しでインスタンスだけだし
こんなんで使うわけねーわな
0817デフォルトの名無しさん
NGNGよくわからんけど、文書型っていうのがあると、用途が増えるの?
0818seven
NGNG人類共通の財産として、P2Pとかで共有するときのリスト付きとか。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNGなにかデキタの?
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGログの仕様が分からないと無理だけど。
0824デフォルトの名無しさん
NGNG>>3
0825デフォルトの名無しさん
NGNGhttp://mito.cool.ne.jp/splashdowncast/green/479/1005311642.html
0827デフォルトの名無しさん
NGNGブラウザログ→Monalogは問題ないんだけど
Monalog→ブラウザログへの変換でエラーがでます。
エラーもスルーしてもらえればいいんだけど
Cornbutterが強制終了してしまいます。
0828デフォルトの名無しさん
NGNG2chのログがそんなに大事か?
0829デフォルトの名無しさん
NGNGスレ違い。
0830デフォルトの名無しさん
NGNGクラス中から嫌われてるヤシ。ただし自覚はない。
0831デフォルトの名無しさん
NGNGクラス??
0832山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0833デフォルトの名無しさん
NGNGリア中だって言いたいんでそ
0834test
NGNG0835test
NGNG[最終更新] Fri, 30 May 2003 11:49:50 GMT
[書込件数] 834
[表示位置] 829
[マーク] F
[板URL] http://pc2.2ch.net/tech
[状態] 0
[新着] 0
[コテハン名前] test
[コテハンMail] !sage
[最終書込 UnixTime] 1054327768
[最終取得 UnixTime] 1054327769
[既読位置]
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG>>1さん、遅ればせながら乙 !
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGごめん、826は俺なんだが。悪いな、当てが外れて。
0843デフォルトの名無しさん
NGNG完成してるの?
0844デフォルトの名無しさん
NGNGしてるような、してないような。。。
作者から正式なアナウンス欲しいな。。。
恐らくメインは完成してると思う。
後はプラグインの問題。
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNG0847山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0848山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGJaneのログはシンプルで仕様も公開してるけど、
問題は他のブラウザの仕様かな。
まあ、たいていはさくっとコンバートできるけど。
0851山崎 渉
NGNG0852デフォルトの名無しさん
NGNG0853山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG夏草や兵どもが夢の跡
〜松尾芭蕉〜
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGhttp://logconvert.s28.xrea.com/
CornButter
http://www.geocities.co.jp/Beautycare/4965/public/cornbutter/index.html
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG彡
彡
.∧ ∧ 寂れてんな、オイ…
ヾ(,,゚Д゚),)
人つゝ 人,,
Yノ人 ノ ノノゞ⌒〜ゞ
. ノ /ミ|\、 ノノ ( 彡
`⌒ .U~U`ヾ 丿
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG使い道が…。
0867デフォルトの名無しさん
NGNGhttp://program.dot.thebbs.jp/1071486463.html
0868デフォルトの名無しさん
NGNGなんでこんな煩わしい手順踏んでるだろうと思ったら>693が理由を述べてて解決
0869デフォルトの名無しさん
NGNG設定ファイルの相互変換だったわけだが。ブラウザの乗換えを
容易にしたいという>>1の理念は勘違いどもに蹂躙され、スレも
廃墟と相成った…。
0870デフォルトの名無しさん
NGNGそろそろ、開発ラッシュも終わってきたしさ。
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNGゆくゆくはrssで…。
とかムリか…。
0873デフォルトの名無しさん
NGNG便利なんだがなあ。
大抵広告入ってたり手が加わってる、酷い物はスタイルシートのタグが沢山・・・
0874デフォルトの名無しさん
NGNGちょっと編集して
htmltodat
http://mukiyu.hp.infoseek.co.jp/
を使うってのは無しかい?
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGおかげでゾヌ2からjaneへ移行できますた。
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNGログデータ(*.dat)を、HTML形式および
プレーンテキスト形式に変換するツールです。
http://tatsu01.at.infoseek.co.jp/
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGおまえら馬鹿じゃねーの。後87レスだろーが。
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1083734726/
0926デフォルトの名無しさん
NGNG空気嫁
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNGまだ?
0931デフォルトの名無しさん
NGNGの時につくったやつがあるよ
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNGで、まだ?
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGおい、まだかよ。口だけかよ。
0944デフォルトの名無しさん
NGNGXMLベースで考えようぞ
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。