!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:P0iZ4CYt0593デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 10:14:26.57ID:F8+XC2Dv0 >>592
LaravelはPHPで書かれてるのだから、素のPHPで出来ないことが出来るはずがないだろ。
と思ってるのだが、この認識が間違ってるのか?
まあ、導入する予定はないが、見てみるよ。
Webプログラミング板のスレはさらっと読んでみたが、ぶっちゃけここと大差ないような。
まあ、ここで一通り終了したら向こうでも聞いてみるかも。
なお、俺はプログラミングの初心者ではないが、PHPに関しては初心者だ。
一通りも知らないからPHP.netをいちいち引きながら書いてる。
それでいちいち、「他言語ならこうだけど、PHPならどう書くの?」になるわけ。
LaravelはPHPで書かれてるのだから、素のPHPで出来ないことが出来るはずがないだろ。
と思ってるのだが、この認識が間違ってるのか?
まあ、導入する予定はないが、見てみるよ。
Webプログラミング板のスレはさらっと読んでみたが、ぶっちゃけここと大差ないような。
まあ、ここで一通り終了したら向こうでも聞いてみるかも。
なお、俺はプログラミングの初心者ではないが、PHPに関しては初心者だ。
一通りも知らないからPHP.netをいちいち引きながら書いてる。
それでいちいち、「他言語ならこうだけど、PHPならどう書くの?」になるわけ。
594デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 10:15:03.38ID:jTl1oJKL0 要は「非同期処理すればいいだけ」の話なのだが、ID:F8+XC2Dv0 はLinuxができない人?
だってさ、Linuxではコマンドの最後に「&」をつけるとバックグランドジョブになるのだから、
「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
で、開発環境はDockerやVagrantで作ればいい
PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語なのだから、別にそれでいいじゃんw
PHPがどういう思想から生まれた言語なのかは以下のインタービュー記事を読むといい
https://gihyo.jp/news/interview/2010/rasmus
例えばNode.jsはシングルスレッド・シングルプロセスなのだから、入出力関連の処理を非同期で行ったりと設計思想からPHPとはまるで違う
1つの言語に固執せず適材適所で言語を使い分けるのがプログラマのなのだから、お前みたいな書き方をしてたら「だったらPHP以外の言語でやれば?」って思われるだけだw
ちなみにPHP8.1以降では「Fibers」が実装されて、非同期処理を綺麗に書けるようにもなるんだけどね
https://php.watch/versions/8.1/fibers
PHPってここら辺がすごい柔軟 良いと思った仕様はどんどん取り入れる
とにかく、グダグダグダグダとうるせぇんだよお前はw
自分の頭が固いだけなのに仕事ができると「勘違いしている自称上級プログラマ様(笑)」ってのが、現場で一番タチが悪い人間なのは間違いない
固くするのはチンコだけにしておこうな?
だってさ、Linuxではコマンドの最後に「&」をつけるとバックグランドジョブになるのだから、
「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
で、開発環境はDockerやVagrantで作ればいい
PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語なのだから、別にそれでいいじゃんw
PHPがどういう思想から生まれた言語なのかは以下のインタービュー記事を読むといい
https://gihyo.jp/news/interview/2010/rasmus
例えばNode.jsはシングルスレッド・シングルプロセスなのだから、入出力関連の処理を非同期で行ったりと設計思想からPHPとはまるで違う
1つの言語に固執せず適材適所で言語を使い分けるのがプログラマのなのだから、お前みたいな書き方をしてたら「だったらPHP以外の言語でやれば?」って思われるだけだw
ちなみにPHP8.1以降では「Fibers」が実装されて、非同期処理を綺麗に書けるようにもなるんだけどね
https://php.watch/versions/8.1/fibers
PHPってここら辺がすごい柔軟 良いと思った仕様はどんどん取り入れる
とにかく、グダグダグダグダとうるせぇんだよお前はw
自分の頭が固いだけなのに仕事ができると「勘違いしている自称上級プログラマ様(笑)」ってのが、現場で一番タチが悪い人間なのは間違いない
固くするのはチンコだけにしておこうな?
595デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 10:21:45.83ID:F8+XC2Dv0 >>592
あ、すまん。訂正。
laravelをさらっと見たが、dockerで導入してるところからして、俺
が想定していたJS的なフレームワークとは違い、これは実行環境形のフレームワークだな。
Job管理もあるのだろう。これはこれから読む。(とはいえ時間はかかるが)
あ、すまん。訂正。
laravelをさらっと見たが、dockerで導入してるところからして、俺
が想定していたJS的なフレームワークとは違い、これは実行環境形のフレームワークだな。
Job管理もあるのだろう。これはこれから読む。(とはいえ時間はかかるが)
596デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 10:24:19.91ID:jTl1oJKL0 Rubyガイジといい、なんでガイジ(正確にはガイオヤジかw)ばかり湧くんだろうなぁ
夏だからかw
夏だからかw
597デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 10:24:44.74ID:F8+XC2Dv0 >>594
> 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
理解してないのお前だ。俺は「言語を問わず」ではなく、「実行環境依存」なのを問題視してる。
まあお前レベルの奴がグダグダ言ってくるところがPHP界隈の嫌いなところだよマジで。
> 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
理解してないのお前だ。俺は「言語を問わず」ではなく、「実行環境依存」なのを問題視してる。
まあお前レベルの奴がグダグダ言ってくるところがPHP界隈の嫌いなところだよマジで。
598デフォルトの名無しさん (ワッチョイ 3a7c-Gkqf)
2021/08/05(木) 10:33:36.93ID:5AKWeG2e0 このガイジLaravelスレでバカにされているガイジだろw
無能で仕事もしたことが無いレベルw
無能で仕事もしたことが無いレベルw
599デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 10:49:57.76ID:jTl1oJKL0 >>597
だから「開発環境はDockerやVagrantで作ればいい」と書いた
とにかく質問は解決しただろ?
だったらPHPスレに居座る必要もない
WPガイジ(こいつも相当頭が固いw)といい、俺はサッサと質問を解決しガイジにお帰り頂きたいだけだ
繰り返すが固いのはチンコだけにしとけw それといももうチンコも勃たない歳か?w
だから「開発環境はDockerやVagrantで作ればいい」と書いた
とにかく質問は解決しただろ?
だったらPHPスレに居座る必要もない
WPガイジ(こいつも相当頭が固いw)といい、俺はサッサと質問を解決しガイジにお帰り頂きたいだけだ
繰り返すが固いのはチンコだけにしとけw それといももうチンコも勃たない歳か?w
600デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 10:51:05.04ID:F8+XC2Dv0 >>594
ラスマスの記事を読んだ。まあ想定どおり。
これはWeb上のオープンソース開発、つまりJSやRustも同じ事。
それらに比べてPHPはポンコツ過ぎ。
ちなみにfiberが欲しいわけではない。それも「歩いて3秒の場所に自転車で行く」に近い。
俺がやりたいのは、 fclose(/dev/stdout) だよ。
ただまあ、PHPがラスマスの言うとおり勝手に開発された機能の団子なのなら、
俺が勝手にCのコード書いて送れば採用されるのかな?
精々10行程度で実装出来るから送ってみてもいいんだけどさ。
あとそれ、「PHPは柔軟でスゴイ!」ってのも、
最近よくいる「俺が使ってる言語スゲー=俺スゲー」系の馬鹿だから止めとけ。
他言語で既に使えてる便利機能が今更採用されたところでスゲーと思えるのは明らかに信者でしかない。
第三者なら「ようやくかよ」でしかない。
ラスマスの記事を読んだ。まあ想定どおり。
これはWeb上のオープンソース開発、つまりJSやRustも同じ事。
それらに比べてPHPはポンコツ過ぎ。
ちなみにfiberが欲しいわけではない。それも「歩いて3秒の場所に自転車で行く」に近い。
俺がやりたいのは、 fclose(/dev/stdout) だよ。
ただまあ、PHPがラスマスの言うとおり勝手に開発された機能の団子なのなら、
俺が勝手にCのコード書いて送れば採用されるのかな?
精々10行程度で実装出来るから送ってみてもいいんだけどさ。
あとそれ、「PHPは柔軟でスゴイ!」ってのも、
最近よくいる「俺が使ってる言語スゲー=俺スゲー」系の馬鹿だから止めとけ。
他言語で既に使えてる便利機能が今更採用されたところでスゲーと思えるのは明らかに信者でしかない。
第三者なら「ようやくかよ」でしかない。
601デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 10:57:59.07ID:kPeKr//s0 ID:F8+XC2Dv0
質問に非同期って単語が出てない時点でお察しですな
PHPへの噛みつき方もテンプレ過ぎて10年前にタイムスリップしたかと思ったよ
加齢臭のするオッサンだろうな
質問に非同期って単語が出てない時点でお察しですな
PHPへの噛みつき方もテンプレ過ぎて10年前にタイムスリップしたかと思ったよ
加齢臭のするオッサンだろうな
602デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:01:32.69ID:F8+XC2Dv0 >>599
> だから「開発環境はDockerやVagrantで作ればいい」と書いた
だからその解も本来は間違ってるんだよ。それは、
実行環境依存のコードしか書けないから、それぞれの実行環境を毎回用意してそこで開発しろ
なわけだろ。それはJavaが目指した「Write once, run anywhere」でも全然無いだろ。
まあ実際はともかく、そもそもプログラミング言語はOS上のレイヤだけで動いているのなら、こうあるべきなんだよ。
そしてJSとか他言語はそうなってる。
PHPはその努力もしてないから駄目なんだよ。
その、「間違った解を正解として誇らしげにドヤる」のも、
典型的な「初心者から中級者にアップしたての馬鹿」がやることで、おまえはまさにそれだよ。
実際PHP界隈はそういうのが多数派で、それが問題視されることはないのだろうけど、それ自体が問題だよ。
それでは生産性がまるで上がらない。まあこれも理解出来ないのだろうけどさ。
> だから「開発環境はDockerやVagrantで作ればいい」と書いた
だからその解も本来は間違ってるんだよ。それは、
実行環境依存のコードしか書けないから、それぞれの実行環境を毎回用意してそこで開発しろ
なわけだろ。それはJavaが目指した「Write once, run anywhere」でも全然無いだろ。
まあ実際はともかく、そもそもプログラミング言語はOS上のレイヤだけで動いているのなら、こうあるべきなんだよ。
そしてJSとか他言語はそうなってる。
PHPはその努力もしてないから駄目なんだよ。
その、「間違った解を正解として誇らしげにドヤる」のも、
典型的な「初心者から中級者にアップしたての馬鹿」がやることで、おまえはまさにそれだよ。
実際PHP界隈はそういうのが多数派で、それが問題視されることはないのだろうけど、それ自体が問題だよ。
それでは生産性がまるで上がらない。まあこれも理解出来ないのだろうけどさ。
603デフォルトの名無しさん (スップ Sd9a-0pp8)
2021/08/05(木) 11:04:37.37ID:/R94gyIjd >>590
あたしは575の提案をして、環境依存に難色を示されたので、代替提案をしただけなのに、おかしいだろとか、ダメだとか、あっちのほうがマシだとか、なんでそんなに上からなんですか笑
既にbody出力済みという前提も無かったし。
なるほど、でもできればリダイレクトはしたくないです。とだけ返事すればいいものを。
リダイレクトNGなら、更に別の提案もあるんだけど、萎えましたです。
あたしは575の提案をして、環境依存に難色を示されたので、代替提案をしただけなのに、おかしいだろとか、ダメだとか、あっちのほうがマシだとか、なんでそんなに上からなんですか笑
既にbody出力済みという前提も無かったし。
なるほど、でもできればリダイレクトはしたくないです。とだけ返事すればいいものを。
リダイレクトNGなら、更に別の提案もあるんだけど、萎えましたです。
604デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 11:05:12.89ID:jTl1oJKL0 俺、PHPがすげぇなんて一言も書いてないけどw
だからこそ「PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語」だと書いたし
ラスマスのインタービュー記事を紹介したのだが、このガイオヤジはドヤ顔で何を勘違いしてるのだろうw
例えば>>579で
> 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい
なーんて書いちゃってるから…ね
「&」ついてるのに、これのどこか同期コマンドなんだというツッコミw
質問は解決してるんだからもう用はないだろ?
あとはチラシの裏にでも書いとけw
だからこそ「PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語」だと書いたし
ラスマスのインタービュー記事を紹介したのだが、このガイオヤジはドヤ顔で何を勘違いしてるのだろうw
例えば>>579で
> 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい
なーんて書いちゃってるから…ね
「&」ついてるのに、これのどこか同期コマンドなんだというツッコミw
質問は解決してるんだからもう用はないだろ?
あとはチラシの裏にでも書いとけw
605デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 11:07:21.49ID:jTl1oJKL0606デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:09:50.52ID:F8+XC2Dv0 >>601
非同期知ってる俺カッケー、か。
俺がやりたいのは非同期ではないんだよ。
ここら辺なんだよ、PHPerは、(JSerもだからWeb系全般だと思うが)
本人が実力を過大評価しすぎてていちいちウザイ。
今回は同期の fclose(/dev/stdout) がベストで、この単純なことが出来ないのは奇妙だと思って聞いてる。
他の言語/実行環境なら最初に用意される物であって、存在しないのはほぼありえない。
だから俺の勘違いか見落としだと思って聞いてるわけだ。
そしてこんな基本的な物がないのに非同期とかfiberとか、整備の順番を完全に間違ってるんだよ。
とはいえlaravelはどうやら俺の想定していたものとは違うので、そこにあることには期待している。
非同期知ってる俺カッケー、か。
俺がやりたいのは非同期ではないんだよ。
ここら辺なんだよ、PHPerは、(JSerもだからWeb系全般だと思うが)
本人が実力を過大評価しすぎてていちいちウザイ。
今回は同期の fclose(/dev/stdout) がベストで、この単純なことが出来ないのは奇妙だと思って聞いてる。
他の言語/実行環境なら最初に用意される物であって、存在しないのはほぼありえない。
だから俺の勘違いか見落としだと思って聞いてるわけだ。
そしてこんな基本的な物がないのに非同期とかfiberとか、整備の順番を完全に間違ってるんだよ。
とはいえlaravelはどうやら俺の想定していたものとは違うので、そこにあることには期待している。
607デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:14:45.50ID:F8+XC2Dv0 >>603
> 既にbody出力済みという前提も無かったし。
いやそれは普通に読めば分かるだろ。
むしろ、接続を切ろうとしてるのに、なんでその後に何か出せると思ったの?
もしかして、本処理ではheaderだけしか出力してないと思った?
それはレアケース(常に403とか?)であって、その仮定の方が無理あるだろ。
> 既にbody出力済みという前提も無かったし。
いやそれは普通に読めば分かるだろ。
むしろ、接続を切ろうとしてるのに、なんでその後に何か出せると思ったの?
もしかして、本処理ではheaderだけしか出力してないと思った?
それはレアケース(常に403とか?)であって、その仮定の方が無理あるだろ。
608デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 11:18:11.81ID:kPeKr//s0 簡単な非同期処理で解決するのになに言ってるのこの人
顔真っ赤すぎて全レスし始めたし今日1日で何レスするのか見ものだな
PHPに親でも殺されたのかしら?
顔真っ赤すぎて全レスし始めたし今日1日で何レスするのか見ものだな
PHPに親でも殺されたのかしら?
609デフォルトの名無しさん (ワッチョイ 4ee6-Zn8Z)
2021/08/05(木) 11:23:41.31ID:xD0lMLd30 スレが伸びてると思ったら大物が登場してるな
面白いから魚拓取って他にも晒しとくわ
面白いから魚拓取って他にも晒しとくわ
610デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:25:02.26ID:F8+XC2Dv0 >>604
exec自体は同期コマンドなんだよ。
そしてその書き方自体も他言語が出来るプログラマにとっては気に入らない。
exec("cmd"); // 同期
exec("cmd > /dev/null &"); // PHPではこれで非同期、しかし書き方がイマイチ
exec("cmd") > /dev/null; // これならまだマシ
exec_async("cmd"); // 本来はこうあるべき
まあここら辺もPHPが嫌われる理由だよ。他言語と揃ってないからいちいち文法で躓く。
だから他言語で慣らした連中に取っては無駄に参入障壁となっていて、
結果的にPHPはPHP育ちの初心者パラダイスになってる。
そりゃ居心地はいいんだろうけど、良いコードに遭遇出来ないのは上達の妨げにしかならないことに本人達も気づけない。
なんだかね。
実際お前ら、上の4つ、何が問題か分からないだろ。
exec自体は同期コマンドなんだよ。
そしてその書き方自体も他言語が出来るプログラマにとっては気に入らない。
exec("cmd"); // 同期
exec("cmd > /dev/null &"); // PHPではこれで非同期、しかし書き方がイマイチ
exec("cmd") > /dev/null; // これならまだマシ
exec_async("cmd"); // 本来はこうあるべき
まあここら辺もPHPが嫌われる理由だよ。他言語と揃ってないからいちいち文法で躓く。
だから他言語で慣らした連中に取っては無駄に参入障壁となっていて、
結果的にPHPはPHP育ちの初心者パラダイスになってる。
そりゃ居心地はいいんだろうけど、良いコードに遭遇出来ないのは上達の妨げにしかならないことに本人達も気づけない。
なんだかね。
実際お前ら、上の4つ、何が問題か分からないだろ。
611デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:26:44.63ID:F8+XC2Dv0612デフォルトの名無しさん (ワッチョイ 5d01-d0wC)
2021/08/05(木) 11:31:07.06ID:xWv0yV5l0 自分も、そこまでLinuxには詳しくないが、
今時、2〜3台もパソコンがあれば、社内Lanで繋ぎませんか?
今時、2〜3台もパソコンがあれば、社内Lanで繋ぎませんか?
613デフォルトの名無しさん (スップ Sd9a-0pp8)
2021/08/05(木) 11:34:43.32ID:Lk6xwBBud >>607
いや、あなたの常識なんて知らないわよ笑
普通にアクセスされただけで(またはgetパラメーター付きとか)処理が走って、本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし。
(もうここは掘り下げなくていいです)
てか、あなたが返事すべきはそこじゃないんだけど〜
いや、あなたの常識なんて知らないわよ笑
普通にアクセスされただけで(またはgetパラメーター付きとか)処理が走って、本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし。
(もうここは掘り下げなくていいです)
てか、あなたが返事すべきはそこじゃないんだけど〜
614デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:43:44.22ID:F8+XC2Dv0 >>612
開発環境の再構築に乗り気ではないのは、それは手段が目的化する恐れがあるから。
いろいろ分かってない状況(=今の俺)の場合は、環境構築こそが最大のネックで、
コード自体は書けば書けるものでしかないんだよ。
そして既にXAMPP+NetBeansでブレークポイントも当たるし、xhprofだっけ?も導入してるからそれでやってる。
(ただし環境を構築したのは4年前だから、君らからするとこれは古すぎかもしれないが)
新しい開発環境も、作ってしまえば結果的には楽勝なのかもしれないが、あっさり出来る自信がないんだ。
ただまあ、今回の話は、環境構築すればいいって物ではないのだけどね。
それって、例えば鯖を変えたり、あるいはGitHubで公開した後に「○○ですけど動きません」ってのに
いちいち対応するのか?って話になるだろ。
そもそも環境依存のコードを書くべきではない
ってのが大正義なのに、それを認めずあれこれ無駄に言ってくるからおかしな事になる。
お前らは何をすべきなのか本質を理解するべきだよ。
開発環境の再構築に乗り気ではないのは、それは手段が目的化する恐れがあるから。
いろいろ分かってない状況(=今の俺)の場合は、環境構築こそが最大のネックで、
コード自体は書けば書けるものでしかないんだよ。
そして既にXAMPP+NetBeansでブレークポイントも当たるし、xhprofだっけ?も導入してるからそれでやってる。
(ただし環境を構築したのは4年前だから、君らからするとこれは古すぎかもしれないが)
新しい開発環境も、作ってしまえば結果的には楽勝なのかもしれないが、あっさり出来る自信がないんだ。
ただまあ、今回の話は、環境構築すればいいって物ではないのだけどね。
それって、例えば鯖を変えたり、あるいはGitHubで公開した後に「○○ですけど動きません」ってのに
いちいち対応するのか?って話になるだろ。
そもそも環境依存のコードを書くべきではない
ってのが大正義なのに、それを認めずあれこれ無駄に言ってくるからおかしな事になる。
お前らは何をすべきなのか本質を理解するべきだよ。
615デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 11:44:41.71ID:kPeKr//s0616デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:46:58.60ID:F8+XC2Dv0 >>613
> 本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし
本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。
本処理終了後は出力はない。だからそこで切りたい。
というわけだがこれでいいか?
いずれにしてLocationでリダイレクトは度頭でやらないといけないから君の間違いだとは思うけど。
> てか、あなたが返事すべきはそこじゃないんだけど〜
どこよ?
> 本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし
本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。
本処理終了後は出力はない。だからそこで切りたい。
というわけだがこれでいいか?
いずれにしてLocationでリダイレクトは度頭でやらないといけないから君の間違いだとは思うけど。
> てか、あなたが返事すべきはそこじゃないんだけど〜
どこよ?
617デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 11:48:24.23ID:F8+XC2Dv0 >>615
そう思うのは、君の周りにはその程度の人しか居ないからだね。君も含めて。
そう思うのは、君の周りにはその程度の人しか居ないからだね。君も含めて。
618デフォルトの名無しさん (ワッチョイ bd34-9imK)
2021/08/05(木) 11:49:26.67ID:cuxOZbzu0 朝の6:30から20レスww
619デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:00:42.44ID:F8+XC2Dv0 >>613
616訂正。
> Locationでリダイレクトは度頭でやらないといけない
と思ったが、もしかしてリダイレクトが間に合わなかったケースを意図的に利用して接続を切ろうって事か?
それは解としてはだいぶ酷い。そういうコードを書くと数年後には意味不明で読めなくなる。
あとその場合は結局ブラウザ上でパースされた時に転送(=接続終了する)だけであって、
結局今の実装(ブラウザのパースタイミング次第)と同じでしかないし、改善しないと思うが。
616訂正。
> Locationでリダイレクトは度頭でやらないといけない
と思ったが、もしかしてリダイレクトが間に合わなかったケースを意図的に利用して接続を切ろうって事か?
それは解としてはだいぶ酷い。そういうコードを書くと数年後には意味不明で読めなくなる。
あとその場合は結局ブラウザ上でパースされた時に転送(=接続終了する)だけであって、
結局今の実装(ブラウザのパースタイミング次第)と同じでしかないし、改善しないと思うが。
620デフォルトの名無しさん (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 12:07:25.00ID:bqGeTZjz0 YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
バックエンド初心者用コースのポートフォリオでは、
基本情報技術者資格、Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も
だから、AWSのくろかわこうへいのサロンにも、入る必要がある
これが済んだら、Ruby → Go で、時給1万円を目指す
Node.js, Django は使われていない。
PHP は一生やらなくてよいと言ってる
XAMPP, MAMP は、Linux じゃないから、やる意味がない。
WSL2 Linux とか、Heroku, AWSなどが良い
システムを、言語・アプリレベルで実現しようとするから、ダメ
普通に、AWSのSQS(キュー)。
企業が欲しい人材は、AWS Solution Architect。
AWSでシステムを組める人
だから何百人も、AWSのくろかわこうへいのサロンに入って勉強してる
バックエンド初心者用コースのポートフォリオでは、
基本情報技術者資格、Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も
だから、AWSのくろかわこうへいのサロンにも、入る必要がある
これが済んだら、Ruby → Go で、時給1万円を目指す
Node.js, Django は使われていない。
PHP は一生やらなくてよいと言ってる
XAMPP, MAMP は、Linux じゃないから、やる意味がない。
WSL2 Linux とか、Heroku, AWSなどが良い
システムを、言語・アプリレベルで実現しようとするから、ダメ
普通に、AWSのSQS(キュー)。
企業が欲しい人材は、AWS Solution Architect。
AWSでシステムを組める人
だから何百人も、AWSのくろかわこうへいのサロンに入って勉強してる
621デフォルトの名無しさん (ワッチョイ 0e70-pCDs)
2021/08/05(木) 12:14:58.24ID:dqIKXfcM0 スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
622デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/08/05(木) 12:18:19.70ID:Sb1zsMiv0623デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 12:19:31.36ID:jTl1oJKL0 まだやってて草w
で、この朝6時から20レス以上してるガイオヤジは、なんでPHPにこだわってるの?
> マルチプロセスだから根本的に考え方が違うんだな
> 質問には確かにexecが正解のように見える
と自分で書きながらもPHPではどうしても納得いかないんでしょ?
だったらPHP以外でやればいい
質問はこれで綺麗サッパリ解決したし、あとはチラシの裏へどうぞ
ちなみに>>610については、例えばPythonでsubprocess.run()を使っても一緒の話なわけで、
「PHPだから」という話ではない
それを非同期で実行したいならPythonならsubprocess.Popen()を使うし
PHPならpopen()やproc_open()を使う
で、この朝6時から20レス以上してるガイオヤジは、なんでPHPにこだわってるの?
> マルチプロセスだから根本的に考え方が違うんだな
> 質問には確かにexecが正解のように見える
と自分で書きながらもPHPではどうしても納得いかないんでしょ?
だったらPHP以外でやればいい
質問はこれで綺麗サッパリ解決したし、あとはチラシの裏へどうぞ
ちなみに>>610については、例えばPythonでsubprocess.run()を使っても一緒の話なわけで、
「PHPだから」という話ではない
それを非同期で実行したいならPythonならsubprocess.Popen()を使うし
PHPならpopen()やproc_open()を使う
624620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 12:19:59.18ID:bqGeTZjz0 PHP はレンタルサーバー用言語
Ruby on Rails は、プロ用フレームワーク。
WSL2 Linux, Heroku, AWS
だから、PHPでは転職できないから、KENTA のサロンでは勧めない
Node.js, Django も、Railsのシェアを崩せなかった。
募集がなく転職できないから、サロンでは勧めない
唯一の時給1万円コースの道筋は、Ruby → Go だけ
企業が欲しい人材は、AWS Solution Architect。
AWS でシステム構築運用できる人
Ruby on Rails は、プロ用フレームワーク。
WSL2 Linux, Heroku, AWS
だから、PHPでは転職できないから、KENTA のサロンでは勧めない
Node.js, Django も、Railsのシェアを崩せなかった。
募集がなく転職できないから、サロンでは勧めない
唯一の時給1万円コースの道筋は、Ruby → Go だけ
企業が欲しい人材は、AWS Solution Architect。
AWS でシステム構築運用できる人
625デフォルトの名無しさん (スップ Sd9a-0pp8)
2021/08/05(木) 12:28:51.37ID:6TA++zayd >>616
> 本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。
だから、今の仕様はそうなのかも知れませんけど、その本処理はユーザーがアクセスしただけで処理が出来るなら本処理が終わるまで何も出力しないように書き換えればいいんだし、何かユーザーの入力に応じて処理するのなら、postで再アクセスさせて本処理が終わるまでなにも出力しないように書けないんですか?
まあいずれにせよ、リダイレクトはそもそも論外のようなので不毛な話しではありますが。
> 本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。
だから、今の仕様はそうなのかも知れませんけど、その本処理はユーザーがアクセスしただけで処理が出来るなら本処理が終わるまで何も出力しないように書き換えればいいんだし、何かユーザーの入力に応じて処理するのなら、postで再アクセスさせて本処理が終わるまでなにも出力しないように書けないんですか?
まあいずれにせよ、リダイレクトはそもそも論外のようなので不毛な話しではありますが。
626620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 12:28:59.36ID:bqGeTZjz0 食べチョクみたいな若い女の子が、Ruby on Rails で1人で始めたサイトでも、
求人募集は、AWS に詳しい人
システム構築運用できる人
コロナで取引量が30倍になった。
こういうのは言語・アプリで解決できる問題じゃない
だから、むしろプログラマーよりも、LinuC などのLinux の資格保持者とか、
AWS Solution Architect が必要
今は、プログラミング言語よりも先に、
Linux コマンド・シェルスクリプト、Docker Compose, VSCode などが来る
求人募集は、AWS に詳しい人
システム構築運用できる人
コロナで取引量が30倍になった。
こういうのは言語・アプリで解決できる問題じゃない
だから、むしろプログラマーよりも、LinuC などのLinux の資格保持者とか、
AWS Solution Architect が必要
今は、プログラミング言語よりも先に、
Linux コマンド・シェルスクリプト、Docker Compose, VSCode などが来る
627デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:30:20.75ID:F8+XC2Dv0 >>623
まあforkしたいわけでもないんだけどね。それも事を大きくしすぎ。
Pythonを選択しないのは、俺が知らないからだね。
ただしレンタルサーバーでも使えるから、選択肢としてはありなんだろうけど、
言っちゃ悪いがPython使う理由なんてPHP以上にないでしょ。
まあforkしたいわけでもないんだけどね。それも事を大きくしすぎ。
Pythonを選択しないのは、俺が知らないからだね。
ただしレンタルサーバーでも使えるから、選択肢としてはありなんだろうけど、
言っちゃ悪いがPython使う理由なんてPHP以上にないでしょ。
628デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:35:56.18ID:F8+XC2Dv0 >>625
一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?
ちなみに本処理はgetであって、postではない。
そして304ならheaderのみ、200ならheader+bodyの、至極普通のget処理だ。
その200、つまりheader+bodyを送信後に再びLocation"header"を出すのは不可能だが、それは理解してるか?
一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?
ちなみに本処理はgetであって、postではない。
そして304ならheaderのみ、200ならheader+bodyの、至極普通のget処理だ。
その200、つまりheader+bodyを送信後に再びLocation"header"を出すのは不可能だが、それは理解してるか?
629デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 12:37:33.28ID:jTl1oJKL0 >>627
Python使えなんて一言も書いてないんだがw
PHPのexec()の例は別の言語でも一緒って例を示しただけ
ほんと頭が固いというか思い込みが激しいというか…
現場に居たら陰口叩かれまてるタイプだわお前はw
Python使えなんて一言も書いてないんだがw
PHPのexec()の例は別の言語でも一緒って例を示しただけ
ほんと頭が固いというか思い込みが激しいというか…
現場に居たら陰口叩かれまてるタイプだわお前はw
630デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:44:05.08ID:F8+XC2Dv0 >>629
なら、PythonもPHPと同程度に文法が糞だ、というだけだろ。
実際、Pythonを「プログラミング言語として」褒めてる奴も少ないだろ。
みんなが使ってるから使う、というのが大半であって。
なら、PythonもPHPと同程度に文法が糞だ、というだけだろ。
実際、Pythonを「プログラミング言語として」褒めてる奴も少ないだろ。
みんなが使ってるから使う、というのが大半であって。
631デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 12:44:10.37ID:jTl1oJKL0 ちなみに、ものすごく低レベルな方法だがこんなやり方もある
> SQLiteを操作してhttp出力
の中に
<img src="重い処理をするPHP" width="1" height="1">
と書くだけw
これならcronが使えない環境でも簡単にできる
これで解決したら笑う
> SQLiteを操作してhttp出力
の中に
<img src="重い処理をするPHP" width="1" height="1">
と書くだけw
これならcronが使えない環境でも簡単にできる
これで解決したら笑う
632デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:48:28.04ID:F8+XC2Dv0633デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 12:58:15.10ID:F8+XC2Dv0 >>631
いや待て、今回はhtmlではなかったので駄目だった。
主にjsonとxmlだ。
まあしかし、発想自体は面白いよ。
ただ、なんか余計なアクセスが出てるように見えるからそれで実装することはないが。
今現在の実装だと、「運が悪く、ブラウザも怠慢していれば、倍かかる時があります」であって、
そんなに問題な実装でもないし、実際htmlを出すのは最初だけ(SPA)にしようとしてるので、それでは解決出来ない。
いや待て、今回はhtmlではなかったので駄目だった。
主にjsonとxmlだ。
まあしかし、発想自体は面白いよ。
ただ、なんか余計なアクセスが出てるように見えるからそれで実装することはないが。
今現在の実装だと、「運が悪く、ブラウザも怠慢していれば、倍かかる時があります」であって、
そんなに問題な実装でもないし、実際htmlを出すのは最初だけ(SPA)にしようとしてるので、それでは解決出来ない。
634デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 13:00:46.26ID:jTl1oJKL0635デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 13:06:35.62ID:jTl1oJKL0636デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 13:08:11.92ID:F8+XC2Dv0637デフォルトの名無しさん (ワッチョイ 5d01-40L9)
2021/08/05(木) 13:08:51.75ID:xWv0yV5l0 pythonというのは、
等加速度直線運動の3公式で、多くの問題を解決するようなもので、
これをできれば、スピードアップするらしいが。
高度なことをできる部品はある。
等加速度直線運動の3公式で、多くの問題を解決するようなもので、
これをできれば、スピードアップするらしいが。
高度なことをできる部品はある。
638デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 13:26:51.61ID:F8+XC2Dv0 >>635
ちなみに
> 重たい後処理をするPHPを非同期で起動させればいいだけ
これが間違い。
単に、出力を閉じる connection_close みたいな関数を呼んでユーザーとの接続を終了させ、
そのあとそのプロセスが引き続き後処理をすれば良いだけだし、これが一番軽い実装だ。
そして他言語だとこれは出来るのに、何故この基本的な操作ができないのだ?という話。
非同期=軽いとか思ってる馬鹿も特にJSには多いんだが、非同期が軽いわけではないんだよ。
むしろキューイングしてやる分だけ重くなる。
ちなみに
> 重たい後処理をするPHPを非同期で起動させればいいだけ
これが間違い。
単に、出力を閉じる connection_close みたいな関数を呼んでユーザーとの接続を終了させ、
そのあとそのプロセスが引き続き後処理をすれば良いだけだし、これが一番軽い実装だ。
そして他言語だとこれは出来るのに、何故この基本的な操作ができないのだ?という話。
非同期=軽いとか思ってる馬鹿も特にJSには多いんだが、非同期が軽いわけではないんだよ。
むしろキューイングしてやる分だけ重くなる。
639620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 13:41:39.90ID:bqGeTZjz0 >>628
Ruby on Rails でも、view を、render できるのは1回限り。
double rendering 禁止
>>633
Railsなら、
format.html
format.json
と書いておけば、例えば、
books/1 なら、HTML、
books/1.json なら、JSON を返す
テンプレートファイルも、show.html.erb, show.json.erb と、ERB で2つ書いておく。
show.json.jbuilder と、jbuilder を使えば、もっと簡単に、オブジェクトをJSONにできる
Railsには、SPA 用のAPI モードもある。
HTMLを返さない。JSONでやりとりする
フレームワークを使わず自作してると、10年やっても低品質のまま。
Railsを1年やっただけの人にも勝てない
Ruby on Rails でも、view を、render できるのは1回限り。
double rendering 禁止
>>633
Railsなら、
format.html
format.json
と書いておけば、例えば、
books/1 なら、HTML、
books/1.json なら、JSON を返す
テンプレートファイルも、show.html.erb, show.json.erb と、ERB で2つ書いておく。
show.json.jbuilder と、jbuilder を使えば、もっと簡単に、オブジェクトをJSONにできる
Railsには、SPA 用のAPI モードもある。
HTMLを返さない。JSONでやりとりする
フレームワークを使わず自作してると、10年やっても低品質のまま。
Railsを1年やっただけの人にも勝てない
640デフォルトの名無しさん (ワッチョイ 4dcf-pCDs)
2021/08/05(木) 13:44:24.19ID:/9S9EoKc0 robots.txtを守らないと逮捕されるって本当ですか?
641デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 13:47:42.25ID:jTl1oJKL0642デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 13:51:30.80ID:jTl1oJKL0 >>640
どこから聞いたんだよそんな話w
例えば640が、robots.txtの記述内容を無視してスクレイピングをしたとする
そのせいでサーバに負荷をかけまくりサーバをダウンさせれば、罪に問われる可能性はあるわな
もしくは著作権で守られているコンテンツを無視して転載しても、罪に問われる可能性はあるわな
でもそれは、robots.txtを守らないと逮捕されるって話とは別の話だよな?
理解できるか?
どこから聞いたんだよそんな話w
例えば640が、robots.txtの記述内容を無視してスクレイピングをしたとする
そのせいでサーバに負荷をかけまくりサーバをダウンさせれば、罪に問われる可能性はあるわな
もしくは著作権で守られているコンテンツを無視して転載しても、罪に問われる可能性はあるわな
でもそれは、robots.txtを守らないと逮捕されるって話とは別の話だよな?
理解できるか?
643デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 13:59:25.27ID:QPICGq8w0 ID:F8+XC2Dv0
ご大層なゴタクを並べてるのにサーバーはレンタルサーバーなのですね
ご大層なゴタクを並べてるのにサーバーはレンタルサーバーなのですね
644デフォルトの名無しさん (ワッチョイ 4ee6-A9KZ)
2021/08/05(木) 14:04:31.11ID:xD0lMLd30 >>643
www
www
645デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 14:06:09.47ID:IpTlZujB0 >>628
> 一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?
知ってますよ笑
だから、本処理終わるまで何も出力しないように書き換えればと言ってるんです
本処理完了の次の行でheader locationを出力し、リダイレクト先のページにパラメーター渡して表示すればいいです
<?php
sleep(3); // ←本処理の代わり(ここまで何も出力しない)
ignore_user_abort(true);
header('location: hoge.php?a=パラ1');
flush();
sleep(10); // ←後処理の代わり
exit;
?>
不可能かどうか、コピペで実行してみて笑
> 一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか?
知ってますよ笑
だから、本処理終わるまで何も出力しないように書き換えればと言ってるんです
本処理完了の次の行でheader locationを出力し、リダイレクト先のページにパラメーター渡して表示すればいいです
<?php
sleep(3); // ←本処理の代わり(ここまで何も出力しない)
ignore_user_abort(true);
header('location: hoge.php?a=パラ1');
flush();
sleep(10); // ←後処理の代わり
exit;
?>
不可能かどうか、コピペで実行してみて笑
646デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 14:22:57.10ID:F8+XC2Dv0 >>592
イマイチ全体像が掴めないのだけど、確かにジョブキューイングは出来るようだ。
ただ見たところLaravelのソースコードはphpのようだし、RedisだSQSだとか言ってるから、これは、
DBに対するPDOのように、キューイング機能のあるRedis/SQS等に対しての共通ラッパを提供したもの
ということでいいのか?
(そもそもRedis/SQS等は初耳なので大幅に勘違いしてるかもだが)
なお、確かに今回の俺の用途ならこれで対応可能だ。
話が大げさになりすぎてる感はあるが、
元々Laravelを知ってて、かつ、使える環境なら、この選択もありだろう。
いちいちキューを自前で作るよりもキューサーバー、なんてのは
あらゆる物をマイクロサービスに分割するWeb系的な発想ではあるが、まあ確かに面白い。
実際、Javaとか無駄にモノリシックになってて開発人月がでかくなりすぎてる感はあるし。
ただこれ、インストールが必要みたいだし、最安(=無料)のレンサバじゃ動かないよな?
インストールが必要/有料での契約なら俺的にはNodeの方がマシで、PHPを選ぶ理由がない。
既に言ったが、PHPで書くのは無料サーバーでも動かす為で、
プログラミングについて何も知らない人がGitHubからクローンしたらもう動く!みたいな
超イージーデプロイじゃないとわざわざPHPで書く意味はない。俺なら書き慣れたJSを選ぶ。
(勿論君らがPHPを選ぶのは自由として)
結果的に、エンタープライズな連中はLaravel等を使うから問題なく、こんな基本的な問題も放置されてるってところか。
巣のPHPを使う連中は基本的に初心者であり、細かいことは気にしてないのだろうし。
イマイチ全体像が掴めないのだけど、確かにジョブキューイングは出来るようだ。
ただ見たところLaravelのソースコードはphpのようだし、RedisだSQSだとか言ってるから、これは、
DBに対するPDOのように、キューイング機能のあるRedis/SQS等に対しての共通ラッパを提供したもの
ということでいいのか?
(そもそもRedis/SQS等は初耳なので大幅に勘違いしてるかもだが)
なお、確かに今回の俺の用途ならこれで対応可能だ。
話が大げさになりすぎてる感はあるが、
元々Laravelを知ってて、かつ、使える環境なら、この選択もありだろう。
いちいちキューを自前で作るよりもキューサーバー、なんてのは
あらゆる物をマイクロサービスに分割するWeb系的な発想ではあるが、まあ確かに面白い。
実際、Javaとか無駄にモノリシックになってて開発人月がでかくなりすぎてる感はあるし。
ただこれ、インストールが必要みたいだし、最安(=無料)のレンサバじゃ動かないよな?
インストールが必要/有料での契約なら俺的にはNodeの方がマシで、PHPを選ぶ理由がない。
既に言ったが、PHPで書くのは無料サーバーでも動かす為で、
プログラミングについて何も知らない人がGitHubからクローンしたらもう動く!みたいな
超イージーデプロイじゃないとわざわざPHPで書く意味はない。俺なら書き慣れたJSを選ぶ。
(勿論君らがPHPを選ぶのは自由として)
結果的に、エンタープライズな連中はLaravel等を使うから問題なく、こんな基本的な問題も放置されてるってところか。
巣のPHPを使う連中は基本的に初心者であり、細かいことは気にしてないのだろうし。
647デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 14:31:39.19ID:F8+XC2Dv0 >>641
> しかもレンタルサーバでやるような低レベルなもんだろ?
これはその通りだ。
お前らのやってるエンタープライズなコードでは許されないような方法でも、許されるのだろうさ。
とはいえ、それをやるかどうかはまた別だろ。
プログラミング初心者が四苦八苦して数百行のやっと動くコードを書いてる状況ではないんだよ。
他言語ではバリバリに書ける奴がPHPだとデタラメやっていい、ってことにもならないだろ。
それは矜持の問題だ。
勿論、お前がデタラメやるのもお前の自由だが、俺的には恥ずかしくてそんなコードは公開出来ないよ。
> しかもレンタルサーバでやるような低レベルなもんだろ?
これはその通りだ。
お前らのやってるエンタープライズなコードでは許されないような方法でも、許されるのだろうさ。
とはいえ、それをやるかどうかはまた別だろ。
プログラミング初心者が四苦八苦して数百行のやっと動くコードを書いてる状況ではないんだよ。
他言語ではバリバリに書ける奴がPHPだとデタラメやっていい、ってことにもならないだろ。
それは矜持の問題だ。
勿論、お前がデタラメやるのもお前の自由だが、俺的には恥ずかしくてそんなコードは公開出来ないよ。
648620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 14:32:09.85ID:bqGeTZjz0 Ruby on Rails では、redirect_to でリダイレクトする(302・発見)。
lesson/step1 にアクセスすれば、lesson/step2 へ飛ばされる
その時、flash に情報を入れておけば、リダイレクト後に使える。
これで、abc と表示される
def step1
flash[ :notice ] = "abc"
redirect_to action: "step2"
end
def step2
render plain: flash[ :notice ]
end
lesson/step1 にアクセスすれば、lesson/step2 へ飛ばされる
その時、flash に情報を入れておけば、リダイレクト後に使える。
これで、abc と表示される
def step1
flash[ :notice ] = "abc"
redirect_to action: "step2"
end
def step2
render plain: flash[ :notice ]
end
649デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 14:36:28.61ID:F8+XC2Dv0 >>645
なるほど、その方法でも出来るのは理解した。
が、それだと2往復するし、やっぱりかなり無駄だろ。
結局お前らは「動けばいい」でしかないからそういうことになる。
それだったら、現実装の方がまだマシだよ。
ただまあ、エンタープライズならLaravel等でキューサーバー、ってのは分かった。
確かにこれで玄人は問題ないのだろうさ。
なるほど、その方法でも出来るのは理解した。
が、それだと2往復するし、やっぱりかなり無駄だろ。
結局お前らは「動けばいい」でしかないからそういうことになる。
それだったら、現実装の方がまだマシだよ。
ただまあ、エンタープライズならLaravel等でキューサーバー、ってのは分かった。
確かにこれで玄人は問題ないのだろうさ。
650620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 14:45:20.58ID:bqGeTZjz0 例えば、Ruby on Rails では、
食べチョクみたいな若い女の子が、1人で始める場合は、Heroku, Bootstrap。
食べチョクは、AWS だけど
AWSなら、くろかわこうへいのサロンにも入る必要がある
KENTA, 2021/3
女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A
Heroku, S3, 決済はStripe, Docker
こういうのでビジネスを初めて、会社の時価総額1億円ぐらいへもっていく。
元々、cloud 9, Heroku でクラウド開発してるし、絶対にLinux
XAMPP, MAMP など、Linux以外を使うことはない。
環境が異なると、テストにならない
食べチョクみたいな若い女の子が、1人で始める場合は、Heroku, Bootstrap。
食べチョクは、AWS だけど
AWSなら、くろかわこうへいのサロンにも入る必要がある
KENTA, 2021/3
女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A
Heroku, S3, 決済はStripe, Docker
こういうのでビジネスを初めて、会社の時価総額1億円ぐらいへもっていく。
元々、cloud 9, Heroku でクラウド開発してるし、絶対にLinux
XAMPP, MAMP など、Linux以外を使うことはない。
環境が異なると、テストにならない
651デフォルトの名無しさん (ワッチョイ d58c-By/s)
2021/08/05(木) 14:50:29.16ID:IpTlZujB0 >>649
理解いただけてなによりです。
ただ2往復の意味が良く分かりません。
1.本処理+後処理.phpにGet付でアクセス
2.本処理終わったらbody用パラメーターつけてhoge.phpに飛ばす
3.ユーザーにはhoge.phpが表示される
4.サーバー側は後処理が継続される
進行は分岐するけど常に1方向だし、どこにも戻ったりもしてないと思いますが。
理解いただけてなによりです。
ただ2往復の意味が良く分かりません。
1.本処理+後処理.phpにGet付でアクセス
2.本処理終わったらbody用パラメーターつけてhoge.phpに飛ばす
3.ユーザーにはhoge.phpが表示される
4.サーバー側は後処理が継続される
進行は分岐するけど常に1方向だし、どこにも戻ったりもしてないと思いますが。
652デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 14:55:48.88ID:F8+XC2Dv0 >>651
リダイレクトは別サイトにもいけるだろ。
だから基本的にはブラウザとは2往復するはず。
結果的に同一サイトにリダイレクトされる場合でも、おそらくブラウザはもう一度接続し直してくるはず。
この辺は試した方が早いかもしれんが。
リダイレクトは別サイトにもいけるだろ。
だから基本的にはブラウザとは2往復するはず。
結果的に同一サイトにリダイレクトされる場合でも、おそらくブラウザはもう一度接続し直してくるはず。
この辺は試した方が早いかもしれんが。
653デフォルトの名無しさん (ワッチョイ bd34-9imK)
2021/08/05(木) 15:07:47.04ID:cuxOZbzu0 無料レンタルサーバを使う上級者様が朝の6時半から32レスという渾身のギャグ
654デフォルトの名無しさん (ワッチョイ d58c-By/s)
2021/08/05(木) 15:08:57.20ID:IpTlZujB0 >>652
なるほど、再接続という意味ならそうですね。
では別の案ですが、
1.本処理中に吐き出すHTMLの先頭に、文字列なりHTMLタグなりの目印を検出するJavascriptを仕込む。
2.本処理が終わったタイミングで目印になる文字なりHTMLタグなりを出力(Flush)する。
3.Javascriptで対象の目印を検出したら window.stop() で、ブラウザ側から切断させる。
なるほど、再接続という意味ならそうですね。
では別の案ですが、
1.本処理中に吐き出すHTMLの先頭に、文字列なりHTMLタグなりの目印を検出するJavascriptを仕込む。
2.本処理が終わったタイミングで目印になる文字なりHTMLタグなりを出力(Flush)する。
3.Javascriptで対象の目印を検出したら window.stop() で、ブラウザ側から切断させる。
655デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 15:17:03.80ID:F8+XC2Dv0 >>651
ああだからな、元々は「処理を速く見せる為」なんだよ。それで、
・接続を明示的に切れれば、往復1回+本処理
・接続を明示的に切れない現状では、往復1回+本処理+後処理
・651方式で転送した場合、往復2回+本処理
というようにユーザーには見えることになる。
結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。
この辺のさじ加減は君らの方が詳しいだろうけど、
現状の後処理は、整理するデータがある場合は400ms程度、無ければ10-40ms程度だ。
整理するデータが存在するのは1/20程度の確率だと想定している。
となると、単純には後処理は平均して29.5-58ms程度の重さになる。
だから、ネットワークがこれ以上重いと赤字になってしまうんだよ。
(XAMPPでの時間計測なんて意味あるかボケ!というのはさておき)
ああだからな、元々は「処理を速く見せる為」なんだよ。それで、
・接続を明示的に切れれば、往復1回+本処理
・接続を明示的に切れない現状では、往復1回+本処理+後処理
・651方式で転送した場合、往復2回+本処理
というようにユーザーには見えることになる。
結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。
この辺のさじ加減は君らの方が詳しいだろうけど、
現状の後処理は、整理するデータがある場合は400ms程度、無ければ10-40ms程度だ。
整理するデータが存在するのは1/20程度の確率だと想定している。
となると、単純には後処理は平均して29.5-58ms程度の重さになる。
だから、ネットワークがこれ以上重いと赤字になってしまうんだよ。
(XAMPPでの時間計測なんて意味あるかボケ!というのはさておき)
656デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 15:19:28.77ID:qHbol2On0 ID:F8+XC2Dv0は開発環境がXAMPPで無料レンタルサーバを使う初心者なのだから身の丈にあったことをすればいいのにキチガイ過ぎる
657デフォルトの名無しさん (ワッチョイ 6501-pCDs)
2021/08/05(木) 15:26:17.55ID:tyzHpayb0 >>642
ID:bqGeTZjz0の人にrubyスレで教わりました
ID:bqGeTZjz0の人にrubyスレで教わりました
658デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 15:31:25.87ID:F8+XC2Dv0 >>654
それは君がブラウザの動きを分かってない。
flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。
だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない)
そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。
そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない)
よってその方法では出来ない。
接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、
それを受けてブラウザはすぐにパースを開始する。
だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。
これをやろうとしている。
まあ、Laravelでキューサーバー使えというのはその通り。エンタープライズならこれなのだろう。
多分君はDOM(HTMLページ内)のJSが同期的に動くのを見て勘違いしてる。
ajaxで取得したデータは、途中では読めないよ。
それは君がブラウザの動きを分かってない。
flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。
だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない)
そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。
そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない)
よってその方法では出来ない。
接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、
それを受けてブラウザはすぐにパースを開始する。
だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。
これをやろうとしている。
まあ、Laravelでキューサーバー使えというのはその通り。エンタープライズならこれなのだろう。
多分君はDOM(HTMLページ内)のJSが同期的に動くのを見て勘違いしてる。
ajaxで取得したデータは、途中では読めないよ。
659デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/05(木) 15:31:32.98ID:jTl1oJKL0660デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 15:38:06.77ID:F8+XC2Dv0661デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 15:54:01.25ID:qHbol2On0662デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 15:57:19.11ID:F8+XC2Dv0 ちなみにお前ら、PHPにコントリビュートしてみたい奴はいるか?
居るなら手伝うが。
Web開発ってのは、「こんなポンコツを使わされるくらいなら俺が直してやるからソースコードよこせ!」の繰り返しではある。
今の俺がそれだ。
write_closeは基本的な関数であり、存在しないのがおかしい。
実装は、exitで行っているであろうクローズ処理を前倒しすればいいだけ。具体的には、
1. exitのソースコードを「接続を閉じる部分」と「それ以外」に分け、
2. 「接続を閉じる部分」が write_close() で呼ばれるようにし、閉じたかどうかをフラグで保存、
3. exit ではそのフラグを見て、閉じてない場合は呼んでから、「それ以外」を呼んで終了とする。
とまあ、要は exit のソースコードを2分割すれば済む話ではある。
dieとか、他に止める方法もあるから既に分割されてる可能性もある。
この場合は、単純に関数エントリを一つ追加するだけで終わる。
ソースコードは既にダウンロードしてmain.cとか見てるが、肝心のexit/dieのコードがどこにあるのか分からないんだな。
知っている奴がいればよろしく。
なお、俺一人だとコントリビュートはしない。
俺はPHPの初心者であり仕様を知らなさすぎて、俺一人だとバグを埋め込んでしまうから。
居るなら手伝うが。
Web開発ってのは、「こんなポンコツを使わされるくらいなら俺が直してやるからソースコードよこせ!」の繰り返しではある。
今の俺がそれだ。
write_closeは基本的な関数であり、存在しないのがおかしい。
実装は、exitで行っているであろうクローズ処理を前倒しすればいいだけ。具体的には、
1. exitのソースコードを「接続を閉じる部分」と「それ以外」に分け、
2. 「接続を閉じる部分」が write_close() で呼ばれるようにし、閉じたかどうかをフラグで保存、
3. exit ではそのフラグを見て、閉じてない場合は呼んでから、「それ以外」を呼んで終了とする。
とまあ、要は exit のソースコードを2分割すれば済む話ではある。
dieとか、他に止める方法もあるから既に分割されてる可能性もある。
この場合は、単純に関数エントリを一つ追加するだけで終わる。
ソースコードは既にダウンロードしてmain.cとか見てるが、肝心のexit/dieのコードがどこにあるのか分からないんだな。
知っている奴がいればよろしく。
なお、俺一人だとコントリビュートはしない。
俺はPHPの初心者であり仕様を知らなさすぎて、俺一人だとバグを埋め込んでしまうから。
663620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 15:59:24.92ID:bqGeTZjz0 レンタルサーバーの速さを言っても、仕方ない。
他人と共有しているから、他人がリソースを使うと、待たされる
安いのだから、低品質も仕方ない。
そういうものと割り切るしかない
KENTA は完全に割り切ってる。
PHP は一生使わないでよいと言ってる
金にならないから。
低品質で安い仕事
他人と共有しているから、他人がリソースを使うと、待たされる
安いのだから、低品質も仕方ない。
そういうものと割り切るしかない
KENTA は完全に割り切ってる。
PHP は一生使わないでよいと言ってる
金にならないから。
低品質で安い仕事
664デフォルトの名無しさん (ワッチョイ d58c-By/s)
2021/08/05(木) 16:09:21.48ID:IpTlZujB0 >>658
あなたこそ、理屈はともかく現実がわかってないかと。
以下をtest.phpにコピペしてブラウザからアクセスしてみてください。
(Chrome、FireFox、Edgeのどれでも)
hello world が表示されて、接続が切断され、"これは表示されない"は受信されません。
----------
<html><head>
</head>
<body>hello world
<SCRIPT language="JavaScript">
window.stop();
</SCRIPT>
<?
echo str_pad(" ",4096);
flush();
sleep(10);
echo "これは表示されない";
?>
</body>
</html>
----------
あなたこそ、理屈はともかく現実がわかってないかと。
以下をtest.phpにコピペしてブラウザからアクセスしてみてください。
(Chrome、FireFox、Edgeのどれでも)
hello world が表示されて、接続が切断され、"これは表示されない"は受信されません。
----------
<html><head>
</head>
<body>hello world
<SCRIPT language="JavaScript">
window.stop();
</SCRIPT>
<?
echo str_pad(" ",4096);
flush();
sleep(10);
echo "これは表示されない";
?>
</body>
</html>
----------
665620 (ワッチョイ 9a2c-QEAr)
2021/08/05(木) 16:10:32.06ID:bqGeTZjz0 Ruby on Rails では、
XAMPP, MAMP など、Linux以外を使うことはない
Linux コマンド・シェルスクリプト、Docker, Heroku, AWS も、
KENTA のサロンの初心者用コースに入っているから
それに皆、AWS のくろかわこうへいのサロンにも入る
Windows 10, WSL2, Linux, Docker, VSCode でも出来る
XAMPP, MAMP とか、訳の分からない環境を使うことはない。
動きが本番環境と異なるから
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:52.63ID:cuxOZbzu0 id:F8+XC2Dv0ってPHPがApacheのモジュールとして動作する時の理屈すら理解してなさそうw
667デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 17:59:10.16ID:F8+XC2Dv0 >>664
まあわざわざコード書いてよこしたのだから、こちらでも試したよ。
ファイルは200Bytes, ダウンロードサイズは 4.4KBと表示されてる。
確かにそちらの意図どおり、ハロワだけ先に表示されるよ。(パースされてる)
4KBパディングすれば、通常ならバッファをキック出来るから、確かにパーサもキック出来るはずだし、実際そうなってる。
ただな、時間を既に書いたが、それでは間に合わないんだよ。
ネットワークってのは地味に遅くて、例えばここからPHP.netへのpingは264msかかってる。
後処理は平均29.5-58ms程度だと予想されてるので、window.stopがサーバーに間に合わない。
結果、パケットは送信済みで、受け取られたパケットが捨てられるだけだよ。
ただし確かにパースはされてる。(=その方法でもユーザーの体感速度は上がる可能性がある)
ただ、それはページのhtmlだからであって、ajaxではその方法は使えない。
ページのhtmlはブラウザの速度競争のおかげで出来るだけ早くパースするように出来てるからだ。
xmlを送る場合、閉じタグ以降に何かあったらエラーだったので、パディングで押し込みは無理だ。
jsonについては後ろにパディングしてもエラーは出ないようなので、押し込み自体は出来るが、
そもそもAPIが途中のパース結果を見せるように出来てないから、普通に実装されてれば全部揃ってからパースだよ。
世の中の大部分のサイトがこの「押し込み」で高速化してる、というのならブラウザも対応するはずだけど、聞いたこと無いでしょ。
まあわざわざコード書いてよこしたのだから、こちらでも試したよ。
ファイルは200Bytes, ダウンロードサイズは 4.4KBと表示されてる。
確かにそちらの意図どおり、ハロワだけ先に表示されるよ。(パースされてる)
4KBパディングすれば、通常ならバッファをキック出来るから、確かにパーサもキック出来るはずだし、実際そうなってる。
ただな、時間を既に書いたが、それでは間に合わないんだよ。
ネットワークってのは地味に遅くて、例えばここからPHP.netへのpingは264msかかってる。
後処理は平均29.5-58ms程度だと予想されてるので、window.stopがサーバーに間に合わない。
結果、パケットは送信済みで、受け取られたパケットが捨てられるだけだよ。
ただし確かにパースはされてる。(=その方法でもユーザーの体感速度は上がる可能性がある)
ただ、それはページのhtmlだからであって、ajaxではその方法は使えない。
ページのhtmlはブラウザの速度競争のおかげで出来るだけ早くパースするように出来てるからだ。
xmlを送る場合、閉じタグ以降に何かあったらエラーだったので、パディングで押し込みは無理だ。
jsonについては後ろにパディングしてもエラーは出ないようなので、押し込み自体は出来るが、
そもそもAPIが途中のパース結果を見せるように出来てないから、普通に実装されてれば全部揃ってからパースだよ。
世の中の大部分のサイトがこの「押し込み」で高速化してる、というのならブラウザも対応するはずだけど、聞いたこと無いでしょ。
668デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 17:59:23.81ID:X/tiD49H0 記録37レスか
殿堂入りだな
殿堂入りだな
669デフォルトの名無しさん (ワッチョイ 5d01-RnN5)
2021/08/05(木) 18:01:07.93ID:X/tiD49H0 と思ったらまだ記録更新するつもりか
670デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 18:23:53.35ID:IpTlZujB0 >>667
間に合わないの意味がわかりませんです。
本処理終了の時点でブラウザ表示に必要な情報と、その次の行にwindow.stopまでを一気に吐き出すんだから、そのあとにサーバーから何か来て破棄されようが、どうでもいいんじゃないかしら?
要は十分な情報を受け取った段階でブラウザ側から切断してるんですよ。
本処理の後の後処理を待たせてる時間をなんとかしたいのが目的なのに、4KBでぐだぐだ言われてもねぇ。
後処理を待たせてる時間と比較したら明らかに早い段階で通信終了してるはずですよ。なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。それと比較して4KBは人間にわからないレベルの時間ですよ。
xmlが〜とかは、htmlでラップするなり、頭良いんでしょうから工夫してくださいな。
間に合わないの意味がわかりませんです。
本処理終了の時点でブラウザ表示に必要な情報と、その次の行にwindow.stopまでを一気に吐き出すんだから、そのあとにサーバーから何か来て破棄されようが、どうでもいいんじゃないかしら?
要は十分な情報を受け取った段階でブラウザ側から切断してるんですよ。
本処理の後の後処理を待たせてる時間をなんとかしたいのが目的なのに、4KBでぐだぐだ言われてもねぇ。
後処理を待たせてる時間と比較したら明らかに早い段階で通信終了してるはずですよ。なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。それと比較して4KBは人間にわからないレベルの時間ですよ。
xmlが〜とかは、htmlでラップするなり、頭良いんでしょうから工夫してくださいな。
671デフォルトの名無しさん (ワッチョイ 5d01-QEAr)
2021/08/05(木) 18:32:12.95ID:xWv0yV5l0 接続の切断が目的なら、
<?
echo str_pad(" ",4096);
flush();
sleep(10);
これは、いらない。
<?
echo str_pad(" ",4096);
flush();
sleep(10);
これは、いらない。
672デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 18:37:28.54ID:IpTlZujB0673デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/08/05(木) 19:02:41.47ID:Sb1zsMiv0 >>654
コレ、面白いね
コレ、面白いね
674デフォルトの名無しさん (アウアウアー Sa5e-ci9S)
2021/08/05(木) 19:56:24.99ID:uMZDvd8qa 無職のアスペルガーであるコミュ症プログラマーはエネルギーが違うね
そのエネルギーをもっと違うところに使おうか
そのエネルギーをもっと違うところに使おうか
675デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 20:15:50.49ID:F8+XC2Dv0 >>670
「間に合わない」はこちらの勘違いだった。その後送信データはないので関係ない。
とはいえ、君の案を採用することはないから安心しろ。
それはexecより酷すぎる。
実際のところ、ajaxでhtmlを取っても途中でパースするとは思えないので、iframeに突っ込んでそこから取るしかないが、
そんなコードを見せられたら、ハア?ってなるだろ。
それよりはまだexecの方がマシ。環境依存コードは散らかされたら終わるが、俺がやるのでそれはないし、
とりあえず今回については linux.php と windows.php に纏めておけば、そんなに悲惨なことにならない。
纏めると、よい順に、
1. write_close()を呼ぶ。が、無いのでどうしようもない。
他言語では普通にあるこれがないのでPHPはクソ、
そしてこれが必要なことを理解出来ないのでPHPerもクソ。
(なおコントリビュートする気がある奴が居たら手伝うのでよろしく。
ちなみにexitとdieは同じらしいので今は分離はしてないね、多分。そしてこの辺の基本的な仕様すら抑えてないから俺だけでは無理だ)
2. 現実装。多分平均 29.5-58ms程度待たされることになる。
が、そもそもajaxはほぼ自動アップデータだし、実際のサイトではどれくらいの速度なのか不明だし、
これがもっさり感につながるかは分からない。
3. exec。待たされることはないが、環境依存コードになるので開発とデプロイの手間が増える。
とはいえ、今のところのPHP的な正解はこれのようだ。
4. htmlタグでラップしてiframeに突っ込んでパースさせる。
ただ、上から下のdomは触れた気がするが、下から上には触れなかった気がするので、実際はchannelで通信か?
まあやれば出来るが、コード見たら呆れられるだろ。
execは精々数行で済むのに対し、こちらは一手間二手までは済まないし、execよりも遅いし。
やるのが目的ならそれで良いが、一応execという解があるのだから、それよりもマシでないと意味がない。
今のところ、現実装のままで本番環境まで持っていき、実際の使用感を確かめて、必要ならexecか、というところ。
「間に合わない」はこちらの勘違いだった。その後送信データはないので関係ない。
とはいえ、君の案を採用することはないから安心しろ。
それはexecより酷すぎる。
実際のところ、ajaxでhtmlを取っても途中でパースするとは思えないので、iframeに突っ込んでそこから取るしかないが、
そんなコードを見せられたら、ハア?ってなるだろ。
それよりはまだexecの方がマシ。環境依存コードは散らかされたら終わるが、俺がやるのでそれはないし、
とりあえず今回については linux.php と windows.php に纏めておけば、そんなに悲惨なことにならない。
纏めると、よい順に、
1. write_close()を呼ぶ。が、無いのでどうしようもない。
他言語では普通にあるこれがないのでPHPはクソ、
そしてこれが必要なことを理解出来ないのでPHPerもクソ。
(なおコントリビュートする気がある奴が居たら手伝うのでよろしく。
ちなみにexitとdieは同じらしいので今は分離はしてないね、多分。そしてこの辺の基本的な仕様すら抑えてないから俺だけでは無理だ)
2. 現実装。多分平均 29.5-58ms程度待たされることになる。
が、そもそもajaxはほぼ自動アップデータだし、実際のサイトではどれくらいの速度なのか不明だし、
これがもっさり感につながるかは分からない。
3. exec。待たされることはないが、環境依存コードになるので開発とデプロイの手間が増える。
とはいえ、今のところのPHP的な正解はこれのようだ。
4. htmlタグでラップしてiframeに突っ込んでパースさせる。
ただ、上から下のdomは触れた気がするが、下から上には触れなかった気がするので、実際はchannelで通信か?
まあやれば出来るが、コード見たら呆れられるだろ。
execは精々数行で済むのに対し、こちらは一手間二手までは済まないし、execよりも遅いし。
やるのが目的ならそれで良いが、一応execという解があるのだから、それよりもマシでないと意味がない。
今のところ、現実装のままで本番環境まで持っていき、実際の使用感を確かめて、必要ならexecか、というところ。
676デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 20:22:29.50ID:F8+XC2Dv0 >>670
> なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。
ちなみにこれはない。まだ部品を動かしている段階。
ただそもそもC出身なので基本的にノーコストで速くなるのならそれを選択する。
そして普通の環境では有る close が無いので面食らっているわけだ。
俺が見落としてるだけだと思っていたが、本当にないのだから驚きだ。
> なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。
ちなみにこれはない。まだ部品を動かしている段階。
ただそもそもC出身なので基本的にノーコストで速くなるのならそれを選択する。
そして普通の環境では有る close が無いので面食らっているわけだ。
俺が見落としてるだけだと思っていたが、本当にないのだから驚きだ。
677デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/08/05(木) 20:32:09.79ID:Sb1zsMiv0 まー設計レベルでミスってるから write_close みたいなこと言い出してんだけど、2年ぐらい Web に関われば、自力で解決できるかもね
がんばれw
がんばれw
678デフォルトの名無しさん (ワッチョイ 5d01-d0wC)
2021/08/05(木) 20:54:11.00ID:xr/U2THc0 アスペおじさんに50の質問しようぜ
>>675
・PHPはクソクソという癖してPHPにしがみついてるのはなんで?
・なんで無料レンタルサーバーなの?無職だからお金ないの?
・任意でcloseできてウェブと親和性が高い言語って例えば何?あるならそれ使えば?
・例えばNodeならできるが?Nodeでやればいいのに何でやらないの?
・Nodeが使えるサーバーってVPSで500円ぐらいで用意できるけど500円も払えないの?それとも自分じゃサーバーを作れないの?
・何度かproc_openって出てるみたいだけどそれを無視してるのはなんで?
・そもそも働いてるの?
・そんなコミュ能力で仕事できるの?
>>675
・PHPはクソクソという癖してPHPにしがみついてるのはなんで?
・なんで無料レンタルサーバーなの?無職だからお金ないの?
・任意でcloseできてウェブと親和性が高い言語って例えば何?あるならそれ使えば?
・例えばNodeならできるが?Nodeでやればいいのに何でやらないの?
・Nodeが使えるサーバーってVPSで500円ぐらいで用意できるけど500円も払えないの?それとも自分じゃサーバーを作れないの?
・何度かproc_openって出てるみたいだけどそれを無視してるのはなんで?
・そもそも働いてるの?
・そんなコミュ能力で仕事できるの?
679デフォルトの名無しさん (オッペケ Sr05-ETFs)
2021/08/05(木) 21:04:38.27ID:tYvxU5+Zr 無料レンサバ案件受けるか普通
イキっててキメぇわ
イキっててキメぇわ
680デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 21:05:44.43ID:IpTlZujB0 >>675
あーいえは、こーいうで、なかなか楽しかったです
あなたが不可能と断定したものを、あたしは2つも実現してみせたんですから、少しは敬意を表しなさいよ笑
断定したことをひっくり返されても、上からの態度とか、かっこわるいわよ
そんなんじゃ、いつまで経っても童貞卒業できませんよ
あーいえは、こーいうで、なかなか楽しかったです
あなたが不可能と断定したものを、あたしは2つも実現してみせたんですから、少しは敬意を表しなさいよ笑
断定したことをひっくり返されても、上からの態度とか、かっこわるいわよ
そんなんじゃ、いつまで経っても童貞卒業できませんよ
681デフォルトの名無しさん (ワッチョイ 5d01-60o5)
2021/08/05(木) 21:19:16.52ID:xWv0yV5l0682デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 21:22:27.97ID:F8+XC2Dv0 >>678
proc_openはexecと変わらんだろ。
それで環境依存無しのコードが書けるわけでも無し。
PHPについては何度も言ってるように無料レンタルサーバーで動かす為で、
それは俺が使う用ではないからだよ。
PCのことなんて分からない連中でも動かせるようにして、しかも無料なら試しにやってみようかともなるだろ。
この辺については俺がどういうアプリ戦略を採るかだから、意見言われてもああそうですか、でしかない。
そしてここで色々ひけらかして後々粘着されてもウザイだけだから、特定出来るほど詳しく言うつもりもない。
なおNodeの無料鯖が日本に出現したら間違いなくそれに向けて作る。
今それがあるのならPHPは捨てるし、多分今後は書くこともない。
既に言ったが俺的にベストなのはサーバレスで、実際はレンタルサーバーよりもサーバレスが断然いい。
だからherokuの鯖が日本に出来るのがベストだが、無いのだから仕方ない。
PHPは糞だが、そもそも俺のアプリはそんなに大きいものではなく、
むしろSQLiteのラッパでしかないので、今はphp.netを睨みながらやってるような状況だが、それでも何とか進めてる。
ただまあ、俺が考えてることは今のWebからすると奇妙な事だから、君達と話が噛み合わないのは仕方ない。
それで君らが頭に来てるのも分からんでもない。
ただ先述の通り、詳しく言うと後々の憂いになるから、お互いに技術的なこと以外には踏み込まないようにした方がいい。
Webってのはそれくらいの距離感が丁度いいのだと俺は思ってる。
proc_openはexecと変わらんだろ。
それで環境依存無しのコードが書けるわけでも無し。
PHPについては何度も言ってるように無料レンタルサーバーで動かす為で、
それは俺が使う用ではないからだよ。
PCのことなんて分からない連中でも動かせるようにして、しかも無料なら試しにやってみようかともなるだろ。
この辺については俺がどういうアプリ戦略を採るかだから、意見言われてもああそうですか、でしかない。
そしてここで色々ひけらかして後々粘着されてもウザイだけだから、特定出来るほど詳しく言うつもりもない。
なおNodeの無料鯖が日本に出現したら間違いなくそれに向けて作る。
今それがあるのならPHPは捨てるし、多分今後は書くこともない。
既に言ったが俺的にベストなのはサーバレスで、実際はレンタルサーバーよりもサーバレスが断然いい。
だからherokuの鯖が日本に出来るのがベストだが、無いのだから仕方ない。
PHPは糞だが、そもそも俺のアプリはそんなに大きいものではなく、
むしろSQLiteのラッパでしかないので、今はphp.netを睨みながらやってるような状況だが、それでも何とか進めてる。
ただまあ、俺が考えてることは今のWebからすると奇妙な事だから、君達と話が噛み合わないのは仕方ない。
それで君らが頭に来てるのも分からんでもない。
ただ先述の通り、詳しく言うと後々の憂いになるから、お互いに技術的なこと以外には踏み込まないようにした方がいい。
Webってのはそれくらいの距離感が丁度いいのだと俺は思ってる。
683デフォルトの名無しさん (ワッチョイ 5d01-60o5)
2021/08/05(木) 21:23:55.06ID:xWv0yV5l0 場合分けしました。 →場合分けして検証しました。
たいした仕事ではなかったんだけど、
ある公式を忘れても、基本の基本から証明できるので、
基本の基本が用意されてれば、(システム業界では)不可能と答えてはダメなんです。
たいした仕事ではなかったんだけど、
ある公式を忘れても、基本の基本から証明できるので、
基本の基本が用意されてれば、(システム業界では)不可能と答えてはダメなんです。
684デフォルトの名無しさん (オッペケ Sr05-ETFs)
2021/08/05(木) 21:24:45.00ID:tYvxU5+Zr しかもSQLiteって笑うところだな
685デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 21:25:17.35ID:F8+XC2Dv0686デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 21:30:22.62ID:F8+XC2Dv0 >>684
エンタープライズ用途ならスケールアウト出来ないSQLiteは論外なのだろうけど、
ぶっちゃけ俺の用途ではSQLiteで十分だし、それは既にチェック済み。
というかね、単体では十分速いよSQLite。
まあ、他は使ったこと無いんだけどね。
SQLとか知らんし、とりあえず一番簡単な奴から、ってことで試して、十分だったのでそれまで。
エンタープライズ用途ならスケールアウト出来ないSQLiteは論外なのだろうけど、
ぶっちゃけ俺の用途ではSQLiteで十分だし、それは既にチェック済み。
というかね、単体では十分速いよSQLite。
まあ、他は使ったこと無いんだけどね。
SQLとか知らんし、とりあえず一番簡単な奴から、ってことで試して、十分だったのでそれまで。
687デフォルトの名無しさん (ワッチョイ 5d01-d0wC)
2021/08/05(木) 21:40:09.08ID:tHJjXwU70688デフォルトの名無しさん (ワッチョイ 5d01-d0wC)
2021/08/05(木) 21:44:25.28ID:tHJjXwU70689デフォルトの名無しさん (JP 0H2e-3fhR)
2021/08/05(木) 21:48:51.81ID:cTOwQa60H 上のレン鯖の人は、
・無料で使える
・日本国内に鯖がある
・好きなミドルウェアや言語をセットアップできる
という条件を満たす環境があるなら、PHPに拘らないという主旨の発言をしているようにみえるが、その認識であってる?
・無料で使える
・日本国内に鯖がある
・好きなミドルウェアや言語をセットアップできる
という条件を満たす環境があるなら、PHPに拘らないという主旨の発言をしているようにみえるが、その認識であってる?
690デフォルトの名無しさん (ワッチョイ d58c-0pp8)
2021/08/05(木) 21:58:56.90ID:IpTlZujB0691デフォルトの名無しさん (ワッチョイ ed5f-qgft)
2021/08/05(木) 22:05:04.22ID:vJjfvU2/0 php嫌いなのは分かるし俺も別に好きじゃないが、じゃあなんで使うんだよ、使わざるを得ないなら従え、以外に帰着しねーんでは。
お得意のnode様でも他言語からしたらディスられるだろうし不毛だわ
お得意のnode様でも他言語からしたらディスられるだろうし不毛だわ
692デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 22:08:47.31ID:F8+XC2Dv0 >>689
まあyes。正確には
> ・無料で使える
> ・日本国内に鯖がある
ここまではその通りで、
> ・好きなミドルウェアや言語をセットアップできる
この必要はない。好きでもないPHPを使ってるのがその証拠。
一番いいのはNode。
ただ、動的言語でないと無理なのではないかと予想してるので、(が、何故そうなのかは言えない、これはすまん)
GoとRustは駄目だ。というかGoはPHP以上に糞だし、Rustは今のところ様子見してる。
それで、無料鯖で使える動的言語=PHP/Python/Rubyで、どれも知識ゼロだから、
とりあえずメジャーなPHPから試すか、で、まあ、言語と界隈が糞な所以外は問題ないから我慢して使ってる。(というほど使ってないけど)
まあぶっちゃけ、PHPが糞だ糞だと言われつつものさばってるのは、確かに便利なんだよ。これは認める。
そしてPHP.netの出来はマジで素晴らしい。PHP.netと比べるとPythonやRubyのサイトはゴミだね。
この辺も、また、ググッて回答が出てくるかも含めて、知識ゼロならPHPから試すのが妥当だし、そうしただけ。
もしかして他の選択肢がある?
ご指摘の通り、PHPは手段であって、目的ではない。
まあyes。正確には
> ・無料で使える
> ・日本国内に鯖がある
ここまではその通りで、
> ・好きなミドルウェアや言語をセットアップできる
この必要はない。好きでもないPHPを使ってるのがその証拠。
一番いいのはNode。
ただ、動的言語でないと無理なのではないかと予想してるので、(が、何故そうなのかは言えない、これはすまん)
GoとRustは駄目だ。というかGoはPHP以上に糞だし、Rustは今のところ様子見してる。
それで、無料鯖で使える動的言語=PHP/Python/Rubyで、どれも知識ゼロだから、
とりあえずメジャーなPHPから試すか、で、まあ、言語と界隈が糞な所以外は問題ないから我慢して使ってる。(というほど使ってないけど)
まあぶっちゃけ、PHPが糞だ糞だと言われつつものさばってるのは、確かに便利なんだよ。これは認める。
そしてPHP.netの出来はマジで素晴らしい。PHP.netと比べるとPythonやRubyのサイトはゴミだね。
この辺も、また、ググッて回答が出てくるかも含めて、知識ゼロならPHPから試すのが妥当だし、そうしただけ。
もしかして他の選択肢がある?
ご指摘の通り、PHPは手段であって、目的ではない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
