!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 11
https://mevius.5ch.net/test/read.cgi/tech/1591334726/
次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 12
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f6ad-UoZY)
2021/04/29(木) 12:39:39.75ID:P0iZ4CYt0697デフォルトの名無しさん (ワッチョイ 5d01-60o5)
2021/08/05(木) 22:28:07.44ID:xWv0yV5l0698デフォルトの名無しさん (JP 0H2e-3fhR)
2021/08/05(木) 22:29:03.23ID:cTOwQa60H >>694
jsの真偽判定テーブルも他言語からみたらPHP8と50歩100歩だと思う。7や5はもう過去だから知らない。
jsの真偽判定テーブルも他言語からみたらPHP8と50歩100歩だと思う。7や5はもう過去だから知らない。
699デフォルトの名無しさん (JP 0H2e-3fhR)
2021/08/05(木) 22:35:41.93ID:cTOwQa60H >>696
補足しておくと、インスタンス2台無料だから、oracleのDB使いたくない場合は、インスタンス1台に好きなDBインストールする方法もあるよ。ど素人にどこまでのオペレーションを任せるかはわからんけど。
補足しておくと、インスタンス2台無料だから、oracleのDB使いたくない場合は、インスタンス1台に好きなDBインストールする方法もあるよ。ど素人にどこまでのオペレーションを任せるかはわからんけど。
700デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 22:36:53.61ID:IpTlZujB0 >>697
えっと、すいません、なにかの宗教ですか?
えっと、すいません、なにかの宗教ですか?
701デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 22:44:02.23ID:F8+XC2Dv0 >>698
JSのもそれなりに糞だが、
型を意識してれば実際問題としてそこに命中することはないんだよ。
だから一般のプログラミングをしてる奴にとっては問題ない。
PHP7のはなあ、なんだったか忘れたが、
JS的には問題ないものでもおかしなのがあって、しかもそれに普通に命中するから嵌るんだよ。
とはいえ最早PHP8を使うべきなのかな?三項演算子は解決されてるし。
今確認したが、無料鯖はまだ7のようなのだけど、
現実的に俺が今書いてるのを公開するのはどうやっても半年後とかでしかないから、
その頃に一般的に使えれば全く問題ないし、
駄目でもいつかはPHP8に移行するのだろうから、待ってれば済む話ではあるし。
今7を使ってるのは、実は4年前に味見だけしてて、その時に7だったからなんだよね。
まあ、PHP8は検討しとくわ。
JSのもそれなりに糞だが、
型を意識してれば実際問題としてそこに命中することはないんだよ。
だから一般のプログラミングをしてる奴にとっては問題ない。
PHP7のはなあ、なんだったか忘れたが、
JS的には問題ないものでもおかしなのがあって、しかもそれに普通に命中するから嵌るんだよ。
とはいえ最早PHP8を使うべきなのかな?三項演算子は解決されてるし。
今確認したが、無料鯖はまだ7のようなのだけど、
現実的に俺が今書いてるのを公開するのはどうやっても半年後とかでしかないから、
その頃に一般的に使えれば全く問題ないし、
駄目でもいつかはPHP8に移行するのだろうから、待ってれば済む話ではあるし。
今7を使ってるのは、実は4年前に味見だけしてて、その時に7だったからなんだよね。
まあ、PHP8は検討しとくわ。
702デフォルトの名無しさん (JP 0H2e-3fhR)
2021/08/05(木) 22:48:59.24ID:cTOwQa60H >>701
10月に8.1出るし、今から開発するのに7.4はどうかと思う。アクティブサポートは今年の11月末で切れるし。
10月に8.1出るし、今から開発するのに7.4はどうかと思う。アクティブサポートは今年の11月末で切れるし。
703デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 22:53:13.39ID:F8+XC2Dv0 >>699
OracleやAWSとかは、基本的に「将来有料のお客様になるかも」な人向けだろ。
だから、その気がない人がずっと使うのは不味いと思ってるんだよ。
勿論技術的な問題もあるけど。
無料レンサバはその点、広告を貼りますよ!だから、
永久に無料で使われてもいいですよ、な点が違う。
だからまあ、ガチ向けなものは基本ノーマークなんだわ。
ただ、技術的にはだんだん敷居が下がってて、サーバレスなんてその最たる物だろ。
たぶん、本当になんにも知らないど素人が、それが鯖であることを認識もせず鯖を運用する時代が来つつあるんだよ。
俺はそれに向けてちょっと仕掛けようとしてる。(まあ高確率でポシャるが、それは致し方ない)
OracleやAWSとかは、基本的に「将来有料のお客様になるかも」な人向けだろ。
だから、その気がない人がずっと使うのは不味いと思ってるんだよ。
勿論技術的な問題もあるけど。
無料レンサバはその点、広告を貼りますよ!だから、
永久に無料で使われてもいいですよ、な点が違う。
だからまあ、ガチ向けなものは基本ノーマークなんだわ。
ただ、技術的にはだんだん敷居が下がってて、サーバレスなんてその最たる物だろ。
たぶん、本当になんにも知らないど素人が、それが鯖であることを認識もせず鯖を運用する時代が来つつあるんだよ。
俺はそれに向けてちょっと仕掛けようとしてる。(まあ高確率でポシャるが、それは致し方ない)
704デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 22:55:44.39ID:F8+XC2Dv0705デフォルトの名無しさん (ワッチョイ 5d01-60o5)
2021/08/05(木) 22:57:56.82ID:xWv0yV5l0706620 (ワッチョイ 532c-2tbN)
2021/08/06(金) 05:53:40.73ID:13Hyhr+y0 無料サーバーは低品質だから、まともに動かない。
他のアプリがリソースを使うと、5秒ぐらいの動画広告でも、1時間動かない事もある
素人向けだから、PHP・SQLite でも良いと思う。
KENTA がPHPを一生やらなくても良いというのは、お金にならないから
未経験者の転職では、Ruby on Rails, Heroku, AWS だけ。
Node.js, Django も使われていない
プログラミングの話というよりは、安い・低品質の仕事の話。
すごく限定されたことしか出来ない、世界の話
他のアプリがリソースを使うと、5秒ぐらいの動画広告でも、1時間動かない事もある
素人向けだから、PHP・SQLite でも良いと思う。
KENTA がPHPを一生やらなくても良いというのは、お金にならないから
未経験者の転職では、Ruby on Rails, Heroku, AWS だけ。
Node.js, Django も使われていない
プログラミングの話というよりは、安い・低品質の仕事の話。
すごく限定されたことしか出来ない、世界の話
707デフォルトの名無しさん (ワッチョイ 297c-O8K+)
2021/08/06(金) 06:20:19.81ID:4ndH842K0708デフォルトの名無しさん (アウアウアー Saab-IXul)
2021/08/06(金) 06:29:46.94ID:UjnAn9a5a >>707
もう令和になっているのにこのネタにマジレスしちゃうの?
もう令和になっているのにこのネタにマジレスしちゃうの?
709デフォルトの名無しさん (ワッチョイ e191-lZJ8)
2021/08/06(金) 14:33:32.85ID:Pmsm9i010 どういうネタならマジレスしていいの?
710デフォルトの名無しさん (ワッチョイ 895f-VlOp)
2021/08/06(金) 18:17:48.03ID:sAaum+q/0 そもそも後処理とやらを軽くすればいい話ではないのかね
DBの設計とSQLの書き方次第で速度がかなり違うよ
そこを見直すのがいいんじゃないかな
それとnode.jsはwebサーバーと一体だから切断があるがphpはwebサーバーからリクエストされるものであって接続の管理はできないのでは無いんでないのかね
DBの設計とSQLの書き方次第で速度がかなり違うよ
そこを見直すのがいいんじゃないかな
それとnode.jsはwebサーバーと一体だから切断があるがphpはwebサーバーからリクエストされるものであって接続の管理はできないのでは無いんでないのかね
711デフォルトの名無しさん (ワッチョイ 895f-VlOp)
2021/08/06(金) 18:35:46.02ID:sAaum+q/0 そもそもphp上で接続するのではなくブラウザに終了を認識させればいいので
ob_startとob_get_lengthなどを使い
headerでContent-LengthとConnection: closeを出力する方法がマッチしているのではないかな
適当にググってみたけど下のサイトがわかりやすかったかな
ttps://pisuke-code.com/php-send-response-immediately/
ob_startとob_get_lengthなどを使い
headerでContent-LengthとConnection: closeを出力する方法がマッチしているのではないかな
適当にググってみたけど下のサイトがわかりやすかったかな
ttps://pisuke-code.com/php-send-response-immediately/
712デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/06(金) 20:51:49.77ID:lgptz/Bq0 > Content-Length
おお正解出てきたか。実はこちらもそこに気づいて試して(昼間に)確認済みだった。
んで、いちいち文句言われるからとりあえず夜まで待ってたところだった。
つかマジで、お前らだいぶ酷いわ。改めてPHPerは糞だと再認識した。
小学生同士の小手先テクニック大会は楽しいのだろうけど、そんなんだから上達しないんだと思うぞ。
>>710-711
こちらはheaderだけで問題なくなった。
とりあえずサイト読んでみたが、こちらの結果からすると、ob_xxxもconnection:closeも要らんね。
(というか多分 connection: close は問題になるからやらない方がいい)
> そもそも後処理とやらを軽くすればいい話ではないのかね
> DBの設計とSQLの書き方次第で速度がかなり違うよ
> そこを見直すのがいいんじゃないかな
勿論分かってるが、今でも十分軽いし、これ以上どうしようもないので。
> 接続の管理はできないのでは無いんでないのかね
これは違う。接続の管理を「しなくてもいい」のであって、「出来てもよい」んだよ。
単純には機能が足りてないだけ。
近いのはGUIのイベント、onXXXだが、
あれも最初は addEventListenerとかは不要(onXXXだけで問題ない)と思われてたんだよ。
でも、有るのと無いのとでは大違いで、今は全面的に採用されてるだろ。
といってもお前らは若すぎてこの話が意味不明なら、イベントバブルでもいい。
あれもHTMLは最初から搭載していたようだが、おまえらPHPerなら特に、バブルなんて無くても設計出来ると思ってるだろ?
しかしこれも同様に有るのと無いのでは設計のしやすさの次元が違ってくるので、全面採用になりつつある。
機能が足りてないときでも、足りてないと気づけない人の方が多い。
ネットが無くても不自由しなかったし、その前は携帯が無くても不自由しなかった。
無ければ無いなりにやってしまうものなのだけど、これが有ればどんなに良いか!と思いつける人はほぼ居ないんだよ。
(一応言っておくが、俺も思いついたわけではなく、他言語で知ってたから不便を感じられただけ)
例えば、asyncとか、技術的には最初からあっても不思議ではなかったけど、誰も思いつけなかったろ。あれと同じ。
おお正解出てきたか。実はこちらもそこに気づいて試して(昼間に)確認済みだった。
んで、いちいち文句言われるからとりあえず夜まで待ってたところだった。
つかマジで、お前らだいぶ酷いわ。改めてPHPerは糞だと再認識した。
小学生同士の小手先テクニック大会は楽しいのだろうけど、そんなんだから上達しないんだと思うぞ。
>>710-711
こちらはheaderだけで問題なくなった。
とりあえずサイト読んでみたが、こちらの結果からすると、ob_xxxもconnection:closeも要らんね。
(というか多分 connection: close は問題になるからやらない方がいい)
> そもそも後処理とやらを軽くすればいい話ではないのかね
> DBの設計とSQLの書き方次第で速度がかなり違うよ
> そこを見直すのがいいんじゃないかな
勿論分かってるが、今でも十分軽いし、これ以上どうしようもないので。
> 接続の管理はできないのでは無いんでないのかね
これは違う。接続の管理を「しなくてもいい」のであって、「出来てもよい」んだよ。
単純には機能が足りてないだけ。
近いのはGUIのイベント、onXXXだが、
あれも最初は addEventListenerとかは不要(onXXXだけで問題ない)と思われてたんだよ。
でも、有るのと無いのとでは大違いで、今は全面的に採用されてるだろ。
といってもお前らは若すぎてこの話が意味不明なら、イベントバブルでもいい。
あれもHTMLは最初から搭載していたようだが、おまえらPHPerなら特に、バブルなんて無くても設計出来ると思ってるだろ?
しかしこれも同様に有るのと無いのでは設計のしやすさの次元が違ってくるので、全面採用になりつつある。
機能が足りてないときでも、足りてないと気づけない人の方が多い。
ネットが無くても不自由しなかったし、その前は携帯が無くても不自由しなかった。
無ければ無いなりにやってしまうものなのだけど、これが有ればどんなに良いか!と思いつける人はほぼ居ないんだよ。
(一応言っておくが、俺も思いついたわけではなく、他言語で知ってたから不便を感じられただけ)
例えば、asyncとか、技術的には最初からあっても不思議ではなかったけど、誰も思いつけなかったろ。あれと同じ。
713デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/06(金) 21:13:42.19ID:lgptz/Bq0 >>711
> 適当にググってみたけど
ちなみにどうググッたか教えてもらえないか?
こちらも昼間ググリまくったが、このサイトは見てない。多分ヒットしてない。使ったのはBingだ。
んで、今google/duckduckgo/yandexで"Content-Length header"で試したが、ヒットしない。
ヒットしない(しにくい)理由は簡単で、多分仕様じゃないからだ。
ブラウザが勝手にそう動くだけで、動かなくても問題ないし、動くべきだともされてない物を、
Content-Lengthの紹介で書くことが出来ないからだ。
ただこちらは、前から意味不明なヘッダだなと思ってたので、今日改めて目にした時にピンと来た。
が、ググッてもそうは書いてないし、まあ試しにやってみるか、で、ビンゴだった。
(と書けば簡単そうに見えるが、実際はちゃんと動いているか確認するまでに結構手間取ってる)
だからここみたいに個人レベルのTips集やQiitaとかじゃないと駄目なのだが、
そもそもこちらの検索結果にはそのサイトが出てこない。
どういうキーワードでどこで検索したか教えてもらえないか?
> 適当にググってみたけど
ちなみにどうググッたか教えてもらえないか?
こちらも昼間ググリまくったが、このサイトは見てない。多分ヒットしてない。使ったのはBingだ。
んで、今google/duckduckgo/yandexで"Content-Length header"で試したが、ヒットしない。
ヒットしない(しにくい)理由は簡単で、多分仕様じゃないからだ。
ブラウザが勝手にそう動くだけで、動かなくても問題ないし、動くべきだともされてない物を、
Content-Lengthの紹介で書くことが出来ないからだ。
ただこちらは、前から意味不明なヘッダだなと思ってたので、今日改めて目にした時にピンと来た。
が、ググッてもそうは書いてないし、まあ試しにやってみるか、で、ビンゴだった。
(と書けば簡単そうに見えるが、実際はちゃんと動いているか確認するまでに結構手間取ってる)
だからここみたいに個人レベルのTips集やQiitaとかじゃないと駄目なのだが、
そもそもこちらの検索結果にはそのサイトが出てこない。
どういうキーワードでどこで検索したか教えてもらえないか?
714デフォルトの名無しさん (ワッチョイ 895f-VlOp)
2021/08/06(金) 22:05:32.07ID:sAaum+q/0 php 後処理 でgoogleで検索して最初に出てきたやつ
接続を切ることができないのはwebサーバーへの接続だから
node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない
Content-Lengthは何バイト応答があったらコンテンツの終わりかブラウザが認知するのでそれを利用したテクニック
接続を切ることができないのはwebサーバーへの接続だから
node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない
Content-Lengthは何バイト応答があったらコンテンツの終わりかブラウザが認知するのでそれを利用したテクニック
715デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/06(金) 22:08:02.71ID:lgptz/Bq0 >>711
すまん、713取り下げ。
Bingで「PHP 後処理」でググったら一番上に出た。
俺は仕様を確認しようとしていたのだが、やり方をググれば出るのか。
なまじ自分で出来るものだから「やり方」なんてググろうとも思わなかったのが問題だな。
PHPについては初心者だということを再認識して、「やり方」もググるべきだった。
すまん、713取り下げ。
Bingで「PHP 後処理」でググったら一番上に出た。
俺は仕様を確認しようとしていたのだが、やり方をググれば出るのか。
なまじ自分で出来るものだから「やり方」なんてググろうとも思わなかったのが問題だな。
PHPについては初心者だということを再認識して、「やり方」もググるべきだった。
716デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/06(金) 22:36:18.90ID:lgptz/Bq0 >>714
すまん、前後した。手間をかけて本当にすまん。
> node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない
これはその通りだが、PHPから出力をクローズしたら当然apacheにも伝わりクローズされる。
そしてこれはnodeでも同じだ。
実際は(Nodeでも)closeしてもhttpコネクションを切っているわけではない。
それだと再送要求が来た時に対応出来ないだろ。
だから、実際の低レベルの接続はNodeでもPHPでも同様に隠蔽されてる。
(勿論ApacheはHTTP/1.1だとgzipしてるし、別にバッファも持ってる)
よって、PHPでもNodeと同様に『プログラミングモデルとしては』接続を切ることが出来る。
だからやっぱり機能が足りてないんだよ。
パイプで説明した方が分かりやすいかな?
php | apache > /dev/eth0 な状況で、php が stdout(出力パイプ) をクローズすることは出来るだろ。それだけ。
その後も apache は必要なら動き続けるし、終了すれば終わる。
この構造はNodeも内部的に持ってないと話にならないから同様の筈だよ。
ただしそもそも論として「Content-Lengthは常に付けとけボケ!」なノリのようだ。
この手のTipsとしてはStackoverflowが秀逸で、
https://stackoverflow.com/questions/2773396/whats-the-content-length-field-in-http-header
の回答の中に以下仕様書へのリンクとかがあるが、
https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4
読む限りContent-LengthはもしかしてHTTP/1.0時代には必須だったのかな?
今現在、 echo json_encode(...); でjsonを語れ流してるから、これアウトかよ、、、、ってちょっと萎えてる。
メモリを無駄に食わない素晴らしいコードだと思ってたんだがなあ、、、。
すまん、前後した。手間をかけて本当にすまん。
> node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない
これはその通りだが、PHPから出力をクローズしたら当然apacheにも伝わりクローズされる。
そしてこれはnodeでも同じだ。
実際は(Nodeでも)closeしてもhttpコネクションを切っているわけではない。
それだと再送要求が来た時に対応出来ないだろ。
だから、実際の低レベルの接続はNodeでもPHPでも同様に隠蔽されてる。
(勿論ApacheはHTTP/1.1だとgzipしてるし、別にバッファも持ってる)
よって、PHPでもNodeと同様に『プログラミングモデルとしては』接続を切ることが出来る。
だからやっぱり機能が足りてないんだよ。
パイプで説明した方が分かりやすいかな?
php | apache > /dev/eth0 な状況で、php が stdout(出力パイプ) をクローズすることは出来るだろ。それだけ。
その後も apache は必要なら動き続けるし、終了すれば終わる。
この構造はNodeも内部的に持ってないと話にならないから同様の筈だよ。
ただしそもそも論として「Content-Lengthは常に付けとけボケ!」なノリのようだ。
この手のTipsとしてはStackoverflowが秀逸で、
https://stackoverflow.com/questions/2773396/whats-the-content-length-field-in-http-header
の回答の中に以下仕様書へのリンクとかがあるが、
https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4
読む限りContent-LengthはもしかしてHTTP/1.0時代には必須だったのかな?
今現在、 echo json_encode(...); でjsonを語れ流してるから、これアウトかよ、、、、ってちょっと萎えてる。
メモリを無駄に食わない素晴らしいコードだと思ってたんだがなあ、、、。
717デフォルトの名無しさん (ワッチョイ 895f-VlOp)
2021/08/06(金) 23:28:26.68ID:RLLkP2Do0 >>716
最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した
そのあたりは認識してほしい
環境依存にはなるがwebサーバーに通知つする仕組みはある
fastcgi_finish_request
tps://www.php.net/manual/ja/function.fastcgi-finish-request.php
FastCGI用の物なのでapacheのmod_phpでは不可
また、Content-Lengthは後処理不要ならば付けなくても問題なし
json出すならContent-Type: application/jsonは付けたほうがいいと思う
最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した
そのあたりは認識してほしい
環境依存にはなるがwebサーバーに通知つする仕組みはある
fastcgi_finish_request
tps://www.php.net/manual/ja/function.fastcgi-finish-request.php
FastCGI用の物なのでapacheのmod_phpでは不可
また、Content-Lengthは後処理不要ならば付けなくても問題なし
json出すならContent-Type: application/jsonは付けたほうがいいと思う
718デフォルトの名無しさん (ワッチョイ 895f-VlOp)
2021/08/06(金) 23:30:33.96ID:RLLkP2Do0 楽に使うならクラス作って継承して使えばエレガントに書けると思う
719デフォルトの名無しさん (ワッチョイ 13ad-tZU0)
2021/08/07(土) 00:43:48.11ID:f2WMK3C10 androidにPHPアプリとかあるけど役に立つ?
720デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/07(土) 00:55:00.18ID:dDF85n970 >>717
> 最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した
責める気はないが、これはさすがに屁理屈だろ。
572は確かに俺の書き方が悪い。
ただ、「初心者」が間違った「やり方」を選んでトンチンカンな方向に行くことはよくある話で、
これを防ぐ為には「最終的に何を目指してるか」を言わなければならないが、
俺は575の時点で、
・俺が初心者であり、
・後処理してる最中でもブラウザにパースさせてUXを改善したいから、
・TCP接続を切りたい
と全部揃えているのだから、本当に分かってる奴が居たら、この時点で
「それはやり方を間違ってる。ヘッダにContent-Lengthを付ければそれで済む」の回答が出てきて然りなんだよ。
それがおかしな小手先テクニック合戦になったり、
或いは上記のように全部正しく揃えているのにそれを理解せず「コミュ障」呼ばわりしてくるから、
PHPerは糞だと言ってるんだよ。
これは君も含めてね。何を相手に伝えるべきか分かってないんだよ。
まあコミュ障だからこそ、(=つまり何を伝えれば通じるかが分かってない)
相手がコミョ障かどうか(=つまり必要事項が全部含まれているか)を見分けることが出来ないという、
至極当然の話で、よくあるから慣れてはいるけども。
なんかNodeを勘違いしているっぽいが、プログラミングモデルのレイヤーはPHPと同じだよ。
PHPは上手く抽象化されてる(584)というのなら、そりゃNodeでもその他でも同じだよ。
実際書けば(文法が違うだけで)ほぼ同じコードになる。
下位のTCP接続を直接切りに行けるのはCで相当野蛮に書かれたものだけだが、そんな物存在してないでしょ。
だからこれはエスパーではなく常識で読み替えられる範囲だよ。
> 最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した
責める気はないが、これはさすがに屁理屈だろ。
572は確かに俺の書き方が悪い。
ただ、「初心者」が間違った「やり方」を選んでトンチンカンな方向に行くことはよくある話で、
これを防ぐ為には「最終的に何を目指してるか」を言わなければならないが、
俺は575の時点で、
・俺が初心者であり、
・後処理してる最中でもブラウザにパースさせてUXを改善したいから、
・TCP接続を切りたい
と全部揃えているのだから、本当に分かってる奴が居たら、この時点で
「それはやり方を間違ってる。ヘッダにContent-Lengthを付ければそれで済む」の回答が出てきて然りなんだよ。
それがおかしな小手先テクニック合戦になったり、
或いは上記のように全部正しく揃えているのにそれを理解せず「コミュ障」呼ばわりしてくるから、
PHPerは糞だと言ってるんだよ。
これは君も含めてね。何を相手に伝えるべきか分かってないんだよ。
まあコミュ障だからこそ、(=つまり何を伝えれば通じるかが分かってない)
相手がコミョ障かどうか(=つまり必要事項が全部含まれているか)を見分けることが出来ないという、
至極当然の話で、よくあるから慣れてはいるけども。
なんかNodeを勘違いしているっぽいが、プログラミングモデルのレイヤーはPHPと同じだよ。
PHPは上手く抽象化されてる(584)というのなら、そりゃNodeでもその他でも同じだよ。
実際書けば(文法が違うだけで)ほぼ同じコードになる。
下位のTCP接続を直接切りに行けるのはCで相当野蛮に書かれたものだけだが、そんな物存在してないでしょ。
だからこれはエスパーではなく常識で読み替えられる範囲だよ。
721デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/07(土) 00:55:28.53ID:dDF85n970 >>717
ただまあ、これはさておき、
そもそも環境依存コードを導入する気はないが、無料鯖は大体CGIモードだから行けるのか。
とはいえ少し金かけたらモジュールも選べて、
その際にいちいち「動かなくなりました」とか言われるのが面倒だから止めとくが。
ただ、これだとやっぱり昔は必要だと認識されてたって事だよ。
正直、Content-Lengthよりも直接的で分かりやすい解決策だから、俺も606で言ってるように、
最初に整備されるAPIであり、普通のプログラマにとっては第一選択肢の筈なんだよ。
ただこれだと、モジュール化した際に不要だと見なされて落とされたってことになる。これは何でだろう?
実装自体は至極簡単だし、基本的な物だから、「問題を多発させた」とかない限り落とす判断にはならないはずだけど。
> また、Content-Lengthは後処理不要ならば付けなくても問題なし
MDNは「付いている時も、付いてない時もあります」と言い、
W3Cは「出来る限り付けろ。ストリーミング以外は付けられるだろ」と言い、
実際の他サイトは確かに「付いている」ので、ちと迷ってる。
> json出すならContent-Type: application/jsonは付けたほうがいいと思う
これは勿論付けてる。てか、そうじゃないとブラウザで正しく読めないので。
> 楽に使うならクラス作って継承して使えばエレガントに書けると思う
問題はそこではなく、メモリを出来るだけ食わない方法でやろうとしてた。
jsonはDBの読み出し結果から直接生成する(長さを予期出来ない)ので、Content-Lengthを付けるにはob_xxxxを使うしかないが、
これだと単純に倍のメモリを食ってしまうので。
まあ君らは「でも物理で殴る方が速いんでしょ?」なノリで、実際これも事実ではあるが、俺としては以下と同様、
正しく使えばポンコツでも速いぜ!を目指したいんだよ。
https://qiita.com/masarufuruya/items/3bd72326448e4f8fa569
JSがそうなんだけど、おそらくPHPも同様で、糞コードばかり食わされて正当な評価を得ておらず、
それなりに洗練されたコードだったら意外と速いんだろうとは思うよ。
Webでは「速いよりも早い方が重要」だからある程度致し方ないのだとしても。
ただまあ、これはさておき、
そもそも環境依存コードを導入する気はないが、無料鯖は大体CGIモードだから行けるのか。
とはいえ少し金かけたらモジュールも選べて、
その際にいちいち「動かなくなりました」とか言われるのが面倒だから止めとくが。
ただ、これだとやっぱり昔は必要だと認識されてたって事だよ。
正直、Content-Lengthよりも直接的で分かりやすい解決策だから、俺も606で言ってるように、
最初に整備されるAPIであり、普通のプログラマにとっては第一選択肢の筈なんだよ。
ただこれだと、モジュール化した際に不要だと見なされて落とされたってことになる。これは何でだろう?
実装自体は至極簡単だし、基本的な物だから、「問題を多発させた」とかない限り落とす判断にはならないはずだけど。
> また、Content-Lengthは後処理不要ならば付けなくても問題なし
MDNは「付いている時も、付いてない時もあります」と言い、
W3Cは「出来る限り付けろ。ストリーミング以外は付けられるだろ」と言い、
実際の他サイトは確かに「付いている」ので、ちと迷ってる。
> json出すならContent-Type: application/jsonは付けたほうがいいと思う
これは勿論付けてる。てか、そうじゃないとブラウザで正しく読めないので。
> 楽に使うならクラス作って継承して使えばエレガントに書けると思う
問題はそこではなく、メモリを出来るだけ食わない方法でやろうとしてた。
jsonはDBの読み出し結果から直接生成する(長さを予期出来ない)ので、Content-Lengthを付けるにはob_xxxxを使うしかないが、
これだと単純に倍のメモリを食ってしまうので。
まあ君らは「でも物理で殴る方が速いんでしょ?」なノリで、実際これも事実ではあるが、俺としては以下と同様、
正しく使えばポンコツでも速いぜ!を目指したいんだよ。
https://qiita.com/masarufuruya/items/3bd72326448e4f8fa569
JSがそうなんだけど、おそらくPHPも同様で、糞コードばかり食わされて正当な評価を得ておらず、
それなりに洗練されたコードだったら意外と速いんだろうとは思うよ。
Webでは「速いよりも早い方が重要」だからある程度致し方ないのだとしても。
722デフォルトの名無しさん (ワッチョイ 9910-qxAg)
2021/08/07(土) 08:23:51.18ID:xdlB1E9b0 phpでもやるかなって思ったけど、大勢で同じセッションみるとかできる?
723デフォルトの名無しさん (ワッチョイ c17b-NIVl)
2021/08/07(土) 09:24:23.62ID:dDF85n970 >>717
一応こちらの現時点の結論を言っておくと、
Content-Lengthはストリーミング以外は全部つけないと駄目だな。RFCでもSHOULDだし、
https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2
動きを見る限り、apacheもこれをスヌープしてる。
よって、「仕様準拠」なら flush() だけで何も問題ないから、
fastcgi_finish_requestはモジュール化した際に廃止された、と見える。
だから711内のページ筆者もだいぶ間違ってて、
まずConnection: closeをTCP接続終了(いわゆるFIN/FINACK/ACK)と勘違いしてるが、
実際はこれは同じコネクションを再利用するかの話だから関係ないし、
HTTP/1.1だとデフォでkeep-aliveなので無駄にcloseにするとバグに当たる可能性があるから悪手だ。
https://en.wikipedia.org/wiki/HTTP_persistent_connection#HTTP_1.1
そしてContent-Lengthを付けたら上手く行くよ!ではなく、付けないと話にならなくて、
仕様準拠=付けてれば最初からこんな事にはならずに済んでる。
だからこいつも俺も『仕様を知っている者から見れば』ただのマッチポンプでしかない。
ここで711内ページ筆者、俺、或いは君らも含めての問題は、レイヤーを間違ってることだ。
PHPは生のヘッダを普通に扱えるレイヤーでのプログラミングになるから、ヘッダについての仕様を(本来は)熟知してないといけない。
だから575に対してはいきなり「Content-Lengthヘッダ付けろ馬鹿タレ」とぶった切れないといけない。
とはいえ昨今の状況であらゆる階層の仕様を熟知しろなんてどだい無理な話ではあるが。
だからやっぱりもう一つレイヤーを上げるべきなんだ。
ヘッダの知識がない状態で具だけ書きたいのなら、ヘッダ周りを自動的によしなにやってくれるフレークワークを使うべきだろう。
そしてLaravelは見たところそんな感じだ。
なるほど、「セッション周りとかはフレームワークに任せてLaravelだけ使ってろ」というのは当たってる。
(俺も含めて)素人ほどフレームワークを使うべきだろう。
とはいえ、俺はデプロイ先が無料サーバなのでいちいち仕様確認して素PHPレイヤでのプログラミングをするしかないのだが。
一応こちらの現時点の結論を言っておくと、
Content-Lengthはストリーミング以外は全部つけないと駄目だな。RFCでもSHOULDだし、
https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2
動きを見る限り、apacheもこれをスヌープしてる。
よって、「仕様準拠」なら flush() だけで何も問題ないから、
fastcgi_finish_requestはモジュール化した際に廃止された、と見える。
だから711内のページ筆者もだいぶ間違ってて、
まずConnection: closeをTCP接続終了(いわゆるFIN/FINACK/ACK)と勘違いしてるが、
実際はこれは同じコネクションを再利用するかの話だから関係ないし、
HTTP/1.1だとデフォでkeep-aliveなので無駄にcloseにするとバグに当たる可能性があるから悪手だ。
https://en.wikipedia.org/wiki/HTTP_persistent_connection#HTTP_1.1
そしてContent-Lengthを付けたら上手く行くよ!ではなく、付けないと話にならなくて、
仕様準拠=付けてれば最初からこんな事にはならずに済んでる。
だからこいつも俺も『仕様を知っている者から見れば』ただのマッチポンプでしかない。
ここで711内ページ筆者、俺、或いは君らも含めての問題は、レイヤーを間違ってることだ。
PHPは生のヘッダを普通に扱えるレイヤーでのプログラミングになるから、ヘッダについての仕様を(本来は)熟知してないといけない。
だから575に対してはいきなり「Content-Lengthヘッダ付けろ馬鹿タレ」とぶった切れないといけない。
とはいえ昨今の状況であらゆる階層の仕様を熟知しろなんてどだい無理な話ではあるが。
だからやっぱりもう一つレイヤーを上げるべきなんだ。
ヘッダの知識がない状態で具だけ書きたいのなら、ヘッダ周りを自動的によしなにやってくれるフレークワークを使うべきだろう。
そしてLaravelは見たところそんな感じだ。
なるほど、「セッション周りとかはフレームワークに任せてLaravelだけ使ってろ」というのは当たってる。
(俺も含めて)素人ほどフレームワークを使うべきだろう。
とはいえ、俺はデプロイ先が無料サーバなのでいちいち仕様確認して素PHPレイヤでのプログラミングをするしかないのだが。
724デフォルトの名無しさん (アウアウアー Saab-MJGN)
2021/08/08(日) 13:58:58.59ID:e9M5NaPRa ぶつくさ文句ノイズ垂れ流すの鬱陶しいからNGするためにコテつけてくれよ
「PHPerは糞」とかどうだ
「PHPerは糞」とかどうだ
725デフォルトの名無しさん (ワッチョイ 13f7-tZU0)
2021/08/08(日) 14:23:41.94ID:sHQOKZVt0 chmateだと最初から荒らしってなって表示されないよ!
726デフォルトの名無しさん (ワッチョイ c134-y0A/)
2021/08/09(月) 02:00:02.31ID:gYL5uhjB0 それにしてもThe老害を絵に書いたような奴だな
加齢臭が半端ない
そんな奴が無料レンタルサーバーでできるPHP案件にしがみ付いてるのがまた笑うところ
加齢臭が半端ない
そんな奴が無料レンタルサーバーでできるPHP案件にしがみ付いてるのがまた笑うところ
727デフォルトの名無しさん (アウアウアー Saab-IXul)
2021/08/09(月) 07:34:41.94ID:nmP8QoA6a 無職の人はたくさんレス書く時間あって良いよね
728デフォルトの名無しさん (ワッチョイ 532c-Lto6)
2021/08/09(月) 13:13:55.63ID:78aLRiJY0 YouTube で有名な、雑食系エンジニア・KENTA は、
PHP は、一生やらなくてよいと言ってる
価格低下圧力がひどいでしょ。
客もプログラマーも、PHPを見下しているから、大金を出さない
だから勉強しても、まず食えない
それでサロンは、Ruby on Rails だけにしている。
マコなりとか普通、学校でも80万円コース
今はYouTube で、200万円の学校をぼったくりと言ったから、訴えられているけどw
KENTAは日本一だから、学校も訴えて知名度を上げようとしてくる
KENTAは、Railsを使っている会社は、モダンな会社とも言ってるし。
他の会社とは、明らかに異なる
PHP は、一生やらなくてよいと言ってる
価格低下圧力がひどいでしょ。
客もプログラマーも、PHPを見下しているから、大金を出さない
だから勉強しても、まず食えない
それでサロンは、Ruby on Rails だけにしている。
マコなりとか普通、学校でも80万円コース
今はYouTube で、200万円の学校をぼったくりと言ったから、訴えられているけどw
KENTAは日本一だから、学校も訴えて知名度を上げようとしてくる
KENTAは、Railsを使っている会社は、モダンな会社とも言ってるし。
他の会社とは、明らかに異なる
729デフォルトの名無しさん (ワッチョイ a15f-b60h)
2021/08/09(月) 21:41:07.25ID:Qit5eEqI0 一YouTuberの言うことを真に受けなくてもいい
730デフォルトの名無しさん (アウアウウー Sa55-YX0H)
2021/08/09(月) 22:11:02.95ID:pjjWaghZa 1つ聞きたいんですが、SCSSを導入する際メンテナンスが面倒なら嫌だなと思ってます
dart sassにサポートが切り替わった際にその前のruby−sassやnode-sassのコードをわざわざ書き換えないといけないんでしょうか?
dart sassにサポートが切り替わった際にその前のruby−sassやnode-sassのコードをわざわざ書き換えないといけないんでしょうか?
731デフォルトの名無しさん (アウアウウー Sa55-YX0H)
2021/08/10(火) 03:02:08.79ID:0jLh5m3Ra 結局Javaもphpと同じで自分で考えて構築しないとダメなんですね…
人のコードを映しても環境の違いからエラーが出ると
SASSを使うためにとんでもない時間掛かってます…
人のコードを映しても環境の違いからエラーが出ると
SASSを使うためにとんでもない時間掛かってます…
732728 (ワッチョイ 532c-Lto6)
2021/08/10(火) 11:29:36.31ID:9wi/dlAk0 ruby−sass は、かなり前に終了している
Ruby on Rails 6 では最初から、Node.js, Webpack, Babel。
当然、SCSS でBootstrap を使うことも多い
autoprefixer, browserslist とか、ミニファイなど、すべて全自動
会社では毎週、各ライブラリを更新してテストする。
この環境構築運用部門がないと、ずっと環境が古いままで直せないので、
ウイルス攻撃などを受ける
こまめに更新・テストするのは常識。
貯めてはいけない
だから、Rails入門者にも、CircleCI も必須。
最近は、AWS Fargate, Terraform なども必須で、
皆、AWSのくろかわこうへいのサロンにも入る
KENTA のサロンの初心者向け勉強のコースは、
基本情報技術者資格、Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
Ruby on Rails 6 では最初から、Node.js, Webpack, Babel。
当然、SCSS でBootstrap を使うことも多い
autoprefixer, browserslist とか、ミニファイなど、すべて全自動
会社では毎週、各ライブラリを更新してテストする。
この環境構築運用部門がないと、ずっと環境が古いままで直せないので、
ウイルス攻撃などを受ける
こまめに更新・テストするのは常識。
貯めてはいけない
だから、Rails入門者にも、CircleCI も必須。
最近は、AWS Fargate, Terraform なども必須で、
皆、AWSのくろかわこうへいのサロンにも入る
KENTA のサロンの初心者向け勉強のコースは、
基本情報技術者資格、Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
733デフォルトの名無しさん (ワッチョイ 337d-QHSv)
2021/08/10(火) 14:40:11.44ID:zAxh9PBJ0 JavaとJavaScriptの区別がついてない奴がいるらしいぞ。
734デフォルトの名無しさん (ワッチョイ e191-lZJ8)
2021/08/11(水) 13:59:27.76ID:fZr8mTrx0 こんな紛らわしい名前を付けた犯人は誰?
735PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/11(水) 21:04:34.54ID:C/NScrzP0 PHPでの参照渡しの「ノリ」が分からないのだが、どの辺が相場なのだ?
なお、 https://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728 は読んだ。これはいい記事だ。
そしてとりあえずコーディングルールを探してみたが、無い。
PSR/WordPress/Zend/Cakeのはさらっと見たが、文法だけで、動作については記述がないようだ。
だから、動作周りも含めての推奨コーディングルールがあればそれを教えてくれると助かる。
DBから読み出してフォーマットしてjsonで出力する場合、一番単純には、
$resultArr = fetch_from_DB();
format_for_API($resultArr); // 参照渡しで自己書き換え
echo json_encode($resultArr);
function &format_for_API(&$arr){
// ここで何かフォーマット
return $arr; // 直上のコードでは必要ないが、直積み(以下)用にreturnしている。
}
となる。ただしこのコードは以下の様な直積み
echo json_encode(format_for_API(fetch_from_DB()));
だと、
Notice: Only variables should be passed by reference
が出る。(ただし動く)
なお、 https://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728 は読んだ。これはいい記事だ。
そしてとりあえずコーディングルールを探してみたが、無い。
PSR/WordPress/Zend/Cakeのはさらっと見たが、文法だけで、動作については記述がないようだ。
だから、動作周りも含めての推奨コーディングルールがあればそれを教えてくれると助かる。
DBから読み出してフォーマットしてjsonで出力する場合、一番単純には、
$resultArr = fetch_from_DB();
format_for_API($resultArr); // 参照渡しで自己書き換え
echo json_encode($resultArr);
function &format_for_API(&$arr){
// ここで何かフォーマット
return $arr; // 直上のコードでは必要ないが、直積み(以下)用にreturnしている。
}
となる。ただしこのコードは以下の様な直積み
echo json_encode(format_for_API(fetch_from_DB()));
だと、
Notice: Only variables should be passed by reference
が出る。(ただし動く)
736PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/11(水) 21:04:54.72ID:C/NScrzP0 ここで、直積みコードを動かす為には format_for_API を「参照渡し」から「値渡し値返し」に変更する必要が有り、
コードは、
$resultArr = fetch_from_DB();
$resultArr = format_for_API($resultArr); // 再代入
echo json_encode($resultArr);
となる。これだと結果としては速度/メモリ共に変化無い。ただし最近の『再代入禁止』には反するので、
$resultArr = fetch_from_DB();
$resultArr_formatted = format_for_API($resultArr); // 別名
echo json_encode($resultArr_formatted);
と別名にすると、(今回の俺の場合、速度は大して変わらないが)使用メモリは増えてしまう。
これらから言えるのは、
A. format_for_APIは「参照渡し(参照返し)」が正しいはずだが、何故かNoticeが出されてしまう。
仕様としては、参照渡しに未初期化の変数が渡されたらそこでnull初期化される、ということだから、
直積みでも動くのは正しく、Noticeが過剰なように見える。(ただし以下7とは矛盾)
(PHPの構造上 is_ref が変数上にしか持てないのが問題なのだろうが、
そこはボックス化みたく変数化すればいいだけで、このような右辺値を流し込んでいる状況なら危険性はないはず。
実際動いているし。だから何でNoticeなの?となる)
B. 同名の変数に再代入する場合は(破棄されることが見えているから)最適化がかかり、問題はない。
C. 別名の変数に保存した場合、元の変数($resultArr)がそれ以降使われない場合でも、破棄されず、最適化がかからない。
結果、メモリを余分に消費する。
これについて、冒頭の記事では「そういう特殊な高級言語だ」と表現されているが、これは当たっている。
クダグダ考えずに「値渡し値返し」でひたすら全部組み上げてもそれなりに動くからだ。
そして昨今の『インミュータブル』で『再代入禁止』なのは下位での変更が上位のコードから見えないからであって、
PHPの場合は「値渡し」でガッツリ保護されているから、
『再代入禁止』『参照透過』何それ美味しいの?でも確かにそれなりに問題ないはず。
コードは、
$resultArr = fetch_from_DB();
$resultArr = format_for_API($resultArr); // 再代入
echo json_encode($resultArr);
となる。これだと結果としては速度/メモリ共に変化無い。ただし最近の『再代入禁止』には反するので、
$resultArr = fetch_from_DB();
$resultArr_formatted = format_for_API($resultArr); // 別名
echo json_encode($resultArr_formatted);
と別名にすると、(今回の俺の場合、速度は大して変わらないが)使用メモリは増えてしまう。
これらから言えるのは、
A. format_for_APIは「参照渡し(参照返し)」が正しいはずだが、何故かNoticeが出されてしまう。
仕様としては、参照渡しに未初期化の変数が渡されたらそこでnull初期化される、ということだから、
直積みでも動くのは正しく、Noticeが過剰なように見える。(ただし以下7とは矛盾)
(PHPの構造上 is_ref が変数上にしか持てないのが問題なのだろうが、
そこはボックス化みたく変数化すればいいだけで、このような右辺値を流し込んでいる状況なら危険性はないはず。
実際動いているし。だから何でNoticeなの?となる)
B. 同名の変数に再代入する場合は(破棄されることが見えているから)最適化がかかり、問題はない。
C. 別名の変数に保存した場合、元の変数($resultArr)がそれ以降使われない場合でも、破棄されず、最適化がかからない。
結果、メモリを余分に消費する。
これについて、冒頭の記事では「そういう特殊な高級言語だ」と表現されているが、これは当たっている。
クダグダ考えずに「値渡し値返し」でひたすら全部組み上げてもそれなりに動くからだ。
そして昨今の『インミュータブル』で『再代入禁止』なのは下位での変更が上位のコードから見えないからであって、
PHPの場合は「値渡し」でガッツリ保護されているから、
『再代入禁止』『参照透過』何それ美味しいの?でも確かにそれなりに問題ないはず。
737PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/11(水) 21:05:17.28ID:C/NScrzP0 俺の現環境ではBしか選択肢がないが、ここら辺はPHP界隈ではどうなってるのだ?具体的には、
1. 理想的にはAでNoticeが削除されるべきだが、既にそうなってる/これから削除予定か?
2. (知らんが、)実はPHPって一つのコードで出来てて、「おま環」ってのがあまり無く、
俺の環境でBが最適化されてれば、どの環境に持って行っても最適化されてて問題なく動くのか?
(これについてJSが悲惨なのはご存じの通り)
3. まさか、notice切ればいいだけだろ、とか言うノリか?(個別に切れるのならこれも有りだが)
4. 最適化を期待して、参照渡しの使用自体を禁止/抑止する方向か?
(真に必要な場合以外は使うな等。今回なら上記のように同名の変数に代入すればいいだけだよね、みたいな。)
5. この辺も含めての、文法(見た目)以外のコーディングルールで有名なのが有れば教えてくれ。
6. このPHP流の参照仕様、使い道無いよな?実は冒頭の記事を読んだ当初、
> PHPの参照はいちど変数が参照になってしまうと、二度ともとに戻ることができないので、扱いにくくてやっぱりダメです。
とあるので、参照は変数側に固定で、参照変数を値渡しの関数の引数にしても常に参照渡し、なら、
スゲーカッケー!!!と思って試したが、全くそうじゃなかった。
しかも参照渡しの関数の戻り値を普通に値変数として確保出来るし、「二度ともとに戻ることができない」というのが意味不明。
Cみたいに呼ぶたびに自由に切り替えられることを想定しているのなら、それは過剰で、
(そもそも元々出来たようだがPHP4.1.3で廃止された、というのを見た覚えがあるが、再確認出来ない)
実際はRustみたいに「mutableな変数は最初から決まっているので宣言時に固定する」で問題ない。
だからコピーオンライト(これってPHP.netでは書いてないだろ!今日初めて知ったわ!)で
全部見た目は値渡し値返し、なら、凄く先進的ではあったのだが。
(なお参照の取り扱いは他言語も苦労してて、C++でも失敗してる)
1. 理想的にはAでNoticeが削除されるべきだが、既にそうなってる/これから削除予定か?
2. (知らんが、)実はPHPって一つのコードで出来てて、「おま環」ってのがあまり無く、
俺の環境でBが最適化されてれば、どの環境に持って行っても最適化されてて問題なく動くのか?
(これについてJSが悲惨なのはご存じの通り)
3. まさか、notice切ればいいだけだろ、とか言うノリか?(個別に切れるのならこれも有りだが)
4. 最適化を期待して、参照渡しの使用自体を禁止/抑止する方向か?
(真に必要な場合以外は使うな等。今回なら上記のように同名の変数に代入すればいいだけだよね、みたいな。)
5. この辺も含めての、文法(見た目)以外のコーディングルールで有名なのが有れば教えてくれ。
6. このPHP流の参照仕様、使い道無いよな?実は冒頭の記事を読んだ当初、
> PHPの参照はいちど変数が参照になってしまうと、二度ともとに戻ることができないので、扱いにくくてやっぱりダメです。
とあるので、参照は変数側に固定で、参照変数を値渡しの関数の引数にしても常に参照渡し、なら、
スゲーカッケー!!!と思って試したが、全くそうじゃなかった。
しかも参照渡しの関数の戻り値を普通に値変数として確保出来るし、「二度ともとに戻ることができない」というのが意味不明。
Cみたいに呼ぶたびに自由に切り替えられることを想定しているのなら、それは過剰で、
(そもそも元々出来たようだがPHP4.1.3で廃止された、というのを見た覚えがあるが、再確認出来ない)
実際はRustみたいに「mutableな変数は最初から決まっているので宣言時に固定する」で問題ない。
だからコピーオンライト(これってPHP.netでは書いてないだろ!今日初めて知ったわ!)で
全部見た目は値渡し値返し、なら、凄く先進的ではあったのだが。
(なお参照の取り扱いは他言語も苦労してて、C++でも失敗してる)
738PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/11(水) 21:05:44.32ID:C/NScrzP0 7.
> リファレンス渡しが想定されているところに、値渡しを行うとエラーになります。
> https://www.php.net/manual/ja/functions.arguments.php
ってあるのだが、今回ってこれか?なら動いてはいるがやっぱりアウトなのか?
ちなみに直積みになってるのは、元はfetch_from_DBの出力側で format_for_APIしてたのを、
json_encodeの入力側でやるように移動して、結果的に <?= => の間にブッ込まれてるからだ。
まあ色々文句有るんだろうが、それでも答えてやってもいいぞ、って人はよろしく。
一応724の要求どおりにこのスレ内ではコテにしておく。
> リファレンス渡しが想定されているところに、値渡しを行うとエラーになります。
> https://www.php.net/manual/ja/functions.arguments.php
ってあるのだが、今回ってこれか?なら動いてはいるがやっぱりアウトなのか?
ちなみに直積みになってるのは、元はfetch_from_DBの出力側で format_for_APIしてたのを、
json_encodeの入力側でやるように移動して、結果的に <?= => の間にブッ込まれてるからだ。
まあ色々文句有るんだろうが、それでも答えてやってもいいぞ、って人はよろしく。
一応724の要求どおりにこのスレ内ではコテにしておく。
739デフォルトの名無しさん (アウアウクー MMdd-aRn8)
2021/08/11(水) 21:40:15.37ID:PueOOWfrM 参照返しも値返しもメモリ使用量差は今日日のメモリ容量から見たらわずかな違いだから気にしなくて良い。
参照返し、値返しを考慮したメモリ省使用量化はクセのあるコードになる。
書いた本人以外が今後保守する場合は、その人にもわかりやすく、ミスさせないためにそういうコードを書かないほうが良い。
参照返し、値返しを考慮したメモリ省使用量化はクセのあるコードになる。
書いた本人以外が今後保守する場合は、その人にもわかりやすく、ミスさせないためにそういうコードを書かないほうが良い。
740PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/11(水) 22:21:08.32ID:C/NScrzP0 >>739
その記事とかからすると、どうも過度にやってる奴が居るようだが、今回の件は全くそうではないだろ。
むしろ、「値渡しで自己に再代入って、こいつ参照渡し知らない馬鹿だろ!」って、お前らなら突っ込んでくるところだろ。
がまあ、PHP鯖はPCでしかないので大富豪プログラミングでおk、なのは確かにその通りかもな。
その記事とかからすると、どうも過度にやってる奴が居るようだが、今回の件は全くそうではないだろ。
むしろ、「値渡しで自己に再代入って、こいつ参照渡し知らない馬鹿だろ!」って、お前らなら突っ込んでくるところだろ。
がまあ、PHP鯖はPCでしかないので大富豪プログラミングでおk、なのは確かにその通りかもな。
741デフォルトの名無しさん (ワッチョイ 51ad-Z6Ah)
2021/08/12(木) 00:47:16.96ID:xG1RPqdX0 スクレイピングは逮捕される危険があるって聞いたんだけどマジ?
742デフォルトの名無しさん (ワッチョイ a15f-b60h)
2021/08/12(木) 01:38:59.56ID:wrwwe/e30 威力業務妨害の可能性はあるだろう
743デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 02:19:59.04ID:ZBXe4sG30 被害を受けた事を証明しないとならないぞ
744デフォルトの名無しさん (ワッチョイ 532c-Lto6)
2021/08/12(木) 11:23:42.11ID:s+UN3BdM0 スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある
初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!
だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない
Udemy の山浦清透、2021/6 の動画を参照。
PHP で、マイナビ転職をスクレイピングしてる
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!
だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない
Udemy の山浦清透、2021/6 の動画を参照。
PHP で、マイナビ転職をスクレイピングしてる
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
745デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 11:52:11.82ID:ZBXe4sG30 仮に無限ループしたとしても落ちるのはサーバー側に不具合があるからだろ
746デフォルトの名無しさん (ワッチョイ 532c-Lto6)
2021/08/12(木) 12:16:26.88ID:s+UN3BdM0 >>735
Ruby on Rails では、
format.html
format.json
と書いておけば、
/books/1 にアクセスすれば、HTML を、
/books/1.json にアクセスすれば、JSON を返す
jbuilder モジュールでも、JSONを簡単に書ける
Ruby on Rails では、
format.html
format.json
と書いておけば、
/books/1 にアクセスすれば、HTML を、
/books/1.json にアクセスすれば、JSON を返す
jbuilder モジュールでも、JSONを簡単に書ける
747デフォルトの名無しさん (ワッチョイ c134-y0A/)
2021/08/12(木) 14:40:12.42ID:B1L5o8hM0748デフォルトの名無しさん (ワッチョイ c134-y0A/)
2021/08/12(木) 14:43:21.86ID:B1L5o8hM0 >>745がサーバ構築した事がない人間なのは分かった
749デフォルトの名無しさん (ワッチョイ c134-y0A/)
2021/08/12(木) 14:52:03.99ID:B1L5o8hM0 >>746
お前も PHPerは糞 おじさんを見習って
名前欄に RUBYガイジ って入れてくんない?
PHPerは糞おじさん、2021年にもなって参照渡しでメモリがーとか言ってるはクソ笑う
さすが加齢臭おじさんやね
お前も PHPerは糞 おじさんを見習って
名前欄に RUBYガイジ って入れてくんない?
PHPerは糞おじさん、2021年にもなって参照渡しでメモリがーとか言ってるはクソ笑う
さすが加齢臭おじさんやね
750デフォルトの名無しさん (ワッチョイ 3101-mBWR)
2021/08/12(木) 14:59:04.04ID:sye04Gqu0 <input type="text" name="text1" value="aaa" readonly>
ユーザー側がvalue="aaa"を書き換えてpostする事ってできますか?
出来るのだったらhtmlのソースに載るものをsqlに入れる時は全部プレースホルダにしないといけないですよね
ユーザー側がvalue="aaa"を書き換えてpostする事ってできますか?
出来るのだったらhtmlのソースに載るものをsqlに入れる時は全部プレースホルダにしないといけないですよね
751デフォルトの名無しさん (ワッチョイ 532c-Lto6)
2021/08/12(木) 15:14:15.05ID:s+UN3BdM0 クライアントから送られてくるものは、絶対に信用してはならない。
place holder を使うのが基本
ドラクエ10 では、0.2% ほど、おかしなデータが送られてくると言ってる
伝送エラーでも、パリティーを再計算して、
正しいデータのように見せかけて伝送する、ルーターがある。
そういうルーターを、世界中から排除できない
place holder を使うのが基本
ドラクエ10 では、0.2% ほど、おかしなデータが送られてくると言ってる
伝送エラーでも、パリティーを再計算して、
正しいデータのように見せかけて伝送する、ルーターがある。
そういうルーターを、世界中から排除できない
752デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 15:29:27.65ID:ZBXe4sG30753デフォルトの名無しさん (ワッチョイ 937c-nI4z)
2021/08/12(木) 15:30:13.40ID:39FD7TF90754デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 15:50:17.28ID:ZBXe4sG30755デフォルトの名無しさん (ワッチョイ 3101-mBWR)
2021/08/12(木) 15:51:38.16ID:sye04Gqu0756デフォルトの名無しさん (ワッチョイ ebbb-F4Jt)
2021/08/12(木) 15:58:48.50ID:jvdC9oQ40 >>754
それがナンナンダヨ
岡崎図書館事件は、お前の言うようなシステムだったとしても逮捕されて起訴猶予がくだされたって話だぞ
あと三菱じゃなくてMDISな
子会社ってのは別会社なんだよ
お前社会経験無いだろ
それがナンナンダヨ
岡崎図書館事件は、お前の言うようなシステムだったとしても逮捕されて起訴猶予がくだされたって話だぞ
あと三菱じゃなくてMDISな
子会社ってのは別会社なんだよ
お前社会経験無いだろ
757デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 16:03:27.95ID:ZBXe4sG30 最近も偽造で有名になった、あの三菱
ホント、三菱の名前って有名になったよな
ホント、三菱の名前って有名になったよな
758デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 16:08:04.61ID:ZBXe4sG30 >>756
不具合がある事は以前からは悪していたが、顧客には伝えていなかった
定期メンテナンスの度に、コッソリ修正を加えていたが、
岡崎図書館だけはチャンスがなかった
通常の利用者がアクセスするだけで落ちるサーバー
毎朝再起動するのが日課だったそうだ
そうしないとダウンするサーバー
隠蔽体質は独特だよな
不具合がある事は以前からは悪していたが、顧客には伝えていなかった
定期メンテナンスの度に、コッソリ修正を加えていたが、
岡崎図書館だけはチャンスがなかった
通常の利用者がアクセスするだけで落ちるサーバー
毎朝再起動するのが日課だったそうだ
そうしないとダウンするサーバー
隠蔽体質は独特だよな
759デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 16:12:07.54ID:ZBXe4sG30 岡崎図書館だけでなく、システム導入した全国の図書館で不具合は起きていた
各図書館は定期メンテナンスがあった際に修正版を導入していたが、
岡崎図書館だけは、必要ないとメンテナンスを断られていた
不具合があると、本当のことを伝えてさえいれば修正できたのにな
各図書館は定期メンテナンスがあった際に修正版を導入していたが、
岡崎図書館だけは、必要ないとメンテナンスを断られていた
不具合があると、本当のことを伝えてさえいれば修正できたのにな
760デフォルトの名無しさん (ワッチョイ ebbb-F4Jt)
2021/08/12(木) 16:14:36.36ID:jvdC9oQ40 >>759
おまえ、気持ち悪いやつだな
おまえ、気持ち悪いやつだな
761デフォルトの名無しさん (ワッチョイ 532c-Lto6)
2021/08/12(木) 17:00:02.35ID:s+UN3BdM0 確か、毎秒アクセスしてたのだろ。一日で何万回も。
それで落ちた。
普通のアクセスでは落ちない
それで自白に追い込まれた。
自白しないと、一生家族を追い込むぞと脅されて、自白させられた
日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しない
だから、拷問捜査でも自白すると、絶対にくつがえらない。
自白したのが嘘でしたと言っても、裁判官がそんな事はあり得ないと、絶対に認めない
それで、ボクサーが自白して、今も死刑囚のままの事件がある。
DNA 判定でも別人なのに、裁判官が嘘で自白する事はあり得ないと、言い続けている
でも、無罪が国民にばれているから、有罪のまま釈放してる
ボクサーはパンチドランカーで、知的障害になりやすい。
そういう奴を探してきて、拷問して自白させる。
知的障害は、すぐに自白するから
そうやって犯人に仕立て上げる
自白を優先させる国は、世界中でも日本だけ
有罪率も他国では、50% だけど、日本だけ100%。
だから半分は、自白による冤罪
それで落ちた。
普通のアクセスでは落ちない
それで自白に追い込まれた。
自白しないと、一生家族を追い込むぞと脅されて、自白させられた
日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しない
だから、拷問捜査でも自白すると、絶対にくつがえらない。
自白したのが嘘でしたと言っても、裁判官がそんな事はあり得ないと、絶対に認めない
それで、ボクサーが自白して、今も死刑囚のままの事件がある。
DNA 判定でも別人なのに、裁判官が嘘で自白する事はあり得ないと、言い続けている
でも、無罪が国民にばれているから、有罪のまま釈放してる
ボクサーはパンチドランカーで、知的障害になりやすい。
そういう奴を探してきて、拷問して自白させる。
知的障害は、すぐに自白するから
そうやって犯人に仕立て上げる
自白を優先させる国は、世界中でも日本だけ
有罪率も他国では、50% だけど、日本だけ100%。
だから半分は、自白による冤罪
762デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 17:13:39.26ID:ZBXe4sG30 岡崎図書館システム作った企業は、サーバ構築した事がないんだろう
あろうことか、システムの全ソースファイルがネットから丸見えだった
当時大勢がソース閲覧してレビュー大会始めてたな
隠しきれなくなった企業は、最期に全面謝罪していた
あろうことか、システムの全ソースファイルがネットから丸見えだった
当時大勢がソース閲覧してレビュー大会始めてたな
隠しきれなくなった企業は、最期に全面謝罪していた
763デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 17:21:59.60ID:ZBXe4sG30 >今年5月に発覚した岡崎市立中央図書館ウェブサイト「サイバー攻撃」事件は悪意のない一利用者の
>プログラムによる DoS 攻撃とみられており当初「偽計業務妨害の疑いで」の逮捕も妥当かと思われて
>いたのですが、不起訴(起訴猶予)処分が発表された後で図書館のプログラムを入手した朝日新聞が
>セキュリティ専門家らに調査を依頼したところ、実は図書館プログラムのバグだったことが判明。
> このコードの場合、DB接続はアクセス元のブラウザ専用として確保(ASPセッションに紐付け)され、
>ASPセッションがタイムアウトするまでの間(7月の時点で岡崎市立中央図書館では実測で620秒くらい
>だった)、閉じられることなく(使いもしないのに)占有されてしまう。その間に新しい閲覧者(ブラウザが)
>接続してくると、次々新しいDB接続が確保され、その最大数に達すると、それ以上のアクセスを受付け
>なくなってしまう。
>しかも酷いことに新聞報道に基づいたコメントによると、ソフトウェア開発業者の三菱電機インフォメーショ
>ンシステムズ(MDIS)は2006年にこのバグを修正していたが、それ以前に導入した顧客には「ホームペー
>ジが閲覧しにくくなるのは、コンピューターの性能が低いからだ」と説明、「新しいサーバーを導入して金を
>出させるために、わざと情報を秘密にしていたようですね」。
https://ameblo.jp/ecomstation/entry-10627088813.html
>プログラムによる DoS 攻撃とみられており当初「偽計業務妨害の疑いで」の逮捕も妥当かと思われて
>いたのですが、不起訴(起訴猶予)処分が発表された後で図書館のプログラムを入手した朝日新聞が
>セキュリティ専門家らに調査を依頼したところ、実は図書館プログラムのバグだったことが判明。
> このコードの場合、DB接続はアクセス元のブラウザ専用として確保(ASPセッションに紐付け)され、
>ASPセッションがタイムアウトするまでの間(7月の時点で岡崎市立中央図書館では実測で620秒くらい
>だった)、閉じられることなく(使いもしないのに)占有されてしまう。その間に新しい閲覧者(ブラウザが)
>接続してくると、次々新しいDB接続が確保され、その最大数に達すると、それ以上のアクセスを受付け
>なくなってしまう。
>しかも酷いことに新聞報道に基づいたコメントによると、ソフトウェア開発業者の三菱電機インフォメーショ
>ンシステムズ(MDIS)は2006年にこのバグを修正していたが、それ以前に導入した顧客には「ホームペー
>ジが閲覧しにくくなるのは、コンピューターの性能が低いからだ」と説明、「新しいサーバーを導入して金を
>出させるために、わざと情報を秘密にしていたようですね」。
https://ameblo.jp/ecomstation/entry-10627088813.html
764761 (ワッチョイ 532c-Lto6)
2021/08/12(木) 18:07:20.17ID:s+UN3BdM0 日本では自白をしたら、絶対にくつがえせない
裁判で、無理やり拷問捜査で自白させられたと言っても、
裁判官がそんな事はあり得ないと、絶対に認めない
自白して、100% 有罪に出来るから、立件されなかっただけ
日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しないから、有罪と同じ
青汁王子みたいに、検察庁の拷問取り調べを発信したら、起訴されて有罪になった。
一方、徳井みたいに脱税を認めたら、不起訴になった
だから、青汁王子は検察改革として、選挙に立候補するかも知れない
日本の裁判の半分は、自白のみで証拠がない。
だから、本当は無罪だと国民にばれないように、マスコミを使って印象操作する
毎日ひっきりなしに、事件の捜査進行をマスコミにリークして、犯人だとでっち上げる。
それで実質的に、裁判所では裁判をしない
西村と同じ。
自公は何も立法せず、銀行へ要請して、酒屋に資金提供しないように締め上げる
これは要請で強制力がないから、自公は責任を負わない。
単に、銀行が加害者になるだけw
裁判で、無理やり拷問捜査で自白させられたと言っても、
裁判官がそんな事はあり得ないと、絶対に認めない
自白して、100% 有罪に出来るから、立件されなかっただけ
日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しないから、有罪と同じ
青汁王子みたいに、検察庁の拷問取り調べを発信したら、起訴されて有罪になった。
一方、徳井みたいに脱税を認めたら、不起訴になった
だから、青汁王子は検察改革として、選挙に立候補するかも知れない
日本の裁判の半分は、自白のみで証拠がない。
だから、本当は無罪だと国民にばれないように、マスコミを使って印象操作する
毎日ひっきりなしに、事件の捜査進行をマスコミにリークして、犯人だとでっち上げる。
それで実質的に、裁判所では裁判をしない
西村と同じ。
自公は何も立法せず、銀行へ要請して、酒屋に資金提供しないように締め上げる
これは要請で強制力がないから、自公は責任を負わない。
単に、銀行が加害者になるだけw
765デフォルトの名無しさん (ワッチョイ 5102-+UG9)
2021/08/12(木) 18:07:42.18ID:HkfEGEyR0 プログラミング言語を作るヒントのために
メモリがー
参照がー
という流れでもないな
メモリがー
参照がー
という流れでもないな
766デフォルトの名無しさん (アウアウクー MMdd-IXul)
2021/08/12(木) 18:50:40.99ID:fLUL3BRXM >>760
例のコテハンおじさんだぞ
例のコテハンおじさんだぞ
767デフォルトの名無しさん (ワッチョイ 3163-Z6Ah)
2021/08/12(木) 18:56:05.94ID:ZBXe4sG30 >三菱電機の不祥事が止まりません。労務問題に品質不正などが相次ぎ、6月29日には
>鉄道車両向け空調装置において、35年以上にわたる不正検査の問題が発覚しました。
>7月2日に記者会見した三菱電機の杉山武史社長は組織的な不正行為と認め、引責辞
>任を表明する事態となりました。外部の弁護士を起用した調査委員会を発足し、原因究
>明や再発防止策の策定に乗り出しました。
体質として、どこかおかしい
>鉄道車両向け空調装置において、35年以上にわたる不正検査の問題が発覚しました。
>7月2日に記者会見した三菱電機の杉山武史社長は組織的な不正行為と認め、引責辞
>任を表明する事態となりました。外部の弁護士を起用した調査委員会を発足し、原因究
>明や再発防止策の策定に乗り出しました。
体質として、どこかおかしい
768PHPerは糞 (ワッチョイ c17b-NIVl)
2021/08/12(木) 20:24:45.08ID:M/4woqjc0 >>749
それだけ言ってNGし切れないとか超ダセエ。ゆとり臭すぎ。
>>765
それは俺に言ってるのか?
なら俺はいいが、場所は移るべきだ。ここの連中は興味もないだろうし。
PHPを中心に考えるのなら、候補としてはWebプログラミング板かな?
592を額面どおり受け取って移動でいい。
他に希望があれば指定してくれ。
(なおPHPを中心に考える必要は全くないので、他言語スレでも問題なし)
一般的にはプログラミング言語開発者は複数の言語を使いこなしていて、
それらで駄目な点を自身の言語で改善するものだから、
創始者のプログラミング観どおりにやればどフィットするものだが、
ラスマスはああいう感じで他の連中とは違うし、
実際、PHPの参照の仕様は、使い道なさそうに見える。
(ただし俺は仕様を完全に理解しているわけではない)
PHP.netには、コピーオンライトと書いておくべきだろう。
ほぼ完璧に見えるPHP.netだが、これを落としているのは痛い。
(ただし他言語はもっとズボズボだから、PHP.netだからこその要求水準ではあるが)
それだけ言ってNGし切れないとか超ダセエ。ゆとり臭すぎ。
>>765
それは俺に言ってるのか?
なら俺はいいが、場所は移るべきだ。ここの連中は興味もないだろうし。
PHPを中心に考えるのなら、候補としてはWebプログラミング板かな?
592を額面どおり受け取って移動でいい。
他に希望があれば指定してくれ。
(なおPHPを中心に考える必要は全くないので、他言語スレでも問題なし)
一般的にはプログラミング言語開発者は複数の言語を使いこなしていて、
それらで駄目な点を自身の言語で改善するものだから、
創始者のプログラミング観どおりにやればどフィットするものだが、
ラスマスはああいう感じで他の連中とは違うし、
実際、PHPの参照の仕様は、使い道なさそうに見える。
(ただし俺は仕様を完全に理解しているわけではない)
PHP.netには、コピーオンライトと書いておくべきだろう。
ほぼ完璧に見えるPHP.netだが、これを落としているのは痛い。
(ただし他言語はもっとズボズボだから、PHP.netだからこその要求水準ではあるが)
769デフォルトの名無しさん (アウアウアー Sad6-pv9v)
2021/08/13(金) 01:24:24.59ID:uAR6k+KCa DBのコネクションプーリングとかWEBアプリならLaravelにおまかせで良いじゃん
770デフォルトの名無しさん (ワッチョイ c2a5-NTPF)
2021/08/13(金) 01:52:40.74ID:kzYHP2KN0 じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?
771デフォルトの名無しさん (ワッチョイ 3163-NTPF)
2021/08/13(金) 02:00:55.03ID:mbVVcoUY0 robots.txt遵守は一種の紳士協定のようなもので、法的な強制力は無い
OKかどうかの判断は結構難しいと思う。
たとえ手順が正当だとしても、相手サーバーを落とす目的で
実行していると見なされれば業務妨害罪は成立する
これは妨害する意図でしつこく電話を掛け、
対応に追われる状態になれば、妨害罪が成立するのと同じ
大量のアクセスになる場合は、事前に相手に了解を取るか、
リクエスト内のエージェント情報の中に、連絡先を書いておくとかする
OKかどうかの判断は結構難しいと思う。
たとえ手順が正当だとしても、相手サーバーを落とす目的で
実行していると見なされれば業務妨害罪は成立する
これは妨害する意図でしつこく電話を掛け、
対応に追われる状態になれば、妨害罪が成立するのと同じ
大量のアクセスになる場合は、事前に相手に了解を取るか、
リクエスト内のエージェント情報の中に、連絡先を書いておくとかする
772デフォルトの名無しさん (アウアウウー Saa5-5/Wf)
2021/08/13(金) 02:13:34.16ID:K6cyKUrLa773デフォルトの名無しさん (ワッチョイ 027c-HGjx)
2021/08/13(金) 02:35:57.29ID:oRQ6/bVP0 >>770
してもいいがアク禁にされたり大量アクセスして訴えられても知らないが
してもいいがアク禁にされたり大量アクセスして訴えられても知らないが
774デフォルトの名無しさん (ワッチョイ e95f-rk8R)
2021/08/13(金) 03:32:07.80ID:IEEGs8930 teratail見るとアホほどスクレイピングしたがるのが分かる
775デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 09:43:07.07ID:5/dvlHjt0777デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 09:50:20.10ID:5/dvlHjt0 PHPerは糞 おじさん相変わらず元気に加齢臭撒き散らしてて草w
無駄な長文は無能の証拠
まぁこいつはコテハン付けてるだけマシだけどな
無駄な長文は無能の証拠
まぁこいつはコテハン付けてるだけマシだけどな
778744 (ワッチョイ e22c-MEry)
2021/08/13(金) 12:16:30.97ID:S8120IP70 基本、スクレイピングじゃなくて、
サイトと契約して、サイトのAPI を使う
YouTube API, Google Maps API など
5ch も、そう。
契約して、APIを使う。
勝手にスクレイピングすると、どうなるか知りませんよと、脅し文句が書いてある
スクレイピングする所は、APIを提供していないサイトで、
robots.txt を遵守する
とにかくスクレイピングは、初心者向けじゃない。
初心者のコードには、バグが多く、
無限ループでアクセスしたりするから、超危険!
だから、そういう依頼があっても、受けてはいけない。
スクレイピングの本にも、スクレイピングしないように書いてある。
書いていないと、スクレイピングを推奨した人も、共犯者になるから
>>744
のUdemy の山浦清透、動画を参照。
PHP で、マイナビ転職をスクレイピングしてる
サイトと契約して、サイトのAPI を使う
YouTube API, Google Maps API など
5ch も、そう。
契約して、APIを使う。
勝手にスクレイピングすると、どうなるか知りませんよと、脅し文句が書いてある
スクレイピングする所は、APIを提供していないサイトで、
robots.txt を遵守する
とにかくスクレイピングは、初心者向けじゃない。
初心者のコードには、バグが多く、
無限ループでアクセスしたりするから、超危険!
だから、そういう依頼があっても、受けてはいけない。
スクレイピングの本にも、スクレイピングしないように書いてある。
書いていないと、スクレイピングを推奨した人も、共犯者になるから
>>744
のUdemy の山浦清透、動画を参照。
PHP で、マイナビ転職をスクレイピングしてる
779デフォルトの名無しさん (ワッチョイ 62a7-7iwQ)
2021/08/13(金) 17:39:58.89ID:cfxShLTH0 グローバルスコープに定義した関数は、クラスの中のメソッド内でそのまま使えるのですか?
使えるのが奇妙な気がするのですが。。。
グローバルな変数は、クラス内では、そのままでは使えないですよね。
使えるのが奇妙な気がするのですが。。。
グローバルな変数は、クラス内では、そのままでは使えないですよね。
780デフォルトの名無しさん (ワッチョイ 4102-fZBI)
2021/08/13(金) 19:26:14.32ID:NFq4Eq4J0 そのままでなく、
var で宣言して $this->num
昔はインスタンスの呼び出し無く使えたけど、
開発陣営に割り込んで圧かけて、
「難しくなければなりません」
と言って無茶苦茶にした人がいるんだよ。
var で宣言して $this->num
昔はインスタンスの呼び出し無く使えたけど、
開発陣営に割り込んで圧かけて、
「難しくなければなりません」
と言って無茶苦茶にした人がいるんだよ。
781デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 20:10:05.70ID:5/dvlHjt0782デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 20:11:24.31ID:5/dvlHjt0 >>780
お前質問の意味分かってないだろ
お前質問の意味分かってないだろ
783デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 20:14:02.70ID:5/dvlHjt0 >>779は namespace を理解してない可能性もあるか…
784デフォルトの名無しさん (ワッチョイ c281-7iwQ)
2021/08/13(金) 20:24:47.97ID:9sqfFN6A0 >>781
>>どういう風に使えたら
グローバルな関数を、いわば閉じてるクラスのメソッド内で使えること自体が奇妙に思えたのです。
オブジェクト指向のカプセル化に反するせいかもしれません。
たまたま、今日、グローバル関数をクラスメソッド内で使ってみたら使えてしまい困惑したので、
気になり尋ねてみた次第です。
global $hoge; みたいに宣言してから使うなら、なるほど納得できるのですけど、
宣言なしで、いきなり使えてしまい、戸惑ってしまいました。
便利ではあるけど、使うのはちょっと怖い感じもします。
>>どういう風に使えたら
グローバルな関数を、いわば閉じてるクラスのメソッド内で使えること自体が奇妙に思えたのです。
オブジェクト指向のカプセル化に反するせいかもしれません。
たまたま、今日、グローバル関数をクラスメソッド内で使ってみたら使えてしまい困惑したので、
気になり尋ねてみた次第です。
global $hoge; みたいに宣言してから使うなら、なるほど納得できるのですけど、
宣言なしで、いきなり使えてしまい、戸惑ってしまいました。
便利ではあるけど、使うのはちょっと怖い感じもします。
785デフォルトの名無しさん (ワッチョイ 4102-fZBI)
2021/08/13(金) 20:38:23.23ID:NFq4Eq4J0 PHP言語を開発した私が話についていけないなんて!
いやぁぁぁーーー!!!
まあいいや。
頑張ってね。
いやぁぁぁーーー!!!
まあいいや。
頑張ってね。
786デフォルトの名無しさん (ワッチョイ c281-7iwQ)
2021/08/13(金) 21:14:52.64ID:9sqfFN6A0 global $hoge;//グローバル変数の宣言
global $hoge();//グローバル関数の宣言(不要)
考えてみたら、両者とも宣言が必要な方が直感的でわかりやすいですよね。
global $hoge();//グローバル関数の宣言(不要)
考えてみたら、両者とも宣言が必要な方が直感的でわかりやすいですよね。
787デフォルトの名無しさん (ワッチョイ c281-7iwQ)
2021/08/13(金) 21:22:26.06ID:9sqfFN6A0 global hoge();//グローバル関数の宣言(不要)
$マークはいらなかったですね
$マークはいらなかったですね
788デフォルトの名無しさん (ワッチョイ 9901-fZBI)
2021/08/13(金) 21:22:29.93ID:G+odjofr0789デフォルトの名無しさん (ワッチョイ c281-7iwQ)
2021/08/13(金) 21:33:50.60ID:9sqfFN6A0 >>788
なるほど、たしかに組み込み関数は、クラスのメソッド内で自由に使えますね。
ユーザー定義関数もそれと同じと考えれば、そこで使えるのは当然なのか。
目から鱗、モヤモヤ感が解消しました。ありがとうございました。
なるほど、たしかに組み込み関数は、クラスのメソッド内で自由に使えますね。
ユーザー定義関数もそれと同じと考えれば、そこで使えるのは当然なのか。
目から鱗、モヤモヤ感が解消しました。ありがとうございました。
790デフォルトの名無しさん (ブーイモ MMb6-YIHQ)
2021/08/13(金) 21:55:41.81ID:hsOq5UIAM 先週から勉強を始めた学生なんですが、
初心者向けの入門書の例文どおり入力してるはずなのにエラーが出たり正しく動作しなかったりで、
間違ってると思われる箇所を何度見直してもダメだったのに、
本の付録のサンプルコードでその部分を上書きすると動くようになることがあるんですが、何が悪いんですかね?
知識を習得する前に、間違い探しで日が暮れて還暦になっちゃいそうです〜_| ̄|○
機嫌で動いたり動かなかったりすることあります?
初心者向けの入門書の例文どおり入力してるはずなのにエラーが出たり正しく動作しなかったりで、
間違ってると思われる箇所を何度見直してもダメだったのに、
本の付録のサンプルコードでその部分を上書きすると動くようになることがあるんですが、何が悪いんですかね?
知識を習得する前に、間違い探しで日が暮れて還暦になっちゃいそうです〜_| ̄|○
機嫌で動いたり動かなかったりすることあります?
791蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd62-/WPc)
2021/08/13(金) 21:58:11.89ID:ZbJ7zOZVd 全角と半角の区別、大文字と小文字の区別とかわかる?
全角スペースって知ってる? 日本語プログラミングには落とし穴が多いんだよ。
全角スペースって知ってる? 日本語プログラミングには落とし穴が多いんだよ。
792デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 22:06:11.14ID:5/dvlHjt0793デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 22:14:27.56ID:5/dvlHjt0 >>790
とりあえず自分の書くコード先頭に
error_reporting(E_ALL);
ini_set('display_errors', 1);
を書いて出力されるエラー文を読もうな
エラー文が読めない人はいくらやっても時間の無駄
毎回この2行を書くのは面倒くさいからこれを読むといい
https://qiita.com/fallout/items/31f793708b243033fab1
とりあえず自分の書くコード先頭に
error_reporting(E_ALL);
ini_set('display_errors', 1);
を書いて出力されるエラー文を読もうな
エラー文が読めない人はいくらやっても時間の無駄
毎回この2行を書くのは面倒くさいからこれを読むといい
https://qiita.com/fallout/items/31f793708b243033fab1
794790 (ブーイモ MMb6-YIHQ)
2021/08/13(金) 22:17:16.92ID:hsOq5UIAM796蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd62-/WPc)
2021/08/13(金) 22:22:36.30ID:ZbJ7zOZVd 日本語では使わない記号というのも落とし穴だね。
'と`の違い分かる? :と;の違いわかる?
'と`の違い分かる? :と;の違いわかる?
797デフォルトの名無しさん (ワッチョイ 7934-zHN7)
2021/08/13(金) 22:23:25.12ID:5/dvlHjt0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 【高市速報】明日から中国からの輸入が停止すれば2ヵ月で国内の生産業に53兆円の損失発生 [931948549]
- 俺様、2個1000円『ジューシーくんハンバーグ』焼き失敗、生肉を食うことに(2年ぶり2度目) これ安倍晋三の責任100%だろ [928194223]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 維新の吉村代表「高市総理に中国総領事の国外退去を要請した。今後、知事として中国イベントには出席しない」 [359572271]
