【ニコニコ】自動ローカル保存プロクシ NicoCache22
■ このスレッドは過去ログ倉庫に格納されています
!extend:default:vvvvv
!extend:default:vvvvv
スレ立て時に↑をコピペして3行で書き込んでください
ニコニコ動画のキャッシュを自動的に保存して
二回目以降はローカルから再生することで
ニコニコ動画の回線に負担をかけることもなく再生できるソフトのスレ。
一度通常画質でローカルに保存すれば
エコノミーモード時間帯でも常に通常画質で再生することがる。
またオミトロンと併用することも可能。
Java ソフトウェアの無料ダウンロード
ttp://java.com/ja/
Java Runtime Environment (JRE) 5.0以上が必要。
■関連サイト
NicoCache_nl wiki
ttp://www58.atwiki.jp/nicocache/
NicoCache_p - パンヤポータル
ttp://homepage2.nifty.com/wanko/pangya/nicocache.htm
NicoCache_u
ttp://www28.atwiki.jp/nicocacheu/
NicoCacheGUI - HB Software Factory の跡地に出来た何か。
ttp://hbsoft.s10.xrea.com/
ASR's Room NicoCache (本家様。公開停止中)
ttp://homepage1.nifty.com/asr/index.html
【ニコニコ】自動ローカル保存プロクシ NicoCache21
https://egg.5ch.net/test/read.cgi/software/1495681255/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured >>189
普通に動いてる(Chromium 65/Firefox 52 on Linux) >>189
俺も問題なく動いてるよ
firefox59.0.2 >>190
>>191
ありがとうございます。ページを読み込みなおしたらちゃんと動作しました。 検索のページでcacheSearch.htmlが読み込まれているとUncaught TypeError: Cannot read property 'reset' of undefined
at mylist2.js?0.1.20:1217というエラーがすごい勢いでカウントされています。
とりあえずmylist2.jsの前に<script charset="utf-8" src="Http://nicovide○.cdn.nimg.jp/web/scripts/common/lazyimage.js?1513055246" ></script>を入れておけばカウントはなくなります。
ちなみにmylist2.jsは301でアドレスがttp://nicovide○.cdn.nimg.jp/web/js/mylist2.js?0.1.20に変わっていました。 旧型式動画の変換が始まっていて今まで非dmcだった動画の一部はデフォルトでdmcの方を読み込むようになった模様
対象の動画では旧型式のキャッシュを持っていてもdmcのキャッシュが始まってしまう
ただしプレイヤーを右クリックして「旧配信システムで視聴する」を選択すれば旧型式の方の動画を参照できる模様
軽く調べた限りではdmcに変換された動画の場合はdmcInfo.import_versionが1か2になる模様
この時dmcInfoをnullにしてしまえば従来通りの挙動になるかな?
#ちょっと乱暴なフィルタなので注意
[Replace]
Name = 自動変換されたdmc動画を参照しない
URL = www\.nicovideo\.jp/watch/
Match<
,&;quot;dmcInfo&;quot;:\{(.+,&;quot;import_version&;quot;:[12])
>
Replace<
,&;quot;dmcInfo&;quot;:null,&;quot;_dmcInfo&;quot;:{$1
> もういい加減原宿のコード削除していいですか
ニコニコに原宿のページを出力させる方法なくなりましたよね?
wrapperのほうはどうなってるのか把握してませんがこっちはまだ生きてるのかね
>>195
flvはいいとしてswfはvideo.smileInfo.urlがfalseだからエラーになってloggerを叩きません?試してはいませんが wrapperとかoldplayerとかどこからダウンロードするのかさえ分からん…(使わないけど 107_広告削除CSS.txtが有効だと変数Adsがらみのエラーが多発するので、いっそJSごと消してまえってフィルター。
[Replace]
Name = 広告JS削除
URL = www\.nicovideo\.jp
Multi = TRUE
ContentType = text/html
Match<
$NEST(<script,(?://ads\.|(?:new)?\s*Ads\.),</script>)
>
Replace<
>
header_light(9)_100615_custom.txtを使っている場合は、389行目あたりのj_bar_search.val(Ads.get_segment_object().keyword);も変数Adsの影響を受けているので↓みたいに変更。
j_bar_search.val(document.forms.header_search.s.value); >>200
日付を変え忘れているけど、フィルターを更新しておきました。
nc0148.txt 99-15_thumbInfoFilter(追加):watch_app.jsの更新に対応
>>199
/video_top/?cc_referrer=nicotop_sidemenu のContentTypeがdocumentなので、ContentType = text/htmlはコメントアウト。
ついでにwatchページ用のフィルターを2つ追加。
nc0149.txt 107-2_「107広告削除CSS」によるJSエラー対策.txt watchページ(HTML5)でエラーを確認したフィルターのエラー対策例。
●history lock.txt
Require = //nicovideo\.cdn\.nimg\.jp/uni/js/nicolib\.js
↑フィルターにこれを追加、
●watch:コメントログ拡張(ユーザーID表示など).txt
Require = \.nimg\.jp/(web/)?js/watch/require
↑フィルターにこれを追加、
●mediaInfoFilter.txt
prototype.jsに依存しているので他のフォルダーに移して使わないようにした。
●popThumb_FA watch視聴時にdataコンテナ作成.txt
他のフォルダーに移して使わないようにした。 「107広告削除CSS」によるJSエラー対策なのに単独で動く設定だったからnc0149.txtは消しておきました。 nlitab ( nl_watch.js ) 生きてますか?
表示崩れるようになりました・・・ >>198
誰宛の返信でしょうか
何も変わりませんでしたしWeb上にも関連情報が見つかりません.
>>189
再現しました.
多分is-beforeInitializeが外れるタイミングが早まって
video要素が生成される前にinitializedに登録した処理が走ってます.
nllib_watch.jsで対処すべき問題.
おそらく >>204 も同原因じゃないかな. おま環なのかもしれないがURLに[ods=1]ってつけないと再生時flv取得できない ?ods=1は「旧配信システムで視聴する」リンクをクリックした時にURLの後ろにつく文字列ね >>206-207
把握
原宿の件とは無関係でしたか
これ自動削除を付けるかとか検討するより先に
とりあえずワークアラウンドでswf,flvを持っていたら
dmcをキャッシュしない機能をつけたほうが良さそうですね. キャッシュからの強制プリロードってちゃんと動いてる?
Loading状態で止まっちゃう…。 とりまここら試してみよっか?
トラブルシューティング - NicoCache_nl Wiki (新) - アットウィキ
http://www65.atwiki.jp/nicocachenlwiki/pages/18.html >>209
AndroidのChromeならだいぶ前からそうなってます.PCでは問題なし.
# 原因調査ちゃんとやってない.メモリ不足時の挙動とかが怪しそう
Androidじゃないなら環境情報 >>210-211
ありがとう
PCなんだけど、何か上手くいく動画やLoading表示のまま再生される動画などあるんで、おま環であるならとりあえず色々やってみます。 検索でautopager_3col.jsによって付け足されたページで……
movieFetcherFilterでdocument.getElementById()から取ってきたノードの書き換えってHTMLに反映される?
fetchのリンクのthisからたどって書き換える分にはHTMLに反映されているのだけど……。
movieFetcherFilterでtarget = '_blank'が追加読み込み分のノードには適応されているけど、HTMLには反映されていなかった。
※最初にページを表示した時点で表示されている動画には、普通にtarget="_blank"がつく。
とりあえずGoogle ChromeとMozilla Firefoxで確認。
fetchのリンクのthisからたどる分には大丈夫なので、手元のはparentNode.parentNode.innerHTML.replace()でtarget="_blank"に書き換えて誤動作がないか確認中。 >>199
j_bar_search.val(document.forms.header_search.s.value); の部分はページによって異なるので、次のように修正。
var search_word = "";
switch (true) {
case typeof document.forms.header_search !== "undefined":
search_word = document.forms.header_search.s.value;
break;
case typeof document.forms["search_united_form"] !== "undefined":
search_word = document.forms["search_united_form"].s.value;
break;
case typeof document.forms["head_search_form"] !== "undefined":
search_word = document.forms["head_search_form"].s.value;
break;
case typeof document.forms.search_form !== "undefined":
search_word = document.forms.search_form.keyword.value;
break;
}
j_bar_search.val(search_word); >>213
nc0150.7z 個人的に弄ったmovieFetcherFilter 検索でtarget="_blank"がHTMLに適応されないケースへ対策 nc0151 NicoCache_nl+150304mod+180420mod HTML5+dmc
[機能追加]
・swf,flvのsmileキャッシュを持っている場合にdmcをキャッシュしないワークアラウンド
・連続する同じ内容のログ表示を圧縮
[不具合修正]
・WatchVarsの処理を整理してswfからdmcに変換された動画やwatchapiへの対応を改善
[nlFilter]
・nllib_watch.js: NicoCache_nl.watchのonInitialized起動タイミングを調整(>189,204)
・popThumb.js: すべての埋め込みページにhttpsで接続できるようになったので制限を解除
・liveのhttps埋め込みページがまだhttpを参照しているので修正するワークアラウンド
using cacheの表示が多すぎなので表示を圧縮するようにしました.
swf,flvの変換動画へのちゃんとした対応はまた後日…… そういえばJava10のリリースと同時にJava9がサポート終了となっていますので
Java9をお使いの方は,コンパイル環境(JDK)はともかく実行環境(JRE)は更新しましょう.
あるいはJava8に戻す手もあり.
数日前にjdk-10.0.1がリリースされていましたが文字化けバグは未修正
原因調査して追加のレポート送っておいたので次のリリースで修正されると良いのですが.
>>217
そうですnc0152です. >>216
うp乙です
導入してみましたがマイページのみサムネイル表示がおかしく、ログには
failed to process: null
javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca
が並列していましたが個人環境によるものでしょうか? >>219
TLS MitM有効化でCA証明書のブラウザへのインストールに失敗しているんじゃないでしょうか
そのエラーメッセージは「ブラウザがそんなCA知らんと言って来て通信失敗した」なので なんかsm14015708だけnicocacheで再生できないんですが原因わかる方いませんか
ターミナルにInvalid status code: 404と出てロードしません >>222
まじですか
もうちょっといろいろ試してダメだったら改めてテンプレ埋めて質問します >>221
再現したけど再生できないのNicoCache関係なくない? >>222, >>224
今改めてやってみたら再生できました
もしかしたらと思いエコノミー強制でやったら同じようにInvalid status code: 404となったので
エコノミー版だけの問題だったようです
かつ、プロキシーバイパスで試してみたら同様にエコノミー版はロードできなかったのでNicocacheの問題ではないようです
お騒がせしました 画質自動調整機能,HLS時のみ有効になるようにwatch_app.jsに書かれてるわ……
テスト運用が始まった時期(4/3)もHLSが話題になった>>155と一致している nc0153.7z 個人的に弄ったnlMovieFetcher nc0150.7z( >>215 )の対策の修正。
autopager_3col.js 対策でinnerHTMLを弄ってtarget="_blank"にする処理が他の検索(チャンネルとか)のinnerHTMLに影響していたので条件式を修正。
innerHTMLだと消える処理があるので、fetchのリンクのthisからたどってtarget="_blankとclickイベントだけ弄るようにした。
※__modifyAnchor()に飛ばしてもHTMLに反映されないので、__modifyAnchor()からrmfunc()をコピーしてきた。 nc0154 MonkeyPatchFilters-180428
主に動画クリックで再生が動画再生前のサムネに反応しない件の修正
他いろいろ修正
>>211の調査を行おうと動かしてみたら再現しなくなってました nlMovieFetcherの弄った部分を__modifyAnchor()で行けるようにした。
どうせならStaticNodeListを判定して検索以外にも対応できるようにって考えたけど……
idに/が使われていて、エラー。
考えてみたら、/ってidに使えない文字だったような?
とりあえず-に変えとこ。
というわけで、近いうちにフィルターをup予定。 ニコレポのようにanchorが文字列ではないは除外するとして……
普通にページを読み込んで表示されている動画の一覧に対して、fetchする動画のリンク(テキスト)をquerySelectorAll()で探してみるとlengthが1になる。
でも、検索のページでautopager_3col.jsで読み込まれたfetchする動画のリンク(テキスト)をquerySelectorAll()で探してみるとlengthが2になる。
他のページでautopager_3col.jsではない追加読み込みの場合は、lengthが1になる。
これはthis.anchorを弄る対象の判定に使えるかも? nc0155.7z 個人的に弄ったnlMovieFetcher id属性に使われていた/を-に変更など
id属性に使われていた「/」を全て「-」に変更。
「__modifyAnchor()」対策で条件式の判定用に検索のフィルターに入れていた「 target="_self"」を不要になったので消しました。
引数「anchor」で「/」が使われているときか「document.querySelectorAll("#" + anchor).length」が1を超えるとき、引数「elem」からたどって「anchor」の対象を探して、見つかれば「this.anchor」を弄るようにしました。
※「__modifyAnchor()」対策。 NicoCache関連ファイル置き場 避難所にある
[up500.7z] mylistCountBar:「data-navbar-tab-link」のクリックに対応。
と
[up406.7z] by ◆awd5z.AlOFJq NicoCache_nl 20170318 120609(up006)+150304(up292)+170318(up405)
のみ入れてmylistCountBarを検索ページで表示しようとしましたが、4列表示で出てきません。
もしよろしければ修正お願いします。 >>235
使っているNicoCache_nlが異なるので対応しかねるけど、とりあえず4月3日に手元のファイルを弄っているのをupしておきました。
↓のファイルに置き換えて試してみてください。
nc0156.txt 2018-04-03時点のmylistCountBar.txt >>236
返信ありがとうございます。
[up406.7z] by ◆awd5z.AlOFJq NicoCache_nl 20170318 120609(up006)+150304(up292)+170318(up405) を
NicoCache_nl+150304mod+180420mod HTML5+dmc (based on NicoCache v0.45)に変更して試用してみました。
しかし、4列時の表示は期待通りの結果になりませんでした。期待に沿えずすいません。 nc0157.7z mylistCountBar:検索の1列と4列で使えなくなっていたのに対応
条件式で幅を持たせられるようにclassを設定する変数をStringからRegExpに変更。
検索の1列表示と4列表示でノードが変わっていたのに対応。
2列および以前の1列と4列:投稿の要素の親の子孫に数字
現時点の1列と4列:投稿の要素の親の親の子孫に数字 昔の検索のHTMLソースを確認したら違っていたので訂正
> 2列および以前の1列と4列:投稿の要素の親の子孫に数字
2列:class「itemTime」の子孫に投稿の要素があるとき、「itemTime」の親の子孫をたどったところに数字
以前の1列:strong要素を探して投稿と数字をページ内で見つかった順で結びつけ
※4列はHTMLソースが見つからなかったけどたぶん1列と同じ
> 現時点の1列と4列:投稿の要素の親の親の子孫に数字
現時点の1列と4列:class「itemTime」の子孫に投稿の要素があるとき、「itemTime」の親の親の子孫をたどったところに数字 >>239
対応ありがとうございます。
大変助かりました。
本当にありがとうございました! nc0158.txt 個人的に弄ったnlMovieFetcher id属性の修正漏れを修正
fetchリンク追加(動画トップ&new_list) (GINZAバージョン)でid属性の指定(anchor)に/が残っていたので-に修正。 キャッシュもしないし読み込みもしないからどうしたのかと思えばついにhls始まったのか。
今のところZenzaWatchで見るなら影響ないけど通常のプレイヤーだともろ影響あるな 書き忘れたけど最新版適用済み
あと>>169で解決した。 同じnlでも、Chromeは問題ないけど、Firefoxだと、4回ほどpartical Dwonloadナンチャラって出た後、失敗する。
で、同じ物をChromeで再生するとキャッシュするんだけど、ブラウザが原因か。
数日前まではFFでも問題なかったから、ブラウザ変えてokにたどり着くのに時間かかった。出来ればFF使いたいんだがなぁ >>243-244
>>170 で >>157 相当のワークアラウンドを入れたつもりですが
バグっとるのやら仕様が変わったのやら……
dataApiData.video.dmcInfo.session_api.protocolsの値をいただければ直せるかもしれません
>>245
Firefox 59.0.2 on Ubuntu 18.04で動いているので環境テンプレ
あと「失敗する」とは具体的にどうなるのか.
キャッシュが完了しないのか,エラーメッセージがコンソールに出るのか,
エラーメッセージがブラウザに出るのか. >>246
FF(59.0.3 64bit on win10)での失敗は、試しにプロキシ外してみたら、同じエラーで再生出来ないので、FFの問題(58に落としても同じ)。
そして、win8(64)では同じverで再生出来たので、おま環ですね。
ちょっと色々調べてみます。
お騒がせしました。 >>248
現状は不可
対応する気はあるが技術的課題が存在
hlsのままキャッシュするのは多分簡単
hlsから現状のキャッシュ形式に変換するのも簡単
でも現状のキャッシュ形式からhlsに変換して送り出す,これが難しい hlsのままキャッシュして
それをそのまま送り出して利用するのじゃいかんのん? 10秒ごとにファイル分割されているんだっけか
アホみたいに分割されたファイルがキャッシュされることになりそうだから
連結した状態で保存し、再生時にffmpegとかで分割して使用する、でどうだろうか? hlsを現在のキャッシュ形式で保存したらhlsを無効化して再生させればいいかな?
将来的にニコニコが全面的にhlsに移行する気であれば問題がある方法かも知れないけど >>250
既にあるキャッシュが使えなくなるのはなあ
>>251
一番の問題はどこで切って分割するかでして……
分割箇所がサーバと異なると良からぬことが起きそうじゃありませんか
>>252
それなら現状のワークアラウンド通り全部hls無効で良いと思うんです
自動画質切り替え機能にしても途中が歯抜けの一時キャッシュができるだけですし nc0160.txt 99-15_thumbInfoFilter(追加):watch_app.jsの更新に対応ほか
watch_app.jsの更新に対応
「キャッシュ情報を付加(watch:VideoEndScreenRelatedVideosContainer:JSON)」を2つに分けて、キャッシュが無い動画にも「,"cacheIcon":""」をつけるようにした。 加入して「いない」チャンネル動画へのアクセスでぬるぽ
これとか
http://www.nico video.jp/watch/1525834444 nc0161 NicoCache_nl+150304mod+180512mod HTML5+dmc
[機能追加]
・NicoCacheが信頼する認証局を登録する機能を追加
[不具合修正]
・watchページの処理でぬるぽが発生することがあるのを修正(>256)
>>256
おうふ これはやってしまいました修正 有効期限切れの購入済み動画でキャッシュ利用
で購入催促文の表示が出てコメントだけ流れる状態なんだけど、自分は大丈夫って方いますか?
HTML5→Flash版視聴に変える→HTML5に戻す といけるんだけども。 >>258はFirefoxだと表示されて、Chromeだと表示されないわ
再生終了後の動画一覧も同じ
Chromeの設定かしら soだと表示されて、生idだと表示されないとかじゃなかったっけ
逆かも だめだー
playlistcontainerがChromeだと開かずにくるくる表示のままだわ
Firefoxと何が違うねん……諦めてFirefox使うか…… ブラウザで挙動が変わるなら99.9%、ブラウザの仕様/設定/アドオンの影響じゃねぇの? ん?再生リストはhttpになってるせいで弾かれてるのか? キャッシュから強制プリロード使ってるんだけど この動画だけものすごい遅いのは自分だけ?
1%進むのに10秒以上かかる
http://www.ni-covideo.jp/watch/sm740133 エコノミーモードでアップロードされてる動画で発生してるっぽいな 連投スマソ
flvで保存されてる動画の読み込みが遅いみたい リアルタイムでflv→mp4変換してるんじゃね?知らんけど chromeで再生リストでないやつ、旧プレイヤーだとでるわ
html5だとでない >>265-267
flv2mp4を有効にしてないのでは?
その場合サーバに取りに行ってしまうのでそんな速度になるかと >>268 >>270
flv2mp4有効にしてないでけでした() ありがとうございます Chromeのver変えたら再生リスト表示されたわ
お騒がせしました フィルタまとめ#64うpしました
http://nicocache.jpn.org/src/nc0163.7z
※PC環境変えたのでトリップ紛失しました…
更新物:watchページ整形フィルタ、広告削除CSS
watchページ整形フィルタ:
・過去ログのボタンが隠れる問題を修正
・マイリストボタンの位置が不適当なのを修正
・動画内マイリスト追加画面をきちんとfloatingするよう修正
・flashの文字位置修正
・使い方が分からず「青いままだ!」って騒ぐ人のためにデフォルトで背景画像を同梱(+228KB)
広告削除CSS:
・自動で高さ調整するスクリプトnicoTop_height.jsを追加 ニコ動またちょっと仕様変わった?
再生速度10倍にしたら止まりまくるわ、連続再生にしても切り替わらないわで(´・ω・`) >>274
連続再生は知りませんが再生速度についてはキャッシュが使われていないのでは? ついに(く)が来るのか……
改悪にならなければいいが >>273
Watchページ整形フィルタ、更新されてないようですが >>277
watch_page_reconstruct.cssの更新日時は5月20日22:15になってる? 登録タグの「現在の個数」の位置を右端に移動し、枠の高さをタグ2行分以上にして欲しいです。
動画再生ページでタグの数によっては Tag_Ichiba_Counter.js で挿入される「現在の個数」で再生画面がタグ1行分下にずれる事があります。
フルスクリーンにしようとしたタイミングで下にずれると、マウスポインターの下にシークバーが来てクリックし、動画の最後の方にジャンプするといった感じで操作が阻害されます。
登録タグの枠の右側に余白があるので、必要な枠の高さを確保して、ここに「現在の個数」を移動して欲しいです。
「class="Grid TagContainer"」の要素前に「現在の個数」を挿入するようにすれば、z-indexに18以上の指定で「class="GridCell col-fill"」の要素より上に表示できるので、
現状のマージンを維持するなら、「現在の個数」をposition: absolute; top: 13px; right: 0;くらい、class="TagList"の要素をmin-height: 56px;くらい、
そしてclass="TagList"の要素の親要素をpadding-right: 65px;くらいか「現在の個数」の「(最大11個)」部分を改行で2行目にすることで良い感じの配置になると思います。 >>279
あなたには自動でフルスクリーンにするjsの方が必要なのでは? >>280
常にフルスクリーンでしか見ないならそれでも良いけど、異なるので自動でフルスクリーンにされると逆に煩わしいです。 「現在の個数」の配置を動かさないなら、フィルターでダミーのタグ要素を追加しておいてそれを書き換えるようにするという対処方法もあると思います。
登録タグが表示される段階ですでに「現在の個数」が入る部分のレイアウトが済んでいるので、後から1行増えて表示がずれることは無くなると思います。
※あらかじめ「現在の個数」よりも大きめの枠を確保しておいてその枠のサイズを維持したまま枠の中身を置き換えるか、最初から「現在の個数」が新しい行に配置されるようにスタイル指定しておく必要があります。 1行が2行になったり3行になったりするってこと?いや作業したくない訳じゃなくてそんなに邪魔になるほどになるかなって思ってるだけなんだけど、スクショとかある? >>283
スクリーンショットを撮っても見た目にはタグが普通に並んでいるだけです。
プレーヤーの位置の変化を記号で記そうとしたけどNGワードにかかったので、テキストファイルをupしておきました。
nc0165.txt 22スレ283への説明用(プレーヤーの位置がずれる例.txt) >>285
同梱されている nllib_watch.js が古くなっている(手元の最新版は2018-04-20)のは何か意図がありますか?
登録タグの枠があらかじめ2行分の高さを確保されているため、「現在の個数」の追加でタグの一覧が「1行→2行」に変わる分には問題なくなっています。
しかしページの表示後に「現在の個数」が追加される事に対して、 >>279 の最後(HTMLとCSS的にz-index: 18;が有効な場所への要素の追加&行数に影響を与えない対策)
や >>282 (ページが表示される時点で「現在の個数」用の表示領域を確保ずみ)のような対策が取られているわけでは無いので、登録タグの枠が3行以上になる場面では症状が解決していないです。
現時点のタグの状況では、HTML5のプレーヤーで画面サイズ「中」に設定し、次の動画を再生で症状を確認できると思います。
※動画再生ページ以外から動画再生ページへ移動するか、動画再生ページを新規に開くか、動画再生ページを表示後にページを更新することで症状を確認できます。
※Google ChromeおよびMozilla Firefoxで症状を確認。
/watch/nm3601701 /watch/sm2077177 /watch/sm500873 >>287
あ〜、 /watch/so数字 ではなく /watch/数字 の方で開けばよいみたいです ニコニコまた重くなってきてない?
人が戻ってきてるのかな >>285
nc0167.txt 22スレ279の対策を施したTag_Ichiba_Counter.jsのサンプル
症状の対策として >>279 の最後を採用して弄ったサンプルです。
挿入された「現在の個数」を検証すれば、279の意図がわかっていただけると思います。 ■ このスレッドは過去ログ倉庫に格納されています