[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/10 10:46 / Filesize : 384 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 12



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

554 名前:デフォルトの名無しさん [2021/07/30(金) 21:45:55.50 ID:r27NHL07r.net]
>>544
ありがとうございます

555 名前:デフォルトの名無しさん [2021/07/30(金) 21:52:20.21 ID:r27NHL07r.net]
> 「不正な画像をアップロード」できるのも内部犯に限られることになる

XSS を利用して不正アップロードする手口が徳丸さんのとこで紹介されていました。
https://www.youtube.com/watch?v=FpCabifwhKg

WordPress なら外部から似たような攻撃でアップロードされる可能性があるので、プログラムレベルでも適切にアップロード対策をしておくべきだと思います。

このような回答が追加されていたのですが外部からも勝手にアップロードされる危険性はあるのでしょうか?

556 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 23:36:35.91 ID:1geFHcN20.net]
ありますよ。実際に自分はアップローダーからマルウェア仕込まれて
VPSサーバーを総入れ替え舌経験があります。
WordPress宛の攻撃は毎日あるし、できる対策は全てしたほうが良いでしょうね

557 名前:デフォルトの名無しさん [2021/07/31(土) 01:52:34.20 ID:v7hkUDSma.net]
この動画を見たところ検索フォーム?のXSS対策コードの記載漏れから不正コードを入力されて管理画面に侵入されたみたいですが

要するに第3者が侵入出来るような検索フォームやお問い合わせフォームやコメントフォームやマイページの対策を怠らない事で防げるということですよね?
自分のみがアップロードする場合は該当しないのでしょうか?

558 名前:蟻人間 mailto:sage [2021/07/31(土) 03:18:27.24 ID:ZYWMYotdd.net]
脆弱性は様々な枯れてない技術から発見されている。あのWPだってあちこちからゼロデイ攻撃が見つかっている。WP のテーマやプラグインにも脆弱性がある。度重なる更新や脆弱性に対応できないならWPを使うのをやめた方がいい。

パスワードセキュリティにも危険性がある。パスワードはセキュリティの基本であり、5文字程度の単純なパスワードはパスワードクラッカーで短い時間で突破されてしまう。攻撃者は性能の高い計算能力を持ち、世界中のどこからでも攻撃できる。パスワードは単純なのはダメ、短いのはダメ、憶測できるのはダメ。

あるいはソーシャルハッキングや電波漏れなどの未知のハッキング手法からも攻撃が成立することがある。

こうすれば絶対にハッキングされないという方法はないが、危険性が高いものを避けることは可能。

559 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 10:31:19.92 ID:fqpnvpaJ0.net]
>>548
WordPressの場合、自分は管理画面のURL変えてIP制限入れてますよ。
自分のみがアップロードなら、自分しか使えないIPアドレス制限した方がいいし、
ホスト名とか環境変数とか、そこまでチェックした方が確実だと思います。

ま、一番良いのはWordPress使わないことですけどね

560 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 10:46:33.80 ID:z/SvtBD30.net]
>>550
動画見ろよ
IPの制限無関係に投稿する仕組みの紹介だぞ

561 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 11:04:47.11 ID:JJoM48pY0.net]
わざとセキュリティホール作って、ほらね?危ないでしょ?ってアホかよw
まずWPに同じセキュリティホールあるかの議論が先だろw
無いけどw

562 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 11:34:42.98 ID:z/SvtBD30.net]
>>552
ユーザ投稿のプレビュー箇所とアップロード機能を持つ管理画面って,WordPressで頻繁に見るんだが?
それぞれに問題箇所があるとwebshell置かれて終了!の可能性を指摘する動画だけど、理解できてる?



563 名前:デフォルトの名無しさん [2021/07/31(土) 11:37:50.11 ID:BUpo1U8M0.net]
プログラムで例えば4×4のマップがあった場合、4という数字は私は格子点数と呼んでいますが、皆さんは何と呼びますか?

564 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 18:56:05.10 ID:JJoM48pY0.net]
>>553
一連の流れでセキュリティの指摘をしたわけではなく、ただ動画を宣伝したかっただけなんですね!
理解できましたw

565 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:21:18.11 ID:JwyUb7gK0.net]
>>536
Oh...
それ、単に「例」として出しただけなのでw

例えば(あくまでも例え話ねw)
ID | 画像のパス
1 | hage/abc.jpg
2 | fuge/345.jpg
みたいにデータ管理してたとして、

id=1 を渡せば hage/abc.jpg を取得できるようにすれば結果的に
output_image.php?id=1
とすれば、「hage/abc.jpg」を表示できるでしょ?ってこと

それを、
output_image.php?path=hage/abc.jpg
みたいに直接パスを渡すような設計にしてると、あなたのレベルでは危ないよってだけ

566 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:45:18.84 ID:JwyUb7gK0.net]
>>546
> 外部からも勝手にアップロードされる危険性はあるのでしょうか?
そりゃ「可能性」はあるよw
人間が作るものにバグ(脆弱性)がないものなんてない

で、>>546にはその動画の意味は理解できる?
理解できてないよね
理解できてないのに、何をどうやって「対策」するの?w

その動画に指摘されている脆弱性は、「プラグインのXSS脆弱性を悪用した攻撃」なので、
対策といったところで、あなたのレベルでできるのは「WP本体やプラグインは常に最新版を使う」事ぐらいだよ?
※その動画の攻撃例は管理画面にIP制限なんかしても無駄ですw

結局、「画像は546本人しかアップロードしない」んだよね?
だったら、「アップロードした画像には問題ない」事を前提に話を進めようよ

546は、「HTMLやPHPの基礎がないままWordPressから始めた」のがいけない
基礎がガタガタなの
そんな人が細かい事を気にしたところで、話は前に進まんよ

567 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:50:01.92 ID:JwyUb7gK0.net]
>>552
>>555
546の動画の例は、WordPressでECサイトを構築する際の「超定番」プラグインEC-CUBEのXSS脆弱性を悪用したもので、
「実際に悪用事例も出た」ものだけどね…
そんな事すら理解できないなら、横からしゃしゃり出てこずに黙っておけw

568 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:59:23.86 ID:JwyUb7gK0.net]
>>546
>>557に補足しとくと、WordPress本体・プラグイン・テーマファイルの致命的な脆弱性を悪用され、
WordPress権限から自由にファイルのアップロード・編集が可能になった場合、
サーバー内の画像をPHP経由で出力する際のセキュリティ(笑)なんか、いくら考えても無駄ですw

その点については>>518さんが指摘している通り

例えるなら、「ヘルメットを被っていたら快速電車にダイブしても大丈夫だよね?」って聞いてるみたいもんw

だから、自分しかアップロードしない画像ファイルは安全であるという前提で、話を進めようよ…いや頼むからそうしてくれw
てかRSSの時もそうだけど、たったこんだけの事にどんだけ時間かけてるのよw

569 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 11:36:09.87 ID:CDsmjzwf0.net]
いいから構うやつもまとめてWPスレ行って帰ってくるなよ

570 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 11:55:16.38 ID:jY8DN4600.net]
自演ですし

571 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 14:06:37.03 ID:LY8fDkppd.net]
最初から自分しかアップロードしない前提なのにどんだけレスしたら気が済むの、このセキュリティガイジ

572 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 14:39:06.84 ID:nA0UljqA0.net]
セキュリティガイジは別人だろ
ガイジなのは質問者、それに対しセキュリティ全波の話を持ち出してる人、煽るしか能のない人



573 名前:蟻人間 mailto:sage [2021/08/02(月) 14:51:48.05 ID:LkFRX9kvd.net]
>>554
普通にサイズでよくね?

574 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 15:31:27.53 ID:QhYrANy70.net]
Array(a1,b1,c1,d1,...)とArray(a2,b2,c2,d2,...)を足し算して、
2次元配列にする時って、どうすればいいでしょうか?

$x[0]がArray(a1,b1,c1,d1,...)の時、
$x[1] = $s;としたら、
$xがArray(a2,b2,c2,d2,...)で上書きされてしまいました。

575 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 15:33:03.22 ID:QhYrANy70.net]
$s=Array(a2,b2,c2,d2,...); です。

576 名前:デフォルトの名無しさん [2021/08/04(水) 15:44:34.90 ID:QhYrANy70.net]
foreach とか for とか使うしかないでしょうか?

577 名前:565-567 mailto:sage [2021/08/04(水) 16:12:58.96 ID:QhYrANy70.net]
foreach とか for で、解決しました。

578 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 16:36:34.91 ID:BE8GLseK0.net]
Ruby なら、zip で複数の配列を、組み合わせられる

ary_1 = [ 1, 2, 3 ]
ary_2 = [ 10, 20, 30 ]

p tmp_ary = ary_1.zip( ary_2 )
#=> [[1, 10], [2, 20], [3, 30]]

p results = tmp_ary.map{ |a, b| a + b }
#=> [11, 22, 33]

579 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 19:56:28.27 ID:JeeF5Fq/0.net]
ゴミのような流れに草w

580 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 20:48:03.21 ID:nRiwNpi/0.net]
相変わらずRubyガイジがPHPのスレを荒らしに来るw

581 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 00:28:51.82 ID:F8+XC2Dv0.net]
PHPで接続を明示的に切る方法ってある?

本処理後、後処理としてDBの整理を行うのだが、
本処理と後処理が同程度の重さになるので、可能であればTCP接続を明示的に切りたい。
そうすればブラウザが確実に処理を始めるので、クライアント側の体感速度が上がることを期待している。
とりあえずfush()はした。出力バッファは使ってないので、ob_xxxxはやってない。
他に何かある?

582 名前:デフォルトの名無しさん [2021/08/05(木) 00:42:12.36 ID:N2Iw/qnR0.net]
意味不明



583 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 00:45:52.55 ID:JVVnzoun0.net]
DBがクローズされているなら、PHPへのアクセスは関係ないんじゃ?
というか、設計がおかしくない?

584 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:01:42.06 ID:F8+XC2Dv0.net]
ああすまん、書き方が悪かった。
こちらはPHPの初心者なので、そちらが想定しているような高度なことはしていない。
「TCP接続」をDBとの接続だと想定したのだと思うが、こちらはSQLiteだ。

クライアント(ブラウザ)からのアクセスで、SQLiteを操作してhttp出力を行う。
その後、ユーザーに対しての追加の出力はないので、ここでユーザーとのTCP接続(=http接続)を切りたい。
(確かGoかNodeだとこれが出来た)
さらにその後、後処理を行うのだが、これが本処理と同じ程度に重い。
そしてexitで終了する。

ブラウザがexitにてTCP接続が切れてからパースを開始すると、体感2倍重くなってしまう。
flushでデータを全部送りきることは出来るが、
ブラウザはパースしないと全部来たことが分からないので、fulsh後にすぐ動くことは期待出来ない。
http接続が切れれば、それ以上のデータはないと確定するので、パースを確実に開始する。
だからこれを早めたい。

何か明示的に出来る方法ってある?

585 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:28:56.20 ID:qQkilq/Na.net]
404のっとファウンドなどのエラーページを自作しる

586 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:43:30.62 ID:JVVnzoun0.net]
>>575
クライアントに応答を返すPHPは、応答を返したら、
後処理を行うPHPを起動し、自身はその終了を待たずexitする

587 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 03:48:16.16 ID:9Ap3lZssd.net]
>>575
〜ここまで本処理
// 結果を待たずに次の行へ進む非同期コマンド
exec('php 後処理.php > /dev/null &');
exit;

もし後処理.phpに何かパラメーターを渡したい場合は
exec('php 後処理.php パラ1 パラ2 パラ3 > /dev/null &');

受け取る側の「後処理.php」の中で$argvに配列として格納されてる

588 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 06:36:47.33 ID:F8+XC2Dv0.net]
>>577-578
なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。
(だとすると、途中で明示的に接続を切れたのはNodeか?)

マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。
https://www.php.net/manual/ja/function.exec
(やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?)

見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。
そしていきなり環境依存コードを注入するというのはプログラマとしては頂けない。
ここら辺のノリがPHPの嫌いなところだ。
プログラマ向けに作ってないから、プログラマの常識でやってると変に嵌ったり、見落としたりする。
とはいえ、便利なのは事実だし、所詮スクリプトだと割り切るのも必要なのだろうけど。

とりあえずの問題は、開発環境がローカルホストのXAMPP(つまりwindows)で、
実行環境がレンタルサーバー(つまりLinux)ってところだが。

まあ、いずれにしてもありがとう。
この質問には確かにexecが正解のように見える。

589 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 06:50:31.72 ID:Sb1zsMiv0.net]
>>579
ローカルコマンド叩くのに環境依存がない言語なんてあるわけ無いだろ
嫌いになるのは勝手だけど、アホな理由で嫌いになるなよ

590 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 07:24:02.52 ID:F8+XC2Dv0.net]
>>580
だから発想が『プログラマとしては』おかしいんだよ。
少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。
PHPでは出来ないのに、それでも良しとされてる。
そういうところが嫌いなんだよ。

覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。
これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。
そしてGoなら内部プロセス(goroutine)で、となる。もちろん環境とは依存しない。

PHPでも、session_write_closeと同様に、例えば write_close() というコマンドを作り、
そこで接続終了、それ以降の出力は全部捨てられます、とすれば、全く問題なく環境依存無しに出来る。
だからプログラマが主導して開発をしていればとっくにそうなってるはずなのに、
現実としてそうなってないから、色々無駄に戸惑う。だから好きにはなれない。

何だかんだで意外とNodeが蔓延っているのは、ここら辺の理由もある。
今回の使途ならJSのsetTimeoutでの実装の方がプログラムとしては断然美しくフィットする。
PHPで書くと、こんなコードにしかならないのかよ、と本当に愕然としてしまう。
腕が良くてもまともなコードを書けないんだよ。
それは上記の通り、PHPの開発の方向性が間違ってるからだ。
(とはいえ例の三項演算子についてはPHP8で修正されてるようだが)

まあとにかくだ、プログラマとしては禁忌に近い「環境依存コードの注入」を普通にやらせるのは異常だし、
そんな状況が放置されてること自体も異常なんだよ。
だからプログラマがPHPを好きになることはないと思うよ。
PHPを好きな奴は、他言語をまともに使えない奴だけだと思う。

591 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 07:52:13.16 ID:Sb1zsMiv0.net]
>>581
んなアホなことやりたいなら、phpでWebサーバ書けばいい
メジャーなのはないけど、ふつうにGitHubにも転がってる

そもそもフィトするもんが別にあるんだったらそっち使うのがエンジニアだぞ

592 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:23:37.05 ID:F8+XC2Dv0.net]
>>582
だからその発想がおかしいんだよ。フィットしてるなんて到底言えない。

PHPは「できればいい」「動けばいい」で済ませる初心者〜中級者の感覚に合ってる。
だからその層には絶大な支持を受けるが、上級者には支持されない。
実際、PHPが「プログラミング言語として」素晴らしいなんて言ってる上級者は世界中でも誰一人もいないだろ。

connection_closeとかを用意すればいいだけなのに、
外部コマンドで自己ファイルをバックグラウンドプロセスとして起動する、なんて解は、頭がおかしいレベルだ。
自宅から歩いて3秒の場所に自動車で行く、に近い。

以前は「XAMPPなんて捨てろ。どうせ本番環境では動かないし、XAMPPで開発する意味はない」とか言ってる奴も居たが、
実際はこの辺の、それが環境依存コードだと理解出来ないレベルの初心者が勝手にやらかしまくってるだけだと思うよ。
そしてその意味も分からず、「XAMPPなんて捨てろ」だけ真に受けた初心者が、
例えば>>394みたいに、右も左も分からないのにリモート環境で開発する、みたいな、余計におかしな事をやらかす要因となってる。

そしてその根元は、PHP自体に落とし穴がありまくるからだ。
なんでそこで環境依存コードを注入するしか解がないの?というね。

が、まあ、parallelとかphtとかはここら辺の対策用なのかな?
それにしても connection_close とかの単純な解の方が断然いいが。



593 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:42:00.19 ID:Sb1zsMiv0.net]
>>583
使ってる方からするとWebサーバレベルのハンドリングを意識しなくて良いレベルで抽象化されていることが使いやすいし、不足箇所は最近だとフレームワークが補完してくれている

ところで、支持してない上級者って何?
サーバサイド言語として、phpが必要ないって言っている人がいる?
普通に用途が合えばphp選択するのがエンジニアだと思うけど?

594 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:50:37.83 ID:F8+XC2Dv0.net]
というか、思うにこれはPHPだと「出力用」と「DB整理用」のphpを別にして、
「DB整理用」は別にcronで叩く、というのが一般解なのかな?

これ自体も外部依存しているのでよい解ではないが、
ここまで蔓延っているPHPがこの辺の「普通にやる処理」を上手く記述出来ないのもあり得ない。
だとすると、現実的にはこの解なのだろう。

とはいえ、最安のレンタルサーバーだとcronは使えないし、
纏めて整理する時に命中したらその時だけ奇妙に遅くなるわけで、
出来ればマメに整理しておきたいのだが。

595 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:55:46.01 ID:yR6UN7xmd.net]
>>583
〜ここまで本処理
//接続が切れてもスクリプトを実行させる
ignore_user_abort(true);
// メッセージ表示ページへ飛ばす
header('Location: 本処理完了しました.html');
flush();
ここから後処理〜

環境依存使わないなら、こんなんでどうですか?

596 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:02:59.57 ID:e8dh7hYU0.net]
>>583
ソースもないのに誰一人いないとか断言しちゃうから、だらだら長いだけで説得力のない空っぽな主張に見えちゃうんだぞ

お前さんの主張を支持する上級者は誰一人いないw

597 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:24:21.23 ID:F8+XC2Dv0.net]
>>584
> 不足箇所は最近だとフレームワークが補完してくれている
では今回の connection_close なり write_close が出来るフレームワークを紹介してくれ。
無いだろ。
PHPで出来ないことは、PHPで記述したフレームワークでも出来るはずがないからだ。
(とJS同様に思ってるんだが、PHPの場合は例えばC++で記述されててPHPをDSLとして採用してるだけ、
みたいな実行環境形のフレームワークがあるのか?
それがapacheだnginxだ、みたいな状況ではあるが)


> サーバサイド言語として、phpが必要ないって言っている人がいる?
居ない。
しかし、PHPは「素晴らしいプログラミング言語だ」と言ってる奴も居ない。
それは君も知ってるとおり、色々グダグダ過ぎるからだ。今回も然り。
他言語だと楽に美しく実装出来る事が、出来ない。いちいちストレスだ。
(とはいえRust/Go推しの連中もどうかしてると思うが)

> 普通に用途が合えばphp選択するのがエンジニアだと思うけど?
それはその通り。だから俺も今回はPHPを選択している。
ただこれは「プログラミング言語として」ではなく、「実行環境含めて」だ。
今回は「無料レンタルサーバーでも動く」事も重要な為、今のところPHP以外に選択肢がない。
技術的には、サーバーレス+Nodeが一番フィットし、つまりherokuなのだが、
あれは無料だが海外鯖なので見送りにしてる。
サービス提供先は主に国内なのにいちいち海外鯖では無駄に遅くなるから。
そしてNodeの無料鯖が国内にも広まるのを待っていたのだが、これは今のところ全然なさそうだ。

とかやってるうちに他状況も整ってきたから、しょうがないからPHPで本格的に書くか、と諦めたわけだ。
あと、Nodeが数倍速いのも事実なのだが、どうせ鯖を借りる側からすれば、
値段当たりの処理能力なら実はVPS+Nodeもレンタルサーバー+PHPも大差ないのかも、という気もしてきてる。
この辺も諦めにつながってる。とはいえ、どのみちNodeでも書く羽目にはなりそうなのだが。 []
[ここ壊れてます]

599 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:27:08.25 ID:Sb1zsMiv0.net]
>>588
お前のやりたいことは、Jobのキュー登録だろ
普通にあるわ

なんで、connection_close なり write_close にこだわらないといけないんだ?

600 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:33:30.26 ID:F8+XC2Dv0.net]
>>586
それは動かないだろ。
本処理で既にheaderとbodyは出力してる。
だからその後に header('Location')はアウトだ。

そして仮に動いたとしても、いちいちLocationで飛ばすってのも余計におかしい。
今現在の、結果的にブラウザが反応しないかも、その場合は通常より倍の時間がかかります、の方がまだマシだ。

ここらへんの、ちゃんとした解がないから余計なことで遠回りにやる、ってのもPHP界隈が嫌いな理由だ。
そういうのは初心者から中級者にクラスアップしてきた連中が俺ツエー的にやりたがるのだけど、
そういうのが多すぎて、PHP界隈はウザイ。
ただ逆に言えば、そういうことをしたいレベルの奴にとっては「俺カッケー」が出来るから、大受けする。
だからPHPを嫌いな人は多いが、廃れることもないだろうね。新規参入者はいくらでもいるから。
ある意味初心者ホイホイな面はある。
(ただしプログラマになる為の教育としてはかなり最悪だが)

601 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:37:34.01 ID:F8+XC2Dv0.net]
>>589
あるならそれを教えてくれ。PHP.net上のurlだけでいいから。
jobで出てくるのは The GearmanClient class だけだが、さらっと見た限りなんか違うっぽいし。

というかね、PHP.netは本当に出来がいい。
あれだけは他言語も見習うべきだよ。

602 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:41:54.34 ID:Sb1zsMiv0.net]
>>591
ぐぐればLaravelが出てくるだろ

素のphpでやりたきゃ
https://medaka.5ch.net/test/read.cgi/php/1557652864/
なら別海が出てくるかもな



603 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:14:26.57 ID:F8+XC2Dv0.net]
>>592
LaravelはPHPで書かれてるのだから、素のPHPで出来ないことが出来るはずがないだろ。
と思ってるのだが、この認識が間違ってるのか?
まあ、導入する予定はないが、見てみるよ。


Webプログラミング板のスレはさらっと読んでみたが、ぶっちゃけここと大差ないような。
まあ、ここで一通り終了したら向こうでも聞いてみるかも。

なお、俺はプログラミングの初心者ではないが、PHPに関しては初心者だ。
一通りも知らないからPHP.netをいちいち引きながら書いてる。
それでいちいち、「他言語ならこうだけど、PHPならどう書くの?」になるわけ。

604 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:15:03.38 ID:jTl1oJKL0.net]
要は「非同期処理すればいいだけ」の話なのだが、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
自分の頭が固いだけなのに仕事ができると「

605 名前:勘違いしている自称上級プログラマ様(笑)」ってのが、現場で一番タチが悪い人間なのは間違いない
固くするのはチンコだけにしておこうな?
[]
[ここ壊れてます]

606 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:21:45.83 ID:F8+XC2Dv0.net]
>>592
あ、すまん。訂正。
laravelをさらっと見たが、dockerで導入してるところからして、俺
が想定していたJS的なフレームワークとは違い、これは実行環境形のフレームワークだな。
Job管理もあるのだろう。これはこれから読む。(とはいえ時間はかかるが)

607 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:24:19.91 ID:jTl1oJKL0.net]
Rubyガイジといい、なんでガイジ(正確にはガイオヤジかw)ばかり湧くんだろうなぁ
夏だからかw

608 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:24:44.74 ID:F8+XC2Dv0.net]
>>594
> 「言語を問わず」 "コマンド > /dev/null &" ってすればいいかな?って発想になるもん
理解してないのお前だ。俺は「言語を問わず」ではなく、「実行環境依存」なのを問題視してる。

まあお前レベルの奴がグダグダ言ってくるところがPHP界隈の嫌いなところだよマジで。

609 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 10:33:36.93 ID:5AKWeG2e0.net]
このガイジLaravelスレでバカにされているガイジだろw
無能で仕事もしたことが無いレベルw

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とはまた違うとは聞いてるし、そもそもそれってあんまりど素人向けじゃないから不味い気が。

逆に無料レンタルサーバーなんて完全にど素人向けでしょ。
向こうもど素人が使う前提だし、やっぱりど素人にはレンサバがお似合いだと思うのだけど。
お互いトラブらないという意味で。

711 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:28:07.44 ID:xWv0yV5l0.net]
>>690
勉強不足では困るので、
「ハードウェア」も「予想してから知識を呼び出す」のも必要です。
単純なプログラムを作ってから、魂を足し算します。

712 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:29:03.23 ID:cTOwQa60H.net]
>>694
jsの真偽判定テーブルも他言語からみたらPHP8と50歩100歩だと思う。7や5はもう過去だから知らない。



713 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:35:41.93 ID:cTOwQa60H.net]
>>696
補足しておくと、インスタンス2台無料だから、oracleのDB使いたくない場合は、インスタンス1台に好きなDBインストールする方法もあるよ。ど素人にどこまでのオペレーションを任せるかはわからんけど。

714 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:36:53.61 ID:IpTlZujB0.net]
>>697
えっと、すいません、なにかの宗教ですか?

715 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:44:02.23 ID:F8+XC2Dv0.net]
>>698
JSのもそれなりに糞だが、
型を意識してれば実際問題としてそこに命中することはないんだよ。
だから一般のプログラミングをしてる奴にとっては問題ない。

PHP7のはなあ、なんだったか忘れたが、
JS的には問題ないものでもおかしなのがあって、しかもそれに普通に命中するから嵌るんだよ。

とはいえ最早PHP8を使うべきなのかな?三項演算子は解決されてるし。
今確認したが、無料鯖はまだ7のようなのだけど、
現実的に俺が今書いてるのを公開するのはどうやっても半年後とかでしかないから、
その頃に一般的に使えれば全く問題ないし、
駄目でもいつかはPHP8に移行するのだろうから、待ってれば済む話ではあるし。

今7を使ってるのは、実は4年前に味見だけしてて、その時に7だったからなんだよね。
まあ、PHP8は検討しとくわ。

716 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:48:59.24 ID:cTOwQa60H.net]
>>701
10月に8.1出るし、今から開発するのに7.4はどうかと思う。アクティブサポートは今年の11月末で切れるし。

717 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:53:13.39 ID:F8+XC2Dv0.net]
>>699
OracleやAWSとかは、基本的に「将来有料のお客様になるかも」な人向けだろ。
だから、その気がない人がずっと使うのは不味いと思ってるんだよ。
勿論技術的な問題もあるけど。

無料レンサバはその点、広告を貼りますよ!だから、
永久に無料で使われてもいいですよ、な点が違う。

だからまあ、ガチ向けなものは基本ノーマークなんだわ。
ただ、技術的にはだんだん敷居が下がってて、サーバレスなんてその最たる物だろ。
たぶん、本当になんにも知らないど素人が、それが鯖であることを認識もせず鯖を運用する時代が来つつあるんだよ。
俺はそれに向けてちょっと仕掛けようとしてる。(まあ高確率でポシャるが、それは致し方ない)

718 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:55:44.39 ID:F8+XC2Dv0.net]
>>702
了解です。
現実的に古いバージョンを使う理由もないからね。
まあ問題は環境の再構築だが、これもやるしかないね。

719 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 22:57:56.82 ID:xWv0yV5l0.net]
>>700
コマンドラインだけのプログラムでは、
ユーザーが使いやすいものではないので。

720 名前:620 mailto:sage [2021/08/06(金) 05:53:40.73 ID:13Hyhr+y0.net]
無料サーバーは低品質だから、まともに動かない。
他のアプリがリソースを使うと、5秒ぐらいの動画広告でも、1時間動かない事もある

素人向けだから、PHP・SQLite でも良いと思う。
KENTA がPHPを一生やらなくても良いというのは、お金にならないから

未経験者の転職では、Ruby on Rails, Heroku, AWS だけ。
Node.js, Django も使われていない

プログラミングの話というよりは、安い・低品質の仕事の話。
すごく限定されたことしか出来ない、世界の話

721 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 06:20:19.81 ID:4ndH842K0.net]
>>706
実稼働12時間程度で100万円超えの案件もあるぞ
言語やフレームワークだけで語ってる奴には一生回ってこないだろうなw

722 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 06:29:46.94 ID:UjnAn9a5a.net]
>>707
もう令和になっているのにこのネタにマジレスしちゃうの?



723 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 14:33:32.85 ID:Pmsm9i010.net]
どういうネタならマジレスしていいの?

724 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 18:17:48.03 ID:sAaum+q/0.net]
そもそも後処理とやらを軽くすればいい話ではないのかね
DBの設計とSQLの書き方次第で速度がかなり違うよ
そこを見直すのがいいんじゃないかな
それとnode.jsはwebサーバーと一体だから切断があるがphpはwebサーバーからリクエストされるものであって接続の管理はできないのでは無いんでないのかね

725 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 18:35:46.02 ID:sAaum+q/0.net]
そもそもphp上で接続するのではなくブラウザに終了を認識させればいいので
ob_startとob_get_lengthなどを使い
headerでContent-LengthとConnection: closeを出力する方法がマッチしているのではないかな
適当にググってみたけど下のサイトがわかりやすかったかな
ttps://pisuke-code.com/php-send-response-immediately/

726 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 20:51:49.77 ID:lgptz/Bq0.net]
> Content-Length
おお正解出てきたか。実はこちらもそこに気づいて試して(昼間に)確認済みだった。
んで、いちいち文句言われるからとりあえず夜まで待ってたところだった。

つかマジで、お前らだいぶ酷いわ。改めてPHPerは糞だと再認識した。
小学生同士の小手先テクニック大会は楽しいのだろうけど、そんなんだから上達しないんだと思うぞ。


>>710-711
こちらはheaderだけで問題なくなった。
とりあえずサイト読んでみたが、こちらの結果からすると、ob_xxxもconnection:closeも要らんね。
(というか多分 connection: close は問題になるからやらない方がいい)

> そもそも後処理とやらを軽くすればいい話ではないのかね
> DBの設計とSQLの書き方次第で速度がかなり違うよ
> そこを見直すのがいいんじゃないかな
勿論分かってるが、今でも十分軽いし、これ以上どうしようもないので。

> 接続の管理はできないのでは無いんでないのかね
これは違う。接続の管理を「しなくてもいい」のであって、「出来てもよい」んだよ。
単純には機能が足りてないだけ。
近いのはGUIのイベント、onXXXだが、
あれも最初は addEventListenerとかは不要(onXXXだけで問題ない)と思われてたんだよ。
でも、有るのと無いのとでは大違いで、今は全面的に採用されてるだろ。
といってもお前らは若すぎてこの話が意味不明なら、イベントバブルでもいい。
あれもHTMLは最初から搭載していたようだが、おまえらPHPerなら特に、バブルなんて無くても設計出来ると思ってるだろ?
しかしこれも同様に有るのと無いのでは設計のしやすさの次元が違ってくるので、全面採用になりつつある。
機能が足りてないときでも、足りてないと気づけない人の方が多い。
ネットが無くても不自由しなかったし、その前は携帯が無くても不自由しなかった。
無ければ無いなりにやってしまうものなのだけど、これが有ればどんなに良いか!と思いつける人はほぼ居ないんだよ。
(一応言っておくが、俺も思いついたわけではなく、他言語で知ってたから不便を感じられただけ)
例えば、asyncとか、技術的には最初からあっても不思議ではなかったけど、誰も思いつけなかったろ。あれと同じ。

727 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 21:13:42.19 ID:lgptz/Bq0.net]
>>711
> 適当にググってみたけど
ちなみにどうググッたか教えてもらえないか?
こちらも昼間ググリまくったが、このサイトは見てない。多分ヒットしてない。使ったのはBingだ。
んで、今google/duckduckgo/yandexで"Content-Length header"で試したが、ヒットしない。

ヒットしない(しにくい)理由は簡単で、多分仕様じゃないからだ。
ブラウザが勝手にそう動くだけで、動かなくても問題ないし、動くべきだともされてない物を、
Content-Lengthの紹介で書くことが出来ないからだ。
ただこちらは、前から意味不明なヘッダだなと思ってたので、今日改めて目にした時にピンと来た。
が、ググッてもそうは書いてないし、まあ試しにやってみるか、で、ビンゴだった。
(と書けば簡単そうに見えるが、実際はちゃんと動いているか確認するまでに結構手間取ってる)

だからここみたいに個人レベルのTips集やQiitaとかじゃないと駄目なのだが、
そもそもこちらの検索結果にはそのサイトが出てこない。
どういうキーワードでどこで検索したか教えてもらえないか?

728 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 22:05:32.07 ID:sAaum+q/0.net]
php 後処理 でgoogleで検索して最初に出てきたやつ
接続を切ることができないのはwebサーバーへの接続だから
node.jsはwebサーバーを内包しているから出来ることでphpはwebサーバーを内包していない
Content-Lengthは何バイト応答があったらコンテンツの終わりかブラウザが認知するのでそれを利用したテクニック

729 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 22:08:02.71 ID:lgptz/Bq0.net]
>>711
すまん、713取り下げ。
Bingで「PHP 後処理」でググったら一番上に出た。

俺は仕様を確認しようとしていたのだが、やり方をググれば出るのか。
なまじ自分で出来るものだから「やり方」なんてググろうとも思わなかったのが問題だな。
PHPについては初心者だということを再認識して、「やり方」もググるべきだった。

730 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 22:36:18.90 ID:lgptz/Bq0.net]
>>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を語れ流してるから、これアウトかよ、、、、ってちょっと萎えてる。
メモリを無駄に食わない素晴らしいコードだと思ってたんだがなあ、、、。

731 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 23:28:26.68 ID:RLLkP2Do0.net]
>>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は付けたほうがいいと思う

732 名前:デフォルトの名無しさん mailto:sage [2021/08/06(金) 23:30:33.96 ID:RLLkP2Do0.net]
楽に使うならクラス作って継承して使えばエレガントに書けると思う



733 名前:デフォルトの名無しさん mailto:sage [2021/08/07(土) 00:43:48.11 ID:f2WMK3C10.net]
androidにPHPアプリとかあるけど役に立つ?

734 名前:デフォルトの名無しさん mailto:sage [2021/08/07(土) 00:55:00.18 ID:dDF85n970.net]
>>717
> 最初に"TCP接続を明示的に切りたい"とあったので機能はないと回答した
責める気はないが、これはさすがに屁理屈だろ。

572は確かに俺の書き方が悪い。
ただ、「初心者」が間違った「やり方」を選んでトンチンカンな方向に行くことはよくある話で、
これを防ぐ為には「最終的に何を目指してるか」を言わなければならないが、
俺は575の時点で、
・俺が初心者であり、
・後処理してる最中でもブラウザにパースさせてUXを改善したいから、
・TCP接続を切りたい
と全部揃えているのだから、本当に分かってる奴が居たら、この時点で
「それはやり方を間違ってる。ヘッダにContent-Lengthを付ければそれで済む」の回答が出てきて然りなんだよ。
それがおかしな小手先テクニック合戦になったり、
或いは上記のように全部正しく揃えているのにそれを理解せず「コミュ障」呼ばわりしてくるから、
PHPerは糞だと言ってるんだよ。
これは君も含めてね。何を相手に伝えるべきか分かってないんだよ。
まあコミュ障だからこそ、(=つまり何を伝えれば通じるかが分かってない)
相手がコミョ障かどうか(=つまり必要事項が全部含まれているか)を見分けることが出来ないという、
至極当然の話で、よくあるから慣れてはいるけども。

なんかNodeを勘違いしているっぽいが、プログラミングモデルのレイヤーはPHPと同じだよ。
PHPは上手く抽象化されてる(584)というのなら、そりゃNodeでもその他でも同じだよ。
実際書けば(文法が違うだけで)ほぼ同じコードになる。
下位のTCP接続を直接切りに行けるのはCで相当野蛮に書かれたものだけだが、そんな物存在してないでしょ。
だからこれはエスパーではなく常識で読み替えられる範囲だよ。

735 名前:デフォルトの名無しさん mailto:sage [2021/08/07(土) 00:55:28.53 ID:dDF85n970.net]
>>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では「速いよりも早い方が重要」だからある程度致し方ないのだとしても。

736 名前:デフォルトの名無しさん mailto:sage [2021/08/07(土) 08:23:51.18 ID:xdlB1E9b0.net]
phpでもやるかなって思ったけど、大勢で同じセッションみるとかできる?

737 名前:デフォルトの名無しさん mailto:sage [2021/08/07(土) 09:24:23.62 ID:dDF85n970.net]
>>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は生のヘッダを普通に扱えるレイヤーでのプログラミングにな

738 名前:るから、ヘッダについての仕様を(本来は)熟知してないといけない。
だから575に対してはいきなり「Content-Lengthヘッダ付けろ馬鹿タレ」とぶった切れないといけない。
とはいえ昨今の状況であらゆる階層の仕様を熟知しろなんてどだい無理な話ではあるが。

だからやっぱりもう一つレイヤーを上げるべきなんだ。
ヘッダの知識がない状態で具だけ書きたいのなら、ヘッダ周りを自動的によしなにやってくれるフレークワークを使うべきだろう。
そしてLaravelは見たところそんな感じだ。
なるほど、「セッション周りとかはフレームワークに任せてLaravelだけ使ってろ」というのは当たってる。
(俺も含めて)素人ほどフレームワークを使うべきだろう。

とはいえ、俺はデプロイ先が無料サーバなのでいちいち仕様確認して素PHPレイヤでのプログラミングをするしかないのだが。
[]
[ここ壊れてます]

739 名前:デフォルトの名無しさん mailto:sage [2021/08/08(日) 13:58:58.59 ID:e9M5NaPRa.net]
ぶつくさ文句ノイズ垂れ流すの鬱陶しいからNGするためにコテつけてくれよ
「PHPerは糞」とかどうだ

740 名前:デフォルトの名無しさん mailto:sage [2021/08/08(日) 14:23:41.94 ID:sHQOKZVt0.net]
chmateだと最初から荒らしってなって表示されないよ!

741 名前:デフォルトの名無しさん [2021/08/09(月) 02:00:02.31 ID:gYL5uhjB0.net]
それにしてもThe老害を絵に書いたような奴だな
加齢臭が半端ない
そんな奴が無料レンタルサーバーでできるPHP案件にしがみ付いてるのがまた笑うところ

742 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 07:34:41.94 ID:nmP8QoA6a.net]
無職の人はたくさんレス書く時間あって良いよね



743 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 13:13:55.63 ID:78aLRiJY0.net]
YouTube で有名な、雑食系エンジニア・KENTA は、
PHP は、一生やらなくてよいと言ってる

価格低下圧力がひどいでしょ。
客もプログラマーも、PHPを見下しているから、大金を出さない

だから勉強しても、まず食えない

それでサロンは、Ruby on Rails だけにしている。
マコなりとか普通、学校でも80万円コース

今はYouTube で、200万円の学校をぼったくりと言ったから、訴えられているけどw
KENTAは日本一だから、学校も訴えて知名度を上げようとしてくる

KENTAは、Railsを使っている会社は、モダンな会社とも言ってるし。
他の会社とは、明らかに異なる

744 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 21:41:07.25 ID:Qit5eEqI0.net]
一YouTuberの言うことを真に受けなくてもいい

745 名前:デフォルトの名無しさん [2021/08/09(月) 22:11:02.95 ID:pjjWaghZa.net]
1つ聞きたいんですが、SCSSを導入する際メンテナンスが面倒なら嫌だなと思ってます

dart sassにサポートが切り替わった際にその前のruby−sassやnode-sassのコードをわざわざ書き換えないといけないんでしょうか?

746 名前:デフォルトの名無しさん [2021/08/10(火) 03:02:08.79 ID:0jLh5m3Ra.net]
結局Javaもphpと同じで自分で考えて構築しないとダメなんですね…

人のコードを映しても環境の違いからエラーが出ると
SASSを使うためにとんでもない時間掛かってます…

747 名前:728 mailto:sage [2021/08/10(火) 11:29:36.31 ID:9wi/dlAk0.net]
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、データベース

748 名前:デフォルトの名無しさん mailto:sage [2021/08/10(火) 14:40:11.44 ID:zAxh9PBJ0.net]
JavaとJavaScriptの区別がついてない奴がいるらしいぞ。

749 名前:デフォルトの名無しさん mailto:sage [2021/08/11(水) 13:59:27.76 ID:fZr8mTrx0.net]
こんな紛らわしい名前を付けた犯人は誰?

750 名前:PHPerは糞 mailto:sage [2021/08/11(水) 21:04:34.54 ID:C/NScrzP0.net]
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

が出る。(ただし動く)

751 名前:PHPerは糞 mailto:sage [2021/08/11(水) 21:04:54.72 ID:C/NScrzP0.net]
ここで、直積みコードを動かす為には 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の場合は「値渡し」でガッツリ保護されているから、
『再代入禁止』『参照透過』何それ美味しいの?でも確かにそれなりに問題ないはず。

752 名前:PHPerは糞 mailto:sage [2021/08/11(水) 21:05:17.28 ID:C/NScrzP0.net]
俺の現環境では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++でも失敗してる)



753 名前:PHPerは糞 mailto:sage [2021/08/11(水) 21:05:44.32 ID:C/NScrzP0.net]
7.
> リファレンス渡しが想定されているところに、値渡しを行うとエラーになります。
> https://www.php.net/manual/ja/functions.arguments.php
 ってあるのだが、今回ってこれか?なら動いてはいるがやっぱりアウトなのか?
 ちなみに直積みになってるのは、元はfetch_from_DBの出力側で format_for_APIしてたのを、
 json_encodeの入力側でやるように移動して、結果的に <?= => の間にブッ込まれてるからだ。


まあ色々文句有るんだろうが、それでも答えてやってもいいぞ、って人はよろしく。
一応724の要求どおりにこのスレ内ではコテにしておく。

754 名前:デフォルトの名無しさん mailto:sage [2021/08/11(水) 21:40:15.37 ID:PueOOWfrM.net]
参照返しも値返しもメモリ使用量差は今日日のメモリ容量から見たらわずかな違いだから気にしなくて良い。
参照返し、値返しを考慮したメモリ省使用量化はクセのあるコードになる。
書いた本人以外が今後保守する場合は、その人にもわかりやすく、ミスさせないためにそういうコードを書かないほうが良い。

755 名前:PHPerは糞 mailto:sage [2021/08/11(水) 22:21:08.32 ID:C/NScrzP0.net]
>>739
その記事とかからすると、どうも過度にやってる奴が居るようだが、今回の件は全くそうではないだろ。
むしろ、「値渡しで自己に再代入って、こいつ参照渡し知らない馬鹿だろ!」って、お前らなら突っ込んでくるところだろ。

がまあ、PHP鯖はPCでしかないので大富豪プログラミングでおk、なのは確かにその通りかもな。

756 名前:デフォルトの名無しさん [2021/08/12(木) 00:47:16.96 ID:xG1RPqdX0.net]
スクレイピングは逮捕される危険があるって聞いたんだけどマジ?

757 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 01:38:59.56 ID:wrwwe/e30.net]
威力業務妨害の可能性はあるだろう

758 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 02:19:59.04 ID:ZBXe4sG30.net]
被害を受けた事を証明しないとならないぞ

759 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 11:23:42.11 ID:s+UN3BdM0.net]
スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある

初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!

だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない

Udemy の山浦清透、2021/6 の動画を参照。
PHP で、マイナビ転職をスクレイピングしてる

【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI

760 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 11:52:11.82 ID:ZBXe4sG30.net]
仮に無限ループしたとしても落ちるのはサーバー側に不具合があるからだろ

761 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 12:16:26.88 ID:s+UN3BdM0.net]
>>735
Ruby on Rails では、

format.html
format.json

と書いておけば、

/books/1 にアクセスすれば、HTML を、
/books/1.json にアクセスすれば、JSON を返す

jbuilder モジュールでも、JSONを簡単に書ける

762 名前:デフォルトの名無しさん [2021/08/12(木) 14:40:12.42 ID:B1L5o8hM0.net]
>>741
>>642
こんな事も人に聞かないと分からんない奴が居るんだな



763 名前:デフォルトの名無しさん [2021/08/12(木) 14:43:21.86 ID:B1L5o8hM0.net]
>>745がサーバ構築した事がない人間なのは分かった

764 名前:デフォルトの名無しさん [2021/08/12(木) 14:52:03.99 ID:B1L5o8hM0.net]
>>746
お前も PHPerは糞 おじさんを見習って
名前欄に RUBYガイジ って入れてくんない?

PHPerは糞おじさん、2021年にもなって参照渡しでメモリがーとか言ってるはクソ笑う
さすが加齢臭おじさんやね

765 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 14:59:04.04 ID:sye04Gqu0.net]
<input type="text" name="text1" value="aaa" readonly>

ユーザー側がvalue="aaa"を書き換えてpostする事ってできますか?
出来るのだったらhtmlのソースに載るものをsqlに入れる時は全部プレースホルダにしないといけないですよね

766 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:14:15.05 ID:s+UN3BdM0.net]
クライアントから送られてくるものは、絶対に信用してはならない。
place holder を使うのが基本

ドラクエ10 では、0.2% ほど、おかしなデータが送られてくると言ってる

伝送エラーでも、パリティーを再計算して、
正しいデータのように見せかけて伝送する、ルーターがある。
そういうルーターを、世界中から排除できない

767 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:29:27.65 ID:ZBXe4sG30.net]
>>748
例の図書館サーバーは三菱がメンテナンスしてたんだよな
それは知ってる

768 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:30:13.40 ID:39FD7TF90.net]
>>750
いくらでも出来るよ
そういう値をめんどくさいからと言って送ったりしない事
サーバー側に保存しておけ

769 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:50:17.28 ID:ZBXe4sG30.net]
>>748
あの図書館サーバーは普通のアクセスが集中しただけで落ちるんだぞ
DBのカーソルを使ったあと開放してなかったんだそうだ
こんなの初心者しかやらないコーディングだろう?

770 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:51:38.16 ID:sye04Gqu0.net]
>>751
>>753

有難うございます。

セレクトボックスの値や、javascriptで書き換えるreadonlyのテキストボックスの値を
sql文に入れるかどうか迷ってました。
全部プレースホルダにします。

771 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 15:58:48.50 ID:jvdC9oQ40.net]
>>754
それがナンナンダヨ

岡崎図書館事件は、お前の言うようなシステムだったとしても逮捕されて起訴猶予がくだされたって話だぞ
あと三菱じゃなくてMDISな
子会社ってのは別会社なんだよ

お前社会経験無いだろ

772 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 16:03:27.95 ID:ZBXe4sG30.net]
最近も偽造で有名になった、あの三菱

ホント、三菱の名前って有名になったよな



773 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 16:08:04.61 ID:ZBXe4sG30.net]
>>756
不具合がある事は以前からは悪していたが、顧客には伝えていなかった
定期メンテナンスの度に、コッソリ修正を加えていたが、
岡崎図書館だけはチャンスがなかった

通常の利用者がアクセスするだけで落ちるサーバー
毎朝再起動するのが日課だったそうだ
そうしないとダウンするサーバー
隠蔽体質は独特だよな

774 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 16:12:07.54 ID:ZBXe4sG30.net]
岡崎図書館だけでなく、システム導入した全国の図書館で不具合は起きていた
各図書館は定期メンテナンスがあった際に修正版を導入していたが、
岡崎図書館だけは、必要ないとメンテナンスを断られていた
不具合があると、本当のことを伝えてさえいれば修正できたのにな

775 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 16:14:36.36 ID:jvdC9oQ40.net]
>>759
おまえ、気持ち悪いやつだな

776 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 17:00:02.35 ID:s+UN3BdM0.net]
確か、毎秒アクセスしてたのだろ。一日で何万回も。
それで落ちた。
普通のアクセスでは落ちない

それで自白に追い込まれた。
自白しないと、一生家族を追い込むぞと脅されて、自白させられた

日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しない

だから、拷問捜査でも自白すると、絶対にくつがえらない。
自白したのが嘘でしたと言っても、裁判官がそんな事はあり得ないと、絶対に認めない

それで、ボクサーが自白して、今も死刑囚のままの事件がある。
DNA 判定でも別人なのに、裁判官が嘘で自白する事はあり得ないと、言い続けている

でも、無罪が国民にばれているから、有罪のまま釈放してる

ボクサーはパンチドランカーで、知的障害になりやすい。
そういう奴を探してきて、拷問して自白させる。
知的障害は、すぐに自白するから

そうやって犯人に仕立て上げる

自白を優先させる国は、世界中でも日本だけ
有罪率も他国では、50% だけど、日本だけ100%。
だから半分は、自白による冤罪

777 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 17:13:39.26 ID:ZBXe4sG30.net]
岡崎図書館システム作った企業は、サーバ構築した事がないんだろう
あろうことか、システムの全ソースファイルがネットから丸見えだった
当時大勢がソース閲覧してレビュー大会始めてたな
隠しきれなくなった企業は、最期に全面謝罪していた

778 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 17:21:59.60 ID:ZBXe4sG30.net]
>今年5月に発覚した岡崎市立中央図書館ウェブサイト「サイバー攻撃」事件は悪意のない一利用者の
>プログラムによる DoS 攻撃とみられており当初「偽計業務妨害の疑いで」の逮捕も妥当かと思われて
>いたのですが、不起訴(起訴猶予)処分が発表された後で図書館のプログラムを入手した朝日新聞が
>セキュリティ専門家らに調査を依頼したところ、実は図書館プログラムのバグだったことが判明。
> このコードの場合、DB接続はアクセス元のブラウザ専用として確保(ASPセッションに紐付け)され、
>ASPセッションがタイムアウトするまでの間(7月の時点で岡崎市立中央図書館では実測で620秒くらい
>だった)、閉じられることなく(使いもしないのに)占有されてしまう。その間に新しい閲覧者(ブラウザが)
>接続してくると、次々新しいDB接続が確保され、その最大数に達すると、それ以上のアクセスを受付け
>なくなってしまう。

>しかも酷いことに新聞報道に基づいたコメントによると、ソフトウェア開発業者の三菱電機インフォメーショ
>ンシステムズ(MDIS)は2006年にこのバグを修正していたが、それ以前に導入した顧客には「ホームペー
>ジが閲覧しにくくなるのは、コンピューターの性能が低いからだ」と説明、「新しいサーバーを導入して金を
>出させるために、わざと情報を秘密にしていたようですね」。

https://ameblo.jp/ecomstation/entry-10627088813.html

779 名前:761 mailto:sage [2021/08/12(木) 18:07:20.17 ID:s+UN3BdM0.net]
日本では自白をしたら、絶対にくつがえせない

裁判で、無理やり拷問捜査で自白させられたと言っても、
裁判官がそんな事はあり得ないと、絶対に認めない

自白して、100% 有罪に出来るから、立件されなかっただけ

日本の裁判は、行政・司法の事前打ち合わせで有罪が決まる。
法廷では裁判しないから、有罪と同じ

青汁王子みたいに、検察庁の拷問取り調べを発信したら、起訴されて有罪になった。
一方、徳井みたいに脱税を認めたら、不起訴になった

だから、青汁王子は検察改革として、選挙に立候補するかも知れない

日本の裁判の半分は、自白のみで証拠がない。
だから、本当は無罪だと国民にばれないように、マスコミを使って印象操作する

毎日ひっきりなしに、事件の捜査進行をマスコミにリークして、犯人だとでっち上げる。
それで実質的に、裁判所では裁判をしない

西村と同じ。
自公は何も立法せず、銀行へ要請して、酒屋に資金提供しないように締め上げる

これは要請で強制力がないから、自公は責任を負わない。
単に、銀行が加害者になるだけw

780 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 18:07:42.18 ID:HkfEGEyR0.net]
プログラミング言語を作るヒントのために
メモリがー
参照がー
という流れでもないな

781 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 18:50:40.99 ID:fLUL3BRXM.net]
>>760
例のコテハンおじさんだぞ

782 名前:デフォルトの名無しさん mailto:sage [2021/08/12(木) 18:56:05.94 ID:ZBXe4sG30.net]
>三菱電機の不祥事が止まりません。労務問題に品質不正などが相次ぎ、6月29日には
>鉄道車両向け空調装置において、35年以上にわたる不正検査の問題が発覚しました。
>7月2日に記者会見した三菱電機の杉山武史社長は組織的な不正行為と認め、引責辞
>任を表明する事態となりました。外部の弁護士を起用した調査委員会を発足し、原因究
>明や再発防止策の策定に乗り出しました。

体質として、どこかおかしい



783 名前:PHPerは糞 mailto:sage [2021/08/12(木) 20:24:45.08 ID:M/4woqjc0.net]
>>749
それだけ言ってNGし切れないとか超ダセエ。ゆとり臭すぎ。


>>765
それは俺に言ってるのか?
なら俺はいいが、場所は移るべきだ。ここの連中は興味もないだろうし。
PHPを中心に考えるのなら、候補としてはWebプログラミング板かな?
592を額面どおり受け取って移動でいい。
他に希望があれば指定してくれ。
(なおPHPを中心に考える必要は全くないので、他言語スレでも問題なし)

一般的にはプログラミング言語開発者は複数の言語を使いこなしていて、
それらで駄目な点を自身の言語で改善するものだから、
創始者のプログラミング観どおりにやればどフィットするものだが、
ラスマスはああいう感じで他の連中とは違うし、
実際、PHPの参照の仕様は、使い道なさそうに見える。
(ただし俺は仕様を完全に理解しているわけではない)

PHP.netには、コピーオンライトと書いておくべきだろう。
ほぼ完璧に見えるPHP.netだが、これを落としているのは痛い。
(ただし他言語はもっとズボズボだから、PHP.netだからこその要求水準ではあるが)

784 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 01:24:24.59 ID:uAR6k+KCa.net]
DBのコネクションプーリングとかWEBアプリならLaravelにおまかせで良いじゃん

785 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 01:52:40.74 ID:kzYHP2KN0.net]
じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?

786 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 02:00:55.03 ID:mbVVcoUY0.net]
robots.txt遵守は一種の紳士協定のようなもので、法的な強制力は無い
OKかどうかの判断は結構難しいと思う。
たとえ手順が正当だとしても、相手サーバーを落とす目的で
実行していると見なされれば業務妨害罪は成立する
これは妨害する意図でしつこく電話を掛け、
対応に追われる状態になれば、妨害罪が成立するのと同じ

大量のアクセスになる場合は、事前に相手に了解を取るか、
リクエスト内のエージェント情報の中に、連絡先を書いておくとかする

787 名前:デフォルトの名無しさん [2021/08/13(金) 02:13:34.16 ID:K6cyKUrLa.net]
>>734
当時最先端のJavaのように使えるブラウザなんだぜぇーと宣伝タレ
虎の威を借る狐
旧京都造形芸術大から名称変更した私立「京都芸術大」のようなヤカラたち

788 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 02:35:57.29 ID:oRQ6/bVP0.net]
>>770
してもいいがアク禁にされたり大量アクセスして訴えられても知らないが

789 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 03:32:07.80 ID:IEEGs8930.net]
teratail見るとアホほどスクレイピングしたがるのが分かる

790 名前:デフォルトの名無しさん [2021/08/13(金) 09:43:07.07 ID:5/dvlHjt0.net]
>>748に対して ID:ZBXe4sG30 が発狂しててワロタw
サーバが落ちる落ちないの問題ではないんだよなぁ
そして748はやはりサーバ構築経験が無いんだなと

791 名前:デフォルトの名無しさん [2021/08/13(金) 09:45:20.56 ID:5/dvlHjt0.net]
>>770
>>642読めよ
メクラか?

792 名前:デフォルトの名無しさん [2021/08/13(金) 09:50:20.10 ID:5/dvlHjt0.net]
PHPerは糞 おじさん相変わらず元気に加齢臭撒き散らしてて草w
無駄な長文は無能の証拠
まぁこいつはコテハン付けてるだけマシだけどな



793 名前:744 mailto:sage [2021/08/13(金) 12:16:30.97 ID:S8120IP70.net]
基本、スクレイピングじゃなくて、
サイトと契約して、サイトのAPI を使う

YouTube API, Google Maps API など

5ch も、そう。
契約して、APIを使う。
勝手にスクレイピングすると、どうなるか知りませんよと、脅し文句が書いてある

スクレイピングする所は、APIを提供していないサイトで、
robots.txt を遵守する

とにかくスクレイピングは、初心者向けじゃない。
初心者のコードには、バグが多く、
無限ループでアクセスしたりするから、超危険!

だから、そういう依頼があっても、受けてはいけない。
スクレイピングの本にも、スクレイピングしないように書いてある。
書いていないと、スクレイピングを推奨した人も、共犯者になるから

>>744
のUdemy の山浦清透、動画を参照。
PHP で、マイナビ転職をスクレイピングしてる

794 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 17:39:58.89 ID:cfxShLTH0.net]
グローバルスコープに定義した関数は、クラスの中のメソッド内でそのまま使えるのですか?
使えるのが奇妙な気がするのですが。。。
グローバルな変数は、クラス内では、そのままでは使えないですよね。

795 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 19:26:14.32 ID:NFq4Eq4J0.net]
そのままでなく、
var で宣言して $this->num
昔はインスタンスの呼び出し無く使えたけど、
開発陣営に割り込んで圧かけて、
「難しくなければなりません」
と言って無茶苦茶にした人がいるんだよ。

796 名前:デフォルトの名無しさん [2021/08/13(金) 20:10:05.70 ID:5/dvlHjt0.net]
>>779
クラス内で global $hoge; とすれば使えるけど?
逆に聞くが、クラス内でグローバルスコープに定義した関数を使う際には、どういう風に使えたら奇妙じゃないとお前は思うんだ?

797 名前:デフォルトの名無しさん [2021/08/13(金) 20:11:24.31 ID:5/dvlHjt0.net]
>>780
お前質問の意味分かってないだろ

798 名前:デフォルトの名無しさん [2021/08/13(金) 20:14:02.70 ID:5/dvlHjt0.net]
>>779は namespace を理解してない可能性もあるか…

799 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 20:24:47.97 ID:9sqfFN6A0.net]
>>781
>>どういう風に使えたら

グローバルな関数を、いわば閉じてるクラスのメソッド内で使えること自体が奇妙に思えたのです。
オブジェクト指向のカプセル化に反するせいかもしれません。
たまたま、今日、グローバル関数をクラスメソッド内で使ってみたら使えてしまい困惑したので、
気になり尋ねてみた次第です。

global $hoge; みたいに宣言してから使うなら、なるほど納得できるのですけど、
宣言なしで、いきなり使えてしまい、戸惑ってしまいました。
便利ではあるけど、使うのはちょっと怖い感じもします。

800 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 20:38:23.23 ID:NFq4Eq4J0.net]
PHP言語を開発した私が話についていけないなんて!

いやぁぁぁーーー!!!


まあいいや。
頑張ってね。

801 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 21:14:52.64 ID:9sqfFN6A0.net]
global $hoge;//グローバル変数の宣言
global $hoge();//グローバル関数の宣言(不要)

考えてみたら、両者とも宣言が必要な方が直感的でわかりやすいですよね。

802 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 21:22:26.06 ID:9sqfFN6A0.net]
global hoge();//グローバル関数の宣言(不要)
$マークはいらなかったですね



803 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 21:22:29.93 ID:G+odjofr0.net]
>>786
そんな仕様の言語は見たことないな
組み込み関数はどうやって使うの?

804 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 21:33:50.60 ID:9sqfFN6A0.net]
>>788
なるほど、たしかに組み込み関数は、クラスのメソッド内で自由に使えますね。
ユーザー定義関数もそれと同じと考えれば、そこで使えるのは当然なのか。
目から鱗、モヤモヤ感が解消しました。ありがとうございました。

805 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 21:55:41.81 ID:hsOq5UIAM.net]
先週から勉強を始めた学生なんですが、
初心者向けの入門書の例文どおり入力してるはずなのにエラーが出たり正しく動作しなかったりで、
間違ってると思われる箇所を何度見直してもダメだったのに、
本の付録のサンプルコードでその部分を上書きすると動くようになることがあるんですが、何が悪いんですかね?
知識を習得する前に、間違い探しで日が暮れて還暦になっちゃいそうです〜_| ̄|○

機嫌で動いたり動かなかったりすることあります?

806 名前:蟻人間 mailto:sage [2021/08/13(金) 21:58:11.89 ID:ZbJ7zOZVd.net]
全角と半角の区別、大文字と小文字の区別とかわかる?

全角スペースって知ってる? 日本語プログラミングには落とし穴が多いんだよ。

807 名前:デフォルトの名無しさん [2021/08/13(金) 22:06:11.14 ID:5/dvlHjt0.net]
>>790
エラー文が読めないってこと?
何行目にどんなエラーがあるかきちんと出してくれるよね?

808 名前:デフォルトの名無しさん [2021/08/13(金) 22:14:27.56 ID:5/dvlHjt0.net]
>>790
とりあえず自分の書くコード先頭に
error_reporting(E_ALL);
ini_set('display_errors', 1);
を書いて出力されるエラー文を読もうな
エラー文が読めない人はいくらやっても時間の無駄

毎回この2行を書くのは面倒くさいからこれを読むといい
https://qiita.com/fallout/items/31f793708b243033fab1

809 名前:790 mailto:sage [2021/08/13(金) 22:17:16.92 ID:hsOq5UIAM.net]
>>791
はい、ちゃんと書き分けてる筈なのにい〜(>ε<)

>>792
いえ、エラーの出た行(その行より前のこともありますが)あたりを目を皿にして見直して、それでも分からないからサンプルコードで怪しい行を上書きしたら動いた、ということが何度かありまして:
やだな〜、お盆だから何か来てるのかな?

810 名前:790 mailto:sage [2021/08/13(金) 22:20:01.01 ID:hsOq5UIAM.net]
>>793
ありがとうございます、参考にします

811 名前:蟻人間 mailto:sage [2021/08/13(金) 22:22:36.30 ID:ZbJ7zOZVd.net]
日本語では使わない記号というのも落とし穴だね。

'と`の違い分かる? :と;の違いわかる?

812 名前:デフォルトの名無しさん [2021/08/13(金) 22:23:25.12 ID:5/dvlHjt0.net]
>>794
今度エラー出た時にそのコードをここに転載してみ
たぶん俺や他のPHPerなら見た瞬間にどこが間違いか分かるから



813 名前:デフォルトの名無しさん [2021/08/13(金) 22:26:39.58 ID:5/dvlHjt0.net]
>>794
あーあとフォントを見直した方がいいかもね
プログラミング用のエディタで使うフォントってわりと重要 []
[ここ壊れてます]

815 名前:790 mailto:sage [2021/08/13(金) 23:25:02.14 ID:hsOq5UIAM.net]
>>796
(;´‘Д’:)

>>797
そうですね、またお世話になるかも知れませんが、宜しくお願いします。

フォントはMSゴシックなんですが、まずかったでしょうか

816 名前:デフォルトの名無しさん mailto:sage [2021/08/13(金) 23:26:01.95 ID:BmcFsWFm0.net]
Source Han Code JP が好き

817 名前:デフォルトの名無しさん mailto:sage [2021/08/14(土) 10:21:32.10 ID:SEP94OUU0.net]
>>790
動くコードと動かないコードをWinMerge等で比較したら違う箇所がわかるからそこを確認する

818 名前:790 mailto:sage [2021/08/14(土) 17:30:53.66 ID:sRDJs50VM.net]
悪さする幽霊の正体が1つ分かりました!
同じプログラムを違うエディタで開いた際に文字化けしてて、
「これ、違うやん」と弄くり回しているうちに内容がおかしくなっていたようです。

>>801
早速試しましたが凄い、お手本との比較が一目でできて、自習には神ツールですね!
今のうちに入手できてよかったです、ありがとうございます!

819 名前:デフォルトの名無しさん mailto:sage [2021/08/15(日) 06:24:01.27 ID:hVIBIqQR0.net]
最初はPHPで 、だんだんHTMLになってる。
Pythonじゃないんだが、これ、どうすればいいんだろう?

820 名前:デフォルトの名無しさん mailto:sage [2021/08/15(日) 14:39:37.75 ID:e6OApvsn0.net]
なぞなぞかな?

821 名前:デフォルトの名無しさん mailto:sage [2021/08/15(日) 14:45:36.38 ID:zqaX1A8p0.net]
笑う

822 名前:デフォルトの名無しさん mailto:sage [2021/08/15(日) 20:32:37.16 ID:Ok6ktu6f0.net]
<?php
//最初はPHPで、
?>
<html><head><title>だんだんHTMLになってる。</title></head></html>

Pythonじゃ(こんなことは)ないんだが、これ、どうすればいいんだろう?

…なんてPython使いが聞くわけないよな



823 名前:デフォルトの名無しさん mailto:sage [2021/08/15(日) 21:46:02.20 ID:+BFmSrWm0.net]
表示が先で処理が後なの?Pythonは。

824 名前:デフォルトの名無しさん mailto:sage [2021/08/16(月) 10:11:26.44 ID:tf0dssH60.net]
phpとPHP、どっちが正解なんだろ

825 名前:デフォルトの名無しさん mailto:sage [2021/08/16(月) 19:37:01.98 ID:nywPnT8p0.net]
PHP8にしてみたらバグが結構でて焦る
0 == ""
これがtrueからfalseになったのが痛い

こういうキャストの理解でいいですよね
PHP7 0 == 0 true
PHP8 "0" == "" false

https://www.php.net/manual/ja/migration80.incompatible.php

826 名前:デフォルトの名無しさん [2021/08/16(月) 19:38:04.81 ID:MmXvFMHy0.net]
結局$_session[ほにゃらら]はユーザーからいじることは不可能でいいの?埒があかないまま使ってて不安だわ

827 名前:デフォルトの名無しさん mailto:sage [2021/08/17(火) 10:42:22.98 ID:vbnMp9Az0.net]
流れ読んでないけど、
セッションに登録された変数の内容をいじらせるということであれば、
$_SESSION[] = $_POST[] みたいなコードを書けば可能だし、
セッションファイルを、こちらの意図とは別にユーザが直接編集できるか?
と聞いてるなら、OSやサーバの設定が不適切だったり、バックドアが仕掛けられてれば可能。
今時大丈夫だとは思うが、共用サーバなら念の為、
セッションファイルを管理するフォルダが適切かどうか確認したほうがいい。

828 名前:デフォルトの名無しさん mailto:sage [2021/08/17(火) 12:57:21.03 ID:JCmgNVsVa.net]
>>808
personal home page processor

829 名前:デフォルトの名無しさん mailto:sage [2021/08/18(水) 23:23:38.83 ID:JGF6Grsc0.net]
ubuntu16.04(32bit)にPHP8系ってインストールできる?

830 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 09:42:32.90 ID:ULgkoJec0.net]
むしろできないと思う理由を知りたい

831 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 11:13:19.07 ID:0gOCjcmh0.net]
CPUはATOMで主メモリが2GBだったりする?

832 名前:デフォルトの名無しさん [2021/08/19(木) 12:03:31.93 ID:ZJMNNM340.net]
PHPでゲーム作れますか?



833 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 12:05:57.21 ID:5v0iaVCE0.net]
むしろできないと思う理由を知りたい

834 名前:デフォルトの名無しさん [2021/08/19(木) 13:00:26.79 ID:XQ1nrb4AM.net]
じゃPHPの勉強はボケ防止やハゲ防止になりますか?

835 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 13:02:09.18 ID:0gOCjcmh0.net]
ここでそんなこと聞いている所からみると、既に手遅れ感がハンパない

836 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 13:02:57.57 ID:5dKQF2Eb0.net]
人によっては効果が見られるが、
このようなアホな質問をする奴に効果は無い

837 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 18:08:41.25 ID:Dhm320Jo0.net]
>>814
インストールしたら7.0が入ったからどうすっか悩んでる。Laravelインストールできなくて詰んだ
パソコンが32bitのCPUだから16.04より新しいのがインストール出来ない
ググっても16.04にPHP8をインストールしようとしている人を罵るコメントしか見つからない
海外の掲示板も英語を翻訳してがんばって読んでみたんだけど英語で罵ってるだけで結果は同じだった

パソコン買い換え以外で何か解決策ないですか?

838 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 19:02:00.79 ID:ZyaFoemW0.net]
>>821
7.0が入るのはOS標準のリポジトリからインストールしてるからであって、リポジトリを追加すればインストールできるよ

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php8

839 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 19:03:37.15 ID:ZyaFoemW0.net]
>>821
罵ってるのが気になるからその掲示板とやらを教えて

840 名前:デフォルトの名無しさん [2021/08/20(金) 03:00:41.03 ID:VAxC0d3G0.net]
phpspreadsheet詳しい人おる?
laravelでExcelファイルダウンロード機能作ってるんだけど関数が入ってるとうまく動かないのかな…

841 名前:デフォルトの名無しさん mailto:sage [2021/08/20(金) 13:00:34.30 ID:sg5lHnRB0.net]
>>824
PhpSpreadsheetはエクセルファイルの読み書きようのライブラリ
Excelファイルをダウンロードするのは、PhpSpreadsheetとはまた別の話になるが?
とりあえず問題がどこにあるのか、その切り分けすらできてない気がする

842 名前:デフォルトの名無しさん mailto:sage [2021/08/20(金) 13:04:01.25 ID:sg5lHnRB0.net]
>>821
apt でインストールするのではなく、
ソースコードをコンパイルしてインストールってやった事はないのかな?
>>822が書いてる通りリポジトリを変更してaptでやっても良いけど、ソースコードからインストールする方法も(やれないよりは)できた方がいいよ



843 名前:デフォルトの名無しさん mailto:sage [2021/08/20(金) 13:13:52.15 ID:sg5lHnRB0.net]
>>810
その「ユーザー」というのが、810の作ったウェブアプリを利用する一般ユーザーって意味なら、
セッション変数をユーザー入力(GETやPOSTのことね)で直接上書きする設計になっていたら、ユーザーがいじる事はできるわな
だから、ユーザー入力は常に汚染されていると考えしっかりチェックしようって話になる

その「ユーザー」というのが、810の作ったウェブアプリが入っているサーバの別ユーザーって意味なら、
PHPが生成するセッションファイルは、Linux系OSのデフォでは /tmp 以下に sess_xxxxx ってファイルでPHPからの読み書き権限が与えられた状態で保存されてる
※デフォでどこに保存されるかは phpinfo() で確認しよう

だから、もし別ユーザーからもそのファイルを読み書きできる状態なら、やりたい放題になる
その場合、セッションファイルを保存する場所を変えるとか、ファイルベースではなくDBベースに変更するとかして対策する

844 名前:デフォルトの名無しさん mailto:sage [2021/08/20(金) 13:17:12.75 ID:sg5lHnRB0.net]
>>809
書いてる内容は合ってる
そもそも == なんか使うのがいけない
=== を使えって話

PHP8の方が、人間には直感的に分かりやすい挙動だけど
型キャストなんて特別な理由がない限りはやってはいけない
WordPressなんか型キャストだらけだけど、あれは後方互換を重視しすぎたせいで設計がクソなだけ

845 名前:デフォルトの名無しさん mailto:sage [2021/08/20(金) 13:18:22.81 ID:sg5lHnRB0.net]
>>808
PHP

>>807
んなわけないw
出力をバッファすればどうにでもできるが、それはPHPでも一緒

846 名前:デフォルトの名無しさん [2021/08/22(日) 02:19:19.06 ID:0Cz6ueFz0.net]
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます

847 名前:デフォルトの名無しさん [2021/08/22(日) 13:16:28.80 ID:0Cz6ueFz0.net]
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます

848 名前:デフォルトの名無しさん [2021/08/22(日) 13:49:26.13 ID:4wvmP6CHr.net]
htmlのクラス付けについて通常はclass javascriptはidだと教わったんですが
phpのクラス付けでdiv idとdiv classのように分ける基準はどこでしょうか?

849 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 14:16:11.38 ID:pT2aRmOya.net]
ん?CSSの話?

850 名前:PHPerは糞 mailto:sage [2021/08/22(日) 14:34:11.78 ID:6lnERGc60.net]
>>832
> htmlのクラス付けについて通常はclass javascriptはidだと教わったんですが
これも間違い(勘違い)だと思うが

> phpのクラス付けでdiv idとdiv classのように分ける基準はどこでしょうか?
これも間違い。phpで生成したクラスをjavascriptで使うのだから、基準が違ったら困るでしょ。
同じだよ。同じ論理でCSSともね。

851 名前:デフォルトの名無しさん [2021/08/22(日) 15:41:36.20 ID:14oodIJ3a.net]
>>834
すいません答えを理解できないんですが
classとidをつける時はどう使い分けるんでしょうか?
idの方が優先順位が高くなってCSSの要素が強くなるんですが

852 名前:PHPerは糞 mailto:sage [2021/08/22(日) 15:52:30.20 ID:6lnERGc60.net]
>>835
ググって出てくる奴を3つほど斜め読みしたけど、全部同じこと言ってる。
ここでグダグダ字だけで説明するより断然いいから、そっちを読め。

その上で、俺は違う意見だ!とか、ここが意味不明だ、というところを質問するんだよ。
お前はネットの使い方を間違ってる。



853 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 16:05:09.90 ID:9b2q+Yuv0.net]
そもそもphpの質問ですらないし

854 名前:PHPerは糞 mailto:sage [2021/08/22(日) 16:13:29.48 ID:6lnERGc60.net]
>>837
日本語が若干不自由だけど、そのまま読むなら、
当初はphp/javascript/cssでクラス/id使い分けの基準が違うと思ってたんでしょ。
なら、ここで聞くのも止む無しかと。

855 名前:sage [2021/08/22(日) 16:27:20.42 ID:EL9Udqfja.net]
>>835
スタイルシートの class と id の違いと使い分け
https://allabout.co.jp/gm/gc/23897/
HTMLにスタイルシート(CSS)を適用する方法には、class属性を使う方法と、id属性を使う方法があります。
この「class」と「id」は明確に役割が異なります。
class属性とid属性の役割の違い
「class」と「id」の役割と、使用上の違いを簡単に言うと、次の通りです。

■class:
「種別名を割り当てる」
→ 同じclass名を、1ページ中に何度でも使える。

■id:
「固有の名前を割り当てる」
→ 同じid名は、1ページ中に1度しか使えない。

856 名前:デフォルトの名無しさん [2021/08/22(日) 19:28:04.88 ID:M9Sr6GmRr.net]
>>839
ありがとうございます。
自分の解釈ですが、div idは<div id="comment-<php comment_ID(); ?>">
divとhtmlが混合してるときに使って
classは<div class="postlink">
<p class="fLeft"><php previous_post_link('%link', '&laquo; %title'); ?>
</div>
あとつけでCSSを付与したいときにつけるのではないかと

857 名前:デフォルトの名無しさん [2021/08/22(日) 19:30:45.06 ID:M9Sr6GmRr.net]
もう1点聞きたいのですが
<article class="article__item">
<h1 class="ttl">// <a href="<php the_permalink(); ?>"></a>
<php the_title(); ?></h1>
<time class="date"><php the_time('Y/m/d'); ?></time>
<ul class="post-categories"><php the_category(); ?></ul>
<div class="comments_link">
コメント&nbsp;<a href="<php comments_link(); ?>"><php comments_number('(0)','(1)','(%)'); ?></a>
</div>
</article>

// <a href="<php the_permalink(); ?>"></a>の部分をphpファイルでメモとして反映させずに記載したい場合、どのようにコメントアウトすればよいのでしょうか?

858 名前:PHPerは糞 mailto:sage [2021/08/22(日) 19:52:52.95 ID:6lnERGc60.net]
>>840
違うぞ。てか誰もそんなこと書いてないだろ。
あの記事をそう読めるのなら、PHPの前に日本語を勉強しないと話にならないぞ。
それだと php.net も読めんだろ。

859 名前:デフォルトの名無しさん mailto:sage [2021/08/22(日) 21:40:13.41 ID:zETMttxk0.net]
またWPガイジかよ

860 名前:デフォルトの名無しさん [2021/08/23(月) 01:07:37.56 ID:AP99bGsJr.net]
記事を1,2,12と分けて表示する場合if-else 文を使うと思うんですが、
例えば
RSS
記事1
RSS
記事2
RSS
記事12
RSS
フッターと並べる場合最新の記事から順に分けて表示することは可能でしょうか?

861 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 01:57:11.91 ID:TAfYy/dP0.net]
可能です

862 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 09:14:43.04 ID:8Ij0gDpv0.net]
>>835
また君かw
前から何度も言ってるけど、HTML, css, JavaScript, PHP
それぞれの役割分担がまるで理解できてなくてごちゃ混ぜになってる
理解力が低いのに、基礎をすっ飛ばしていきなりWordPressからやるからそうなるんだ

>>839を読んでなぜ>>840の解釈になるのよ
意味がわからんw

もう独学するのはやめてスクールで基礎から学べば?
今のままいくらやっても時間の無駄だと思う



863 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 09:17:33.06 ID:8Ij0gDpv0.net]
>>841
PHPのコメントアウトはこうする
https://www.php.net/manual/ja/language.basic-syntax.comments.php

HTMLのコメントアウトはこうする
https://qiita.com/Morio/items/b9d90a170114e0f95e09

君はPHPのコードとHTMLのコードとの区別がつけれていない
だから答えが分からないんだよ

864 名前:デフォルトの名無しさん [2021/08/23(月) 19:25:11.44 ID:CEbDu2BMr.net]
>>847
ありがとうございます。ブックマークしておきます。

865 名前:デフォルトの名無しさん [2021/08/23(月) 19:28:25.05 ID:CEbDu2BMr.net]
<php
echo '<0';
$max = 103;
for($i = 0; $i < $max; $i++) {
if($i%3==2 && !empty($i)) {
echo $i.'>';
if($i!=$max-1) {
$a = $i+1;
echo '<'.$a;
}
} else if($i==$max-1) {
echo $i.'>';
};
};
記事を3件ずつ表示させる方法はわかったのですが、1,2,12件を縦に並べて表示する方法がどうしてもわかりません。
ヒントでもいいので教えてくださいお願いします。

866 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 19:43:05.35 ID:7YtBfP9I0.net]
ちょっとお聞きしたいんですが
ウィンドウズの根本というか中核のプログラムはどういう言語で書かれているんでしょうか?

867 名前:蟻人間 mailto:sage [2021/08/23(月) 19:55:42.41 ID:/fMna0lXd.net]
>>850
大部分はC/C++/Win32です。

868 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 20:05:21.18 ID:OjohHfKH0.net]
古い部分だとアセンブラを使ってるかも知れない

869 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 20:05:42.31 ID:8Ij0gDpv0.net]
>>849
if ($i % 3 === 2)
の意味が理解できてないんでしょ? だから自力でできないんだよ

ほんと基礎からやり直した方がいいよ
時間の無駄

870 名前:デフォルトの名無しさん [2021/08/23(月) 20:15:57.99 ID:coaVrcEua.net]
break文で記事を10件中3件表示させることまで成功したんですが、3件を除いて残りの7件を表示させたいのですが
continue文で残り7件を表示できるのでしょうか?
通常は数字とか名前とか短いものを除外して表示させる処理だと思うんですが
もしくわbreakで切って繋げた状態で処理を書く方法があるのですが
テラテイルにあるように処理が長いと重くなるので懸念してます

871 名前:デフォルトの名無しさん [2021/08/23(月) 20:16:49.71 ID:coaVrcEua.net]
>>853
いやだから学びながら組んでるんでしょ
そういうあなたはコード組めるんですか?

872 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 20:30:10.59 ID:8Ij0gDpv0.net]
>>854
日本語で頼むw
プログラミングの上達が遅い人って質問も下手なのよ
なぜか分かる?

単純にこうしてもいい

// 最初の3件だけ表示
for ($i = 1; $i <= 10; $i++) {
echo $i;
if ($i === 3) { break; }
}

// 4件目以降だけ表示
for ($i = 1; $i <= 10; $i++) {
if ($i >= 4) { echo $i; }
}


データが配列に入っているならこうしてもいい

$arr = range(1, 10);

// 最初の3件だけ
print_r(array_slice($arr, 0, 3));

// 4件目以降だけ
print_r(array_slice($arr, 3));



873 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 20:31:13.90 ID:8Ij0gDpv0.net]
>>854
データベースから取得するデータを変えてもいい

10件中3件しか表示する必要がないなら、
そもそも最初から3件分のデータだけ取ればいい
SQLなら SELECT 〜略〜 WHERE 〜略〜 LIMIT 3 のように「LIMIT句」を付ける

残り7件を表示したいときは上記の続きから
LIMIT 7 OFFSET ○
とすればいい


>>855
そりゃ組めるわなぁ
喧嘩売ってんの?w

874 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 20:38:37.24 ID:8Ij0gDpv0.net]
>>835>>854
ワッチョイかぶってるから紛らわしいんだよなぁ
頼むからコテをつけてくれ

お前は「学びながら組んでる」というレベルじゃねぇよ

875 名前:1 mailto:sage [2021/08/23(月) 20:45:47.68 ID:X90+PoiFa.net]
>>857
失礼いたしました、勉強になります
ついかっとなってしまいすいません…

コテハンつけました。
繋げて途中でRSSとか出力しても重くならずに動かせますでしょうか?

876 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:00:38.64 ID:8Ij0gDpv0.net]
>>859
そんなのコードを見てみないと分からんよw

ただし、ウェブアプリのボトルネックの多くはDB処理にあるって事は覚えておくべき
つまり、DBから10件取得したものをどう扱おうが(よほどおかしな事をしない限りは)大差はない

だからレベルなら、重くなるかも…なんて事をウダウダ考えず
それはあとに置いておいて、「とりあえず自分にできるかどうか?」を試せばいいじゃん
それすらできないなら、重くなる云々を考える事自体が時間の無駄でしょ?

もし作ったものが重かったら、重い原因を突き止めて改善すればいい

考え方の順番がおかしいんだよ
PHPなんて簡単なスクリプト言語なんだから、うだうだ悩んでる暇があったら書いて動かした方がはやい

もちろん他人に迷惑のかからなローカル環境でね
だからもしローカル環境すら作れてないなら、そこからやれって話になる

877 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:05:31.04 ID:8Ij0gDpv0.net]
>>859
>>860じゃ何言ってるのか分からんかもしれないか…

1.DB処理

2.ごにょごにょした後処理

3.出力

とやった時にもし重くなるなら、その原因は大抵は1にあるってことね
※2でよほどおかしな事をしてない限り

にも関わらず860は、「とりあえず試す」ことすらせずに3で悩んでる
それは時間の無駄じゃね?って俺は言ってる


今日はこれで終了
俺はたまに気が向いた時しか答えてないし、もっと優しい人が答えてくれるといいな

878 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:16:51.95 ID:3wtoCMn60.net]
>>859はローカル環境すら構築してない。
(レンタルサーバーの30日間無料試用期間が終わって本契約しなかったから)データ全部消えたって別スレで言ってたから。推測だがサーバー側のファイルを直に弄ってる。

259 名前:名無しさん@お絵かき中 (オッペケT Sr73-Y0h+) :2021/08/21(土) 22:37:33.20 ID:NVDoOS7qr
厳密にはサイトのサーバー契約が切れて中のデータが削除されてる状態ですね
作り直してますが

879 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 21:53:53.91 ID:dS401MqO0.net]
データベースは、情報処理資格のデータベース技術者を勉強したか?

第3正規形とか、1対多・多対多とか、インデックスとか、実行計画とか、
ミックの本も読んだか?

Ruby on Rails をやる香具師は皆、これらを勉強している

そうじゃないと、2つの表の積になる。
例えば、表Aに千件、表Bに千件なら、千 * 千 = 百万

表の積にしてはいけませんよとか、
基本的な計算量が分かっていないと、システムを組めない

880 名前:デフォルトの名無しさん [2021/08/23(月) 22:14:05.86 ID:Viq8EnO8a.net]
>>860
組んだから考えると言いますが何処で速度の測定をするんでしょうか?

881 名前:デフォルトの名無しさん [2021/08/23(月) 22:15:13.77 ID:xp75siXWa.net]
>>862
無料期間じゃなく正式に契約しててキレたんですよ
半年文 1万円無駄にしたって書いたでしょ

882 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 22:32:23.94 ID:OjohHfKH0.net]
オマエがどんな契約しようが、こことは関係無い



883 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 22:36:13.03 ID:3wtoCMn60.net]
>>865


194 名前:1 ◆YagGt6RMp2 (アウアウウー Sa63-z27x) [sage] :2021/08/20(金) 16:43:17.91 ID:6SN5UR3Va
半年間サイトを運営してたんですがバナーの問題で1万円無駄にしてます


普通の人間はコレ見てサイト契約してたとは判断できねーだろ。説明不足にも程がある。
後、作りかけのサイトをいじくりまわしてただけなのを「運営」って言うつもりか…?

884 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 22:42:24.75 ID:0VsaFO170.net]
散々基礎をやれと言われ続けてるのに毎回どこぞのソースコピペして「動かないですなんとかして下さい」で何も学ばないんだから、そりゃ無駄になるわな

885 名前:PHPerは糞 mailto:sage [2021/08/23(月) 22:44:05.33 ID:HkXb89ZS0.net]
>>865
お前まさか1年やってて今これか?
ならもう向いてないから諦めた方がいい。
おかしなプログラミングスクールの宣伝に引っかかって一発逆点とか勘違いしているのかもしれんが、
プログラミングは馬鹿では出来ないし、(すごく頭がよい必要もないけど)
それなりに学校の勉強の延長線上にある。

お前はプログラミング/プログラマを舐めすぎ。
お前が引っかかってる案件は、学校でなら3日目くらいで修得するところだ。
お前は態度も悪いし、頭も馬鹿すぎる。
(そしてここのスレにいるような連中はほぼ全員、そんなこと3分くらいで書ける。お前失礼すぎ。
ただし程度が低すぎで煽りにもなってないが)

今ならいくらでも大学の講義資料なんて転がっているのだから、学ぶ気があればその大学に入っていなくても同じ事を学べる。
この意味ではいい世の中になったのだけど、だからこそ、糞であるのはお前だけの問題だね。

886 名前:デフォルトの名無しさん [2021/08/23(月) 23:08:47.42 ID:JmzzGDXP0.net]
釣りにいちいちマジレスすんなよ
それとも自演か?

887 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 00:07:23.85 ID:nO9NvnsA0.net]
釣りじゃないんだよなぁ
そいつお絵描き板で全く同じムーブかまして呆れさせてる真性やぞ

888 名前:デフォルトの名無しさん [2021/08/24(火) 01:10:13.38 ID:v+DNM45N0.net]
じゃあ真正の相手なんかするなよ
バカじゃねえの?

889 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 01:44:22.31 ID:nO9NvnsA0.net]
いや俺は相手しとらんし…

890 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 02:01:01.11 ID:2siLH9vn0.net]
5chで質問するやつはバカ
teratailに行ってまずは殴られてこい
殴られてダメだと思ったら諦めろ

891 名前:デフォルトの名無しさん [2021/08/24(火) 02:14:56.80 ID:6GnLn5mua.net]
3分でとける?そんなわけないでしょ
言っておくと一応書けますが記述が重いから別の方法はないですかと聞いてる
それにコード見てもらえれば分かりますが300行ぐらいあるんですよ?
だからそのコードを上手くまとめる方法がないかと調べてなかったので聞きました

892 名前:デフォルトの名無しさん [2021/08/24(火) 02:15:46.89 ID:6GnLn5mua.net]
>>871
あなたはお絵描き板の人間でしょ?
何でこっちにきたのコードも書けないのに



893 名前:デフォルトの名無しさん [2021/08/24(火) 02:18:21.71 ID:6GnLn5mua.net]
そもそもコピペしてコードが組めるわけないだろ
考えて分からないから聞いてる
質問だって丸投げにしてないし調べてるでしょ
パターン1があるんですが別の方法を教えてくださいと

894 名前:デフォルトの名無しさん [2021/08/24(火) 02:23:18.44 ID:6GnLn5mua.net]
テラテイルって結局コード載せても教えてくれないし自分で考えてクリアしろって言ってるようなもんでしょ
どの質問見ても質問者の回答が90%レベルまで完成して残りの10%程度ですよ

895 名前:デフォルトの名無しさん [2021/08/24(火) 02:41:22.85 ID:6GnLn5mua.net]
取り乱してしまいすみません。
調べてみてどうしても分からない時に出来るだけ聞いてます。
初めは丸投げばっかりで迷惑かけたのは反省してます。

896 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 05:41:50.40 ID:SMXHl8SK0.net]
Ruby on Rails の学校では、必ず自走力を問われる。
自分で検索して解決する能力

他人に答えを聞いても、仕方ない。
企業・社会は、そういう人を求めていない

求めている人は、自走力のある人。
自己解決能力

大学の問題が分からなければ、高校へ戻る。
それも分からなければ、中学へ戻る。
それも分からなければ、小学校へ戻る。
究極は、0歳児まで戻る。

それが基礎から始めろという意味。
他人は関係ない。
自分が分かるレベルまで戻ること

そこから、新たに積み上げていく

それと、コテハンを付けてくれ。
誰が書き込んでいるか、分かりにくいので

全員が、YouTube で有名な、雑食系エンジニア・KENTA のサロンで、
Railsを学んでいるのには理由がある。
学習環境が整っているから。本・学習教材が多いから

WordPress には、そういうものが無い。
デザインの本ばかりで、プログラミングの本もない。
だから、プログラマーは手を出さない。
学習環境がないから

897 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 07:02:00.24 ID:GtLZmsrQ0.net]
結構色んな人が教えてくれてるのに逆ギレしたらいかんでしょ

898 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 07:27:18.54 ID:2siLH9vn0.net]
半年で1万円とかただみたいなもん
求めすぎだろう
自力で進められないなら、ちゃんとした学校入ろうよ

899 名前:デフォルトの名無しさん [2021/08/24(火) 11:53:17.31 ID:sEq7DRwKa.net]
自力で進めないから学校入れって…
じゃあテラテイルとかYahoo知恵袋とか何のためにあるのやら…
それにどうしても分からないなら参考書買いますよ

900 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 12:08:11.03 ID:Lh99dDYr0.net]
>>883
自力で進められるやつは、体系的な基礎知識の重要性知ってるからなぁ。。。
お前は独学向いてないよ

901 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 12:13:30.28 ID:i/CdoHjd0.net]
どうでもいいんだけどさ、なんで最初から有料のレンタルサーバー使ってんだろ
まずローカル環境でコード書いてテストして、そこからレンタルサーバーに導入するのが基

902 名前:{筋だよな

PHPのテストだってXAMPP使えばいいし
テストを人に見せるだけなら、無料のレンタルサーバー使って見せればいいし

一万円無駄にしたって言うけどそういうところちゃんとやったの?
[]
[ここ壊れてます]



903 名前:デフォルトの名無しさん [2021/08/24(火) 12:20:48.36 ID:RcuubC7Fa.net]
>>885
やってなかったです
まぁ色々バナーの件とかありまして
ローカル環境でやれば良かったです

904 名前:デフォルトの名無しさん [2021/08/24(火) 12:22:27.93 ID:RcuubC7Fa.net]
エンジニアが全員学校行ってるわけないでしょ
学科が違う人もいるわけだし、学校なんか行っても大学の授業中に勝手に頭に入るわけないでしょ
結局独学で勉強するかどうか

905 名前:デフォルトの名無しさん [2021/08/24(火) 12:23:36.49 ID:RcuubC7Fa.net]
学校行っても授業なんて聞いてませんでしたよ、本読んでる人もいたし

906 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 12:29:23.12 ID:BhfDfuCNa.net]
彼は自分の基礎能力を不相応に高く見積もっているからだよ
実際には他人より著しく劣るのに「やればじきに習得できる」と思っている
だから常に見込みが甘い

907 名前:デフォルトの名無しさん [2021/08/24(火) 12:31:48.95 ID:vYlptfMfM.net]
エンジニアは勉強をどれだけやったかどうか
独学でやるしかない学校行って全員成功できるわけがない

908 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 12:34:33.39 ID:i/CdoHjd0.net]
これがいわゆるダニング・クルーガー効果というやつですね
ていうか1はここじゃ個スレ建てないの?

909 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 12:47:49.14 ID:i/CdoHjd0.net]
1ってさ、バナー絵描いてサイト作成したらゴールラインだと思ってそうだよね

そこから競合他社(っていうの?)とどうコンテンツを差別化して蹴落とすかを考えながら運営するのが一番のメインなのに、熱量の配分が間違ってる気がするわ

競合他社はlivedoorブログで効率よく作成とメンテナンスをしてるのに、簡単なプログラマングで躓いている1がまともに戦えるかというと、難しいよね

910 名前:デフォルトの名無しさん [2021/08/24(火) 13:03:43.22 ID:qeUHK0nZa.net]
>>892
できれば個スレの方でお願いします


911 名前:ニライブドアはPHPいじれませんので、カスタマイズ性に劣りますし
広告もオーバーレイで仕込めません
[]
[ここ壊れてます]

912 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 13:34:10.03 ID:tiw2Fuema.net]
>>436
まー普通はそう思うわな。
でも本人の口から語られた真実聞いたらびっくりするぞ。

別板で
865 名前:デフォルトの名無しさん (アウアウウー Sa63-LN3e) :2021/08/23(月) 22:15:13.77 ID:xp75siXWa
>>862
無料期間じゃなく正式に契約しててキレたんですよ
半年文 1万円無駄にしたって書いたでしょ

つまりバナー描いてる間にサーバ契約してたのにファイル削除されたので料金(1万円分)損したって事なんだぜ。エスパーでもなきゃわからないよな。



913 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 13:34:55.15 ID:ZqUFDcGG0.net]
書き込み先間違えましたすみません。

914 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 13:37:34.69 ID:vrm3MqPZ0.net]
なんか知り合いの中国人っぽい日本語なんだよなぁ

915 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 15:39:51.59 ID:PoRbLVCz0.net]
基礎も知らないのに金稼ぎか知らないが自前でプログラムって正直甘いよなw
多分こういう奴は学校とか行っても無理かと思う
出来る奴は自分で調べて解決出来るしな
まぁ、そもそもコンピュータの事やwebの事知らなさすぎじゃね?

916 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 16:54:07.41 ID:b8mWQJuh0.net]
自分の場合、
web系は敷居が低いが、非web系はものすごく難しい。
html系から出発しているからだと思う。

917 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:03:54.96 ID:H5iQDYU00.net]
誰もツッコまないから書くがレンタルサーバーでプログラムの勉強するのやめれ
ミスで負荷かけたら他人に迷惑かかるよ
ローカル環境作ってデバッグしてからレンタルサーバーにアップロードしなよ
ローカル環境ならデバッグ環境も整うしね

918 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:22:15.90 ID:/ghvk+RYa.net]
>>899
ファイル消されてのはたぶんレンタルサーバーで直接ファイルいじって高負荷かけまくってたからだと推測してる。

919 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:47:44.24 ID:D5bTYk2I0.net]
なんか盛り上がってるみたいだが流れを読まずに上から順に淡々と回答
理解力に乏しいアホの疑問はさっさと解決し、スレから出ていってもらいたい

>>864
古くからの定番なのはApache Bench
Windows環境でも使えるからググろう
この手の疑問が出た際に「ベンチマーク」って単語を使ってググれないのはセンスがない

>>865
開発はローカル環境で行うもんだ
ローカルに開発環境すら構築していないのにこれ以上やるのは時間の無駄
WordPress向けのローカル環境構築は、理解力の低いアホはXAMPPでやればいい
個人的にお勧めなのは「VCCW」と「WordMove」での環境構築だが

>>875
たったの300行なら、paiza.ioにそのコードを書いてもらえばいい

920 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:52:48.08 ID:D5bTYk2I0.net]
>>878
teratailは基本ルールが守れてない人には回答はつかない
この調子だと呆れられてるだけだろう

>>879
前から同じことの繰り返しだし反省してないよね
まるでDV男だ
暴力をふるった後に「こんな事するつもりじゃなかった!愛してるよ」の繰り返し…みたいなw

>>883
頼むからコテハンを付けてくれ
独学できる人とできない人との間には決定的な違いがある
俺やここの人の何名かは独学で身につけたが、883には独学するセンスはない これは断言しとく
独学できないのが駄目ってわけではない
センスがないのに独学を続けるのは時間の無駄ってだけ

921 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:56:18.73 ID:2siLH9vn0.net]
すぐにキレるやつは何をやってもダメ

922 名前:デフォルトの名無しさん [2021/08/24(火) 19:16:15.01 ID:cK9khe+Za.net]
>>901
ローカルサーバーは設定が面倒で使ってなかったのですがWindowsのフリーソフトでは
XAMPPやApache Bench で使えるって事でしょうか?



923 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 19:19:42.02 ID:D5bTYk2I0.net]
例えば「大人のADHD」ってあるけど、
大人になってから自分に学習障害があるって事をどうしても認められず、自分も周りも不幸になっていくって人がいる
学習障害を持つ人は素直に早い内に障害を受け入れ、大手企業の障害者雇用枠辺りを狙った方が、自分も周りも幸せになる

独学できるできないも一緒の話
独学できないのは仕方ない
独学するセンスがない事を素直に認め、スクールなどで手取り足取り教えを請うという方法を模索した方がいい

>>887>>888は、独学できる人のセリフであって Sa63-LN3e が言うセリフじゃない

924 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 19:22:55.53 ID:D5bTYk2I0.net]
>>904
つべこべ言わずにローカル環境を構築すればいい
やってから質問すればいい

お前は結局やりもせずに「自分がやらない言い訳」を作って面倒事から逃げてるだけなんだよ
>>879>>886のセリフはもう忘れたの?

925 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 19:35:08.45 ID:D5bTYk2I0.net]
今日はもうこれで最後にしとくが、Sa63-LN3eは考え方が「他罰的(外罰的)」なんだよね
自分は悪くない!悪いのは周りの人間だ!

5chによくいるニート・こどもおじさんがこのパターン
自分は悪くない!悪いのは国だ!政治だ!学校だ!先生だ!親だ!
ってねw

自分の努力不足などを棚にあげてそんな事をいくら吠えても
やがて誰もまともには相手にしなくなる

926 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 20:16:52.32 ID:stMn5q8/0.net]
この人はコテハンつけてくれってのを受け入れるまで個スレ丸4つほどかかった人間だぞ

927 名前:PHPerは糞 mailto:sage [2021/08/24(火) 20:26:32.53 ID:r8xig3wM0.net]
>>875
3分で、というのは問題解決の根幹部分、つまり856の内容のことだ。
お前の質問は、お前にも分かるように言うと、
「ひらがながうまくかけないんですけど、どうすればいいですか」
であって、マジレスするにしてもどうしろと?なんだよ。

> 言っておくと一応書けますが記述が重いから別の方法はないですかと聞いてる
ならそのコードで行け。それ以外無いよ。

ただちなみに言っておくと、初心者の「重い」ってのは全く当てにならない。
実際の負荷をきちんと計測するのは見た目以上に難しくて、初心者が適切に対応出来る案件ではないんだ。
だからお前の「重い」もデタラメだとは思うが、それも含めて、
初心者なのだからある程度試行錯誤(=味見)するしかないのも事実で、そのコードで行くしかないよ。
そしてその後上達したら、その自分が書いたコードがとんでもなく糞だったと理解出来るようになるだろうよ。

>>883
ネット上の質問は、自力で進められる奴が何か勘違いして引っかかっている時とかには有効だ。
逆に言えば、それ以外では大して意味がなく、学校で体系的に習った方が断然いい。
ただお前は独学に向いてもないが、学校に行っても駄目な奴だと思うよ。(他の人も言ってるけど)
だからプログラミング自体を諦めた方がいい。仮に上手く紛れ込めても、ろくな未来は待ってない。

絵が描けるのなら、絵で勝負すべきだよ。
そして絵で稼いだ金でプログラマに発注して望む物を作ってもらえばいい。
青水庵とかいう有名同人(らしい)がこれやって話題になってたけど、やり方としては正しいよ。

928 名前:PHPerは糞 mailto:sage [2021/08/24(火) 20:53:28.09 ID:r8xig3wM0.net]
>>907
それにはゆとりの驕りを感じるけどね。
ゆとりは実力があったのではなく、社会情勢(景気=求人状況)がよかっただけ。
とはいえ、人は皆一度きりの人生しか歩んでないから、そんなもん

929 名前:セと勘違いするのも道理なのだけど。

自分が目指してきた事の先に道がつながってない状況に遭遇した時、たくましく方向転換出来る奴なんてそう多くはないのだよ。
良い就職を目指してあれこれ頑張ってきたのに、そもそも求人がないのではどうにもならんだろ。
そこで凹んで腐ってしまうのは当人の問題でもあるけど、
ゆとりなんてメンタル弱いし、同じ状況ならもっと沢山腐ってる。
それを認識出来ずに「俺ら最強」みたいな勘違いをしてるからゆとりは嫌われる。

がまあ、それも含めて、Web系は比較的自由な状況のようだし、
悔しければブログでも何でもいいからサイト立ち上げて勝手に稼げ、が出来る状態なのは良いことだよ。
そしてゆとりの実力が評価されるのはその次の世代、つまりさとりが社会人3-5年目になって、さとりだけで仕事が回るようになった時だ。
そうなって初めて、お前らは調子乗りすぎてたって自覚出来るのだとは思うよ。
(だから今のお前らに言っても無駄なのも事実なのだけど)
[]
[ここ壊れてます]

930 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 21:25:00.54 ID:uwtkDI8Ad.net]
>>909
そいつ絵が描けるわけでもないんだわ…

931 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 22:20:52.53 ID:stMn5q8/0.net]
「サイト作るのは無理そうだから絵描けるなら絵で勝負しなよ」
「絵描くのは無理そうだからサイト作れるならそっちで勝負しなよ」

932 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 22:30:33.98 ID:LSqjFeT+0.net]
どっちもできないのだった



933 名前:PHPerは糞 mailto:sage [2021/08/24(火) 22:53:16.70 ID:r8xig3wM0.net]
>>911
他の専門板なんて見る機会ないから、試しにpart7とIP有り(part8)を読んでみた。
民度が高くてびびった。
いや、これ以前に色々あったのだとは推測するが、基本的にみんなちゃんとアドバイスしてる。
むしろ、こんな専門板がまだ残っていたのか!と驚きだ。
この板なんてマジで腐ってしまってるし。

が、まあ、やってることがいちいちおかしいのはさておき、
プログラマか絵描きかと聞かれれば、向いてるのは絵描きのように見える。

とはいえ、一枚のバナーで集客出来るほど絵に魅力があるわけでも無し、
既にあるlivedoorブログ等を凌駕するほどの何かを組めるプロブラミング力があるわけでも無し、
こいつは色々舐めすぎだよね。
プログラミングも絵も同様に「技能」だから、修練しないと出来るようにはならない。
それでも、こいつがどちらの修練に向いているかと言われれば、見てる限り絵のように見える。
途中経過等も上げまくってるし、本人なりに楽しめているのだろう。

なおプログラミングに向いているのは、例えば>>680とかだ。
「楽しめてない奴」が「楽しめてる奴」より時間を費やすのは難しいから、楽しめてること自体が素質だよ。
だから680は上達するタイプだとは思うが、方向性はもうちょっとマトモにした方がいいとは思う。

934 名前:880 mailto:sage [2021/08/24(火) 23:13:40.83 ID:SMXHl8SK0.net]
>>883
>どうしても分からないなら参考書買います
これで、分かるようにならない

課題は無数にあるから、数冊に書けるわけがない。
それに入門書が10冊あっても、内容は同じだから、1冊分しかないのと同じ

例えば、プログラムの本には、決済システムが書いてない。
検索システムや、データベースの改善方法も書いていない

こういう課題は無数にあるから、無数の本が必要になるから、無理。
だから皆、調べる力を付けるために、学校・サロンへ行く。
これが自走力。
どこの学校でも、自走力・自走力と、うるさく言われる。
勉強した人には、ほぼ無限に領域がある事を知っているから

YouTube で有名な、雑食系エンジニア・KENTA のサロンとか、
Udemy の山浦清透、AWSのくろかわこうへいのサロンとか、
皆が入るのは、東大専門予備校と同じ。虎の穴

自走力がついて、転職競争に勝てるから。
ここで1年勉強するだけで、10年以上のプログラマーよりも上になる

独学で10年勉強しても、まず、サロンの1年生に勝てない

935 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 23:21:11.18 ID:2siLH9vn0.net]
KENTAとかそんな奴知らんし、いちいちそういう固有名詞出すのも怪しい
長文書くのも基本的にはダメな奴の特徴

936 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 23:21:37.16 ID:ZqUFDcGG0.net]
0881 1 ◆YagGt6RMp2 2021/07/22 22:45:20
海外の方も来れるように翻訳機能を搭載して戦えればpixivなんか勝てます
ID:7voVJ3lT0(2/4)

こんな事言うヤツやで、いかに舐めくさってるかわかるやろ。

937 名前:880 mailto:sage [2021/08/24(火) 23:34:44.91 ID:SMXHl8SK0.net]
KENTA は本の著者。
日本6位の3千人が、サロンに入っている

Udemy の山浦清透も3千人。
AWSのくろかわこうへいは、数百人

Ruby on Rails, AWS, Docker などを使って、
日本の教育革命を起こした、3人

938 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 23:39:30.63 ID:stMn5q8/0.net]
なんでオンラインサロンに当てられてるタイプの人って句読点多いんだろう。
ヤバい奴の中でも打倒pixivの日本語は句読点少ないから世代なのかな。

939 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 23:58:39.61 ID:4o6ZaH4b0.net]
他人の文章の句読点なんて数えたことないや

940 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:01:52.35 ID:ipnieYfR0.net]
まあ、たしかに、句読点が、多いと、違和感が、あるよな。
俺も、よく、付けすぎる、時が、あるけど、いらない所、は、消すように、してるわ。

941 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:12:41.63 ID:DmEjX2tT0.net]
文章は、リズムで読んでるから、無駄に句読点多いと、ペース悪くて、めちゃくちゃ読みにくいわ。
同じ理由で単語ごとに、絵文字使うやつも、苦手。
視覚的に認識してる割合が強い人は、句読点多いほうが意味のまとまりが可視化されて捉えやすいのが好きなのかもしれないね。

942 名前:880 mailto:sage [2021/08/25(水) 00:21:58.73 ID:T8xCLAXo0.net]
可変サイズのフォントで、文字の切れ目が分かりにくいからかな?

なんか詰まりすぎるから、開けたくなる



943 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:30:23.67 ID:hlr8Pa7o0.net]
ここではきものを

みたいな文だと、誤解されないように読点か空白を入れてる

944 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:52:44.54 ID:DmEjX2tT0.net]
もちろん句読点がなさすぎて読みにくくなる文もある。
ただ >>915 の牛歩みたいな句読点の多さだったり、
「エンジニア・KENTA」「自走力・自走力」みたいな、記号を新解釈用法で使いだす文章見ると、
相手に伝えるための文章書くときに、世間一般的なルールに従うより自分が使いたいと思うやり方でやるタイプの人なんだろうなとは感じる。

945 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 00:56:16.64 ID:XZQf1hm/0.net]
LP等で特定の文字のみ装飾つけて強調したりすることもあるじゃん
それの変化型かなと思わないでもない
装飾がつけれないから句読点で区切ってるとか

何かの演説っぽくて鼻につくけどね

946 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 06:24:14.85 ID:ftirf+MM0.net]
くうてとんが、はいっるてと、これよがめる。

947 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 11:11:32.29 ID:4WhZAjeMa.net]
Eigo ha supeesu ga Ookute yomi Nikui desu Ne

948 名前:デフォルトの名無しさん mailto:hage [2021/08/25(水) 15:16:15.62 ID:82D+OUQk0.net]
PHPなんて双方向通信にしか使ってないけど
他にもいろんなことできたんですね
でも他のことあえてサーバープログラムでやる気しないけど
普通にJavaSpiriteでよくないすか
すか

949 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:03:30.33 ID:bgcZULic0.net]
5chだとすぐ句読点がー長文がーって話になるけど
プログラミングできない人(多少できたとしてもウンココード量産する人)って、日本語の文章を書くのも下手よね

TwitterやLINEなどのショートメッセージサービスばっか使ってるせいで、
いざビジネスメール書かせるとめちゃくちゃだったりw
長文の活字を読まないせいで、仕様書を理解するのがやたら遅かったりw

950 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:07:53.83 ID:bgcZULic0.net]
偶然読んだひろゆきのコラムか何かで
何かの信者になる人は頭の悪い人(だから自分の信者もバカばっか)みたいな話があったな

ひろゆきは嫌いだが、たまには良いこと書くなって思ったw

951 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:12:35.42 ID:bgcZULic0.net]
>>917
そこからもう1ヶ月経ったわけだが、その間に彼が何を創造できたのか聞いてみたいもんだ
5chにクソレスしか残せてないなら笑うしかないw

創造する力もないのに口ばっかの奴って居るよな

952 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:23:26.04 ID:LjU3oOar0.net]
夢は大事だよ



953 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:28:09.50 ID:hlr8Pa7o0.net]
他人には期待も失望も持たんで良い

954 名前:デフォルトの名無しさん mailto:sage [2021/08/25(水) 19:33:29.69 ID:ipnieYfR0.net]
夢を見ることは大事だが同時に現実を見ることも大事である

955 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 08:12:33.44 ID:a7GWOZA30.net]
>>931
俺は自己愛性人格障害でもアスペでもないからその話は当てはまらない共感した奴はひろゆきに似てるんだろう

956 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 11:33:04.34 ID:/8Dmbp3p0.net]
ひろゆきを否定する、クールでカッコいい俺を
演出するものではないことを事を祈ろうか

957 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 19:35:07.68 ID:1ddIN8wD0.net]
信者になれば自分で考えなくてよくなるから楽なんだろう
だからバカは何かの信者になるし賢い人は自分の下にバカな信者を作って都合の良い駒として活用する

958 名前:デフォルトの名無しさん [2021/08/27(金) 20:51:49.29 ID:SUiz7MDK0.net]
>>938
rubyガイジがまさにそれ

959 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 21:55:17.21 ID:qtug4magM.net]
ひろゆきは過去の人

960 名前:デフォルトの名無しさん mailto:sage [2021/08/27(金) 22:24:48.13 ID:4mzJOb930.net]
なんか自分に言い聞かせている様に聞こえる

961 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 12:30:15.73 ID:JObPo4/+0.net]
条件分岐の際、複数の条件にマッチしていた場合は別の処理を行う簡潔な方法を教えて下さい

【やりたいこと】

$matched_count = 0;

if(条件1){
$matched_count ++;
}
if(条件2){
$matched_count ++;
}
if(条件3){
$matched_count ++;
}

if($matched_count > 1){
処理A
}else{
if(条件1){
処理B
}
if(条件2){
処理C
}
if(条件3){
処理D
}
}
上記のやり方では2箇所で同じ条件分岐をしているのでそれを1箇所で済ませたいのですが、いい方法はないでしょうか?

962 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 12:34:26.16 ID:JObPo4/+0.net]
すみません>>942のコード後半訂正です
正しくはこちらです(後インデントのやり方が分からず見づらくなってしまい申し訳ないです)

if($matched_count > 1){
処理A
}else{
if(条件1){
処理B
}elseif(条件2){
処理C
}elseif(条件3){
処理D
}
}



963 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 12:35:39.11 ID:5p1Kcso30.net]
各条件が排他的なのかどうかで違う

964 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 12:41:50.36 ID:JObPo4/+0.net]
>>944
各条件は必ず排他的な物になります

965 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 15:03:06.13 ID:wuO9U1o+0.net]
ビット演算子やら使うのがプロっぽいけどまあ簡単な方法としては

条件1 $matched_count+=1;
条件2 $matched_count+=10;
条件3 $matched_count+=100;

switch ($matched_count)
 case 1: 処理B; break;
 case 10: 処理C; break;
 case 100: 処理D; break;
 case (substr_count((string)$matched_count, '1') > 1): 処理A; break;

966 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 16:06:58.61 ID:5p1Kcso30.net]
$matched_countって、これ以降の処理で使ってるのか?
この範囲内だけ見てると、ほとんど意味が無いように思えるんだが

967 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 16:11:18.30 ID:5p1Kcso30.net]
switch (条件) {
 case (条件1): 処理A; break;
 case (条件2): 処理B; break;
 case (条件3): 処理B; break;
 default: break;
}

968 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 16:16:53.48 ID:5p1Kcso30.net]
訂正

条件1、条件2、条件3のいずれも成り立たないときに
$matched_countが1以上になることってあるのか?

switch (条件) {
 case (条件1): 処理B; break;
 case (条件2): 処理C; break;
 case (条件3): 処理D; break;
 default: 処理A; break;
}

969 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 21:22:35.28 ID:jk8FaPo90.net]
>>949
そうですよね。なんか変。

>>942
>>943
やりたいことは単純なのに、却って複雑にしてるようだ。
ifの入れ子もあまりよくない。
複数の条件に合致するなら、if((式1)&&(式2))のように、「かつ」の&&演算すればいい。
この方があとで読み返しても理解しやすい。

970 名前:デフォルトの名無しさん [2021/08/29(日) 21:36:15.49 ID:m1i8+Vosr.net]
ユーザーが検索したワードを許可なく勝手に検索ワードとして表示するのは違法でしょうか?

971 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 21:57:11.69 ID:09CyOwHF0.net]
それがアウトならサジェスト機能もアウトやな
やるんだったら利用規約に使うよと書いておくのが無難かな

972 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 22:38:48.53 ID:ST+4ZQGQ0.net]
検索ワードは、保護すべき個人情報か?
個人情報とは、個人に紐づいた情報じゃないの?

詳しくは、法律上の個人情報の定義を参照



973 名前:デフォルトの名無しさん mailto:sage [2021/08/29(日) 22:48:38.08 ID:5p1Kcso30.net]
誰がその検索ワードを使ったかが分かる様に表示したらアウトになるかもね

974 名前:1 mailto:sage [2021/08/31(火) 14:27:34.91 ID:cvbygslea.net]
file_put _comentsの戻り値を確認したいんですが、$f_pathでファイル保存する場合
どうやってfalse処理を確認するんでしょうか?
仮想環境でテストするんでしょうか?

975 名前:デフォルトの名無しさん mailto:sage [2021/08/31(火) 15:38:24.54 ID:IJmBnnFDC.net]
>>955
false時の動作を確認したいのなら、$pathに存在しないパスを与えればfile_put_contents()は失敗する

976 名前:デフォルトの名無しさん [2021/08/31(火) 17:26:44.62 ID:LBWBukEMa.net]
以前教えてもらったword moveとか調べましたが、結局のところコマンドプロンプトでパッケージインストールするのと同じですよね

977 名前:デフォルトの名無しさん [2021/08/31(火) 20:44:16.86 ID:pZtZn9pTr.net]
$keyword_data = array(date(‘Y-m-d-G-i-s’), $_SERVER[“REMOTE_ADDR”], $_GET[‘s’].PHP_EOL);
$keyword_data = implode(‘,’, $keyword_data);

for($i = 0; $i < sizeof($keyword_data ); $i++ ) {
if(strlen($keyword_data[$i]) > 200){
exit;
}
$keyword_data[$i] = htmlentities($keyword_data[$i]);
}
file_put_contents($f_path, $keyword_data, FILE_APPEND);
//ファイルの末尾に追記する
}
これで検索フォームを使ってリファラから検索ワードを表示したいのですが、うまく保存されません。
パーミッションの問題はないと思うんですが何が原因でしょうか?

978 名前:デフォルトの名無しさん [2021/08/31(火) 20:49:26.01 ID:pZtZn9pTr.net]
$f_path = “wp-content/themes/monomode/test.csv”;
で検索ワードを格納してます

979 名前:デフォルトの名無しさん mailto:sage [2021/08/31(火) 21:02:21.09 ID:IW4LDUMD0.net]
マルチは嫌われるよ

980 名前:デフォルトの名無しさん [2021/08/31(火) 21:03:17.35 ID:tr3tqZE8a.net]
>>960
すいません…
気をつけます

981 名前:デフォルトの名無しさん mailto:sage [2021/08/31(火) 21:14:06.51 ID:IKALV/dz0.net]
配列では
リ〜ム〜
です

982 名前:デフォルトの名無しさん mailto:sage [2021/08/31(火) 21:58:13.18 ID:S8r07VdU0.net]
ひょっとして、HTML から、サーバーにあるファイルを更新しようとしてるの?

サーバーにログインもしていないのに?



983 名前:PHPerは糞 mailto:sage [2021/08/31(火) 22:39:57.53 ID:k1lQY5WE0.net]
>>958
コードも丸々コピペかよ。お前だいぶ酷いわ。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11248564556
ただ、絵スレでも問題になってるが、回答もらってるんだからまずはそれを試せよ。
一通りも書けないのに回答/助言をガン無視するなら質問する意味ねえだろ。

984 名前:デフォルトの名無しさん [2021/08/31(火) 23:47:13.00 ID:CmmY4sl3a.net]
>>964
すいません…
明日XAMPPで試してみて、エラーがわからなかったら聞きます

985 名前:デフォルトの名無しさん [2021/08/31(火) 23:48:15.49 ID:CmmY4sl3a.net]
>>963
違いますよ外部の人が検索してそのワードを保存して表示させようとしてます

986 名前:デフォルトの名無しさん mailto:sage [2021/08/31(火) 23:58:51.77 ID:8C14lz9Q0.net]
日本語って難しいのかな

987 名前:PHPerは糞 mailto:sage [2021/09/01(水) 00:12:49.27 ID:LUw7U2GC0.net]
>>965
そういう問題じゃねえよ。というかお前何がどう問題視されてるか、まるで理解してねえな。


ただそれ以前に、俺はお前がコード書く意味はないと思うんだけどさ。
ライブドアブログでまとめサイトやってる人が居る=そこで提供されている機能で十分出来る、ということなのだから、
まずはその範囲で始めて、どうしても必要なら後で機能を足していけばいいだけだろ。

お前がそのコードで実現しようとしている機能は、本当に必要不可欠な物なのか?

俺にはとてもそうとは思えないんだけどさ。
まとめサイトってのは、そこでおもしろおかしくまとめられている「内容」を読みに来るものであって、
お前が拘っている「機能」を利用しに来る奴が居ると思っているのか?しかもろくに動きもしないのに?
同様に「バナー」も割とどうでもいいと思うが、それでも「サイトの顔」ではあるから大切にはすべきだろうよ。
このままだとどう見てもあと2週間では終わらないだろ。切るとしたらまずはコード(PHP)だと思うけど。
コード書かなくてもまとめサイトは出来るわけだし。

988 名前:963 mailto:sage [2021/09/01(水) 01:52:11.25 ID:UTT/foLD0.net]
1. ユーザーが、ブラウザに検索ワードを入力して、サーバーへ送信する

2. サーバーで、ユーザーからのRequest を受け取って、
データベース・ファイルなどに、検索ワードを保存する

データ保存は、Ruby on Rails とか、どのウェブサービスでもやっている事。
基本中の基本。
3大データベースとか、S3, Aurora とか

これが出来ないと、かなりヤバイ。
入門書すら読んでいない事になる。
絶対に、入門書に書いてあるはずだから

でも、WordPress の本には、そういうプログラミングの事は書いていないか

989 名前:963 mailto:sage [2021/09/01(水) 01:56:21.42 ID:UTT/foLD0.net]
エロサイトなどでは、自分の検索ワード履歴とか、

他人の検索ワード履歴も表示するサイトもある

990 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 04:40:13.69 ID:NjHJ4IZ30.net]
WPガイジとわかっているならレスやめとけって

991 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 04:59:13.98 ID:4Onf1gya0.net]
またお絵描きガイジ来たんかよ

992 名前:デフォルトの名無しさん [2021/09/01(水) 21:06:10.98 ID:7RnFx2Il0.net]
半年でウェブアプリを5.6開設したんだけどどうやって個人ではどうやって広めるもんなの?Twitterとか?



993 名前:蟻人間 mailto:sage [2021/09/01(水) 21:27:54.72 ID:3EDaoUNRd.net]
>>973
そのウェブアプリはニュースにする価値のあるものか?
あるなら、どこかに頼んでコンテンツや記事やウェブ広告にして頂こう。お金はそれなりにかかるかも知れないが、自己責任で頼む。

994 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 21:30:41.82 ID:OX0m6TEX0.net]
>>973
PHP全然関係ないがネット広告とかある程度金を投入しないとそもそも厳しいかと
無料で自分でやるなら真っ当な方法はSEOだろうけどこれはこれで別の技術が必要だしなぁ

995 名前:デフォルトの名無しさん mailto:sage [2021/09/01(水) 22:46:32.67 ID:iG+gRzIn0.net]
まずはここに張りなよ
サイトの内容がよければなんJにも伝播して自然に広まる

996 名前:デフォルトの名無しさん [2021/09/02(木) 06:57:05.51 ID:WpV5niTf0.net]
>>974 >>945
サンガツまず調べて値段に釣り合うならやってみるわ

997 名前:デフォルトの名無しさん [2021/09/02(木) 07:08:59.72 ID:WpV5niTf0.net]
>>976
そうかその手があった。

あれやこれやの名前を都道府県別に答えるサイト
https://korenanteiu.net

旅が好きだから、海外の情報をマップ上に表示するサイト
https://tabinote.info

998 名前:デフォルトの名無しさん [2021/09/03(金) 15:57:32.81 ID:2h2Nq9e40.net]
PHPって何に使うんですか?
PHPでUnity作れますか?

999 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 17:19:28.77 ID:ZXqCsw9n0.net]
PHPは主にマルチプラットフォームでコンソールアプリケーションを作成するための言語です。
ですので、もちろんゲームを作ることもできます。
かの有名はローグライクゲームのNetHackもPHPで作ることができます。

1000 名前:デフォルトの名無しさん [2021/09/08(水) 17:28:16.18 ID:dxUyUwzHr.net]
<php
setlocale(LC_ALL, 'ja_JP.UTF-8');
$fp = fopen('test.csv', 'r');
flock($fp,LOCK_SH);
$rows = array();
while ($row = fgetcsv($fp)) array_push($rows, $row);
flock($fp,LOCK_UN);
fclose($fp);
foreach (array_slice($rows, -10) as $row) vprintf("%s %s\n", $row);
var_dump($row);
?>
csvデータを下から数えて10行目から最後までを表示させたいんですが、何回直しても文字だけ出力されません
なぜでしょうか?
var_dump($row);で確認したところ
2021-09-07-4-27-36 126.156.166.227 2021-09-07-4-27-52 126.156.166.227 2021-09-07-4-31-03 126.156.166.227 2021-09-07-4-50-36 126.156.166.227 2021-09-07-4-52-03 126.156.166.227 2021-09-07-4-52-15 126.156.166.227 2021-09-07-4-52-26 126.156.166.227 2021-09-07-5-01-27 126.156.166.227 2021-09-07-5-14-25 126.156.166.227 2021-09-08-4-48-06 126.133.202.39 array(3) { [0]=> string(18) "2021-09-08-4-48-06" [1]=> string(14) "126.133.202.39" [2]=> string(40) "ううううううううううううう " }
と出てます

1001 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 17:58:27.65 ID:frtZ1H5m0.net]
したいのはこう言う事?何も確認しないで書いているがw
$max = count($rows);
$start = $max - 10;
if ($start < 0) $start = 0;
for ($i = $start;$i < $max;$i++) {
var_dump($rows[$i]);
}

1002 名前:デフォルトの名無しさん [2021/09/08(水) 18:09:48.04 ID:ehctv71ga.net]
>>980
ねぇねぇワクチンが足りないとか余って捨ててるとかなんなの?
PHPだったら1億2千万人のデータベースぐらい余裕で作れるんじゃないの?



1003 名前:デフォルトの名無しさん [2021/09/08(水) 18:17:58.95 ID:dxUyUwzHr.net]
>>982
値は出力できているのに詰まっているのか
vprintf("%s %s\n", $row);で文字が表示できません
メモ帳で
2021-09-03-13-28-52,126.255.28.185,"0
"
2021-09-03-13-28-52,126.255.28.185,"ううう
"
2021-09-03-13-29-46,126.255.28.185,"ううう
"
2021-09-03-13-29-49,126.255.28.185,"ううう
"
2021-09-06-14-43-33,126.204.198.239,"ううううううううううううう
"
2021-09-06-14-45-37,126.204.198.239,"ううううううううううううう
"
2021-09-07-3-09-52,126.156.166.227,"ううううううううううううう
"
2021-09-07-3-10-34,126.156.166.227,"ううううううううううううう
"
"ううう
"
と書き換えると
2021-09-03-13-28-52 126.255.28.185 2021-09-03-13-28-52 126.255.28.185 2021-09-03-13-29-46 126.255.28.185 2021-09-03-13-29-49 126.255.28.185 2021-09-06-14-43-33 126.204.198.239 2021-09-06-14-45-37 126.204.198.239 2021-09-07-3-09-52 126.156.166.227 2021-09-07-3-10-34 126.156.166.227 ううう 2021-09-08-8-39-56 126.133.201.56 2021-09-08-8-40-31 126.133.201.56
と表示されます

1004 名前:デフォルトの名無しさん [2021/09/08(水) 18:27:01.86 ID:SZxv8NIk0.net]
なんのワクチンですか?

1005 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 18:27:03.41 ID:ude+NG5I0.net]
csvがSJISなんじゃね?知らんけど

1006 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 18:27:03.41 ID:n2LmV6qF0.net]
vprintfの%sの数と表示したい列数合わせれ

1007 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 18:34:46.43 ID:DA6r+9Iba.net]
>>985

>>984がゔゔゔゔ苦しそうだから助けてあげて

1008 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 18:38:48.03 ID:bMYmWp520.net]
>>988
素にお帰り

1009 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 18:52:14.84 ID:wkgfp7fUa.net]
>>989
カアアーカア〜カア〜

1010 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 19:05:59.20 ID:SZxv8NIk0.net]
>>984>>988
CSVファイルの改行の位置がおかしいが、それでも読めるはずなんだよね。
コードがおかしいのか・・・・・・。

1011 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 19:37:31.09 ID:SZxv8NIk0.net]
vprintf("%s %s %s\n", $row);
だと思うんだけど、
それでも、うちの動作環境では表示されない。

1012 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 19:52:29.28 ID:SVcdT2PW0.net]
元となるCSVを差し支えない範囲で晒してみたら?



1013 名前:デフォルトの名無しさん [2021/09/08(水) 20:46:39.49 ID:dxUyUwzHr.net]
>$keyword_data = array(date('Y-m-d-G-i-s'), $_SERVER["REMOTE_ADDR"],$_GET['s'].PHP_EOL);

日付、IPアドレス、投稿内容の3つのカラムで格納したのを無視して、
$rows = array_slice($rows, -10);
> vprintf("%s %s\n", $row);
としていたので、格納したデータと表示したいデータが結びついていないのが原因でした。
また3カラムで格納したのに、2カラムで表示しようとして空データが返ってきていたようです。

1014 名前:デフォルトの名無しさん [2021/09/08(水) 20:48:31.80 ID:dxUyUwzHr.net]
https://wandbox.org/permlink/DYmAdpbUbvb99T56
コードはこちらです。

1015 名前:デフォルトの名無しさん mailto:sage [2021/09/08(水) 21:30:05.48 ID:dK8gXF1C0.net]
例えば、Ruby のCSV では、
列内に、クォート文字"・列区切り文字,・改行があっても、正常に動く

require 'csv'

input = <<"EOT"
"a""a","b,b",あ
"c
c","d\nd"
EOT

p input_ary = CSV.parse( input ) # 2次元配列
#=> [["a\"a", "b,b", "あ"], ["c\nc", "d\nd"]]

# 2次元配列を、CSV 文字列に変換する
csv_str = input_ary.map( &:to_csv ).join
puts csv_str

出力
"a""a","b,b",あ
"c
c","d
d"

1016 名前:デフォルトの名無しさん mailto:sage [2021/09/09(木) 09:39:36.12 ID:eDlF7Xc4M.net]
次スレ

【PHP】下らねぇ質問はここに書き込みやがれ 13
https://mevius.5ch.net/test/read.cgi/tech/1631147923/

1017 名前:デフォルトの名無しさん mailto:sage [2021/09/10(金) 17:11:58.05 ID:3d1ypOtV0.net]
うめ

1018 名前:デフォルトの名無しさん mailto:sage [2021/09/10(金) 17:12:06.66 ID:3d1ypOtV0.net]
うめ

1019 名前:デフォルトの名無しさん mailto:sage [2021/09/10(金) 17:12:17.40 ID:3d1ypOtV0.net]
うめー

1020 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 134日 4時間 32分 38秒

1021 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<384KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef