[過去ログ] 【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
654(2): (ワッチョイ d58c-By/s) 2021/08/05(木)15:08 ID:IpTlZujB0(3/9) AAS
>>652
なるほど、再接続という意味ならそうですね。
では別の案ですが、
1.本処理中に吐き出すHTMLの先頭に、文字列なりHTMLタグなりの目印を検出するJavascriptを仕込む。
2.本処理が終わったタイミングで目印になる文字なりHTMLタグなりを出力(Flush)する。
3.Javascriptで対象の目印を検出したら window.stop() で、ブラウザ側から切断させる。
655: (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:17 ID:F8+XC2Dv0(34/49) AAS
>>651
ああだからな、元々は「処理を速く見せる為」なんだよ。それで、
・接続を明示的に切れれば、往復1回+本処理
・接続を明示的に切れない現状では、往復1回+本処理+後処理
・651方式で転送した場合、往復2回+本処理
というようにユーザーには見えることになる。
結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。
この辺のさじ加減は君らの方が詳しいだろうけど、
現状の後処理は、整理するデータがある場合は400ms程度、無ければ10-40ms程度だ。
整理するデータが存在するのは1/20程度の確率だと想定している。
省3
656(1): (ワッチョイ 5d01-RnN5) 2021/08/05(木)15:19 ID:qHbol2On0(1/2) AAS
ID:F8+XC2Dv0は開発環境がXAMPPで無料レンタルサーバを使う初心者なのだから身の丈にあったことをすればいいのにキチガイ過ぎる
657(1): (ワッチョイ 6501-pCDs) 2021/08/05(木)15:26 ID:tyzHpayb0(1) AAS
>>642
ID:bqGeTZjz0の人にrubyスレで教わりました
658(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:31 ID:F8+XC2Dv0(35/49) AAS
>>654
それは君がブラウザの動きを分かってない。
flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。
だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない)
そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。
そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない)
よってその方法では出来ない。
接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、
それを受けてブラウザはすぐにパースを開始する。
だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。
省4
659: (ワッチョイ d108-1vA1) 2021/08/05(木)15:31 ID:jTl1oJKL0(13/13) AAS
>>657
そいつは有名なキチガイだから相手にしたら駄目よ
今このスレでも ID:bqGeTZjz0 で支離滅裂な事を書いてるけど頭の病気だから
660(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:38 ID:F8+XC2Dv0(36/49) AAS
>>656
だから最初から言ってるが、
俺はPHPの初心者ではあるけどプログラミングは初心者ではないんだよ。
だから、PHPといえども恥ずかしいコードは書けない。
661: (ワッチョイ 5d01-RnN5) 2021/08/05(木)15:54 ID:qHbol2On0(2/2) AAS
>>660
いやいやご冗談がきつい
どこからどう見ても初心者ですよ?
初心者じゃないならXAMPPや無料レンタルサーバに固執しなくていいですし
PHPに固執しなくてもいいですからね
662: (ワッチョイ bd7b-LMHu) 2021/08/05(木)15:57 ID:F8+XC2Dv0(37/49) AAS
ちなみにお前ら、PHPにコントリビュートしてみたい奴はいるか?
居るなら手伝うが。
Web開発ってのは、「こんなポンコツを使わされるくらいなら俺が直してやるからソースコードよこせ!」の繰り返しではある。
今の俺がそれだ。
write_closeは基本的な関数であり、存在しないのがおかしい。
実装は、exitで行っているであろうクローズ処理を前倒しすればいいだけ。具体的には、
1. exitのソースコードを「接続を閉じる部分」と「それ以外」に分け、
2. 「接続を閉じる部分」が write_close() で呼ばれるようにし、閉じたかどうかをフラグで保存、
3. exit ではそのフラグを見て、閉じてない場合は呼んでから、「それ以外」を呼んで終了とする。
とまあ、要は exit のソースコードを2分割すれば済む話ではある。
省6
663: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)15:59 ID:bqGeTZjz0(7/8) AAS
レンタルサーバーの速さを言っても、仕方ない。
他人と共有しているから、他人がリソースを使うと、待たされる
安いのだから、低品質も仕方ない。
そういうものと割り切るしかない
KENTA は完全に割り切ってる。
PHP は一生使わないでよいと言ってる
金にならないから。
低品質で安い仕事
664(1): (ワッチョイ d58c-By/s) 2021/08/05(木)16:09 ID:IpTlZujB0(4/9) AAS
>>658
あなたこそ、理屈はともかく現実がわかってないかと。
以下をtest.phpにコピペしてブラウザからアクセスしてみてください。
(Chrome、FireFox、Edgeのどれでも)
hello world が表示されて、接続が切断され、"これは表示されない"は受信されません。
----------
<html><head>
</head>
<body>hello world
<SCRIPT language="JavaScript">
省11
665: 620 (ワッチョイ 9a2c-QEAr) 2021/08/05(木)16:10 ID:bqGeTZjz0(8/8) AAS
Ruby on Rails では、
XAMPP, MAMP など、Linux以外を使うことはない
Linux コマンド・シェルスクリプト、Docker, Heroku, AWS も、
KENTA のサロンの初心者用コースに入っているから
それに皆、AWS のくろかわこうへいのサロンにも入る
Windows 10, WSL2, Linux, Docker, VSCode でも出来る
XAMPP, MAMP とか、訳の分からない環境を使うことはない。
動きが本番環境と異なるから
666: (ワッチョイ bd34-9imK) 2021/08/05(木)16:13 ID:cuxOZbzu0(3/3) AAS
id:F8+XC2Dv0ってPHPがApacheのモジュールとして動作する時の理屈すら理解してなさそうw
667(1): (ワッチョイ bd7b-LMHu) 2021/08/05(木)17:59 ID:F8+XC2Dv0(38/49) AAS
>>664
まあわざわざコード書いてよこしたのだから、こちらでも試したよ。
ファイルは200Bytes, ダウンロードサイズは 4.4KBと表示されてる。
確かにそちらの意図どおり、ハロワだけ先に表示されるよ。(パースされてる)
4KBパディングすれば、通常ならバッファをキック出来るから、確かにパーサもキック出来るはずだし、実際そうなってる。
ただな、時間を既に書いたが、それでは間に合わないんだよ。
ネットワークってのは地味に遅くて、例えばここからPHP.netへのpingは264msかかってる。
後処理は平均29.5-58ms程度だと予想されてるので、window.stopがサーバーに間に合わない。
結果、パケットは送信済みで、受け取られたパケットが捨てられるだけだよ。
ただし確かにパースはされてる。(=その方法でもユーザーの体感速度は上がる可能性がある)
省6
668: (ワッチョイ 5d01-RnN5) 2021/08/05(木)17:59 ID:X/tiD49H0(1/2) AAS
記録37レスか
殿堂入りだな
669: (ワッチョイ 5d01-RnN5) 2021/08/05(木)18:01 ID:X/tiD49H0(2/2) AAS
と思ったらまだ記録更新するつもりか
670(2): (ワッチョイ d58c-0pp8) 2021/08/05(木)18:23 ID:IpTlZujB0(5/9) AAS
>>667
間に合わないの意味がわかりませんです。
本処理終了の時点でブラウザ表示に必要な情報と、その次の行にwindow.stopまでを一気に吐き出すんだから、そのあとにサーバーから何か来て破棄されようが、どうでもいいんじゃないかしら?
要は十分な情報を受け取った段階でブラウザ側から切断してるんですよ。
本処理の後の後処理を待たせてる時間をなんとかしたいのが目的なのに、4KBでぐだぐだ言われてもねぇ。
後処理を待たせてる時間と比較したら明らかに早い段階で通信終了してるはずですよ。なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。それと比較して4KBは人間にわからないレベルの時間ですよ。
xmlが〜とかは、htmlでラップするなり、頭良いんでしょうから工夫してくださいな。
671(1): (ワッチョイ 5d01-QEAr) 2021/08/05(木)18:32 ID:xWv0yV5l0(3/7) AAS
接続の切断が目的なら、
<?
echo str_pad(" ",4096);
flush();
sleep(10);
これは、いらない。
672(1): (ワッチョイ d58c-0pp8) 2021/08/05(木)18:37 ID:IpTlZujB0(6/9) AAS
>>671
あら、そうなんですか?
後学のためにどうやるのか教えて下さい
673: (ワッチョイ 56bb-ds/h) 2021/08/05(木)19:02 ID:Sb1zsMiv0(7/8) AAS
>>654
コレ、面白いね
上下前次1-新書関写板覧索設栞歴
あと 329 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s