- 1 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 12:39:39.75 ID:P0iZ4CYt0.net]
- !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
- 610 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:49:57.76 ID:jTl1oJKL0.net]
- >>597
だから「開発環境はDockerやVagrantで作ればいい」と書いた とにかく質問は解決しただろ? だったらPHPスレに居座る必要もない WPガイジ(こいつも相当頭が固いw)といい、俺はサッサと質問を解決しガイジにお帰り頂きたいだけだ 繰り返すが固いのはチンコだけにしとけw それといももうチンコも勃たない歳か?w
- 611 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:51:05.04 ID:F8+XC2Dv0.net]
- >>594
ラスマスの記事を読んだ。まあ想定どおり。 これはWeb上のオープンソース開発、つまりJSやRustも同じ事。 それらに比べてPHPはポンコツ過ぎ。 ちなみにfiberが欲しいわけではない。それも「歩いて3秒の場所に自転車で行く」に近い。 俺がやりたいのは、 fclose(/dev/stdout) だよ。 ただまあ、PHPがラスマスの言うとおり勝手に開発された機能の団子なのなら、 俺が勝手にCのコード書いて送れば採用されるのかな? 精々10行程度で実装出来るから送ってみてもいいんだけどさ。 あとそれ、「PHPは柔軟でスゴイ!」ってのも、 最近よくいる「俺が使ってる言語スゲー=俺スゲー」系の馬鹿だから止めとけ。 他言語で既に使えてる便利機能が今更採用されたところでスゲーと思えるのは明らかに信者でしかない。 第三者なら「ようやくかよ」でしかない。
- 612 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:57:59.07 ID:kPeKr//s0.net]
- ID:F8+XC2Dv0
質問に非同期って単語が出てない時点でお察しですな PHPへの噛みつき方もテンプレ過ぎて10年前にタイムスリップしたかと思ったよ 加齢臭のするオッサンだろうな
- 613 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:01:32.69 ID:F8+XC2Dv0.net]
- >>599
> だから「開発環境はDockerやVagrantで作ればいい」と書いた だからその解も本来は間違ってるんだよ。それは、 実行環境依存のコードしか書けないから、それぞれの実行環境を毎回用意してそこで開発しろ なわけだろ。それはJavaが目指した「Write once, run anywhere」でも全然無いだろ。 まあ実際はともかく、そもそもプログラミング言語はOS上のレイヤだけで動いているのなら、こうあるべきなんだよ。 そしてJSとか他言語はそうなってる。 PHPはその努力もしてないから駄目なんだよ。 その、「間違った解を正解として誇らしげにドヤる」のも、 典型的な「初心者から中級者にアップしたての馬鹿」がやることで、おまえはまさにそれだよ。 実際PHP界隈はそういうのが多数派で、それが問題視されることはないのだろうけど、それ自体が問題だよ。 それでは生産性がまるで上がらない。まあこれも理解出来ないのだろうけどさ。
- 614 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:04:37.37 ID:/R94gyIjd.net]
- >>590
あたしは575の提案をして、環境依存に難色を示されたので、代替提案をしただけなのに、おかしいだろ
- 615 名前:ニか、ダメだとか、あっちのほうがマシだとか、なんでそんなに上からなんですか笑
既にbody出力済みという前提も無かったし。 なるほど、でもできればリダイレクトはしたくないです。とだけ返事すればいいものを。 リダイレクトNGなら、更に別の提案もあるんだけど、萎えましたです。 [] - [ここ壊れてます]
- 616 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:05:12.89 ID:jTl1oJKL0.net]
- 俺、PHPがすげぇなんて一言も書いてないけどw
だからこそ「PHPなんて良くも悪くも適当に書けば適当に動いてくれる言語」だと書いたし ラスマスのインタービュー記事を紹介したのだが、このガイオヤジはドヤ顔で何を勘違いしてるのだろうw 例えば>>579で > 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい なーんて書いちゃってるから…ね 「&」ついてるのに、これのどこか同期コマンドなんだというツッコミw 質問は解決してるんだからもう用はないだろ? あとはチラシの裏にでも書いとけw
- 617 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:07:21.49 ID:jTl1oJKL0.net]
- >>601
このガイオヤジ、1人で勘違いして「信者」なんて言っちゃってるしね この手のヤバい奴は昔から居たから、PHP長くやってると慣れるよねw
- 618 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:09:50.52 ID:F8+XC2Dv0.net]
- >>601
非同期知ってる俺カッケー、か。 俺がやりたいのは非同期ではないんだよ。 ここら辺なんだよ、PHPerは、(JSerもだからWeb系全般だと思うが) 本人が実力を過大評価しすぎてていちいちウザイ。 今回は同期の fclose(/dev/stdout) がベストで、この単純なことが出来ないのは奇妙だと思って聞いてる。 他の言語/実行環境なら最初に用意される物であって、存在しないのはほぼありえない。 だから俺の勘違いか見落としだと思って聞いてるわけだ。 そしてこんな基本的な物がないのに非同期とかfiberとか、整備の順番を完全に間違ってるんだよ。 とはいえlaravelはどうやら俺の想定していたものとは違うので、そこにあることには期待している。
- 619 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:14:45.50 ID:F8+XC2Dv0.net]
- >>603
> 既にbody出力済みという前提も無かったし。 いやそれは普通に読めば分かるだろ。 むしろ、接続を切ろうとしてるのに、なんでその後に何か出せると思ったの? もしかして、本処理ではheaderだけしか出力してないと思った? それはレアケース(常に403とか?)であって、その仮定の方が無理あるだろ。
- 620 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:18:11.81 ID:kPeKr//s0.net]
- 簡単な非同期処理で解決するのになに言ってるのこの人
顔真っ赤すぎて全レスし始めたし今日1日で何レスするのか見ものだな PHPに親でも殺されたのかしら?
- 621 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:23:41.31 ID:xD0lMLd30.net]
- スレが伸びてると思ったら大物が登場してるな
面白いから魚拓取って他にも晒しとくわ
- 622 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:25:02.26 ID:F8+XC2Dv0.net]
- >>604
exec自体は同期コマンドなんだよ。 そしてその書き方自体も他言語が出来るプログラマにとっては気に入らない。 exec("cmd"); // 同期 exec("cmd > /dev/null &"); // PHPではこれで非同期、しかし書き方がイマイチ exec("cmd") > /dev/null; // これならまだマシ exec_async("cmd"); // 本来はこうあるべき まあここら辺もPHPが嫌われる理由だよ。他言語と揃ってないからいちいち文法で躓く。 だから他言語で慣らした連中に取っては無駄に参入障壁となっていて、 結果的にPHPはPHP育ちの初心者パラダイスになってる。 そりゃ居心地はいいんだろうけど、良いコードに遭遇出来ないのは上達の妨げにしかならないことに本人達も気づけない。 なんだかね。 実際お前ら、上の4つ、何が問題か分からないだろ。
- 623 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:26:44.63 ID:F8+XC2Dv0.net]
- >>608-609
> 簡単な非同期処理で解決するのになに言ってるのこの人 そう思えちゃうところがPHPerだよ。 まあ他のプログラミングが出来る連中にも聞いてみるんだね。
- 624 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:31:07.06 ID:xWv0yV5l0.net]
- 自分も、そこまでLinuxには詳しくないが、
今時、2〜3台もパソコンがあれば、社内Lanで繋ぎませんか?
- 625 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:34:43.32 ID:Lk6xwBBud.net]
- >>607
いや、あなたの常識なんて知らないわよ笑 普通にアクセスされただけで(またはgetパラメーター付きとか)処理が走って、本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし。 (もうここは掘り下げなくていいです) てか、あなたが返事すべきはそこじゃないんだけど〜
- 626 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:43:44.22 ID:F8+XC2Dv0.net]
- >>612
開発環境の再構築に乗り気ではないのは、それは手段が目的化する恐れがあるから。 いろいろ分かってない状況(=今の俺)の場合は、環境構築こそが最大のネックで、 コード自体は書けば書けるものでしかないんだよ。 そして既にXAMPP+NetBeansでブレークポイントも当たるし、xhprofだっけ?も導入してるからそれでやってる。 (ただし環境を構築したのは4年前だから、君らからするとこれは古すぎかもしれないが) 新しい開発環境も、作ってしまえば結果的には楽勝なのかもしれないが、あっさり出来る自信がないんだ。 ただまあ、今回の話は、環境構築すればいいって物ではないのだけどね。 それって、例えば鯖を変えたり、あるいはGitHubで公開した後に「○○ですけど動きません」ってのに いちいち対応するのか?って話になるだろ。 そもそも環境依存のコードを書くべきではない ってのが大正義なのに、それを認めずあれこれ無駄に言ってくるからおかしな事になる。 お前らは何をすべきなのか本質を理解するべきだよ。
- 627 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:44:41.71 ID:kPeKr//s0.net]
- >>610
なるほど Linux系のOSでコマンドの後に&を付けるとバックで動くって事を知らなかったのね それを必死に誤魔化してるだけかw
- 628 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:46:58.60 ID:F8+XC2Dv0.net]
- >>613
> 本処理が終わるまで何も出力しないように書き直して工夫することだってできる可能性もあるわけだし 本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。 本処理終了後は出力はない。だからそこで切りたい。 というわけだがこれでいいか? いずれにしてLocationでリダイレクトは度頭でやらないといけないから君の間違いだとは思うけど。 > てか、あなたが返事すべきはそこじゃないんだけど〜 どこよ?
- 629 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:48:24.23 ID:F8+XC2Dv0.net]
- >>615
そう思うのは、君の周りにはその程度の人しか居ないからだね。君も含めて。
- 630 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 11:49:26.67 ID:cuxOZbzu0.net]
- 朝の6:30から20レスww
- 631 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:00:42.44 ID:F8+XC2Dv0.net]
- >>613
616訂正。 > Locationでリダイレクトは度頭でやらないといけない と思ったが、もしかしてリダイレクトが間に合わなかったケースを意図的に利用して接続を切ろうって事か? それは解としてはだいぶ酷い。そういうコードを書くと数年後には意味不明で読めなくなる。 あとその場合は結局ブラウザ上でパースされた時に転送(=接続終了する)だけであって、 結局今の実装(ブラウザのパースタイミング次第)と同じでしかないし、改善しないと思うが。
- 632 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:07:25.00 ID:bqGeTZjz0.net]
- 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のくろかわこうへいのサロンに入って勉強してる
- 633 名前:デフォルトの名無しさん [2021/08/05(木) 12:14:58.24 ID:dqIKXfcM0.net]
- スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか? セキュリティ対策はどのようなことに注意すればよいでしょうか?
- 634 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:18:19.70 ID:Sb1zsMiv0.net]
- >>621
不正アクセス以外にも法的に問われるケースは存在します まず法的な問題の解決方法を学ぶと良いです まぁ、いずれにしても初心者のすることじゃないです
- 635 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:19:31.36 ID:jTl1oJKL0.net]
- まだやってて草w
で、この朝6時から20レス以上してるガイオヤジは、なんでPHPにこだわってるの? > マルチプロセスだから根本的に考え方が違うんだな > 質問には確かにexecが正解のように見える と自分で書きながらもPHPではどうしても納得いかないんでしょ? だったらPHP以外でやればいい 質問はこれで綺麗サッパリ解決したし、あとはチラシの裏へどうぞ ちなみに>>610については、例えばPythonでsubprocess.run()を使っても一緒の話なわけで、 「PHPだから」という話ではない それを非同期で実行したいならPythonならsubprocess.Popen()を使うし PHPならpopen()やproc_open()を使う
- 636 名前:620 mailto:sage [2021/08/05(木) 12:19:59.18 ID:bqGeTZjz0.net]
- PHP はレンタルサーバー用言語
Ruby on Rails は、プロ用フレームワーク。 WSL2 Linux, Heroku, AWS だから、PHPでは転職できないから、KENTA のサロンでは勧めない Node.js, Django も、Railsのシェアを崩せなかった。 募集がなく転職できないから、サロンでは勧めない 唯一の時給1万円コースの道筋は、Ruby → Go だけ 企業が欲しい人材は、AWS Solution Architect。 AWS でシステム構築運用できる人
- 637 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:28:51.37 ID:6TA++zayd.net]
- >>616
> 本処理ではbodyを出力する場合もあるし、403等でheaderだけで終わる場合もある。 だから、今の仕様はそうなのかも知れませんけど、その本処理はユーザーがアクセスしただけで処理が出来るなら本処理が終わるまで何も出力しないように書き換えればいいんだし、何かユーザーの入力に応じて処理するのなら、postで再アクセスさせて本処理が終わるまでなにも出力しないように書けないんですか? まあいずれにせよ、リダイレクトはそもそも論外のようなので不毛な話しではありますが。
- 638 名前:620 mailto:sage [2021/08/05(木) 12:28:59.36 ID:bqGeTZjz0.net]
- 食べチョクみたいな若い女の子が、Ruby on Rails で1人で始めたサイトでも、
求人募集は、AWS に詳しい人 システム構築運用できる人 コロナで取引量が30倍になった。 こういうのは言語・アプリで解決できる問題じゃない だから、むしろプログラマーよりも、LinuC などのLinux の資格保持者とか、 AWS Solution Architect が必要 今は、プログラミング言語よりも先に、 Linux コマンド・シェルスクリプト、Docker Compose, VSCode などが来る
- 639 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:30:20.75 ID:F8+XC2Dv0.net]
- >>623
まあforkしたいわけでもないんだけどね。それも事を大きくしすぎ。 Pythonを選択しないのは、俺が知らないからだね。 ただしレンタルサーバーでも使えるから、選択肢としてはありなんだろうけど、 言っちゃ悪いがPython使う理由なんてPHP以上にないでしょ。
- 640 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:35:56.18 ID:F8+XC2Dv0.net]
- >>625
一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか? ちなみに本処理はgetであって、postではない。 そして304ならheaderのみ、200ならheader+bodyの、至極普通のget処理だ。 その200、つまりheader+bodyを送信後に再びLocation"header"を出すのは不可能だが、それは理解してるか?
- 641 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:37:33.28 ID:jTl1oJKL0.net]
- >>627
Python使えなんて一言も書いてないんだがw PHPのexec()の例は別の言語でも一緒って例を示しただけ ほんと頭が固いというか思い込みが激しいというか… 現場に居たら陰口叩かれまてるタイプだわお前はw
- 642 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:44:05.08 ID:F8+XC2Dv0.net]
- >>629
なら、PythonもPHPと同程度に文法が糞だ、というだけだろ。 実際、Pythonを「プログラミング言語として」褒めてる奴も少ないだろ。 みんなが使ってるから使う、というのが大半であって。
- 643 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:44:10.37 ID:jTl1oJKL0.net]
- ちなみに、ものすごく低レベルな方法だがこんなやり方もある
> SQLiteを操作してhttp出力 の中に <img src="重い処理をするPHP" width="1" height="1"> と書くだけw これならcronが使えない環境でも簡単にできる これで解決したら笑う
- 644 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:48:28.04 ID:F8+XC2Dv0.net]
- >>631
それは面白い発想だが、べき論で言えば反則だろうよ。 ただし、確かに技術的には解決する。
- 645 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 12:58:15.10 ID:F8+XC2Dv0.net]
- >>631
いや待て、今回はhtmlではなかったので駄目だった。 主にjsonとxmlだ。 まあしかし、発想自体は面白いよ。 ただ、なんか余計なアクセスが出てるように見えるからそれで実装することはないが。 今現在の実装だと、「運が悪く、ブラウザも怠慢していれば、倍かかる時があります」であって、 そんなに問題な実装でもないし、実際htmlを出すのは最初だけ(SPA)にしようとしてるので、それでは解決出来ない。
- 646 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:00:46.26 ID:jTl1oJKL0.net]
- >>632
こんなもんは、例えば何かしらのトラッキングや、メルマガで配信するHTMLメールで開封率を調べる時等で 当たり前に使われてる方法だけどねぇ… でも、元の質問は>>575だろ? これ>>631で解決するよな?w でもどうせ気に食わないんだろ? だったらPHPなんかやめてサッサと他の言語でやればいい なんでこのスレに居るわけ? サッサと出ていけよw
- 647 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:06:35.62 ID:jTl1oJKL0.net]
- >>633
また後付でなんか出てきたw >>575はとにかく、重たい後処理をするPHPを非同期で起動させればいいだけ それがexec()だろうがproc_open()だろうが<img>タグだろうが同じだ それが我慢ならんのなら、それ以上PHPにこだわる必要性は何もない まぁお前みたいな「面倒くさい人」はどこにでもいるよw もうええでしょ
- 648 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:08:11.92 ID:F8+XC2Dv0.net]
- >>634
ああ、Webビーコンと大昔に呼ばれてて、その結果htmlメールは悪だとされた奴だな。 今でも普通に使ってるのか?それはそれで問題だとは思うが。 少なくとも、俺は>>631で出来る状況であってもそれは使わない。今現在の実装の方がマシ。
- 649 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:08:51.75 ID:xWv0yV5l0.net]
- pythonというのは、
等加速度直線運動の3公式で、多くの問題を解決するようなもので、 これをできれば、スピードアップするらしいが。 高度なことをできる部品はある。
- 650 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:26:51.61 ID:F8+XC2Dv0.net]
- >>635
ちなみに > 重たい後処理をするPHPを非同期で起動させればいいだけ これが間違い。 単に、出力を閉じる connection_close みたいな関数を呼んでユーザーとの接続を終了させ、 そのあとそのプロセスが引き続き後処理をすれば良いだけだし、これが一番軽い実装だ。 そして他言語だとこれは出来るのに、何故この基本的な操作ができないのだ?という話。 非同期=軽いとか思ってる馬鹿も特にJSには多いんだが、非同期が軽いわけではないんだよ。 むしろキューイングしてやる分だけ重くなる。
- 651 名前:620 mailto:sage [2021/08/05(木) 13:41:39.90 ID:bqGeTZjz0.net]
- >>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年やっただけの人にも勝てない
- 652 名前:デフォルトの名無しさん [2021/08/05(木) 13:44:24.19 ID:/9S9EoKc0.net]
- robots.txtを守らないと逮捕されるって本当ですか?
- 653 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:47:42.25 ID:jTl1oJKL0.net]
- >>638
だからさー…あのなぁ…俺は「>>575みたい低レベルな話なら」それで解決するだろ?と言ってる しかもレンタルサーバでやるような低レベルなもんだろ? ここは質問スレだ 俺は「その低レベルな質問に対して方法を提示した」だけ 言語仕様が我慢できないなら他の言語を使え 何度も同じ事を言わせるな つかお前、なんかの病気じゃね?w
- 654 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:51:30.80 ID:jTl1oJKL0.net]
- >>640
どこから聞いたんだよそんな話w 例えば640が、robots.txtの記述内容を無視してスクレイピングをしたとする そのせいでサーバに負荷をかけまくりサーバをダウンさせれば、罪に問われる可能性はあるわな もしくは著作権で守られているコンテンツを無視して転載しても、罪に問われる可能性はあるわな でもそれは、robots.txtを守らないと逮捕されるって話とは別の話だよな? 理解できるか?
- 655 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 13:59:25.27 ID:QPICGq8w0.net]
- ID:F8+XC2Dv0
ご大層なゴタクを並べてるのにサーバーはレンタルサーバーなのですね
- 656 名前:デフォルトの名無しさん [2021/08/05(木) 14:04:31.11 ID:xD0lMLd30.net]
- >>643
www
- 657 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 14:06:09.47 ID:IpTlZujB0.net]
- >>628
> 一応聞くが、headerはbodyの後には出力出来ないってのを知ってるか? 知ってますよ笑 だから、本処理終わるまで何も出力しないように書き換えればと言ってるんです 本処理完了の次の行でheader locationを出力し、リダイレクト先のページにパラメーター渡して表示すればいいです <?php sleep(3); // ←本処理の代わり(ここまで何も出力しない) ignore_user_abort(true); header('location: hoge.php?a=パラ1'); flush(); sleep(10); // ←後処理の代わり exit; ?> 不可能かどうか、コピペで実行してみて笑
- 658 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 14:22:57.10 ID:F8+XC2Dv0.net]
- >>592
イマイチ全体像が掴めないのだけど、確かにジョブキューイングは出来るようだ。 ただ見たところLaravelのソースコードはphpのようだし、RedisだSQSだとか言ってるから、これは、 DBに対するPDOのように、キューイング機能のあるRedis/SQS等に対しての共通ラッパを提供したもの ということでいいのか? (そもそもRedis/SQS等は初耳なので大幅に勘違いしてるかもだが) なお、確かに今回の俺の用途ならこれで対応可能だ。 話が大げさになりすぎてる感はあるが、 元々Laravelを知ってて、かつ、使える環境なら、この選択もありだろう。 いちいちキューを自前で作るよりもキューサーバー、なんてのは あらゆる物をマイクロサービスに分割するWeb系的な発想ではあるが、まあ確かに面白い。 実際、Javaとか無駄にモノリシックになってて開発人月がでかくなりすぎてる感はあるし。 ただこれ、インストールが必要みたいだし、最安(=無料)のレンサバじゃ動かないよな? インストールが必要/有料での契約なら俺的にはNodeの方がマシで、PHPを選ぶ理由がない。 既に言ったが、PHPで書くのは無料サーバーでも動かす為で、 プログラミングについて何も知らない人がGitHubからクローンしたらもう動く!みたいな 超イージーデプロイじゃないとわざわざPHPで書く意味はない。俺なら書き慣れたJSを選ぶ。 (勿論君らがPHPを選ぶのは自由として) 結果的に、エンタープライズな連中はLaravel等を使うから問題なく、こんな基本的な問題も放置されてるってところか。 巣のPHPを使う連中は基本的に初心者であり、細かいことは気にしてないのだろうし。
- 659 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 14:31:39.19 ID:F8+XC2Dv0.net]
- >>641
> しかもレンタルサーバでやるような低レベルなもんだろ? これはその通りだ。 お前らのやってるエンタープライズなコードでは許されないような方法でも、許されるのだろうさ。 とはいえ、それをやるかどうかはまた別だろ。 プログラミング初心者が四苦八苦して数百行のやっと動くコードを書いてる状況ではないんだよ。 他言語ではバリバリに書ける奴がPHPだとデタラメやっていい、ってことにもならないだろ。 それは矜持の問題だ。 勿論、お前がデタラメやるのもお前の自由だが、俺的には恥ずかしくてそんなコードは公開出来ないよ。
- 660 名前:620 mailto:sage [2021/08/05(木) 14:32:09.85 ID:bqGeTZjz0.net]
- 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
- 661 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 14:36:28.61 ID:F8+XC2Dv0.net]
- >>645
なるほど、その方法でも出来るのは理解した。 が、それだと2往復するし、やっぱりかなり無駄だろ。 結局お前らは「動けばいい」でしかないからそういうことになる。 それだったら、現実装の方がまだマシだよ。 ただまあ、エンタープライズならLaravel等でキューサーバー、ってのは分かった。 確かにこれで玄人は問題ないのだろうさ。
- 662 名前:620 mailto:sage [2021/08/05(木) 14:45:20.58 ID:bqGeTZjz0.net]
- 例えば、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以外を使うことはない。 環境が異なると、テストにならない
- 663 名前:デフォルトの名無しさん [2021/08/05(木) 14:50:29.16 ID:IpTlZujB0.net]
- >>649
理解いただけてなによりです。 ただ2往復の意味が良く分かりません。 1.本処理+後処理.phpにGet付でアクセス 2.本処理終わったらbody用パラメーターつけてhoge.phpに飛ばす 3.ユーザーにはhoge.phpが表示される 4.サーバー側は後処理が継続される 進行は分岐するけど常に1方向だし、どこにも戻ったりもしてないと思いますが。
- 664 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 14:55:48.88 ID:F8+XC2Dv0.net]
- >>651
リダイレクトは別サイトにもいけるだろ。 だから基本的にはブラウザとは2往復するはず。 結果的に同一サイトにリダイレクトされる場合でも、おそらくブラウザはもう一度接続し直してくるはず。 この辺は試した方が早いかもしれんが。
- 665 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:07:47.04 ID:cuxOZbzu0.net]
- 無料レンタルサーバを使う上級者様が朝の6時半から32レスという渾身のギャグ
- 666 名前:デフォルトの名無しさん [2021/08/05(木) 15:08:57.20 ID:IpTlZujB0.net]
- >>652
なるほど、再接続という意味ならそうですね。 では別の案ですが、 1.本処理中に吐き出すHTMLの先頭に、文字列なりHTMLタグなりの目印を検出するJavascriptを仕込む。 2.本処理が終わったタイミングで目印になる文字なりHTMLタグなりを出力(Flush)する。 3.Javascriptで対象の目印を検出したら window.stop() で、ブラウザ側から切断させる。
- 667 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:17:03.80 ID:F8+XC2Dv0.net]
- >>651
ああだからな、元々は「処理を速く見せる為」なんだよ。それで、 ・接続を明示的に切れれば、往復1回+本処理 ・接続を明示的に切れない現状では、往復1回+本処理+後処理 ・651方式で転送した場合、往復2回+本処理 というようにユーザーには見えることになる。 結果、ネットワークが速くて後処理時間より短いならこれもありかもしれないけど、ネットワークも地味に重い。 この辺のさじ加減は君らの方が詳しいだろうけど、 現状の後処理は、整理するデータがある場合は400ms程度、無ければ10-40ms程度だ。 整理するデータが存在するのは1/20程度の確率だと想定している。 となると、単純には後処理は平均して29.5-58ms程度の重さになる。 だから、ネットワークがこれ以上重いと赤字になってしまうんだよ。 (XAMPPでの時間計測なんて意味あるかボケ!というのはさておき)
- 668 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:19:28.77 ID:qHbol2On0.net]
- ID:F8+XC2Dv0は開発環境がXAMPPで無料レンタルサーバを使う初心者なのだから身の丈にあったことをすればいいのにキチガイ過ぎる
- 669 名前:デフォルトの名無しさん [2021/08/05(木) 15:26:17.55 ID:tyzHpayb0.net]
- >>642
ID:bqGeTZjz0の人にrubyスレで教わりました
- 670 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:31:25.87 ID:F8+XC2Dv0.net]
- >>654
それは君がブラウザの動きを分かってない。 flushで出力されるのはPHP側のバッファだけで、apache/nginxのバッファはflushされない。 だからapache等でgzしている場合には最後まで出力されるかどうかはかなり怪しい。(というか、多分されない) そしてブラウザはある程度溜まったら勝手に出来るところまでパースする。 そしてパースが完了しないとJS側からはデータにアクセスしようがない。(送信途中のデータは読めない) よってその方法では出来ない。 接続を明示的に切れれば、apache等は溜まってるデータをflushして接続を切りに行き、 それを受けてブラウザはすぐにパースを開始する。 だから、接続さえ明示的に切れれば、すぐさまパースされるんだよ。その後PHPが動き続けてても関係なく。 これをやろうとしている。 まあ、Laravelでキューサーバー使えというのはその通り。エンタープライズならこれなのだろう。 多分君はDOM(HTMLページ内)のJSが同期的に動くのを見て勘違いしてる。 ajaxで取得したデータは、途中では読めないよ。
- 671 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:31:32.98 ID:jTl1oJKL0.net]
- >>657
そいつは有名なキチガイだから相手にしたら駄目よ 今このスレでも ID:bqGeTZjz0 で支離滅裂な事を書いてるけど頭の病気だから
- 672 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:38:06.77 ID:F8+XC2Dv0.net]
- >>656
だから最初から言ってるが、 俺はPHPの初心者ではあるけどプログラミングは初心者ではないんだよ。 だから、PHPといえども恥ずかしいコードは書けない。
- 673 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:54:01.25 ID:qHbol2On0.net]
- >>660
いやいやご冗談がきつい どこからどう見ても初心者ですよ? 初心者じゃないならXAMPPや無料レンタルサーバに固執しなくていいですし PHPに固執しなくてもいいですからね
- 674 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 15:57:19.11 ID:F8+XC2Dv0.net]
- ちなみにお前ら、PHPにコントリビュートしてみたい奴はいるか?
居るなら手伝うが。 Web開発ってのは、「こんなポンコツを使わされるくらいなら俺が直してやるからソースコードよこせ!」の繰り返しではある。 今の俺がそれだ。 write_closeは基本的な関数であり、存在しないのがおかしい。 実装は、exitで行っているであろうクローズ処理を前倒しすればいいだけ。具体的には、 1. exitのソースコードを「接続を閉じる部分」と「それ以外」に分け、 2. 「接続を閉じる部分」が write_close() で呼ばれるようにし、閉じたかどうかをフラグで保存、 3. exit ではそのフラグを見て、閉じてない場合は呼んでから、「それ以外」を呼んで終了とする。 とまあ、要は exit のソースコードを2分割すれば済む話ではある。 dieとか、他に止める方法もあるから既に分割されてる可能性もある。 この場合は、単純に関数エントリを一つ追加するだけで終わる。 ソースコードは既にダウンロードしてmain.cとか見てるが、肝心のexit/dieのコードがどこにあるのか分からないんだな
- 675 名前:B
知っている奴がいればよろしく。 なお、俺一人だとコントリビュートはしない。 俺はPHPの初心者であり仕様を知らなさすぎて、俺一人だとバグを埋め込んでしまうから。 [] - [ここ壊れてます]
- 676 名前:620 mailto:sage [2021/08/05(木) 15:59:24.92 ID:bqGeTZjz0.net]
- レンタルサーバーの速さを言っても、仕方ない。
他人と共有しているから、他人がリソースを使うと、待たされる 安いのだから、低品質も仕方ない。 そういうものと割り切るしかない KENTA は完全に割り切ってる。 PHP は一生使わないでよいと言ってる 金にならないから。 低品質で安い仕事
- 677 名前:デフォルトの名無しさん [2021/08/05(木) 16:09:21.48 ID:IpTlZujB0.net]
- >>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> ----------
- 678 名前:620 mailto:sage [2021/08/05(木) 16:10:32.06 ID:bqGeTZjz0.net]
- Ruby on Rails では、
XAMPP, MAMP など、Linux以外を使うことはない Linux コマンド・シェルスクリプト、Docker, Heroku, AWS も、 KENTA のサロンの初心者用コースに入っているから それに皆、AWS のくろかわこうへいのサロンにも入る Windows 10, WSL2, Linux, Docker, VSCode でも出来る XAMPP, MAMP とか、訳の分からない環境を使うことはない。 動きが本番環境と異なるから
- 679 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 16:13:52.63 ID:cuxOZbzu0.net]
- id:F8+XC2Dv0ってPHPがApacheのモジュールとして動作する時の理屈すら理解してなさそうw
- 680 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 17:59:10.16 ID:F8+XC2Dv0.net]
- >>664
まあわざわざコード書いてよこしたのだから、こちらでも試したよ。 ファイルは200Bytes, ダウンロードサイズは 4.4KBと表示されてる。 確かにそちらの意図どおり、ハロワだけ先に表示されるよ。(パースされてる) 4KBパディングすれば、通常ならバッファをキック出来るから、確かにパーサもキック出来るはずだし、実際そうなってる。 ただな、時間を既に書いたが、それでは間に合わないんだよ。 ネットワークってのは地味に遅くて、例えばここからPHP.netへのpingは264msかかってる。 後処理は平均29.5-58ms程度だと予想されてるので、window.stopがサーバーに間に合わない。 結果、パケットは送信済みで、受け取られたパケットが捨てられるだけだよ。 ただし確かにパースはされてる。(=その方法でもユーザーの体感速度は上がる可能性がある) ただ、それはページのhtmlだからであって、ajaxではその方法は使えない。 ページのhtmlはブラウザの速度競争のおかげで出来るだけ早くパースするように出来てるからだ。 xmlを送る場合、閉じタグ以降に何かあったらエラーだったので、パディングで押し込みは無理だ。 jsonについては後ろにパディングしてもエラーは出ないようなので、押し込み自体は出来るが、 そもそもAPIが途中のパース結果を見せるように出来てないから、普通に実装されてれば全部揃ってからパースだよ。 世の中の大部分のサイトがこの「押し込み」で高速化してる、というのならブラウザも対応するはずだけど、聞いたこと無いでしょ。
- 681 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 17:59:23.81 ID:X/tiD49H0.net]
- 記録37レスか
殿堂入りだな
- 682 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 18:01:07.93 ID:X/tiD49H0.net]
- と思っ
- 683 名前:スらまだ記録更新するつもりか []
- [ここ壊れてます]
- 684 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 18:23:53.35 ID:IpTlZujB0.net]
- >>667
間に合わないの意味がわかりませんです。 本処理終了の時点でブラウザ表示に必要な情報と、その次の行にwindow.stopまでを一気に吐き出すんだから、そのあとにサーバーから何か来て破棄されようが、どうでもいいんじゃないかしら? 要は十分な情報を受け取った段階でブラウザ側から切断してるんですよ。 本処理の後の後処理を待たせてる時間をなんとかしたいのが目的なのに、4KBでぐだぐだ言われてもねぇ。 後処理を待たせてる時間と比較したら明らかに早い段階で通信終了してるはずですよ。なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。それと比較して4KBは人間にわからないレベルの時間ですよ。 xmlが〜とかは、htmlでラップするなり、頭良いんでしょうから工夫してくださいな。
- 685 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 18:32:12.95 ID:xWv0yV5l0.net]
- 接続の切断が目的なら、
<? echo str_pad(" ",4096); flush(); sleep(10); これは、いらない。
- 686 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 18:37:28.54 ID:IpTlZujB0.net]
- >>671
あら、そうなんですか? 後学のためにどうやるのか教えて下さい
- 687 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 19:02:41.47 ID:Sb1zsMiv0.net]
- >>654
コレ、面白いね
- 688 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 19:56:24.99 ID:uMZDvd8qa.net]
- 無職のアスペルガーであるコミュ症プログラマーはエネルギーが違うね
そのエネルギーをもっと違うところに使おうか
- 689 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 20:15:50.49 ID:F8+XC2Dv0.net]
- >>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か、というところ。
- 690 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 20:22:29.50 ID:F8+XC2Dv0.net]
- >>670
> なんとかしたいレベルってことは人間が認識できるレベルの待ち時間は発生してるんですよね。 ちなみにこれはない。まだ部品を動かしている段階。 ただそもそもC出身なので基本的にノーコストで速くなるのならそれを選択する。 そして普通の環境では有る close が無いので面食らっているわけだ。 俺が見落としてるだけだと思っていたが、本当にないのだから驚きだ。
- 691 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 20:32:09.79 ID:Sb1zsMiv0.net]
- まー設計レベルでミスってるから write_close みたいなこと言い出してんだけど、2年ぐらい Web に関われば、自力で解決できるかもね
がんばれw
- 692 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 20:54:11.00 ID:xr/U2THc0.net]
- アスペおじさんに50の質問しようぜ
>>675 ・PHPはクソクソという癖してPHPにしがみついてるのはなんで? ・なんで無料レンタルサーバーなの?無職だからお金ないの? ・任意でcloseできてウェブと親和性が高い言語って例えば何?あるならそれ使えば? ・例えばNodeならできるが?Nodeでやればいいのに何でやらないの? ・Nodeが使えるサーバーってVPSで500円ぐらいで用意できるけど500円も払えないの?それとも自分じゃサーバーを作れないの? ・何度かproc_openって出てるみたいだけどそれを無視してるのはなんで? ・そもそも働いてるの? ・そんなコミュ能力で仕事できるの?
- 693 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:04:38.27 ID:tYvxU5+Zr.net]
- 無料レンサバ案件受けるか普通
イキっててキメぇわ
- 694 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:05:44.43 ID:IpTlZujB0.net]
- >>675
あーいえは、こーいうで、なかなか楽しかったです あなたが不可能と断定したものを、あたしは2つも実現してみせたんですから、少しは敬意を表しなさいよ笑 断定したことをひっくり返されても、上からの態度とか、かっこわるいわよ そんなんじゃ、いつまで経っても童貞卒業できませんよ
- 695 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:19:16.52 ID:xWv0yV5l0.net]
- >>672
場合分けしました。 とは言え、ググって原因は予想したけど。 昔、「システム業界では、滅多に不可能と答えてはダメ」というようなことを言われたことがあります。
- 696 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:22:27.97 ID:F8+XC2Dv0.net]
- >>678
proc_openはexecと変わらんだろ。 それで環境依存無しのコードが書けるわけでも無し。 PHPについては何度も言ってるように無料レンタルサーバーで動かす為で、 それは俺が使う用ではないからだよ。 PCのことなんて分からない連中でも動かせるようにして、しかも無料なら試しにやってみようかともなるだろ。 この辺については俺がどういうアプリ戦略を採るかだから、意見言われてもああそうですか、でしかない。 そしてここで色々ひけらかして後々粘着されてもウザイだけだから、特定出来るほど詳しく言うつもりもない。 なおNodeの無料鯖が日本に出現したら間違いなくそれに向けて作る。 今それがあるのならPHPは捨てるし、多分今後は書くこともない。 既に言ったが俺的にベストなのはサーバレスで、実際はレンタルサーバーよりもサーバレスが断然いい。 だからherokuの鯖が日本に出来るのがベストだが、無いのだから仕方ない。 PHPは糞だが、そもそも俺のアプリはそんなに大きいものではなく、 むしろSQLiteのラッパでしかないので、今はphp.netを睨みながらやってるような状況だが、それでも何とか進めてる。 ただまあ、俺が考えてることは今のWebからすると奇妙な事だから、君達と話が噛み合わないのは仕方ない。 それで君らが頭に来てるのも分からんでもない。 ただ先述の通り、詳しく言うと後々の憂いになるから、お互いに技術的なこと以外には踏み込まないようにした方がいい。 Webってのはそれくらいの距離感が丁度いいのだと俺は思ってる。
- 697 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:23:55.06 ID:xWv0yV5l0.net]
- 場合分けしました。 →場合分けして検証しました。
たいした仕事ではなかったんだけど、 ある公式を忘れても、基本の基本から証明できるので、 基本の基本が用意されてれば、(システム業界では)不可能と答えてはダメなんです。
- 698 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:24:45.00 ID:tYvxU5+Zr.net]
- しかもSQLiteって笑うところだな
- 699 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:25:17.35 ID:F8+XC2Dv0.net]
- >>680
つかまともな解じゃねえし。それでドヤられても困る。 動くっつうのと、やっていいかと、やるべきかは、別の問題だよ。 ただまあ、アイデアは面白いよ。それは他の人も言ってるとおり。
- 700 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:30:22.62 ID:F8+XC2Dv0.net]
- >>684
エンタープライズ用途ならスケールアウト出来ないSQLiteは論外なのだろうけど、 ぶっちゃけ俺の用途ではSQLiteで十分だし、それは既にチェック済み。 というかね、単体では十分速いよSQLite。 まあ、他は使ったこと無いんだけどね。 SQLとか知らんし、とりあえず一番簡単な奴から、ってことで試して、十分だったのでそれまで。
- 701 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:40:09.08 ID:tHJjXwU70.net]
- >>682
execとproc_openが同じなんだw もうこの一言で満足したわ
- 702 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:44:25.28 ID:tHJjXwU70.net]
- ちなみに解決法の例
https://github.com/elazar/asynchronous-php あー面白かった 満足したわ
- 703 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:48:51.81 ID:cTOwQa60H.net]
- 上のレン鯖の人は、
・無料で使える ・日本国内に鯖がある ・好きなミドルウェアや言語をセットアップできる という条件を満たす環境があるなら、PHPに拘らないという主旨の発言をしているようにみえるが、その認識であってる?
- 704 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 21:58:56.90 ID:IpTlZujB0.net]
- >>681
場合分けとは? 具体的にどういうコードにすればいいのか教えてもらえるとありがたいです。 「いらない」とは、単純に指摘箇所をコードから削除するだけですか?
- 705 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:05:04.22 ID:vJjfvU2/0.net]
- php嫌いなのは分かるし俺も別に好きじゃないが、じゃあなんで使うんだよ、使わざるを得ないなら従え、以外に帰着しねーんでは。
お得意のnode様でも他言語からしたらディスられるだろうし不毛だわ
- 706 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:08:47.31 ID:F8+XC2Dv0.net]
- >>689
まあyes。正確には > ・無料で使える > ・日本国内に鯖がある ここまではその通りで、 > ・好きなミドルウェアや言語をセットアップできる この必要はない。好きでもないPHPを使ってるのがその証拠。 一番いいのはNode。 ただ、動的言語でないと無理なのではないかと予想してるので、(が、何故そうなのかは言えない、これはすまん) GoとRustは駄目だ。というかGoはPHP以上に糞だし、Rustは今のところ様子見してる。 それで、無料鯖で使える動的言語=PHP/Python/Rubyで、どれも知識ゼロだから、 とりあえずメジャーなPHPから試すか、で、まあ、言語と界隈が糞な所以外は問題ないから我慢して使ってる。(というほど使ってないけど) まあぶっちゃけ、PHPが糞だ糞だと言われつつものさばってるのは、確かに便利なんだよ。これは認める。 そしてPHP.netの出来はマジで素晴らしい。PHP.netと比べるとPythonやRubyのサイトはゴミだね。 この辺も、また、ググッて回答が出てくるかも含めて、知識ゼロならPHPから試すのが妥当だし、そうしただけ。 もしかして他の選択肢がある? ご指摘の通り、PHPは手段であって、目的ではない。
- 707 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:18:22.41 ID:cTOwQa60H.net]
- >>692
あるよ。俺はoracleが提供しているプラットフォームを無料で使ってる。メモリ1GBのインスタンス2つとoracleの自律型DB2台。東京と大阪リージョンがある。 あとGCPのGAEなら東京リージョンで使える無料枠がある。
- 708 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:20:09.19 ID:F8+XC2Dv0.net]
- >>691
Nodeは、俺がJS好きなだけで、PHPerからすると糞なのは認める。 というかね、DBと非同期が壮絶に相性が悪くて、Nodeだと結構トンデモなコードになる。 それに慣れてる俺は良いが、慣れてない奴からしたら糞以外の何者でもない。 ただしasyncが導入されたから今書いたらだいぶマシなのかもしれんが。 とはいえ、PHPは真偽判定テーブルとか見るだけでマジで糞で、糞なのを知っててもどハマりするから俺的には無理なんだ。 直近だと三項演算子、勿論結合がおかしいのは知ってるが、癖としてやってしまうんだよ。 そして見た目、バグに見えないから嵌る。 だからまあ、PHPを主力に使ってる人にとっては問題ないのだろうけど、 他言語を普段使ってて、偶にPHPとかだと、本当に無駄に嵌って、あ〜、ってのが多すぎて悲しいんだよ。
- 709 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:22:30.05 ID:cTOwQa60H.net]
- >>693
DB必須ならGCPだと無料のGCEにDBセットアップすれば良いけど国外リージョンになるので、実質oracle一択かな。
- 710 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:25:46.31 ID:F8+XC2Dv0.net]
- >>693
Oracleなんてガチ枠だから完全にノーマークでしたわ。 とはいえ、SQLとはまた違うとは聞いてるし、そもそもそれってあんまりど素人向けじゃないから不味い気が。 逆に無料レンタルサーバーなんて完全にど素人向けでしょ。 向こうもど素人が使う前提だし、やっぱりど素人にはレンサバがお似合いだと思うのだけど。 お互いトラブらないという意味で。
|

|