PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 7
http://echo.2ch.net/test/read.cgi/tech/1478657006/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 8 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bfb2-csvI)
2017/03/15(水) 00:41:22.79ID:ko4BTSP20636デフォルトの名無しさん (ワッチョイ 1eaa-ZPBl)
2017/09/26(火) 03:50:19.75ID:mvSUAuA/0 Docker Hub で、公式イメージでも探せ
それか、VirtualBox, Vagrant, Chef など
それか、VirtualBox, Vagrant, Chef など
637デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
2017/09/26(火) 04:20:53.63ID:iIk2lbGJ0 じゃ質問をシンプルにするよ。
PHPでアクセスしてAjax使ってる動的ページを正しく動かす方法で
一番シンプルなものってなにかな?
色々調べてPhantomJSがあるのは分かったけど
レンタルサーバによってはインストールできない可能性があるのでその問題がありそう。
PHPでアクセスしてAjax使ってる動的ページを正しく動かす方法で
一番シンプルなものってなにかな?
色々調べてPhantomJSがあるのは分かったけど
レンタルサーバによってはインストールできない可能性があるのでその問題がありそう。
638デフォルトの名無しさん (ワッチョイ 1ef3-PvnN)
2017/09/26(火) 06:31:31.27ID:M58WkJeo0 ちょっと調べて見たければphp製のjavascriptエンジンはないので無理ではないかなぁ
639デフォルトの名無しさん (ワッチョイ 1ef3-PvnN)
2017/09/26(火) 06:32:15.60ID:M58WkJeo0 ちょっと調べて見たければ→ちょっと調べてみたけれど
640デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
2017/09/26(火) 08:09:15.81ID:iIk2lbGJ0 >>638
そうか。しょうがないので自分のPCにPhantomJSをインストールして使う事にしてみたんだけど
今度はどうやってもステータスが0で困ってる。。
file_get_contents()だと表示されるのでPhantomJSの部分で問題が起こってるんだと思うけど。
ここの通りしたんだけど。$response->getStatus()で確認すると常にゼロで。
https://pg.kdtk.net/1405
PHPは5.6、Apacheは2.4、両方64bit
PhantomJSはcomposerで2.1.1をインストール
そうか。しょうがないので自分のPCにPhantomJSをインストールして使う事にしてみたんだけど
今度はどうやってもステータスが0で困ってる。。
file_get_contents()だと表示されるのでPhantomJSの部分で問題が起こってるんだと思うけど。
ここの通りしたんだけど。$response->getStatus()で確認すると常にゼロで。
https://pg.kdtk.net/1405
PHPは5.6、Apacheは2.4、両方64bit
PhantomJSはcomposerで2.1.1をインストール
641デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
2017/09/26(火) 09:50:15.42ID:iIk2lbGJ0 自己解決
落としたバイナリがぶっ壊れてた。。
落としたバイナリがぶっ壊れてた。。
642デフォルトの名無しさん (ワイモマー MM4f-8hAC)
2017/09/26(火) 13:57:41.18ID:cwFxqDCFM Headless Chromeもあるし
どうしてもPHPでやりたいってんならv8拡張がある
この場合ブラウザ側API全部再実装が必要だが
どうしてもPHPでやりたいってんならv8拡張がある
この場合ブラウザ側API全部再実装が必要だが
643デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
2017/09/26(火) 14:11:14.60ID:iIk2lbGJ0 >>642
PhantomJS試してるんだけどformをsubmitする処理とかだとなんか面倒そうなので
やっぱり他のでやった方がいいのかもしれない。
Headless Chrome?それも後で試してみるよ。ありがとう。
PhantomJS試してるんだけどformをsubmitする処理とかだとなんか面倒そうなので
やっぱり他のでやった方がいいのかもしれない。
Headless Chrome?それも後で試してみるよ。ありがとう。
644デフォルトの名無しさん (ワッチョイ ffcd-JacX)
2017/09/27(水) 05:11:15.19ID:EHqNXxRy0 >>643
casperjsはphantomjsより扱いやすいよ
casperjsはphantomjsより扱いやすいよ
645デフォルトの名無しさん (ワッチョイ 4dc2-asy+)
2017/09/28(木) 15:18:44.51ID:fKb4VnmR0 >>628
最後の1行読んだ感じでは
DBの正規化という言葉すら理解できてなさそうな臭いがするので
DBの設計から勉強し直してみてはどうだろうか?
根本的なところからおかしいので誰もまともに答えられないかと
最後の1行読んだ感じでは
DBの正規化という言葉すら理解できてなさそうな臭いがするので
DBの設計から勉強し直してみてはどうだろうか?
根本的なところからおかしいので誰もまともに答えられないかと
646デフォルトの名無しさん (ワッチョイ 2391-TWXg)
2017/09/30(土) 20:51:24.62ID:CiKOls/60 フレームワーク、例えばcakePHPを習得するまでに
みんなどのくらいの期間かかった?
フレームワーク初体験で
みんなどのくらいの期間かかった?
フレームワーク初体験で
647デフォルトの名無しさん (ワッチョイ 4b91-IQJU)
2017/09/30(土) 22:47:17.93ID:h2RlFi9m0 新しい言語や技術は書籍で入門するのが当たり前という人にとっては
フレームワークはどれもたいへんだよ。
フレームワークはどれもたいへんだよ。
648デフォルトの名無しさん (ワッチョイ cbf3-IQJU)
2017/10/01(日) 06:09:17.97ID:Ae9q61k/0 意欲の問題では
フレームワークは別になくてもいいわけで
なくてもいいものをわざわざ覚えるのかなんて思いながらやってると
なかなか身につかない
仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ
フレームワークは別になくてもいいわけで
なくてもいいものをわざわざ覚えるのかなんて思いながらやってると
なかなか身につかない
仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ
649デフォルトの名無しさん (ワッチョイ 4d84-bz6c)
2017/10/01(日) 15:24:34.49ID:mkxY3wW+0650デフォルトの名無しさん (ワッチョイ e320-2/X0)
2017/10/01(日) 20:10:56.14ID:GM1LmHU+0 PHPって将来あるの?5年もしたらもうオワコンじゃないの?
651デフォルトの名無しさん (ワッチョイ cbf3-IQJU)
2017/10/01(日) 20:19:14.76ID:Ae9q61k/0 言語を意識するような時代が終わりはじめてるのでは
一定のユーザがいる状態であれば安泰だよ
一定のユーザがいる状態であれば安泰だよ
652デフォルトの名無しさん (ワッチョイ 2d1d-TWXg)
2017/10/01(日) 20:24:12.95ID:qGSPhC6b0 >>650
そう思うならNode.jsでも使っとけばいいんじゃね?
そう思うならNode.jsでも使っとけばいいんじゃね?
653デフォルトの名無しさん (ワッチョイ e5f7-Txnz)
2017/10/01(日) 20:43:25.47ID:xDL2/91Y0 PHPが終わるとは思わん
ただタイプヒンティング強化してるからジェネリクスが欲しい
RFCにはあるけど誰も実装書かないんだろうなー
ただタイプヒンティング強化してるからジェネリクスが欲しい
RFCにはあるけど誰も実装書かないんだろうなー
654デフォルトの名無しさん (ワッチョイ 9bb2-asy+)
2017/10/01(日) 20:51:44.63ID:ycCVTNJ30 世界中にある動的Webサイトの過半数がPHPで動いてるんでしょ?
WordPressも含めて
WordPressも含めて
655デフォルトの名無しさん (ワッチョイ 2d1d-TWXg)
2017/10/01(日) 20:53:18.27ID:qGSPhC6b0 なんか知らんけど恨みがあるんじゃね?PHPに
656デフォルトの名無しさん (ワッチョイ 2391-TWXg)
2017/10/01(日) 21:39:11.63ID:eMQOw+pd0 >>649
んじゃ、初めてのフレームワークでおすすめって何よ?w
んじゃ、初めてのフレームワークでおすすめって何よ?w
657デフォルトの名無しさん (ワッチョイ a5e5-qEDe)
2017/10/01(日) 22:53:55.25ID:UOMkiKCA0 >>656
CodeIgniter
CodeIgniter
658デフォルトの名無しさん (ワッチョイ a5e5-qEDe)
2017/10/01(日) 23:04:09.52ID:UOMkiKCA0 >>654
むしろWordPressだけで過半数以上
これらのユーザーがPHPを意識してるとは思えないが
世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的
逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある
とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも
けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う
その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる
派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな
むしろWordPressだけで過半数以上
これらのユーザーがPHPを意識してるとは思えないが
世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的
逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある
とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも
けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う
その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる
派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな
659デフォルトの名無しさん (ワッチョイ e3d9-xJw/)
2017/10/02(月) 01:21:56.57ID:VyNVpuqG0 Laravelって誰も触れんな
日本では流行ってないか?
めちゃくちゃ使いやすいと思うけど
日本では流行ってないか?
めちゃくちゃ使いやすいと思うけど
660デフォルトの名無しさん (ワッチョイ 4dc9-bz6c)
2017/10/02(月) 09:30:10.62ID:yY+xy6Qa0661デフォルトの名無しさん (ワッチョイ 4de9-IQJU)
2017/10/02(月) 09:53:14.55ID:T1SDxagl0 おわったっていいじゃん
一生を捧げる言語を一つ選ぶような話じゃないでしょ。
今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。
それより食堂がなくなる心配したほうがいい
一生を捧げる言語を一つ選ぶような話じゃないでしょ。
今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。
それより食堂がなくなる心配したほうがいい
662デフォルトの名無しさん (ワッチョイ 23d2-b5+A)
2017/10/02(月) 21:00:14.97ID:fIRtXeXL0 ec-cubeのソースを見ていたら
require_once が書かれてなくて、useだけ書かれているファイルが沢山ありました。
なんで、エラーにならないの?
require_once が書かれてなくて、useだけ書かれているファイルが沢山ありました。
なんで、エラーにならないの?
663デフォルトの名無しさん (ワッチョイ e55d-Txnz)
2017/10/02(月) 21:17:59.72ID:T8QXjIur0 >>662
composer.jsonのautoloadセクションにオートローディングの設定書いてりゃrequire_onceが必要なのはエントリポイントだけ
composer.jsonのautoloadセクションにオートローディングの設定書いてりゃrequire_onceが必要なのはエントリポイントだけ
664デフォルトの名無しさん (ワッチョイ 2334-IQJU)
2017/10/02(月) 21:28:04.49ID:V+ucx/B30 ソース見ないとわからんけど、__autoload とか使ってるんじゃ無い?
665デフォルトの名無しさん (ワッチョイ 23d2-b5+A)
2017/10/02(月) 21:30:47.93ID:fIRtXeXL0666デフォルトの名無しさん (ワッチョイ 76b8-P+uR)
2017/10/05(木) 12:46:13.98ID:HZkkfHm10 テスト
667デフォルトの名無しさん (ワッチョイ 76b8-P+uR)
2017/10/05(木) 13:00:26.21ID:HZkkfHm10668デフォルトの名無しさん (ワッチョイ 41e9-wbjw)
2017/10/05(木) 13:48:00.22ID:PIRKucuZ0 strlenの値見てみればいいじゃん
669デフォルトの名無しさん (ワッチョイ 46eb-8BZG)
2017/10/07(土) 03:33:19.78ID:E8QcxmPR0 cakeのヘンなURLはみんな一々普通の書式に書き換えてるの?
/index/limit:3/page:2 ←キモい
index/?page=2 ←普通こんな感じだよね
フレームワークってたいへんだね
/index/limit:3/page:2 ←キモい
index/?page=2 ←普通こんな感じだよね
フレームワークってたいへんだね
670デフォルトの名無しさん (ワッチョイ 457c-N+2N)
2017/10/07(土) 04:28:12.75ID:n7/qhps90 動けばいいのよ
671デフォルトの名無しさん (ワッチョイ eea7-qWqy)
2017/10/07(土) 07:48:18.63ID:gc7GFpiH0 >>669
むしろ下のURLの方が汚らしいんじゃね
むしろ下のURLの方が汚らしいんじゃね
672デフォルトの名無しさん (アウアウイー Sa35-jANm)
2017/10/07(土) 08:58:47.62ID:CQDT89una >>671
あまり言ってやるな
あまり言ってやるな
673デフォルトの名無しさん (ワッチョイ 95b3-XSap)
2017/10/08(日) 06:58:12.38ID:CWK8ZE8n0674デフォルトの名無しさん (ワッチョイ 75eb-8BZG)
2017/10/08(日) 19:54:00.65ID:31mgpPhM0 >>673
dクス 直った。あー気持ち悪かったw
dクス 直った。あー気持ち悪かったw
675デフォルトの名無しさん (ワッチョイ 7d81-XSap)
2017/10/08(日) 21:19:07.77ID:Uwv5PG/i0 静的Pathにするのって、Google対策だっけ?
676デフォルトの名無しさん (ワッチョイ b178-I6Bn)
2017/10/09(月) 12:03:26.40ID:YlLc/E6M0677デフォルトの名無しさん (アウアウイー Sa35-mO1K)
2017/10/09(月) 13:13:37.43ID:h4S41BKFa cake3も同じだわ
678デフォルトの名無しさん (ワッチョイ fa2e-IzxY)
2017/10/10(火) 17:56:47.10ID:xdjFdlld0679デフォルトの名無しさん (ワッチョイ 75eb-ZMO8)
2017/10/11(水) 03:47:35.08ID:KMdfjBPl0 Symfonyは文字数が多くなる気がして
個人的にはイマイチ子
個人的にはイマイチ子
680デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/13(金) 20:01:46.42ID:s758Uzmra phpのプレイグラウンドサイトでいいところがあれば教えて下さい
https://www.tehplayground.com
とりあえず検索して見つかったここを使ってますが
もっといいところありますか?
https://www.tehplayground.com
とりあえず検索して見つかったここを使ってますが
もっといいところありますか?
681デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/13(金) 20:02:50.62ID:s758Uzmra682デフォルトの名無しさん (ワッチョイ 2beb-KNNp)
2017/10/13(金) 21:02:49.56ID:NQNcqrHf0 Mac Sierra + XAMPPでCakePHP3のインストールが出来ないのだけど、
みんなどうやってインスコしてるの?
composerはインスコできたけど、intlが入らない
バージョン2はコピペで済んだから楽だったのにな〜・・・
みんなどうやってインスコしてるの?
composerはインスコできたけど、intlが入らない
バージョン2はコピペで済んだから楽だったのにな〜・・・
683デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/13(金) 21:28:05.09ID:s758Uzmra684デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/13(金) 23:35:56.43ID:s758Uzmra git for windowsを入れたら
gitbashの中でphpも実行できるので便利ですね?
コマンドラインと大差ないといえばないですが
gitbashは任意のフォルダから始められるところがいいです
gitbashの中でphpも実行できるので便利ですね?
コマンドラインと大差ないといえばないですが
gitbashは任意のフォルダから始められるところがいいです
685デフォルトの名無しさん (ワッチョイ f97c-4jF/)
2017/10/14(土) 04:10:36.29ID:TNxvk7D00 sourcetreeでいいよ
どうしてもコマンド打ちたいなら別だけど
どうしてもコマンド打ちたいなら別だけど
686デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/14(土) 07:17:33.63ID:sv7zl76da atlassianってtrello買収のニュースで聞いたことがありましたが
こういうものを作っていたんですね
とりあえずインストールしてみました
こういうものを作っていたんですね
とりあえずインストールしてみました
687デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/14(土) 16:05:22.67ID:sv7zl76da 正規表現では一重引用符、二重引用符ともに
エスケープする必要がないと知りました
エスケープをしても問題が出ないので今まで気づきませんでした
preg_match('/\"/','"',$matches);
var_dump($matches);
preg_match('/"/','"',$matches);
var_dump($matches);
どちらの結果も同じになります
何故エスケープする必要のない引用符をエスケープしても
問題が出ないのでしょうか?
エスケープする必要がないと知りました
エスケープをしても問題が出ないので今まで気づきませんでした
preg_match('/\"/','"',$matches);
var_dump($matches);
preg_match('/"/','"',$matches);
var_dump($matches);
どちらの結果も同じになります
何故エスケープする必要のない引用符をエスケープしても
問題が出ないのでしょうか?
688デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/14(土) 18:01:08.37ID:sv7zl76da よく考えてみると、引用符をエスケープしなければいけないのは、
それが文字列と外界との境界を形成する特殊な文字だからで、
正規表現では文字列の境界をデリミタが形成するので、
引用符は普通の文字と全く変わりがない、
だから他の「普通の文字」をエスケープしても同じことではないか、
と思ってqで試してみたらやはり同じ動作になりました
preg_match('/\q/','q',$matches);
var_dump($matches);
正規表現エンジンは、
意味のないエスケープ文字
を単に無視するように出来ているのでしょうか?
それが文字列と外界との境界を形成する特殊な文字だからで、
正規表現では文字列の境界をデリミタが形成するので、
引用符は普通の文字と全く変わりがない、
だから他の「普通の文字」をエスケープしても同じことではないか、
と思ってqで試してみたらやはり同じ動作になりました
preg_match('/\q/','q',$matches);
var_dump($matches);
正規表現エンジンは、
意味のないエスケープ文字
を単に無視するように出来ているのでしょうか?
689片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/14(土) 18:22:55.67ID:WLIJLkznd エスケープされた文字列を解釈するのはPHPのエンジンであり、解釈された文字列は、PHPの文字列になる。
正規表現エンジンは、当然PHPの文字列を、正規表現を表す文字列として解釈する。
最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。
正規表現エンジンは、当然PHPの文字列を、正規表現を表す文字列として解釈する。
最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。
690デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/14(土) 18:34:55.85ID:sv7zl76da たしかにPHPの場合正規表現もまず最初に普通の文字列に入れられるので
>>688の言い方は適当ではなかったです
やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね
ありがとうございました
>>688の言い方は適当ではなかったです
やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね
ありがとうございました
691デフォルトの名無しさん (ワッチョイ 592a-fL/h)
2017/10/15(日) 11:18:23.57ID:CEYZTvIx0 PHP初心者です。
PHPの実行モデルがイマイチ分からないのですが、
これはイベントモデルではなくただのテンプレートエンジンで、
前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、
毎回毎回ゼロから構築する必要があるって認識で合っていますか?
具体的には、Webページ全体で使われるクラスやdefine()している場合、
それらを毎回includeする必要があるのでしょうか?(今のところそう見えます)
クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。
Nodeは使ったことがないですが、多分同じです。
(これらはイベントモデルだからですが)
毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。
ドメイン全体で単一アプリを提供する場合は
PHPではなくNode等の方が向いているということなのでしょうか?
例えば、dbアクセス用にクラスを作った場合、
それぞれのWebページからはその全メソッドを使うことは通常あり得ません。
だからプログラム的に美しく一つのクラスに纏めるより、
フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。
あるいはspl_autoload_register()した場合に、
名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?
PHPの実行モデルがイマイチ分からないのですが、
これはイベントモデルではなくただのテンプレートエンジンで、
前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、
毎回毎回ゼロから構築する必要があるって認識で合っていますか?
具体的には、Webページ全体で使われるクラスやdefine()している場合、
それらを毎回includeする必要があるのでしょうか?(今のところそう見えます)
クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。
Nodeは使ったことがないですが、多分同じです。
(これらはイベントモデルだからですが)
毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。
ドメイン全体で単一アプリを提供する場合は
PHPではなくNode等の方が向いているということなのでしょうか?
例えば、dbアクセス用にクラスを作った場合、
それぞれのWebページからはその全メソッドを使うことは通常あり得ません。
だからプログラム的に美しく一つのクラスに纏めるより、
フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。
あるいはspl_autoload_register()した場合に、
名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?
692デフォルトの名無しさん (ワッチョイ 795d-BSx0)
2017/10/15(日) 11:55:30.86ID:s8ygMoJ80 >>691
サーバサイドアプリケーションは大体そんなもんだと思うが
HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし
コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある
とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら
クライアントサイドとは全く違うから
サーバサイドアプリケーションは大体そんなもんだと思うが
HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし
コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある
とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら
クライアントサイドとは全く違うから
693デフォルトの名無しさん (ワッチョイ 592a-fL/h)
2017/10/15(日) 13:46:10.80ID:CEYZTvIx0 >>692
了解です。ありがとうございます。
何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。
(ちなみにGoとかも同じですかね?ご存知であれば)
ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、
(とはいえこれが通常のHP用途の90%以上を占めますが)
掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。
別サイトで「こんなのどうよ?」と提案したところ、
「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。
この状況でフレームワークを使っていること自体が結構信じがたいです。
とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。
(参考) http://postd.cc/websocket-shootout/
別件ですが、CSRF脆弱性対策について、
これは単発のリンクを踏んだ(表示した)時用の対策であって、
ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか?
例えば、あるページを表示し、そこのJavaScriptが実行されるなら、
ajaxでhtmlを取得し、CSRFトークンを取得して、
掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。
了解です。ありがとうございます。
何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。
(ちなみにGoとかも同じですかね?ご存知であれば)
ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、
(とはいえこれが通常のHP用途の90%以上を占めますが)
掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。
別サイトで「こんなのどうよ?」と提案したところ、
「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。
この状況でフレームワークを使っていること自体が結構信じがたいです。
とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。
(参考) http://postd.cc/websocket-shootout/
別件ですが、CSRF脆弱性対策について、
これは単発のリンクを踏んだ(表示した)時用の対策であって、
ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか?
例えば、あるページを表示し、そこのJavaScriptが実行されるなら、
ajaxでhtmlを取得し、CSRFトークンを取得して、
掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。
694デフォルトの名無しさん (ワッチョイ 795d-BSx0)
2017/10/15(日) 14:31:37.78ID:s8ygMoJ80 >>693
お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな
PHPに限らずRubyだろうがPythonだろうが何も変わらん
NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒
その必要が本当にあるのかよく考えろ
> CSRF
Same Origin Policy
お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな
PHPに限らずRubyだろうがPythonだろうが何も変わらん
NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒
その必要が本当にあるのかよく考えろ
> CSRF
Same Origin Policy
695デフォルトの名無しさん (ワッチョイ d12a-fL/h)
2017/10/15(日) 17:17:04.22ID:u42Q3jAo0 >>694
> PHPに限らずRubyだろうがPythonだろうが何も変わらん
いや多分PHP特有ですよ。RubyやPythonは自前で鯖起動しますので。
Railsチラ見しましたがそんな感じです。
https://railsguides.jp/getting_started.html
ただ現実的にRubyやPythonは超軽量環境でも使えるのでRailsは選択肢になりますね。
とはいえPHPでもopcacheでほぼ問題ないはずですが。
まあとにかく今は味見中です。
作ろうとしているのは掲示板アプリで、GoやNodeの高性能版はOSSで既にあります。
もちろんPHP版も既にあるのですが、こちらも大体高性能化を目指しているので、
超軽量環境向けの廉価版を作ってみようかと。
AGPLv3で公開する予定ですので、興味があればどうぞ。
https://meguca.org/g/2724701
> PHPに限らずRubyだろうがPythonだろうが何も変わらん
いや多分PHP特有ですよ。RubyやPythonは自前で鯖起動しますので。
Railsチラ見しましたがそんな感じです。
https://railsguides.jp/getting_started.html
ただ現実的にRubyやPythonは超軽量環境でも使えるのでRailsは選択肢になりますね。
とはいえPHPでもopcacheでほぼ問題ないはずですが。
まあとにかく今は味見中です。
作ろうとしているのは掲示板アプリで、GoやNodeの高性能版はOSSで既にあります。
もちろんPHP版も既にあるのですが、こちらも大体高性能化を目指しているので、
超軽量環境向けの廉価版を作ってみようかと。
AGPLv3で公開する予定ですので、興味があればどうぞ。
https://meguca.org/g/2724701
696デフォルトの名無しさん (アウアウカー Sad5-ZHAV)
2017/10/15(日) 17:24:11.11ID:L1ItWz+aa697デフォルトの名無しさん (ワッチョイ 8bb8-HXrW)
2017/10/15(日) 22:50:14.72ID:lMinf0FC0 遅い早いって2ch読み書きするのをストレスに感じないのであれば杞憂でしょう
ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで
ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで
698デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/16(月) 00:01:36.25ID:OoF3Ic3Va 自分もリクエストのたびにこの巨大なフレームワークを読むのか?
とひるんだ時がありましたが
そこは実行コードをキャッシュする仕組みでカバーできるんですね
というか今の人はスタートがnode.jsとかなんだなーという驚きがあります
とひるんだ時がありましたが
そこは実行コードをキャッシュする仕組みでカバーできるんですね
というか今の人はスタートがnode.jsとかなんだなーという驚きがあります
699デフォルトの名無しさん (ワッチョイ 2beb-KNNp)
2017/10/16(月) 00:42:39.22ID:DJrtJlQd0 node.jsってレンサバで動くんか???
700デフォルトの名無しさん (アウアウイー Sac5-quH2)
2017/10/16(月) 02:50:04.46ID:N7MUl21Ra vpsでやろ。
701デフォルトの名無しさん (ワッチョイ 13d2-t9a5)
2017/10/16(月) 08:53:25.48ID:twPANPDV0702デフォルトの名無しさん (ワッチョイ 2beb-KNNp)
2017/10/16(月) 23:32:43.30ID:DJrtJlQd0 ふぇ〜さくらってスゴいのね
703デフォルトの名無しさん (ワッチョイ 533f-NewR)
2017/10/17(火) 01:14:58.17ID:HUD/bT/k0 別にサクラはすごくないだろ
この手の方法はわりとどのレンサバでもできる
この手の方法はわりとどのレンサバでもできる
704デフォルトの名無しさん (ワッチョイ 8bb8-HXrW)
2017/10/17(火) 04:14:34.59ID:UUhSDchZ0705デフォルトの名無しさん (ワッチョイ 912a-fL/h)
2017/10/17(火) 06:07:25.14ID:C8ORuPRh0 質問です。PHPとSQLite3共に初心者です。
PHP+SQLite3でatomic counterが欲しいのですが、変更前の値が上手く取れません。
(unique保証が必要です)
散々ググって試行錯誤もしたのですが、上手くいきません。もしかして綺麗には無理ですか?
$sql = "BEGIN;";
$sql .= "SELECT count FROM counters WHERE id = 'post';";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
// $result = $db->exec($sql); // インクリメントされるが肝心の値が取れない
$result = $db->querySingle($sql); // なぜかNULLが入っており、インクリメントされない
// $result = $db->query($sql); // その後で fetchArray(): Unable to execute statement: cannot start a transaction within a transaction と出てインクリメントされない
var_dump($result);
なお奇特な方のためのDB設定用コードは以下です。
$db->query('CREATE TABLE counters (id TEXT PRIMARY KEY, count INTEGER)');
$db->query('INSERT INTO counters VALUES ("post", 0)');
atomic自体はUPDATEだけで保証されているのですが、変更前の値をuniqueに掴みたいのです。
用途は例えば掲示板で、自分の投稿が何番か知りたい、とかです。
BEGIN/COMMITでくくらず別々にした場合はunique保証が出来ないのでNGです。
PHP+SQLite3でatomic counterが欲しいのですが、変更前の値が上手く取れません。
(unique保証が必要です)
散々ググって試行錯誤もしたのですが、上手くいきません。もしかして綺麗には無理ですか?
$sql = "BEGIN;";
$sql .= "SELECT count FROM counters WHERE id = 'post';";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
// $result = $db->exec($sql); // インクリメントされるが肝心の値が取れない
$result = $db->querySingle($sql); // なぜかNULLが入っており、インクリメントされない
// $result = $db->query($sql); // その後で fetchArray(): Unable to execute statement: cannot start a transaction within a transaction と出てインクリメントされない
var_dump($result);
なお奇特な方のためのDB設定用コードは以下です。
$db->query('CREATE TABLE counters (id TEXT PRIMARY KEY, count INTEGER)');
$db->query('INSERT INTO counters VALUES ("post", 0)');
atomic自体はUPDATEだけで保証されているのですが、変更前の値をuniqueに掴みたいのです。
用途は例えば掲示板で、自分の投稿が何番か知りたい、とかです。
BEGIN/COMMITでくくらず別々にした場合はunique保証が出来ないのでNGです。
706デフォルトの名無しさん (ワッチョイ 795d-BSx0)
2017/10/17(火) 09:57:21.02ID:RHJUWC0z0 >>705
1回のクエリで実行しようとしたらそらそうなるでしょ
あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある
1回のクエリで実行しようとしたらそらそうなるでしょ
あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある
707デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
2017/10/17(火) 10:56:38.81ID:s8lIkCI50 >>695みたいなPHPのコストについての話が出る度に思うが
こういう人って今までどの程度の規模のサービスを扱った事があるんだろ?
10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス
800万PV前後/日程度だったが
当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた
レンタル費用をケチろうと思ったんだろう
貸出先が業者にまんまUIパクったようなものを数百万で作らせたら
全然PV裁けなくなって業者に文句言ったら
捌けるようになるまでサーバーを増やせと言われたという笑い話
800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから
最低1億PV/日ぐらいは想定してるんだろうなきっと
こういう人って今までどの程度の規模のサービスを扱った事があるんだろ?
10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス
800万PV前後/日程度だったが
当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた
レンタル費用をケチろうと思ったんだろう
貸出先が業者にまんまUIパクったようなものを数百万で作らせたら
全然PV裁けなくなって業者に文句言ったら
捌けるようになるまでサーバーを増やせと言われたという笑い話
800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから
最低1億PV/日ぐらいは想定してるんだろうなきっと
708デフォルトの名無しさん (ワッチョイ 795d-BSx0)
2017/10/17(火) 11:13:26.21ID:RHJUWC0z0 でも実際物理で殴る方がお安く済む, でしょう?
709デフォルトの名無しさん (ワッチョイ f99e-0oEc)
2017/10/17(火) 14:02:18.91ID:0jVjcAN80 >>707
800万pvのサイト今もやってるの?
800万pvのサイト今もやってるの?
710デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
2017/10/17(火) 14:45:24.76ID:s8lIkCI50711デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/17(火) 21:06:15.90ID:rwpxP9zha PHPでHTMLをパースして、
JavaScriptのquerySelectorみたいなもので要素を選択したいのですが
そういうライブラリみたいなものありますか?
JavaScriptのquerySelectorみたいなもので要素を選択したいのですが
そういうライブラリみたいなものありますか?
712デフォルトの名無しさん (ワッチョイ b923-Wja4)
2017/10/17(火) 21:39:14.67ID:uXsqtlL/0 phpquery
713デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/17(火) 21:50:33.21ID:rwpxP9zha714デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 00:06:15.43ID:catz1Ji3a715デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 00:30:04.05ID:catz1Ji3a JavaScriptのプレイグラウンドはcdnからライブラリを読み込めますが
PHPのプレイグラウンドでライブラリを読めるものはないのでしょうか?
PHPのプレイグラウンドでライブラリを読めるものはないのでしょうか?
716デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 00:45:02.72ID:c6Rft4Lma というかプレイグラウンドなのにライブラリ読み込めないって
全然遊べないですよね・・
全然遊べないですよね・・
717デフォルトの名無しさん (ワッチョイ d12a-fL/h)
2017/10/18(水) 05:41:41.19ID:IAqZZNli0 >>706
少し紛らわしかったので補足します。
705のコードはSQLite3では意図したようには動きません。
ただしMySQL等他DBなら動くようです。(FOR UPDATEはSQLite3ではエラー)
https://dba.stackexchange.com/questions/61603/how-to-query-and-increase-a-value-counter-in-a-thread-safe-way-avoid-race-co
或いは以下の書き方も出来るようです。
$sql .= "UPDATE counters SET count = (@cur_value := count)+1 WHERE id = 'post';";
$sql .= "SELECT @cur_value;";
http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition
問題はSQLite3ではこれらが出来ないことです。
ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、
http://naichilab.blogspot.jp/2013/06/sqliteinsertautoincrement.html
http://android.roof-balcony.com/shori/strage/insert/
これらはPHPでは SQLite3::changes SQLite3::lastInsertRowID であり、
rowID===INTEGER PRIMARY KEY なので、INSERTして取る方法でとりあえず回避しました。
https://www.dbonline.jp/sqlite/table/index8.html
http://www.sqlite.org/autoinc.html
以下コードになります。
$sql .= "BEGIN EXCLUSIVE;";
$sql .= "INSERT INTO logs VALUES ((SELECT count FROM counters WHERE id = 'post'), date('now'), '$data');";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
$result = $db->exec($sql);
var_dump($db->lastInsertRowID());
カウンタに対して2回クエリしているのが無駄なんですが、何とかなりませんかね?
(とはいえこちらは我慢できる範囲ですが)
なおスレ毎にtableを分ける予定ですのでAUTOINCREMENTには出来ません。
少し紛らわしかったので補足します。
705のコードはSQLite3では意図したようには動きません。
ただしMySQL等他DBなら動くようです。(FOR UPDATEはSQLite3ではエラー)
https://dba.stackexchange.com/questions/61603/how-to-query-and-increase-a-value-counter-in-a-thread-safe-way-avoid-race-co
或いは以下の書き方も出来るようです。
$sql .= "UPDATE counters SET count = (@cur_value := count)+1 WHERE id = 'post';";
$sql .= "SELECT @cur_value;";
http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition
問題はSQLite3ではこれらが出来ないことです。
ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、
http://naichilab.blogspot.jp/2013/06/sqliteinsertautoincrement.html
http://android.roof-balcony.com/shori/strage/insert/
これらはPHPでは SQLite3::changes SQLite3::lastInsertRowID であり、
rowID===INTEGER PRIMARY KEY なので、INSERTして取る方法でとりあえず回避しました。
https://www.dbonline.jp/sqlite/table/index8.html
http://www.sqlite.org/autoinc.html
以下コードになります。
$sql .= "BEGIN EXCLUSIVE;";
$sql .= "INSERT INTO logs VALUES ((SELECT count FROM counters WHERE id = 'post'), date('now'), '$data');";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
$result = $db->exec($sql);
var_dump($db->lastInsertRowID());
カウンタに対して2回クエリしているのが無駄なんですが、何とかなりませんかね?
(とはいえこちらは我慢できる範囲ですが)
なおスレ毎にtableを分ける予定ですのでAUTOINCREMENTには出来ません。
718デフォルトの名無しさん (ワッチョイ d12a-fL/h)
2017/10/18(水) 05:42:26.75ID:IAqZZNli0 次の質問です。
PHPの出力の終了を宣言することは出来ますか?
(そこで一旦通信を終了させ、その後は(ユーザから見て)バックグラウンド的に処理する)
ob_end_clean()はバッファのオフであって終了宣言ではないように見えます。
register_shutdown_function でリクエストの一部にはならない版が欲しいのです。
具体的には、PVの話が出てきて、それもいいなと思ってRead側にもカウンタをつけたものの、
Read/Writeで100倍くらい違うのでこの処理を分けたいのです。
・マルチスレッド(pThread) ← インストール必要
・非同期 ← フレームワーク必須
のため、
・</html>送信後はユーザー側には見えなくなるのでここでやらせる
という作戦を考えましたが、見た目それようの関数がなさそうです。
詳細は後述しますが、これが出来ればユーザ側レスポンスが0.2秒ほど早くなります。
或いはReadに関してはApacheのログをcron等で処理させる方がいいのでしょうか?
ちなみに速度ですが、もう既に遅いです。
XAMPPのローカル環境ですが、純粋にReadだけなら100pv/s程度で、
PVカウンタをDBに持たせるとそこに書き込みが行われ、2pv/s程度まで落ちます。
投稿ならこの倍遅く、1pv/sec程度になります。
まだ味見程度で、全部で100行くらいしか実行してないんですけどね。DBもスカスカですし。
8Mpv/day=100pv/sというのは、ちょっと言い過ぎでは?
或いは304にするかCloudFlare等活用しないと厳しいと思われます。
8ch.netはvichan(PHP+MariaDB)で40kposts/day=0.46posts/sを処理できませんでしたし、
桁はこれで合っていると思います。
だからってGoやNodeがどれほど速いのかは知りません。
(なお上記はスループットではなくレイテンシからの算出なので、実際はこれより早いはずですが)
なお実はBBx規制されており、代行してもらってます。
あまり面倒をかけるのも悪いので、以下に来てくれれば歓迎します。
https://meguca.org/g/2746787
PHPの出力の終了を宣言することは出来ますか?
(そこで一旦通信を終了させ、その後は(ユーザから見て)バックグラウンド的に処理する)
ob_end_clean()はバッファのオフであって終了宣言ではないように見えます。
register_shutdown_function でリクエストの一部にはならない版が欲しいのです。
具体的には、PVの話が出てきて、それもいいなと思ってRead側にもカウンタをつけたものの、
Read/Writeで100倍くらい違うのでこの処理を分けたいのです。
・マルチスレッド(pThread) ← インストール必要
・非同期 ← フレームワーク必須
のため、
・</html>送信後はユーザー側には見えなくなるのでここでやらせる
という作戦を考えましたが、見た目それようの関数がなさそうです。
詳細は後述しますが、これが出来ればユーザ側レスポンスが0.2秒ほど早くなります。
或いはReadに関してはApacheのログをcron等で処理させる方がいいのでしょうか?
ちなみに速度ですが、もう既に遅いです。
XAMPPのローカル環境ですが、純粋にReadだけなら100pv/s程度で、
PVカウンタをDBに持たせるとそこに書き込みが行われ、2pv/s程度まで落ちます。
投稿ならこの倍遅く、1pv/sec程度になります。
まだ味見程度で、全部で100行くらいしか実行してないんですけどね。DBもスカスカですし。
8Mpv/day=100pv/sというのは、ちょっと言い過ぎでは?
或いは304にするかCloudFlare等活用しないと厳しいと思われます。
8ch.netはvichan(PHP+MariaDB)で40kposts/day=0.46posts/sを処理できませんでしたし、
桁はこれで合っていると思います。
だからってGoやNodeがどれほど速いのかは知りません。
(なお上記はスループットではなくレイテンシからの算出なので、実際はこれより早いはずですが)
なお実はBBx規制されており、代行してもらってます。
あまり面倒をかけるのも悪いので、以下に来てくれれば歓迎します。
https://meguca.org/g/2746787
719デフォルトの名無しさん (アウアウイー Sac5-quH2)
2017/10/18(水) 06:48:41.64ID:QGH5jOmla >>718
迷惑だな
迷惑だな
720デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 09:38:34.01ID:ZpnTdM5ra721デフォルトの名無しさん (オイコラミネオ MM8b-NewR)
2017/10/18(水) 09:42:25.90ID:rF9hS7IgM722デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
2017/10/18(水) 12:36:34.56ID:v7V1Syde0 8Mpv/day=100pv/sが言い過ぎってさ…
実際に10年前に今より貧弱な環境で稼働させて
aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった)
PHP4だったというのもあるけどさ
オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない
クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ
名前空間なんてものも当然なかった
DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ
サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw
頭の悪い俺なりの発想
実際に10年前に今より貧弱な環境で稼働させて
aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった)
PHP4だったというのもあるけどさ
オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない
クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ
名前空間なんてものも当然なかった
DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ
サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw
頭の悪い俺なりの発想
723デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
2017/10/18(水) 12:37:11.21ID:v7V1Syde0 昔こんな人と仕事をした事がある
色んな言語やデザインパターンを熟知してて
PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける
めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった)
でもその人が作ったサービスは激重で運用できなかった
俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw
お前らすごいね
実行レベル?イベントモデル?
pThreadだのGoだのNode.jsだのCloudFlareだの
俺には全然分からんわw
それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの?
って事にしか興味がない
だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん
これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…
色んな言語やデザインパターンを熟知してて
PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける
めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった)
でもその人が作ったサービスは激重で運用できなかった
俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw
お前らすごいね
実行レベル?イベントモデル?
pThreadだのGoだのNode.jsだのCloudFlareだの
俺には全然分からんわw
それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの?
って事にしか興味がない
だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん
これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…
724デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 14:36:39.14ID:ZpnTdM5ra PHPもwebrickやnode.jsみたいに
それ自体でサーバになればテストに便利なのに
と思って検索したら標準でビルトインウェブサーバーっていうのがあったんですね
それ自体でサーバになればテストに便利なのに
と思って検索したら標準でビルトインウェブサーバーっていうのがあったんですね
725デフォルトの名無しさん (ワッチョイ 795d-BSx0)
2017/10/18(水) 21:26:02.74ID:451ejlL00 君は知らなかったかもしれないがそれ標準で組み込まれてもう5年半なんだ
726デフォルトの名無しさん (アウアウエー Sae3-B6a6)
2017/10/18(水) 22:56:18.69ID:/mn5vVDsa 長い間情報収集を怠っていたので
世の中想像以上に便利になっててびっくりします
世の中想像以上に便利になっててびっくりします
727デフォルトの名無しさん (ワッチョイ 162a-B/u5)
2017/10/19(木) 04:05:45.17ID:lZeER9v70 >>721
こちらは桁が分かってないので助かります。
マシンは2007年製のポンコツで、書き込みは数文字だけですね。
レイテンシからスループットへの換算はやはり無理があるとして、
レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い)
http://www.techempower.com/benchmarks/#section=data-r4&hw=ph&test=db
>>722-723
opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、
それを最初に確認したのです。>>691
君が書いたコードは細切れのバラバラで、
結果的に使う部分だけ走行するから速かったのでしょう。
それの方がよければそうすればいいだけです。
> 全部テキストキャッシュ
結果的に静的ファイルでキャッシュが効いたということでしょう。
今も同じ問題がCloudFlareにもあります。
> って事にしか興味がない
結果指向なのは正しいと思いますよ。
プログラミングはあくまで手段であり、目的ではないので。
特にネット上だと本末転倒になっている人も散見されます。
全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。
そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。
こちらは桁が分かってないので助かります。
マシンは2007年製のポンコツで、書き込みは数文字だけですね。
レイテンシからスループットへの換算はやはり無理があるとして、
レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い)
http://www.techempower.com/benchmarks/#section=data-r4&hw=ph&test=db
>>722-723
opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、
それを最初に確認したのです。>>691
君が書いたコードは細切れのバラバラで、
結果的に使う部分だけ走行するから速かったのでしょう。
それの方がよければそうすればいいだけです。
> 全部テキストキャッシュ
結果的に静的ファイルでキャッシュが効いたということでしょう。
今も同じ問題がCloudFlareにもあります。
> って事にしか興味がない
結果指向なのは正しいと思いますよ。
プログラミングはあくまで手段であり、目的ではないので。
特にネット上だと本末転倒になっている人も散見されます。
全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。
そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。
728デフォルトの名無しさん (ワッチョイ 162a-B/u5)
2017/10/19(木) 04:06:52.86ID:lZeER9v70 次の質問です。
以下環境でtidewaysが動作している人は居ますか?
A. PHP7.1, Win32, x86
B. PHP7.1, Win32, x64
C. PHP7.1, Linux on VM (つかPHPerの標準環境ってこれ?)
または
D. tidewaysのWindows用ビルドに成功した人、または挑戦する気がある人
こちらはA環境で入れてはみたものの、上手く動きません。
(ライセンス無し、XHPROFの代用での使用)
反応はしており、walltimeが 0, -2,147,483,648, -4,294,967,296 なので、31bitずれています。
おそらくHPETの問題で、以下の
https://github.com/tideways/php-profiler-extension/blob/master/tideways.c#L3308-L3336
のところを修正すれば動く可能性があります。
ただこれはマシンにもよるし、ビルドは嵌る可能性が高い為、
VM等含めて動いている人が居るのであれば動くマシンを探し、駄目なら諦めかと。
誰かビルドに挑戦するのであれば協力はします。
なおビルドオプションは以下が参考になります。
https://ci.appveyor.com/project/tideways/php-profiler-extension/build/4.0.4.215/job/kmxa1he0cjomvjpr
或いは他プロファイラーでいいのがありますか?
以下環境でtidewaysが動作している人は居ますか?
A. PHP7.1, Win32, x86
B. PHP7.1, Win32, x64
C. PHP7.1, Linux on VM (つかPHPerの標準環境ってこれ?)
または
D. tidewaysのWindows用ビルドに成功した人、または挑戦する気がある人
こちらはA環境で入れてはみたものの、上手く動きません。
(ライセンス無し、XHPROFの代用での使用)
反応はしており、walltimeが 0, -2,147,483,648, -4,294,967,296 なので、31bitずれています。
おそらくHPETの問題で、以下の
https://github.com/tideways/php-profiler-extension/blob/master/tideways.c#L3308-L3336
のところを修正すれば動く可能性があります。
ただこれはマシンにもよるし、ビルドは嵌る可能性が高い為、
VM等含めて動いている人が居るのであれば動くマシンを探し、駄目なら諦めかと。
誰かビルドに挑戦するのであれば協力はします。
なおビルドオプションは以下が参考になります。
https://ci.appveyor.com/project/tideways/php-profiler-extension/build/4.0.4.215/job/kmxa1he0cjomvjpr
或いは他プロファイラーでいいのがありますか?
729デフォルトの名無しさん (ワッチョイ a55b-K+MB)
2017/10/19(木) 12:16:50.62ID:NzzKiK+50 > プログラミングはあくまで手段であり、目的ではないので。
> 特にネット上だと本末転倒になっている人も散見されます。
> 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
自己紹介乙
> 特にネット上だと本末転倒になっている人も散見されます。
> 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
自己紹介乙
730デフォルトの名無しさん (アウアウカー Sadd-TM8o)
2017/10/19(木) 12:28:28.36ID:FE92wYZta 僕はプログラミングが目的で仕事はついでです
731デフォルトの名無しさん (ワッチョイ d6b8-Y7bb)
2017/10/19(木) 22:44:13.21ID:KjwMHyuL0 Windows CLIアプリで、EMAILなんかのJIS(ISO-2022-JP)文字コードのファイルを、
読み込んで変換して表示することは出来るのですが、
PHP自体をJISにして、そのPHPに書かれている日本語をechoすると、
undifined variable $Bのようなnoticeが出ます。
もちろんちゃんとコードページにあった文字コード(cp932)に変換はしているのですが、
変換以前に日本語が変数と認識されてしまうようで、うまくいきません。
PHPをJISで保存するなんてことは普通しませんが、
JISでPHPを保存した場合でも、Windows CLIでうまく動作させる方法はありますか?
ttp://tsuttayo.jpn.org/bbs/read.php?FID=2&TID=519
このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。
読み込んで変換して表示することは出来るのですが、
PHP自体をJISにして、そのPHPに書かれている日本語をechoすると、
undifined variable $Bのようなnoticeが出ます。
もちろんちゃんとコードページにあった文字コード(cp932)に変換はしているのですが、
変換以前に日本語が変数と認識されてしまうようで、うまくいきません。
PHPをJISで保存するなんてことは普通しませんが、
JISでPHPを保存した場合でも、Windows CLIでうまく動作させる方法はありますか?
ttp://tsuttayo.jpn.org/bbs/read.php?FID=2&TID=519
このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。
732デフォルトの名無しさん (アウアウエー Sa22-bcII)
2017/10/20(金) 20:31:39.76ID:OAuKO2/4a PHPをJISで実行しなければいけない理由は何ですか?
733デフォルトの名無しさん (ワッチョイ d6b8-Y7bb)
2017/10/21(土) 08:07:53.66ID:7N/u1SNi0734デフォルトの名無しさん (ワッチョイ a568-U5aN)
2017/10/21(土) 10:33:40.68ID:LXe9cSfz0 PHPで作った自作のフォームに書き込みがなされると
メールで通知してくれるようにしている。
鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖)
あいにく候補の移転先はsendmailに非対応だったりする
(スパムメール対策だとか)
こういうときってどうやったらフォームへの書き込みを自分宛に
通知させることができるかな?
メールで通知してくれるようにしている。
鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖)
あいにく候補の移転先はsendmailに非対応だったりする
(スパムメール対策だとか)
こういうときってどうやったらフォームへの書き込みを自分宛に
通知させることができるかな?
735デフォルトの名無しさん (ワッチョイ 555d-0GSP)
2017/10/21(土) 13:19:00.37ID:jXM7J8Fl0 >>733
PHPCSに掛けよう
大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる
internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな
PHPCSに掛けよう
大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる
internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな
736デフォルトの名無しさん (アウアウエー Sa22-bcII)
2017/10/21(土) 13:59:33.75ID:ZxQy+kqda PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話
https://liginc.co.jp/284306
>Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード
こんな記事を見つけました
OPcacheなどを使った場合と比べてどうなのでしょうか?
自分の考えるPHPの魅力は、
Javaからパクったオブジェクト指向、
標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、
といったものがありますが、
Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います
どうなのでしょうか?
https://liginc.co.jp/284306
>Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード
こんな記事を見つけました
OPcacheなどを使った場合と比べてどうなのでしょうか?
自分の考えるPHPの魅力は、
Javaからパクったオブジェクト指向、
標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、
といったものがありますが、
Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います
どうなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 今年の漢字、きょう発表😉 [583597859]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- 安倍さん死んでからの日本終わりだよ
- ひまでんぼ
