したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

B11のスレ

1名無しさん@避難所:2016/07/25(月) 22:16:37 ID:NJGKjsoo0
コッソリ・ヒッソリと・・・
 
API→read.cgi→SCを自動切り替えするAPIパッチ(B11)のスレです
 
本家、R2.11.8以下、MOD、MOD-tw 用
(for MacOSXはスノレパ on VMwareの-R2.11.8とMOD-twで動作を確認)
 
https://drive.google.com/folderview?id=0B6-I3SBvsil8Tm9OY3ZteXplOE0
jarとjsの修正のタイミングが異なる場合があるので格納場所は別とします
 2chAPI>v2c_api_patch.jar>xxxxxxxxx.zip     : v2c_api_patch_B11.jar と v2c_api_patch_B11_forMac.jar
 2chAPI>script>system>readcgi.js>xxxxxxxxx.zip : readcgi.js と script/system/readcgi_aux.js
 
zipファイルをdl・解凍し、できたファイルをV2Cの所定の場所に格納してください
 v2c_api_patch_B11.jar      :Oracle Java6,7,8用
 v2c_api_patch_B11_forMac.jar .:Apple Java6用
 script/system/readcgi.js    :+に添付されているjs(htmlからdatを生成する)を転用し必要に応じて修正
 script/system/readcgi_aux.js .:B11用 API → read.cgi(html)切替チェック、過去ログチェック
 
B10をベースに以下の修正をしてます
 ・API→cgiの自動切り替え、cgi→scの自動切り替え
 ・dat生成部分を+に添付のreadcgi.jsをパクって外出しjsに
  →今までパッチ内にあったhtmlからdatを生成する処理をjs化して外に出しました
 ・赤枠部分を設定に追加 http://i.imgur.com/TOuoJBm.png
 
今使ってるAPIパッチをバックアップして、
このAPIパッチの名前を今使ってるAPIパッチの名前に変更して下さい
尚、浪人とかBEは自分使ってないんでノーテストです
 
動作
 API、read.cgi、scのチェック状態に従ってdatファイル、htmlを取得します
  ① API → read.cgi(html) → sc(dat) :全てチェックの場合
  ② API → read.cgi(html)        :APIとread.cgiをチェックの場合
  ③ read.cgi(html) → sc(dat)      .:read.cgiとscをチェックの場合
  ※ API → scのパターンはありません
 scのdatを取得できた場合は、.netのレスを全て捨てて、scのdatからsc独自のレスを除去しスレを表示し直します
 scのdatを取得できた場合の目印は、idや端末記号の後ろに「.net」と付きます
 scのdatを取得できた場合は、.新規で取得したスレ表示の場合でも全レス既読の状態となります
 
既知の障害
 SCから取得してつくったdatの相性が悪いとjs実行エラーになります
 ログにエラーメッセージが出力されます、最悪の場合は以降に全てのjsが動かなくなります

2名無しさん@避難所:2016/07/25(月) 22:17:58 ID:NJGKjsoo0
ホワイトアウトに関して
 
APIモードで取得/read.cgiモードで生成したdatを既存のdatに追加する処理を行う際、データの整合性チェックをします
この時に整合性エラーとなった場合に、全レスの取り直しを行ってるようで
これがホワイトアウトの原因となっているようです
 
このチェックはAPIモード、read.cgiモード等のモードに関係なく行われています
そのためどちらのモードでもホワイトアウトが発生し得ます
(主にredacgi.jsでのdat生成時の取りこぼしたゴミの存在)

readcgi.jsを毎回〜をチェックした場合は生成したdatをコンソールログ(v2clog.txt)に出力します
頻発するようだったらこれをチェックして生成されたdatの内容を確認して下さい

またこれをチェックした場合は毎回readcgi.jsのコンパイルを行うのでjsのデバッグも可能です

3名無しさん@避難所:2016/07/25(月) 22:35:26 ID:NJGKjsoo0
readcgi.jsを毎回〜をチェックした場合の出力結果です
http://i.imgur.com/IaEEAd9.png

青枠がB11.1の(昨日リリースした) readcgi.js
赤枠がB10のreadcgi.js

ホワイトアウトの今のところ分かってる原因は赤枠の最終行の </div> ではと思われます

4名無しさん@避難所:2016/07/25(月) 22:36:06 ID:NJGKjsoo0
書き込み時のUAに関して
 
APIモード、API優先モードの場合はユーザーエージェント(書き込み)のUAが使われます
read.cgiモードの場合はユーザーエージェント(CGI書き込み)のUAが使われます
 
書き込み時のUAは表示>ネットワークのログから確認できます

5名無しさん@避難所:2016/07/25(月) 22:40:46 ID:NJGKjsoo0
現状の最新B11.1とjsはググルドライブ内にありますが
B11 + 2016/07/24(日) 23:58公開のreadcgi.js でも機能的には全く同じなので
2016/07/24(日) 23:58公開のreadcgi.jsを既に入れてる場合はB11.1を敢えて入れる必要はないです

6名無しさん@避難所:2016/07/26(火) 06:04:51 ID:N7M5r2dI0
readcgi.js入れ替えたらちゃんと取得してくれるようになった
ありがてえありがてえ

7 ◆g/UWZdwxag:2016/07/26(火) 18:30:33 ID:00ZpXENY0
大事なのを入れ忘れ
ドライブにも同じのが入ってます

更新履歴
◆ 2015/07/25 更新
 ・APIパッチ(B11.1)
   v2c_api_patch_B11.jar     2016/07/25 19:49:37
   v2c_api_patch_B11_forMac.jar 2016/07/25 19:49:43

 ・readcgi.js
   readcgi.js   2016/07/24 23:40:37
   readcgi_aux.js 2016/06/19 21:38:06

8 ◆g/UWZdwxag:2016/07/28(木) 23:10:00 ID:QKjujSII0
本スレにあった1000行ったスレをAPI+read.cgiで取得した時に画面がホワイトアウトする件
現状では仕様ってことでお願いします
 
ネットワークのログを追いかけてみたら、いろいろとチェックを入れたら回避できるのかもしれないのですが
 1) 現状の動きに干渉して異常動作となるのが怖い
 2) チェックが増えすぎると1000行かない状態でのAPIモードの最大のメリットの速度面で不利が生じる
が考えられるので1000行ったスレの更新はまあ敢えてすることじゃないだろうってことで
今のままとします
 
 
以下は処理の流れなんで?だったらスルーで構わないです
1000まで行って実際はdat落ちしてるスレを更新した場合は流れ的に
 
 ① APIモードでリクエスト
 ② 2レスしかないdatが返ってくる
 ③ その2レスでローカルのdatを作り直して(壊して)しまう
 ④ dat落ちと判定してread.cgiモードに移行
 
 ⑤ 壊れたローカルdatをクリア
 ⑥ read.cgiモードでリクエスト(但しレスの件数だけは生きていて1002以降をリクエスト)
 ⑦ 取得したdatをV2C本体に返す
 ⑧ V2Cがdatの整合性チェックでエラーと判定、ログを先頭から取り直すようパッチに指示(read.cgiモードのホワイトアウトと同じ動き)
 
 ⑨ APIモードでリクエスト
 10 2レスしかないdatが返ってくる
 11 その2レスでローカルのdatを作る
 12 dat落ちと判定してread.cgiモードに移行
 
 13 ローカルdatをクリア
 14 read.cgiモードでリクエスト(全レスリクエスト)
 15 取得したdatをV2C本体に返す
 16 V2Cがdatの整合性チェックでOKと判定、以降正常処理
 
の流れになっていて⑥から⑨のところでread.cgiモードと同じくdatの追加時に不整合でホワイトアウトしています

9 ◆g/UWZdwxag:2016/08/19(金) 07:39:11 ID:ocWHCEUk0
B11系では特殊なことをやってるんでチョイチョイ嵌ること

B11系はB10と異なり動作するのにスクリプトが必要となります
そのjsが>>1
2chAPI>script>system>readcgi.js>xxxxxxxxx.zip : readcgi.js と readcgi_aux.js
になります

でこのjsを特定の場所に格納する必要があります

普段からスクリプトを使ってたら慣れてるんでなんのことはないと思うのですが
普段スクリプトを使ってないとここで嵌ると思います

「readcgi.jsがscript/systemに存在しません」と「readcgi.auxがscript/systemに存在しません」のエラーが出た場合
スクリプト(readcgi.js と readcgi_aux.js)が特定の場所に格納されていません

① ヘルプ>V2Cについて で保存用フォルダがどこかを調べる
  http://i.imgur.com/y7gAIuR.png の赤線の部分に書かれてます
② 保存用フォルダの中に script フォルダがあるか確認する、無ければフォルダを作る
③ script フォルダの中に system フォルダがあるか確認する、無ければフォルダを作る
④ system フォルダを開いて、readcgi.js と readcgi_aux.jsをそこにコピーする
⑤ V2Cを再起動する

これで「〜がscript/systemに存在しません」のエラーは解決すると思います

10 ◆g/UWZdwxag:2016/08/19(金) 08:27:40 ID:ocWHCEUk0
B10系の頃のファイル名に意図的に「_B11」を追加しています
B10があるフォルダにコピーしてもそのままでは使えません

① v2cjar.txt(Win/Linuxの場合)/info.plist(MacOSXの場合)を修正する
② jarの名前から「_B11」を取り除いて名前を修正する

のどちらかの修正が必要です
(個人的にはWin/Linuxの場合は①、MacOSXの場合は②の修正が簡単かと思います)




掲示板管理者へ連絡 無料レンタル掲示板