トップページphp
981コメント288KB

PHP関連の書籍 第7版

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/12/27(火) 11:18:37.05ID:Px3be9gS
前スレ
http://kohada.2ch.net/test/read.cgi/php/1213919075/901-1000

よくわかるPHPの教科書,実践マスター PHP+MySQL PHP5対応,PHPレッスンブック―PHP5対応
上記が前スレで割りと評判良かったです。
*プログラミング未経験者向け

0772nobodyさん2012/08/19(日) 16:20:22.88ID:???
>>771
それは、シングルトンがスケールしない
時代遅れな設計だからだね。

さすがだ。
0773nobodyさん2012/08/19(日) 16:23:35.75ID:???
>>770
だよね。
シェアードナッシングだからリソースを共有しない。
だからたとえ同じデータでも毎回データベースなどに取りにいけばいいし。
共有データのために一回のアクセスで済むところを何千回もアクセスすればいいんだよ。
0774nobodyさん2012/08/19(日) 16:26:19.75ID:???
そう。リソースを共有できないため、データベースへ超絶アクセスだ。
シェアードナッシングを実現している
PHPの代表的なアプリとしてはOpenPNE。ついでWordPressなどがある。
これらは次世代型のシェアードナッシングアプリであるな。
0775nobodyさん2012/08/19(日) 16:26:56.63ID:???
なんかネタスレになってきたwww
0776nobodyさん2012/08/19(日) 16:29:37.91ID:???
あのーーー、リソース共有できたほうがよくね?
0777nobodyさん2012/08/19(日) 16:33:11.05ID:???
>>774
データベースへ超絶アクセスする。
これをシングルトンで解決しようと考える奴はイケてない。

なぜなら負荷分散のために、アプリサーバーを
複数台構成にした時、シングルトンでは解決できないからだ。

つまりシングルトンは何も意味が無い。
これがシングルトンが否定されてる理由の一つ。
0778nobodyさん2012/08/19(日) 16:33:54.08ID:???
スケールしないってどんな規模の話しだよ
0779nobodyさん2012/08/19(日) 16:34:10.09ID:???
>>776
そのとおりだよ。

だからリソース共有のために
memcachedなどを使う。

シングルトンでは、リソース共有といっても
複数のスレッドで共有するのが限界で、
プロセスが違っていたり、サーバーが違っていたりした場合
共有できないからね。
0780nobodyさん2012/08/19(日) 16:38:08.51ID:???
いやいやシングルトンなんて使わなくてもいいけど、
シェーアードナッシングってキツイくね?
君がいうアプリサーバーを複数台にしても
OpenPNE君とか悲惨だもんね。
複数台構成にする規模だとPHPを使う意味はないからね。
0781nobodyさん2012/08/19(日) 16:39:25.06ID:???
memcachedを使える環境であればPHP使う意味はない。
おかしな議論するんじゃない。
0782nobodyさん2012/08/19(日) 16:40:37.40ID:???
>>781
> memcachedを使える環境であればPHP使う意味はない。
その根拠が示されるまでは>>781は無視して良い。
0783nobodyさん2012/08/19(日) 16:40:48.72ID:???
facebookの失敗を見れば大規模ではPHPは使うべきでなない。
0784nobodyさん2012/08/19(日) 16:42:04.98ID:???
>>780
> シェーアードナッシングってキツイくね?

きつかったとしてもやらないといけない。
シングルポイントがあれば、そこが一つダウンしただけで
サービス全体が停止してしまう。

最近のクラウドサービスは、シェーアードナッシングか
それに近い状態になってる。
0785nobodyさん2012/08/19(日) 16:42:41.86ID:???
>>782
ルート権限がもてる環境でPHP使う意味なし。
はじめから高性能な言語を使えばよい。
0786nobodyさん2012/08/19(日) 16:43:41.81ID:???
>>784
どうやってOpenPNEを軽くすればいいのですか?
複数台構成でも激遅ですが。
0787nobodyさん2012/08/19(日) 16:44:45.69ID:???
>>784
PHPで構築されたクラウドサービスを教えてください。
研究してみます。
0788nobodyさん2012/08/19(日) 16:45:15.07ID:???
>>783
そのFacebookがPHPを使って
言語よりもキャッシュサーバーが重要って言ってるんだが。

キャッシュがスケーラビリティに大きな役割を果たしている
http://www.publickey1.jp/blog/09/facebook.html
0789nobodyさん2012/08/19(日) 16:46:14.19ID:???
facebookの大失敗>>782

PHPはout of the questionだってさ。
facebookの元お偉いさんが言っているよ。
0790nobodyさん2012/08/19(日) 16:46:49.60ID:???
>>786
まずどこにボトルネックがあるか調べる。
アプリ側か、データベース側か、
アプリ側であれば単純に増やせば良い。
0791nobodyさん2012/08/19(日) 16:48:11.86ID:???
>>788
ごめん、それかなり古い。今はHadoop系。
0792nobodyさん2012/08/19(日) 16:48:52.77ID:???
>>789
だから”元”お偉いさんで、
そいつが作ったサービスは
失敗したんだろうなw
0793nobodyさん2012/08/19(日) 16:52:30.43ID:???
>>790
そんなことは調べているし、実践している。
しかしつまるところ、「シェアードナッシング」だから遅いことがわかっている。
アプリが原因とも言えるがより深い原因はリソース共有できない言語に由来するよね。
こういう場合はどうしたらいい?
0794nobodyさん2012/08/19(日) 16:52:36.29ID:???
>>791
あぁこれだな

Large-Scale Data Processing with Hadoop and PHP (DPC11 2011-05-21)
http://www.slideshare.net/Wombert/largescale-data-processing-with-hadoop-and-php-dpc11-20110521


11. SOME NUMBERS? Facebook ? Google ? New data per day:
? Data processed per month: 400 PB (in 2007!) ? 200 GB (March 2008)
? Average job size: 180 GB ? 2 TB (April 2009) ? 4 TB (October 2009) ? 12 TB (March 2010)
0795nobodyさん2012/08/19(日) 16:54:21.18ID:???
>>788
今は基幹はJava系みたいですよ。
facebookはご存知のHadoopの開発元のひとつでもありましたから。
0796nobodyさん2012/08/19(日) 16:55:54.48ID:???
HadoopってPHPですか?
0797nobodyさん2012/08/19(日) 16:56:47.28ID:???
いつからHadoopがPHPになったのwww
0798nobodyさん2012/08/19(日) 16:58:02.99ID:???
>>793
> しかしつまるところ、「シェアードナッシング」だから遅いことがわかっている。

まずお前の勘違いから正していこうか。
あべこべなことを言ってるから話が進まない。

一言で言えば、シェアードナッシングは高速なGoogleが採用している設計

http://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%82%A2%E3%83%BC%E3%83%89%E3%83%BB%E3%83%8A%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3

シェアード・ナッシング・モデルはスケーラビリティの観点からウェブ開発において頻繁に用いられる。
Google社が例示したように、純粋なシェアード・ナッシング・モデルシステムは廉価な
コンピュータを追加することによりほぼ無限にスケールすることが可能である。

それはシステムの処理速度を低下させる単一のボトルネックが無いからである。
Google社はこれをshardingと呼んでいる。典型的なシェアード・ナッシング・モデルシステムにおいては、
データは異なるデータベースの多数のノードに分散されるか(この場合ユーザやクエリごとに異なるコンピュータを割り当てる)、
あるいは何らかの同期化プロトコルを用い、全てのノードにアプリケーションデータのコピーを持たせる形をとる。
これはdatabase shardingと呼ばれるものである。
0799nobodyさん2012/08/19(日) 16:59:29.02ID:???
Hadoopはミドルウェアで
基幹じゃないだろ。

LinuxがCだから基幹がCと言ってるようなもんだ。
PHPが基幹で、Hadoopを呼び出しているだけだよ。
0800nobodyさん2012/08/19(日) 16:59:43.00ID:???
>>790
OpenPNEってアクセスするだけで相当なSQLを発行するって知っている?
デフォルトでインストールしてデバッグモードで調べるといいよ。
複数台構成にしてもあれだけSQLが多かったらどうにもならないよ。
0801nobodyさん2012/08/19(日) 17:00:27.69ID:???
>>798
PHPとGoogleは違うから、意味なし。
0802nobodyさん2012/08/19(日) 17:01:11.50ID:???
HadoopはPHP起源
0803nobodyさん2012/08/19(日) 17:02:06.24ID:???
>>790
複数台構成にしても発行されるSQLは変わらないから遅いまま
0804nobodyさん2012/08/19(日) 17:02:29.71ID:???
JavaはPHP起源
0805nobodyさん2012/08/19(日) 17:02:37.01ID:???
>>800
はい、詰み。

言語関係ない。
0806nobodyさん2012/08/19(日) 17:03:53.71ID:???
OpenPNEを高速化する方法を求む!
0807nobodyさん2012/08/19(日) 17:04:08.36ID:???
>>803
なら話は簡単だ。シャーディングを行なってデータベース側を増やせば良い
0808nobodyさん2012/08/19(日) 17:04:36.44ID:???
>>807
データベース3台
0809nobodyさん2012/08/19(日) 17:05:13.60ID:???
>>808
ユーザー数やアクセス数がわからんから
それだけじゃなんとも言えんだろw
0810nobodyさん2012/08/19(日) 17:06:01.43ID:???
データベース3台といっても
どうせバックアップに一台とか
そういう話しだろw
0811nobodyさん2012/08/19(日) 17:08:29.63ID:???
簡単な話、毎回同じデータを違う人が別々に取りに行くから遅い。
0812nobodyさん2012/08/19(日) 17:09:06.63ID:???
OpenPNE3で早いところって無いと思うよ。
0813nobodyさん2012/08/19(日) 17:10:10.95ID:???
あの、WordPressもいいですか?
これもなんで遅いんですか?キャッシュ系プラグインを当然いれています。
0814nobodyさん2012/08/19(日) 17:11:04.51ID:???
facebookはphp基幹やめました。いま脱却している最中です。
0815nobodyさん2012/08/19(日) 17:11:40.81ID:???
SQLの発行回数が多いって、
それシングルトンとなんの関係もないじゃんw

さっきから何熱くなってるの?

シングルトン使うように修正すればという話なら
さっさとキャッシュサーバー使えば解決する話。
0816nobodyさん2012/08/19(日) 17:12:37.98ID:???
ワードプレスもまあ遅いわな
0817nobodyさん2012/08/19(日) 17:13:18.84ID:???
>>811
だからキャッシュ使えばいい話ですよね?
0818nobodyさん2012/08/19(日) 17:13:47.84ID:???
OpenPNEってデフォルトで遅いわけでしょ?
開発元もわかっているし簡単にいかないわけよ>>815
0819nobodyさん2012/08/19(日) 17:14:03.70ID:???
>>816
http://ja.wordpress.com/

重いサイトってどれの話?
0820nobodyさん2012/08/19(日) 17:14:51.26ID:???
>>818
だから?

遅い原因がSQLの発行数が多いからって話はわかりました。
0821nobodyさん2012/08/19(日) 17:15:13.53ID:???
>>817
キャッシュ使えばいいんだけど根本から変えないといけないね
あれの場合は。
0822nobodyさん2012/08/19(日) 17:15:51.36ID:???
>>819
全部
0823nobodyさん2012/08/19(日) 17:16:37.96ID:???
OpenPNEってようするに設計がおかしいんだよ。
0824nobodyさん2012/08/19(日) 17:17:13.65ID:???
全部調べられるわけがないので、
嘘ついていることがはっきりしました。
0825nobodyさん2012/08/19(日) 17:17:40.28ID:???
>>819
どれもモッサリしてるなw
0826nobodyさん2012/08/19(日) 17:18:39.57ID:???
>>825
必死すぎで見苦しいよ。
0827nobodyさん2012/08/19(日) 17:19:34.99ID:???
結局のところ、PHPのシングルトンは意味ないんだよね
0828nobodyさん2012/08/19(日) 17:21:07.90ID:???
>>817
外部キャッシュの話ですよね?
OpenPNEでどうやって組み込めばいいですか?
たぶんみんな助かるとおもいますよ。
0829nobodyさん2012/08/19(日) 17:24:20.14ID:???
>>782
大規模開発でPHPを使う意味は?やりにくくない?
0830nobodyさん2012/08/19(日) 17:24:56.42ID:???
>>784
まじであるの?PHPクラウド?
0831nobodyさん2012/08/19(日) 17:26:00.63ID:???
>>827
スケールしたいならキャッシュサーバーを使って話だなw
0832nobodyさん2012/08/19(日) 17:29:05.76ID:???
>>828
えと、あなたプログラマでしょ?

俺だったらソース改造する。

>>829
別にやりにくくないよ。
逆にどうしてやりにくくなるのか理由が聞きたい

>>830
クラウドって、Amazon Web Serviceみたいなものだし。
awsが何提供してるのか知ってるの? 言語じゃないよ。

仮想マシンやデータベース。つまりアプリを作る言語はなんでもいい。
WordPressをクラウドで構築するサンプルをaws自身が提供しているし。
0833nobodyさん2012/08/19(日) 17:33:20.55ID:???
PHPはオブジェクト指向言語の代表格なのでPHPを先に学習すると
JavaとかC#とか簡単に覚えられるし、これからはPHPの高い信頼性を
生かして他の言語で作られたシステム、特に銀行系のシステムが
PHPに置き換えられていくと会社の先輩から聞きました。
そこでオススメの参考書を教えて下さい。
0834nobodyさん2012/08/19(日) 17:35:15.75ID:???
>>832
やはりPHPのクラウドは無いんですね
0835nobodyさん2012/08/19(日) 18:00:43.88ID:???
>>834
PHPのクラウドって?

クラウドを使ってるPHPアプリならあるけど、
「PHPのクラウド」という言い方は意味が分からない。
0836nobodyさん2012/08/19(日) 18:55:58.97ID:???
>>835
あれれ、言い訳ですか?PHPで構築されたクラウドサービスは無いんですね。
0837nobodyさん2012/08/19(日) 19:23:32.90ID:???
あったって言ったら、どんな言い訳をするか見ものだw

PHPのPaaSを提供する「cloudControl」と「PHP Fog」
http://www.publickey1.jp/blog/11/phpcloudcontrolphp_fog.html
0838nobodyさん2012/08/19(日) 19:45:20.38ID:???
国内にもあるでよ
http://phper.jp/
0839nobodyさん2012/08/19(日) 19:45:49.47ID:???
>>837
PHPで構築するのは珍しいらしいな。リンク先に書いてあるよ。
0840nobodyさん2012/08/19(日) 19:50:48.21ID:???
>>832
OpenPNEは最初から別言語で作り直した方がいい。あれはもともとのsymfonyから遅い。
データベースとかキャッシュの問題だけではない。
0841nobodyさん2012/08/19(日) 19:52:26.22ID:???
>>837
OpenPNEもまともに動かない言語でクラウドサービス構築は馬鹿げている。
0842nobodyさん2012/08/19(日) 19:54:01.35ID:???
>>841
OpenPNEを叩きたいの?PHPを叩きたいの?
0843nobodyさん2012/08/19(日) 19:55:53.30ID:???
>>842
たたく意図は無い。
OpenPNEも素晴らしいアプリだし、PHPも素晴らしい言語である。
0844nobodyさん2012/08/19(日) 20:20:51.35ID:???
結論、>>712は正しかった。

712 名前:nobodyさん[sage] 投稿日:2012/08/18(土) 16:59:50.77 ID:???
PHPを構成している言語機能はPHP特有じゃなくて、
他の言語でも見られるものがほとんどなのに、
他の言語で役に立たないというのは理解できないを通り越して
間違ってるだろうな。
0845nobodyさん2012/08/19(日) 20:24:26.79ID:???
すごい伸びてると思ったらまたこいつかorz
構うなよもう
0846nobodyさん2012/08/19(日) 20:26:48.05ID:???
結局、PHPのシングルトンはマルチトンということだね。
0847nobodyさん2012/08/19(日) 20:28:16.38ID:???
>>846

このやりとりをまた繰り返すのか?


766 名前:nobodyさん[sage] 投稿日:2012/08/19(日) 16:14:18.21 ID:???
>>763
いや、だから、プロセスが違えば
他の言語のシングルトンも、マルチトンになるんだよ。

嘘だと思ってるならやってみな。

CLIアプリでいいから、Javaでシングルトン作って、
そのプログラムを2つ以上実行して、
複数のプロセス間で、オブジェクトが一つなのか
複数なのか確認してみ。


769 名前:nobodyさん[sage] 投稿日:2012/08/19(日) 16:18:05.85 ID:???
>>766
君何言ってるの?それ当たり前じゃん。
0848nobodyさん2012/08/19(日) 20:29:37.74ID:???
>>716
そこでなぜあえてスレッドセーフに言及するの?
0849nobodyさん2012/08/19(日) 20:31:16.48ID:???
>>847
論点ずれているよ。
0850nobodyさん2012/08/19(日) 20:32:20.79ID:???
>>849
そう思うのなら、そう思う理由を書かないとダメだw
0851nobodyさん2012/08/19(日) 20:33:01.02ID:???
>>847

↓ここ笑うところ?

CLIアプリでいいから、そのプログラムを2つ以上実行して、
0852nobodyさん2012/08/19(日) 20:33:01.41ID:???
>>848
GoFのオリジナルのシングルトンは
スレッドセーフじゃないからだってさ。
0853nobodyさん2012/08/19(日) 20:33:52.53ID:???
>>851
そう思うのなら、そう思う(略
08548332012/08/19(日) 20:38:23.97ID:???
すみません・・・
どなたか教えて下さい。>>833
最終的にphpで金融機関の基幹システムが作れるようになりたいです。
0855nobodyさん2012/08/19(日) 20:39:50.23ID:???
>>854
銀行系システムのおすすめの参考書ですか?
それとも、PHPのおすすめの参考書ですか?
0856nobodyさん2012/08/19(日) 20:44:07.11ID:???
家族をPHPに殺され復讐に燃える男
数々のPHPスレに現れては失笑を買う
現実での生活は孤独で惨めそのもの
0857nobodyさん2012/08/19(日) 20:44:39.20ID:???
などと意味不明な供述をしており
08588332012/08/19(日) 21:27:28.52ID:???
>>855
PHPで作る銀行系システムのおすすめの参考書です。
0859nobodyさん2012/08/19(日) 21:33:59.60ID:???
>>858
Amazonでもなんでもいいからさ
「○○言語で作る銀行系システム」なんて本があるか?

そういう本はないんだよ。なんでかというと

言語の話と銀行系システムの話は全く別のジャンル。

言語の話と銀行系システムの話で
それぞれ本が数冊書けるぐらいの分量になる。

銀行系システムを必要としている人は少ない。つまり売れない。
しかも機密情報が多いだろうから、具体的に書けない。

まあ、こんなのが理由な。

だから、おすすめの本を探すなら、別々に探すしかない。
言語の本と、銀行系システムの本。
0860nobodyさん2012/08/19(日) 22:29:56.15ID:???
>>858
まずはPHPの絵本から
0861nobodyさん2012/08/19(日) 22:48:44.26ID:???
シングルトンパターンの生き霊にとりつかれてる奴もいる
0862nobodyさん2012/08/19(日) 23:36:14.82ID:???
つまんねぇ煽りだな。
0863nobodyさん2012/08/19(日) 23:59:29.05ID:???
複数のプロセスから一意なオブジェクトが欲しいなら、自分で実装すればいいだけの話し
0864nobodyさん2012/08/20(月) 00:45:33.33ID:???
phpもダメとわかった上で使えば問題無い
0865nobodyさん2012/08/20(月) 01:01:55.63ID:???
PHPのビルトインクラスの参考書ってありますか?
探し方が悪いのか見つかりません。
0866nobodyさん2012/08/20(月) 09:24:16.68ID:nslqf8Gi
>>865
そういうのってソース見ておぼえるもんでしょ。
0867nobodyさん2012/08/20(月) 09:28:46.41ID:???
CとかJAVAの話題だすやつは「PHP上級者が集まるスレ」が
あるからそっちいけ、書籍のスレで関係ない話するなよ
0868nobodyさん2012/08/20(月) 20:44:43.32ID:NNQU6N4q
PHP上級者=CやJAVAの経験者と同じ意味だろ。
0869nobodyさん2012/08/20(月) 23:44:05.30ID:W8yDFzoV
>>860
まあそれを一通り読んで自分がプログラムに向いてるかどうか判断するのには良いな。
0870nobodyさん2012/08/30(木) 12:13:57.57ID:???
基礎からのmysqlを読み終えて、phpの不足分を何かでたしたいんだけど
これの次にやるいい参考書ないかな?
0871nobodyさん2012/09/06(木) 22:22:02.20ID:0Sof1ESB
CとかJAVA言い出す奴ってなんかプロで食ってくこと前提みたいに書くのな。
たぶんここの人の大多数はちょこっとブログとか自分のWEBをカスタマイズしたかったり、
社内のデータ管理とかそんな程度の用途だぜ。
別に銀行のシステム構築するとか電機製品の制御プログラム作るとかなんて奴はいない。
決済システムを自分で作ろうなんて奴もここにはいない。
人様のプログラムをいじろうなんて人もそんな多くない。要は動けばよい。

■ このスレッドは過去ログ倉庫に格納されています