- 1 名前:デフォルトの名無しさん [2022/09/20(火) 16:46:23.39 ID:Sb2Kpzh+0.net]
- !extend::vvvvv:1000:512
!extend::vvvvv:1000:512 ★スレ立て時 ↑ が3行以上になるようコピペ PHPに関する質問スレです 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 13 https://mevius.5ch.net/test/read.cgi/tech/1631147923/ 次スレは>>980以降 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 552 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 08:12:37.51 ID:CC33Xm/N0.net]
- >>551
一応、CakePHP→Laravelと通ってます。 単純なシステムなら綺麗でわかりやすいコードになりますが、 複雑な要件になると、力技の部分がどうしてもでてきます。
- 553 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:06:17.18 ID:ubLXos3L0.net]
- >>552
フレームワーク使用したことがあるのに「クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。」とか言っちゃうのはかなりまずい気がするけど、複雑な要件の実装時に十分に責任分解できてないんじゃないかなぁ… https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md#%E5%8D%98%E4%B8%80%E8%B2%AC%E4%BB%BB%E3%81%AE%E5%8E%9F%E5%89%87 これのGoodがGoodに感じられないってことだよね?
- 554 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:47.02 ID:gJ92KJGfa.net]
- コミュニティーの議論や歴史を調べること
Ruby on Rails では、コントローラーの肥大化を防ぐために、 Skinny Controller, Fat Model を推奨した。 その結果、モデルが肥大化した そこで今度は、モデルの処理を減らすために、 Form Object, Service Object へ処理を分けた また表示処理は、Presenter へ分けた。 それで、Form Presenter, Model Presenter が出来た
- 555 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:53.51 ID:A07qb0io0.net]
- こういうのは2つ実際に書いてみて、両者を見比べて良い方を採用する
理屈よりも、自分の目で見て判断するのが良い
- 556 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:25:51.23 ID:CC33Xm/N0.net]
- >>553
いえ、これはGoodです。理想です。 しかし、システムの規模が大きくなると処理が増えるんです。 複数のメソッドを役割ごとに用意し、コントローラから指示を与えなければいけません。 >>555 今の自分はそうしてますね。 PHPに限らず、Javascriptなんかも最初はそのまま書いて、 後からjQueryにしたり、Vueに変更したりします。 結果、倍時間がかかって効率が悪くなります。 同じことをしているとモチベが下がり、開発意欲は失われます。
- 557 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:27:54.01 ID:dvdIAVRA0.net]
- 古いPHPのシステムを保守するならDockerにぶち込むのが一番?
- 558 名前:デフォルトの名無しさん (スッップ Sd0a-T9f9) mailto:sage [2023/04/26(水) 13:32:18.14 ID:oPAFNUffd.net]
- 結局ifは減らないんだよね
ファイルを分けても分けなくても、オブジェクト指向でもそうでなくとも Strategy/StateパターンとTemplateパターンの併用にして スイッチっぽく分岐をわかりやすするのが一番かな
- 559 名前:デフォルトの名無しさん (ワッチョイ aa7c-RykB) mailto:sage [2023/04/26(水) 13:45:21.48 ID:DHcVafSS0.net]
- ifを無理に減らす必要は無いのでは?
必要なら書かなきゃいけないし ただ処理が集約出来るとかなら外に追い出したらいいし パターンが多い場合はswitch()の方が良い場合も確かにあるし ケースバイケースかと elseifが並ぶのは個人的に嫌いだがw
- 560 名前:デフォルトの名無しさん (スップ Sdea-rwG/) mailto:sage [2023/04/26(水) 13:47:42.93 ID:poJ+ClSWd.net]
- elseif嫌いわかる
elseの中にif書きたい パターン3つ以上になるならswitchにするな
- 561 名前:デフォルトの名無しさん (ワッチョイ 5e5f-RykB) mailto:sage [2023/04/26(水) 13:57:33.29 ID:w+qfVGMw0.net]
- else if は嫌いというか、あとで取捨選択が面倒なので
if文単独で成り立つようにしておくことが多いな
- 562 名前:デフォルトの名無しさん mailto:sage [2023/04/28(金) 14:22:47.60 ID:woDvEBlt0.net]
- 訊きたいことありましたが自決しました
- 563 名前:デフォルトの名無しさん (ブーイモ MMc9-EW+4) [2023/04/28(金) 14:52:55.46 ID:L2hGySASM.net]
- おお死んでしまうとはなにごとだ
- 564 名前:デフォルトの名無しさん (ワッチョイ 7502-rwG/) mailto:sage [2023/04/28(金) 15:31:57.97 ID:4N/b4mKa0.net]
- 盆には帰ってこいよ
- 565 名前:デフォルトの名無しさん (ワッチョイ b77c-6bRy) [2023/04/30(日) 00:40:31.69 ID:z7x3mWoF0.net]
- PHP7.2.24をインストールしました。Composerもインストールしました。
次のようなExtensionも使えるようにしたいのですが、つまっています。 ext-bcmath,ext-ctype,ext-curl,・・・ ネット上でみたところ、PHPの用語でモジュールとExtension、ライブラリとあるようですが、 それぞれ違うものなのですか?
- 566 名前:デフォルトの名無しさん (ワッチョイ 9f7c-fitb) mailto:sage [2023/04/30(日) 01:15:52.37 ID:vhG6z0vz0.net]
- PHPの拡張ならそれを入れないと使えないのでは・・・
composerはあくまで自分の作るプログラムで使うライブラリを導入するもの
- 567 名前:デフォルトの名無しさん (ワッチョイ efae-KeI6) mailto:sage [2023/05/12(金) 22:24:38.02 ID:sJueD97p0.net]
- サーバーのバックエンドの*.phpはpost送信などで任意で呼び出して実行されますが
このバックエンドの*.phpで自発的に一定時間ごとにプログラムを駆動させることはできますか? 例えば1時間おきとか1日おきとかに規定プログラムを実行なんていうのは
- 568 名前:デフォルトの名無しさん (ワッチョイ 527c-KeI6) mailto:sage [2023/05/12(金) 22:30:23.15 ID:+3Auf0UC0.net]
- cronに登録すればいいだけでは?
PHPをデーモンとして常駐させてその中で定期的に動かす方法もあるだろうけど
- 569 名前:デフォルトの名無しさん mailto:sage [2023/05/12(金) 23:50:55.10 ID:A3+wmcch0.net]
- 無限ループとsleep使ったスクリプトを起動させときゃいいけど
自分でコントロール出来ないサーバだと勝手にkillされるかもな
- 570 名前:デフォルトの名無しさん (ワッチョイ 1349-ELkX) mailto:sage [2023/05/13(土) 09:35:12.10 ID:vNstIXFZ0.net]
- 例えばWindowsならコマンドプロンプトで
「php.exe <そのファイル>」 と打てば実行できる(環境変数に入ってる前提で) そういうことじゃないの? あとはWindowsならタスクスケジューラとかLinuxならcronとかで、同じように実行すればいい
- 571 名前:デフォルトの名無しさん (ワッチョイ 835f-+6/9) mailto:sage [2023/05/18(木) 11:36:31.84 ID:cerdIEN00.net]
- フロントエンドはJS、バックエンドはPHPってできるだけ切り離したい
バックエンドとしてDBからデータ受け取るためだけにPHP使うってありなのかな? あと現状スクラッチ開発しかしたことがないからバックエンド向けのフレームワークも試してみたい
- 572 名前:デフォルトの名無しさん (ワッチョイ cfbb-ScEU) mailto:sage [2023/05/18(木) 11:39:20.88 ID:yxJWp9Lm0.net]
- すればいいじゃん
がんばれ
- 573 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:33:14.63 ID:l6GHSnlrr.net]
- 言語はなんでもいいならphpなんて選ばない
普通はrubyかJavaかpythonだぞ phpはやめとけ
- 574 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:43:42.00 ID:4rcvRPf10.net]
- Pythonは完全に対応しているサーバーが少ないみたい
Pythonとdjangoでバックエンド書く方法が自分にはまだわからない
- 575 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 15:55:36.70 ID:nTE2uard0.net]
- >>571
バックエンドには通常PHPを使用するのでアリ フレームワークはFuelPHPが良いね フロントエンドのフレームワークはjQueryを使う
- 576 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:38:05.22 ID:BkqgSu2K0.net]
- >>573
その3つの方が選ばないわw PHPが一番楽だろw それにPHPのスレでその返答はないわ ゴミは消えろ
- 577 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:43:12.95 ID:psogGPWLr.net]
- まあラクなのはphpやろなあ
ケースによって最適は異なるから、便利な言葉「場合による」
- 578 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 17:32:55.73 ID:7XjO1SKk0.net]
- なんでも使える自社サーバーなのか、
レンタルサーバーのつもりかで選択肢かわるもんな phpはだいたい使えるから仕方ない
- 579 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 19:26:52.18 ID:iyBRbBgp0.net]
- VPSなら何だって使える
- 580 名前:デフォルトの名無しさん mailto:sage [2023/05/19(金) 01:52:10.66 ID:TiXR4GEz0.net]
- >>578
会社のサーバーがさくらのレンサバだから何でもかんでもPHPなんだよね ごく小規模だからスクラッチ開発が基本だし レベル低くて仕事で精一杯だしで何か独学するって余裕もないから、まずPHPの手軽さからわざと離れてJSでDOM操作は分けてみようかなぁと
- 581 名前:デフォルトの名無しさん mailto:sage [2023/05/22(月) 01:29:49.15 ID:6n6FPMUf0.net]
- 別に言語はなんでもいいけど
クライアントJSから直接サーバのDBにはアクセスできないし 非同期でやる場合、だいたい>>571のようになるんじゃね
- 582 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 20:37:19.56 ID:TSaFGI4o0.net]
- WSL2(ubuntu)にLaravelインスコしてみたけど
メモリ8G程度だときっついですね docker desktopとかwindowsターミナル入れろとかこの辺は aptでdocker入れたりubuntu直接起動したりすればおkな感じですか? とりあえずやってみてその方法でもいけたはいけたんですが(メモリも1Gぐらい減った) ビルドしてるときの表示がバグったりちょっと不安要素がありました
- 583 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 08:50:59.31 ID:nugYPewD0.net]
- メモリも問題だけど、たぶん最大の問題はファイルを配置した場所だと思うよ
・ソースコードをWSL2ディストリビューション領域内に配置する で大幅に改善すると思う
- 584 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 08:08:55.93 ID:VNkMF7gVM.net]
- httpリクエストで動的なサイトからデータ取得するのってやっぱり無理なんですかね?javascriptでhtmlが生成されるよなページんんだけど
- 585 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:00:10.61 ID:AjUdrP5R0.net]
- 無理ではない
curlやDOM操作のライブラリ自体は揃ってるんだから、後はあなたが頑張ってそのJavaScriptの動作を真似るだけ
- 586 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:25:34.03 ID:mHRjcInk0.net]
- おれなら生成はブラウザにやらせるかな
出来た頃合いを見計らってデータを盗む
- 587 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:27:10.81 ID:wQ6JiRj1M.net]
- 例を示していただけませんか
- 588 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:29:59.61 ID:wQ6JiRj1M.net]
- javascriptは通常ブラウザが実行します。しかしhttpリクエストではブラウザを介さないためjavascript は実行されません。ヘッドレスブラウザなどを使えば動的なコンテンツを取得できますが、わたしの課題はhttpリクエストで動的ページからデータを取得することです
- 589 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:34:38.95 ID:wQ6JiRj1M.net]
- レスポンスを取得してからjavascriptを一回実行すればいいのかな?そんなことできるのかな
- 590 名前:デフォルトの名無しさん (ワッチョイ 7b5f-2rqm) mailto:sage [2023/06/12(月) 10:41:43.85 ID:mHRjcInk0.net]
- 大変だね
ブラウザ禁止縛りプレイならまあ自分で頑張るしかないね ていうかphantomjsって開発停止してんだな 知らんかった
- 591 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/12(月) 21:30:39.08 ID:DY0b1d5xM.net]
- httpリクエストで動的なサイトからデータ取得するのってやっぱり無理なんですかね?javascriptでhtmlが生成されるよなページんんだけど
- 592 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/12(月) 21:39:47.58 ID:sQEwwMG40.net]
- おまえLaravelスレのアラシだろ
うざいよ
- 593 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 22:12:16.13 ID:mHRjcInk0.net]
- >>591
puppeteerがいいんじゃない? おれは使ったことないけど、phantomjsのメンテナが 「puppeteerあるならもうphantomjsなんかいらんわ」 って言いだして開発終了したらしいし、確かみてみろ
- 594 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 22:24:27.56 ID:kqdcKHtBM.net]
- puppetterというものはヘッドレスブラウザを使えるようにしたライブラリであり、わたしはスクレイピングをしたいわけではありません。わたしの課題はhttpリクエストで動的なサイトからデータを取得することであり、ヘッドレスブラウザを使用してスクレイピングをしたいわけではありません
- 595 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/12(月) 22:37:29.16 ID:kqdcKHtBM.net]
- わたしがヘッドレスブラウザを使わない理由はデータの取得時間がかかるからです。またわたしはデータベースを使用しないことを前提としているので、取得したデータを保持することはありません。つまり度々データを取得することになる場合に都度ヘッドレスブラウザーを走らせる設計は現実的ではありません
- 596 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 11:41:46.36 ID:zJMyBjWC0.net]
- >>595
これが各行ごとに良くわからないな >データの取得時間がかかるからです 何が原因で取得時間がかかるようになるのか 実測してそんなに差異が出たってコト? >データベースを使用しないことを前提としているので DBなんか使わなきゃいいんじゃない? >度々データを取得することになる 同一データを扱うならキャッシュすればいいんじゃない? PHPでだってアホに作れば度々データ取得しに行っちゃうと思うよ >現実的でありません 面倒くささ的にも自前でDOM構築する方が非現実的だよね
- 597 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 16:08:55.26 ID:Oj3crCHea.net]
- async awaitとfetch使ってデータ取得すれば良いじゃん
- 598 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 18:49:37.74 ID:r31gUBK2M.net]
- httpリクエストとスクレイピングでデータ取得の速度を比較する場合一般的にはhttpリクエストのほうが高速です。またわたしの想定では同一データではなく毎回違うクエリでリクエストすることが予想されます。
- 599 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 18:50:18.43 ID:r31gUBK2M.net]
- >>597
具体的にはどのような手順でそれらを使用しますか?
- 600 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 22:21:10.72 ID:LrQ+wv81M.net]
- 単純で簡単なjavascriptでレンダリングされているならいけたかもしれませんがフレームワークを使われていたら解析が困難ですね。やはり無理か
- 601 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 22:21:52.68 ID:LrQ+wv81M.net]
- そしてnodejsが使えないのでヘッドレスブラウザも無理と。
- 602 名前:デフォルトの名無しさん (アウアウアー Sa8b-Seme) mailto:sage [2023/06/13(火) 23:39:40.44 ID:Oj3crCHea.net]
- >>599
取得したいサイトのURLとその出力htmlの欲しい部分教えて
- 603 名前:デフォルトの名無しさん (テテンテンテン MMeb-mVGR) [2023/06/14(水) 02:57:47.74 ID:sJAdEXJGM.net]
- >>602
取得したいサイトは複数ありますがECナビになります。 https://ecnavi.jp/search/?word=%E6%88%91%E3%81%8C%E5%A4%A9%E4%B8%8B htmlの欲しい部分は表示される案件の部分です。 しかしフレームワークがhtmlをレンダリングされている可能性があり、おそらく解析は困難です。 ajaxからデータを取得するサイトもありましたがcros制限がかかっているため不可です。 ヘッドレスブラウザは環境が構築できないので選択肢には含みません。 わたしはhttpリクエストで動的なサイトのデータを取得するのは無理と判断しました。
- 604 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/14(水) 04:20:42.50 ID:Jx0dk3g+0.net]
- 普通に利用規約違反じゃねぇかw
- 605 名前:デフォルトの名無しさん (アウアウウー Sadd-APG/) mailto:sage [2023/06/14(水) 05:35:16.83 ID:VFw5jfyla.net]
- >>582
WSL2, Ubuntu 20/22, VSCode, Windows Terminal, Docker Desktop VSCodeの拡張機能・Remote Development に、 3つの拡張機能・Remote Container/WSL/SSH が含まれている 日本人が作った、多言語バージョンマネージャーのanyenv。 同様のツールに、asdf もある Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv 漏れは、Ruby on Rails をやっているけど、メモリは32〜64GB ほしい
- 606 名前:デフォルトの名無しさん (アウアウアー Sa8b-Seme) mailto:sage [2023/06/14(水) 06:54:43.13 ID:4pmBicBja.net]
- >>603
案件って「ポイントアップチャレンジ」の部分?
- 607 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/14(水) 07:38:40.54 ID:dOe183t+M.net]
- >>606
案件の部分はPCで閲覧していると表示されません。ゲームアプリ案件の場合はユーザーエージェントがモバイルOSである必要があります。
- 608 名前:デフォルトの名無しさん (ワッチョイ d1a7-Cr01) mailto:sage [2023/06/15(木) 15:12:03.05 ID:pNWnTG3Z0.net]
- たかだかバックエンドのWeb開発するだけなのに
メモリ32GBとか要求される異常な時代w
- 609 名前:デフォルトの名無しさん (スッップ Sd33-wNjT) mailto:sage [2023/06/15(木) 17:34:34.40 ID:oe0OZOrwd.net]
- WSL2で2GB
Chromeで2GB その他諸々で10GB
- 610 名前:デフォルトの名無しさん (ワッチョイ 8b63-2rqm) mailto:sage [2023/06/15(木) 17:37:28.87 ID:KtHE2I/00.net]
- 脳みそのメモリーが書き込み不可のエラーになってますし
- 611 名前:デフォルトの名無しさん (ワッチョイ d1a7-Cr01) mailto:sage [2023/06/15(木) 17:51:10.48 ID:pNWnTG3Z0.net]
- 各々アプリが肥大化しすぎてしまって…
minimal構成のも用意してくれればいいんだけどね XPとか32bitOSが主流だった時代は4GBで十分足りただろうに まあ今メモリ32GBで1万円ぐらいだから文句いうことでもないんだけど
- 612 名前:デフォルトの名無しさん (ワッチョイ 135c-2rqm) mailto:sage [2023/06/15(木) 18:17:52.09 ID:jjmsD4tb0.net]
- 32Gも要求されるって何開発してんの?
- 613 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/15(木) 18:28:28.13 ID:W3FATu2P0.net]
- 616 じゃないけど、docker とブラウザ立ち上げてたら 16 GBをちょいちょい超えるから 32 GBに増設した
快適だぞ
- 614 名前:デフォルトの名無しさん (ワッチョイ 135c-2rqm) mailto:sage [2023/06/15(木) 20:46:52.21 ID:jjmsD4tb0.net]
- 快適な環境作りに必要って訳ね
- 615 名前:610 (アウアウウー Sadd-APG/) mailto:sage [2023/06/16(金) 00:02:25.90 ID:0+O5qEwBa.net]
- Windows/Linux(WSL2), ブラウザ、VSCode, Docker
さらに、Ruby on Rails では、複数データベースで並列テストもできるし
- 616 名前:デフォルトの名無しさん (ワッチョイ 8b63-2rqm) mailto:sage [2023/06/16(金) 00:06:26.73 ID:siRuxcGs0.net]
- Ruby厨は呼んでない、巣に帰れ
- 617 名前:デフォルトの名無しさん (ワッチョイ 8b10-JQtP) [2023/06/16(金) 13:32:48.84 ID:Y1bNR4pi0.net]
- TwitterOAuthに詳しい人がいたら教えてください。
DeveloperPortalでアプリ作成済み、 composer require abraham/twitteroauth でインストール済みとします。 $connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret); $content = $connection->get("account/verify_credentials"); ではTwitterアカウントの情報が取得できるのですが、 (※app_keyの部分は省いています) Twitter API v2に対応するために $connection->setApiVersion('2'); を追加すると取得できません。$contentがNULLになります。 これってTwitterアプリが v2に対応していないからでしょうか?
- 618 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/16(金) 17:45:17.56 ID:TyNt7O690.net]
- >>617
API使うならドキュメントぐらい見ろよ エンドポイントがないだけだろ
- 619 名前:デフォルトの名無しさん (テテンテンテン MM96-DFMs) mailto:sage [2023/06/17(土) 09:44:22.27 ID:C4ey1Sw3M.net]
- addactionがfunctions.phpでは動作するのにカスタムテンプレートでは動作しない理由はなんですか?
- 620 名前:デフォルトの名無しさん (ワッチョイ 5e10-l8k0) mailto:sage [2023/06/18(日) 18:12:02.78 ID:h4u0ciKA0.net]
- >>618
$content = $connection->get("account/verify_credentials"); ここの指定に問題があるということが掴めました。 ご指摘ありがとうございました。
- 621 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/25(日) 18:20:15.50 ID:gM/PAKCH0.net]
- php初めてみたもののメンターとか先輩とかいないぼっちなんで無償版のchatGPT使うと
pdoを使ったDBの接続を含めたコードとか、SQLインジェクションの対応とか一瞬で出してくれてありがたい限り 有償版のGPT4ならコード生成は何かGPT3.5と変わるの?
- 622 名前:デフォルトの名無しさん (ワッチョイ 4b63-F8yx) mailto:sage [2023/06/25(日) 18:24:11.05 ID:PAO3/SeJ0.net]
- 寝ている間に君の仕事やってくれる
- 623 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/25(日) 18:40:58.90 ID:gM/PAKCH0.net]
- それが本当なら指示のプロンプトがすごいことになりそう
実際のところ、ファイルを分けたCRUDなんて1回のプロンプトで生成とかできるんだろうか どこまでならできるとか、ここはさすがにできないとか情報があるサイトがあれば教えていただければ嬉しいです
- 624 名前:デフォルトの名無しさん (ワッチョイ 955f-WUpn) mailto:sage [2023/06/25(日) 19:17:12.98 ID:XgY7oRFd0.net]
- 次のコードをクラスみたいに書いて?
→コンストラクタとメソッドに書き換えてくれる ありがてぇ、関数群も提示するとそれに合わせてチューニングしてくれる
- 625 名前:デフォルトの名無しさん (ワッチョイ 4bf8-cPIU) mailto:sage [2023/06/25(日) 19:21:55.03 ID:i7rMe9Iv0.net]
- 知ってるコードで書いて
これをphpに移植したいというだけでほぼできる
- 626 名前:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI) mailto:sage [2023/06/25(日) 22:54:48.63 ID:lataiSU20.net]
- 君は今非常に危険なところにいます
phpのpdoは非常に厄介なんですが、それを理解してません 「SQLインジェクションの対応とか一瞬で」と言ってるけど、それは本当? たとえば、 $pdo = new PDO('mysql:dbname=test;host=localhost'); なんて提示されて採用した場合、脆弱な箇所ができる可能性があるの理解してる? ChatGPTの提示するコードは自分の理解できている範囲以外は危険だと思って検証しないと危ないよ
- 627 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/26(月) 02:27:13.68 ID:0+rAUtlj0.net]
- >>626
$pdo = new PDO('mysql:dbname=test;host=localhost'); クエリではなく、この時点で見た感じとしては正直わからんです chatGPTは $pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_username, $db_password); binValueなども使ったものを提示していて、実際に動作しているのね。 pdoの引数に各変数があるぐらいで何かしらセキュリティに問題があるとは思わなかったんだけど、この例ではまずい点はあるの?
- 628 名前:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI) mailto:sage [2023/06/26(月) 05:54:16.49 ID:xls0AJJa0.net]
- PDO を使用する際、アプリケーションとしての文字コードを指定できる箇所は new PDO() 内のみです
ここで正しくアプリケーションの文字列を指定していない場合、アプリケーションとDBの間で文字コードに差異が出る可能性が高く、それ起因の脆弱性が発生する可能性があります よく知られた例としては 5c 問題があり、例えば上記と "SET NAMES sjis"、動的プレースホルダのセットで、プレースホルダをすり抜ける脆弱性が発生します
- 629 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/26(月) 06:12:00.13 ID:0+rAUtlj0.net]
- >>628
ありがとう、そういうことがあるのね。 自分がchatGPTに依頼した10回に1回ぐらいの割合で $dsn = "mysql:host=$host;dbname=$db;charset=utf8mb4"; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; try { $pdo = new PDO($dsn, $user, $password, $options); があったので、これからはcharsetを明示するか意識しておきます。 知らないことを伝えられて動いたら全面的に信頼してしまうのも良く無いので、完全では無いことを意識しておきます
- 630 名前:デフォルトの名無しさん (ワッチョイ b502-1El8) mailto:sage [2023/06/26(月) 10:06:12.93 ID:kBW+dErx0.net]
- どうしてそんなにChatGPTにこだわるんだ
- 631 名前:デフォルトの名無しさん (ワッチョイ 1be7-F8yx) mailto:sage [2023/06/26(月) 14:10:10.33 ID:RpzhtkjJ0.net]
- 流行りだからね
- 632 名前:デフォルトの名無しさん (ワッチョイ 955f-WUpn) mailto:sage [2023/06/27(火) 01:40:25.23 ID:BUGmgo620.net]
- RHELの件でこのスレ的に問題になりそうなことはありますか?
https://www.redhat.com/en/blog/furthering-evolution-centos-stream?sc_cid=701f2000000tyBjAAI > CentOS Stream will now be the sole repository for public RHEL-related source code releases.
- 633 名前:デフォルトの名無しさん (ワッチョイ 8da7-0Dh1) mailto:sage [2023/06/29(木) 01:16:30.55 ID:IOgTB2mJ0.net]
- コミュニティ無視したことやって分裂すると
その系譜はもう長らくは信用されないので CentOSが死んだ時点で大方はUbuntuに移ったのでは このスレ的に必要なのは長期サポートだしね
- 634 名前:デフォルトの名無しさん (ワッチョイ d3db-fXPZ) mailto:sage [2023/07/01(土) 23:56:45.93 ID:qg8w7WVg0.net]
- PHPを始めたばかりのものなのですが
- 635 名前:デフォルトの名無しさん (ワッチョイ d3db-fXPZ) mailto:sage [2023/07/01(土) 23:58:14.54 ID:qg8w7WVg0.net]
- 間違えて書ききる前に投稿してしまいました
PHPが無料サービスの範疇で動かせれるレンタルサーバーってあるのでしょうか? HTMLは過去に使った事があったレベルでHTML自体久しぶりなので今どういうサービスがよいものかもわかっていません
- 636 名前:デフォルトの名無しさん (ワッチョイ 06f8-1X2b) mailto:sage [2023/07/02(日) 19:31:28.47 ID:gdoAp3Jw0.net]
- むしろ殆どphp動くだろ
rubyならともかく
- 637 名前:デフォルトの名無しさん (ワッチョイ 4f5f-+5O0) mailto:sage [2023/07/02(日) 20:33:28.61 ID:QFPeETi70.net]
- レンタルサーバーは基本的にMySQLとPHP動かせるようにしてるから
WordPress入れられるように
- 638 名前:デフォルトの名無しさん (ブーイモ MM8e-D/Rs) [2023/07/05(水) 12:23:56.04 ID:BSe/7cdeM.net]
- >>628
15年近く脆弱性関連のバグが放置されてるのは凄いね しかもそのライブラリが未だに広く使われてとかどう考えても頭おかしい
- 639 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/05(水) 17:36:49.07 ID:FFK7TFKZ0.net]
- >>638
調べりゃわかるけど、バグじゃない charsetの設定が効かなかったバージョンがあるからそれはバグとみなしても良いかもしれないけど、PHP5.3.7以下とか随分前の話 文字列の連結使って SQL 文作っちゃダメとかと同じ知ってないとダメなセキュリティ知識だよ
- 640 名前:デフォルトの名無しさん (ブーイモ MM5b-D/Rs) [2023/07/05(水) 18:51:56.66 ID:VuPZbF0BM.net]
- >>639
デフォルトでなんちゃってprepared statementが使われる時点でセキュリティ的にはバグなんだよね PDO特有の問題を一般的なセキュリティ知識と同列に語ったらダメだよ 文字列連結だって適切にエスケープ出来れば問題はないわけだけどデフォルトでそんな脆弱な処理をするライブラリがあったら頭おかしいと思うでしょ
- 641 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/05(水) 19:39:41.44 ID:FFK7TFKZ0.net]
- >>640
なんか、無茶苦茶だねぇ まず、 > 15年近く脆弱性関連のバグが放置されてるのは凄いね これが全く認識違いだったってことは理解できた? 現在のphpではcharsetをPDOコンストラクタ内のDSNで設定してあげることで、アプリとDBの間の文字コードにずれが発生することがなくなり、意図した通りの動作をさせることができる > デフォルトでなんちゃってprepared statementが使われる時点でセキュリティ的にはバグなんだよね 全然話が変わってるけど、なんでこんな話が出てきたの? 動的プレースホルダをデフォルトとして採用することをバグと呼ぶ人は見たこと無いけど、たしかにセキュリティ屋から見ると好ましくはない ただ、ネットワークレイテンシを考えると非常に合理的なので、それほど悪い選択ではないと思う 顕在化した脆弱性があるわけでもないし現在においてはアプリとDBをutf-8で統一することも容易なので、正しくアプリケーションの性格に合わせて選択すればよいだけの話だよ
- 642 名前:デフォルトの名無しさん (ワッチョイ 0ee7-hRAP) mailto:sage [2023/07/06(木) 11:41:34.33 ID:us421T2z0.net]
- 面倒な人が絡んできてるね・・・
仕様バグだろうとバグはバグよ
- 643 名前:デフォルトの名無しさん (ワッチョイ 0663-hRAP) mailto:sage [2023/07/06(木) 11:46:42.56 ID:5cWvOTk60.net]
- 脆弱性は、設計上のバグ
知ってないとダメというのは、バグ回避のテクニック
- 644 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/06(木) 12:43:03.10 ID:KqeQuq1k0.net]
- >>642-643
charsetの設定に未だバグが有るって言いたいの? それともデフォルトが動的プレースホルダになったことをバグと言いたいの? 何を脆弱性/バグって言いたいのかわからん
- 645 名前:デフォルトの名無しさん (スップ Sd22-+5O0) mailto:sage [2023/07/06(木) 18:00:41.52 ID:hqQEAg+3d.net]
- 個人的にはメール送信関係でヘッダー7ビット文字に変えるのがなんかもやもやする
昔のソフトだと7ビットじゃないとダメってのはわかるんだけどUTF-8でもいいじゃねーかってなる
- 646 名前:デフォルトの名無しさん (ワッチョイ 7f7b-gGH9) mailto:sage [2023/07/06(木) 22:27:39.58 ID:CUYn8xPf0.net]
- >>642
勘違いしているのはお前で、一般的にはそれはバグとは言わない。 同様の件なら踏切や横断歩道もバグになる。勿論高架や歩道橋にするべきではあるが。 昨年の観光バス横転事故(フェード現象らしい)もバグではなくブレーキの仕様だ。仕様バグでもない。 ホームドアもそれなりに普及して、 あらゆる物がある程度デタラメな操作(=ホームの端を歩く)しても安全になっては来ているが、 素人がどんなデタラメをやっても安全とはなってないし、ならない。 プログラミングに関しては今後とも「正しい操作をした場合に正しく動く」でしかないだろうよ。 不親切なのはその通りだし、改善はしていくだろうけども。 >>645 公式見る限りPHPからは気にする必要なさそうだが違うのか? なおutf-8も8bit使ってるから駄目だと思うぞ。 今更8bitが通らない環境なんてないし、有ったとしてもそんなところにメール出してないのも事実だが。 IPv6みたいに誰かが音頭取って更新を促さない限り無理だが、今のところ聞いたこと無いね。
- 647 名前:デフォルトの名無しさん (ワッチョイ 0663-hRAP) mailto:sage [2023/07/06(木) 22:53:42.84 ID:5cWvOTk60.net]
- 素人が脆弱性を突いてくる説
- 648 名前:デフォルトの名無しさん (アウアウウー Sabb-JtsX) mailto:sage [2023/07/07(金) 02:29:15.80 ID:u6t7w3p4a.net]
- Java は、ログ機能にセキュリティーホールがあって、
Edge から、パスワードを抜かれますと報告が来た セキュリティー更新せず、ほったらかしのサイトが山ほどある
- 649 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/07(金) 07:55:50.16 ID:84NzU0uw0.net]
- >>643
>>647 結局何を脆弱性って言ってんだよ… 素人が脆弱性って言いたかっただけってこと?
- 650 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/07(金) 23:44:08.79 ID:84NzU0uw0.net]
- >>645
なんかちょっと勘違いしてる気がする 昔のブックマークから拾い上げてみたんで読んでみて https://blog.tmtms.net/entry/2014/12/06/postfix-8bit
- 651 名前:デフォルトの名無しさん (ワッチョイ ce8b-/jfo) [2023/07/17(月) 13:54:48.52 ID:pZjB1XDE0.net]
- テスト
- 652 名前:デフォルトの名無しさん (ワッチョイ 9b5f-5LlG) [2023/07/18(火) 14:26:46.55 ID:2j+5uZca0.net]
- ネットで見つけた掲示板のサンプルがクソでした
更新ボタン押すと同じ書き込みが繰り返されてしまうのです どうすれば解決しますか? ほんとプログラミングはクソ記事多くて困りますね え?クソはおまえだ? ごもっとも
|

|