PHP関連の書籍 第7版
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/12/27(火) 11:18:37.05ID:Px3be9gShttp://kohada.2ch.net/test/read.cgi/php/1213919075/901-1000
よくわかるPHPの教科書,実践マスター PHP+MySQL PHP5対応,PHPレッスンブック―PHP5対応
上記が前スレで割りと評判良かったです。
*プログラミング未経験者向け
0737nobodyさん
2012/08/19(日) 02:09:34.71ID:???ここは書籍のスレなんだが、何回注意しても湧いてくる
スレタイ理解できないやつは、phpとかCとか言わなくて
いいから他いけよ迷惑なんだよ
0738nobodyさん
2012/08/19(日) 02:12:06.45ID:???ttp://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
0739nobodyさん
2012/08/19(日) 04:25:19.29ID:tBu2WfHi0740nobodyさん
2012/08/19(日) 06:42:25.01ID:???ただそれだけの事。
0741nobodyさん
2012/08/19(日) 07:49:50.10ID:82eA3w0Rでも売れる理由は良く分かるよ。
ただそれでPHPが使えるように成るかは別の話だけど。
0742nobodyさん
2012/08/19(日) 08:07:15.46ID:???0743nobodyさん
2012/08/19(日) 10:51:59.75ID:yq4xxco/具体的な例をあげるとそこそこ分かりやすいと言われてる「実線マスター」でも
単独では分かり難いけど「PHPの教科書」を併用して使うとかなり分かりやすい。
ちなみにPHPを覚える時にSQLの本を進めてる人が居るけどやりながら
覚えようとするなら絶対にPHPより後回しにするべき。
はっきり言ってまったく別の次元の事だよ。
0744nobodyさん
2012/08/19(日) 11:55:50.50ID:???どちらかというと、内容を批判しながら読める中上級者向け。
0745nobodyさん
2012/08/19(日) 11:58:36.58ID:???> Cやjavaから始めた人間からすればPHPは新たに覚える事が他の言語より多いから使い辛い。
新たに覚えることは他の言語でも同じぐらいの量しかないと思うが?
何を新しく覚えた?
0746nobodyさん
2012/08/19(日) 12:36:36.90ID:hIIxTTnj0747nobodyさん
2012/08/19(日) 12:44:56.59ID:???他にあるのか?
むしろPHPの方が、他の言語より覚えることが少ないだろw
0748nobodyさん
2012/08/19(日) 13:38:11.21ID:???0749nobodyさん
2012/08/19(日) 13:41:34.06ID:???0750nobodyさん
2012/08/19(日) 13:53:38.25ID:???じゃあ、シングルトンの意味は?
0751nobodyさん
2012/08/19(日) 14:23:07.41ID:???違うだろw
元々はPHPの知識が、他の言語に応用が効くかという話
> 712 名前:nobodyさん[sage] 投稿日:2012/08/18(土) 16:59:50.77 ID:???
> PHPを構成している言語機能はPHP特有じゃなくて、
> 他の言語でも見られるものがほとんどなのに、
> 他の言語で役に立たないというのは理解できないを通り越して
> 間違ってるだろうな。
0752nobodyさん
2012/08/19(日) 14:28:53.43ID:???すっかり、PHPとは関係ない話になったなw
デザインパターンの話じゃないか。
言語関係なくマルチプロセス環境ではシングルトンは複数できてしまうもの
シングルトンというのは、同一のプロセス内において
オブジェクトが一つという定義であり、
PHPでも同一のプロセス内でオブジェクトを一つにできる。
0753nobodyさん
2012/08/19(日) 14:51:34.07ID:???馬鹿なバグの原因になる。
当たり前だが、ネットでころがっている他の言語の説明は鵜呑みにするな。
0755nobodyさん
2012/08/19(日) 14:59:30.71ID:???シングルトンって基本はシングルスレッドだぞ。
マルチスレッドの場合、通常のシングルトンコードに
マルチスレッド対応のコードを追加するが。
お前、実はわかってないだろw
0756nobodyさん
2012/08/19(日) 15:04:22.48ID:???http://www.02.246.ne.jp/~torutk/cxx/designpattern/singleton.html
> GoF本の実装の問題
>
> GoF本の実装例のコードが抱える問題点を列挙します。
>
> マルチスレッド安全性がない
> if (instance == 0) { // (1)
> instance = new Singleton; // (2)
この人も書いているように、オリジナルのシングルトンは
マルチスレッド対応されてない。
0757nobodyさん
2012/08/19(日) 15:07:45.57ID:???言ってる意味があべこべだな。
マルチスレッド言語では、シングルスレッド言語のような感覚で
シングルトンは使うな。馬鹿なバグの原因になる。
これが正解じゃないか。
PHPはシングルスレッド言語だから、安心して使っていい。
0759nobodyさん
2012/08/19(日) 15:31:34.09ID:???PHPではシングルトンが複数できるがマルチスレッドの場合は事情が違うから確かにそのとおり。
PHPのシングルトンはマルチトンだからな。
0760nobodyさん
2012/08/19(日) 15:35:25.86ID:???リソース共有しないPHPでは意味ないかもって。
0764nobodyさん
2012/08/19(日) 16:05:36.48ID:???0765nobodyさん
2012/08/19(日) 16:12:16.59ID:???0766nobodyさん
2012/08/19(日) 16:14:18.21ID:???いや、だから、プロセスが違えば
他の言語のシングルトンも、マルチトンになるんだよ。
嘘だと思ってるならやってみな。
CLIアプリでいいから、Javaでシングルトン作って、
そのプログラムを2つ以上実行して、
複数のプロセス間で、オブジェクトが一つなのか
複数なのか確認してみ。
0767nobodyさん
2012/08/19(日) 16:14:50.14ID:???外部キャッシュ使える環境ならPHP使う意味も無い。
0768nobodyさん
2012/08/19(日) 16:15:07.22ID:???> お前、馬鹿じゃないの?シングルトン、公式サイトですら否定しているだろ
シングルトンの何を否定してるの?
シングルトンが意味ないってこと?
そりゃシングルトンの批判だろ?
0770nobodyさん
2012/08/19(日) 16:18:09.36ID:???PHPっていうか、マルチプロセス全般の話だよね。
マルチプロセスでシングルトンを使うには
確かに外部キャッシュシステムなんかを使えばいい。
memcachedとか。
でもそうすると、すべてのプロセスで共通のリソースを使うってことで
その部分がシングルポイントになりボトルネックとなる。
それではスケールしないシステムになってしまう。
つまり、シングルトンという仕組みそのものが、
時代遅れな設計。
そしてそのシングルトンを否定しているPHPは
将来を見据えた言語ということ。
0771nobodyさん
2012/08/19(日) 16:19:14.02ID:???0773nobodyさん
2012/08/19(日) 16:23:35.75ID:???だよね。
シェアードナッシングだからリソースを共有しない。
だからたとえ同じデータでも毎回データベースなどに取りにいけばいいし。
共有データのために一回のアクセスで済むところを何千回もアクセスすればいいんだよ。
0774nobodyさん
2012/08/19(日) 16:26:19.75ID:???シェアードナッシングを実現している
PHPの代表的なアプリとしてはOpenPNE。ついでWordPressなどがある。
これらは次世代型のシェアードナッシングアプリであるな。
0775nobodyさん
2012/08/19(日) 16:26:56.63ID:???0776nobodyさん
2012/08/19(日) 16:29:37.91ID:???0777nobodyさん
2012/08/19(日) 16:33:11.05ID:???データベースへ超絶アクセスする。
これをシングルトンで解決しようと考える奴はイケてない。
なぜなら負荷分散のために、アプリサーバーを
複数台構成にした時、シングルトンでは解決できないからだ。
つまりシングルトンは何も意味が無い。
これがシングルトンが否定されてる理由の一つ。
0778nobodyさん
2012/08/19(日) 16:33:54.08ID:???0779nobodyさん
2012/08/19(日) 16:34:10.09ID:???そのとおりだよ。
だからリソース共有のために
memcachedなどを使う。
シングルトンでは、リソース共有といっても
複数のスレッドで共有するのが限界で、
プロセスが違っていたり、サーバーが違っていたりした場合
共有できないからね。
0780nobodyさん
2012/08/19(日) 16:38:08.51ID:???シェーアードナッシングってキツイくね?
君がいうアプリサーバーを複数台にしても
OpenPNE君とか悲惨だもんね。
複数台構成にする規模だとPHPを使う意味はないからね。
0781nobodyさん
2012/08/19(日) 16:39:25.06ID:???おかしな議論するんじゃない。
0782nobodyさん
2012/08/19(日) 16:40:37.40ID:???> memcachedを使える環境であればPHP使う意味はない。
その根拠が示されるまでは>>781は無視して良い。
0783nobodyさん
2012/08/19(日) 16:40:48.72ID:???0784nobodyさん
2012/08/19(日) 16:42:04.98ID:???> シェーアードナッシングってキツイくね?
きつかったとしてもやらないといけない。
シングルポイントがあれば、そこが一つダウンしただけで
サービス全体が停止してしまう。
最近のクラウドサービスは、シェーアードナッシングか
それに近い状態になってる。
0788nobodyさん
2012/08/19(日) 16:45:15.07ID:???そのFacebookがPHPを使って
言語よりもキャッシュサーバーが重要って言ってるんだが。
キャッシュがスケーラビリティに大きな役割を果たしている
http://www.publickey1.jp/blog/09/facebook.html
0789nobodyさん
2012/08/19(日) 16:46:14.19ID:???PHPはout of the questionだってさ。
facebookの元お偉いさんが言っているよ。
0790nobodyさん
2012/08/19(日) 16:46:49.60ID:???まずどこにボトルネックがあるか調べる。
アプリ側か、データベース側か、
アプリ側であれば単純に増やせば良い。
0793nobodyさん
2012/08/19(日) 16:52:30.43ID:???そんなことは調べているし、実践している。
しかしつまるところ、「シェアードナッシング」だから遅いことがわかっている。
アプリが原因とも言えるがより深い原因はリソース共有できない言語に由来するよね。
こういう場合はどうしたらいい?
0794nobodyさん
2012/08/19(日) 16:52:36.29ID:???あぁこれだな
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:???今は基幹はJava系みたいですよ。
facebookはご存知のHadoopの開発元のひとつでもありましたから。
0796nobodyさん
2012/08/19(日) 16:55:54.48ID:???0797nobodyさん
2012/08/19(日) 16:56:47.28ID:???0798nobodyさん
2012/08/19(日) 16:58:02.99ID:???> しかしつまるところ、「シェアードナッシング」だから遅いことがわかっている。
まずお前の勘違いから正していこうか。
あべこべなことを言ってるから話が進まない。
一言で言えば、シェアードナッシングは高速な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:???基幹じゃないだろ。
LinuxがCだから基幹がCと言ってるようなもんだ。
PHPが基幹で、Hadoopを呼び出しているだけだよ。
0800nobodyさん
2012/08/19(日) 16:59:43.00ID:???OpenPNEってアクセスするだけで相当なSQLを発行するって知っている?
デフォルトでインストールしてデバッグモードで調べるといいよ。
複数台構成にしてもあれだけSQLが多かったらどうにもならないよ。
0802nobodyさん
2012/08/19(日) 17:01:11.50ID:???0804nobodyさん
2012/08/19(日) 17:02:29.71ID:???0806nobodyさん
2012/08/19(日) 17:03:53.71ID:???0810nobodyさん
2012/08/19(日) 17:06:01.43ID:???どうせバックアップに一台とか
そういう話しだろw
0811nobodyさん
2012/08/19(日) 17:08:29.63ID:???0812nobodyさん
2012/08/19(日) 17:09:06.63ID:???0813nobodyさん
2012/08/19(日) 17:10:10.95ID:???これもなんで遅いんですか?キャッシュ系プラグインを当然いれています。
0814nobodyさん
2012/08/19(日) 17:11:04.51ID:???0815nobodyさん
2012/08/19(日) 17:11:40.81ID:???それシングルトンとなんの関係もないじゃんw
さっきから何熱くなってるの?
シングルトン使うように修正すればという話なら
さっさとキャッシュサーバー使えば解決する話。
0816nobodyさん
2012/08/19(日) 17:12:37.98ID:???0819nobodyさん
2012/08/19(日) 17:14:03.70ID:???http://ja.wordpress.com/
重いサイトってどれの話?
0823nobodyさん
2012/08/19(日) 17:16:37.96ID:???0824nobodyさん
2012/08/19(日) 17:17:13.65ID:???嘘ついていることがはっきりしました。
0827nobodyさん
2012/08/19(日) 17:19:34.99ID:???0828nobodyさん
2012/08/19(日) 17:21:07.90ID:???外部キャッシュの話ですよね?
OpenPNEでどうやって組み込めばいいですか?
たぶんみんな助かるとおもいますよ。
0832nobodyさん
2012/08/19(日) 17:29:05.76ID:???えと、あなたプログラマでしょ?
俺だったらソース改造する。
>>829
別にやりにくくないよ。
逆にどうしてやりにくくなるのか理由が聞きたい
>>830
クラウドって、Amazon Web Serviceみたいなものだし。
awsが何提供してるのか知ってるの? 言語じゃないよ。
仮想マシンやデータベース。つまりアプリを作る言語はなんでもいい。
WordPressをクラウドで構築するサンプルをaws自身が提供しているし。
0833nobodyさん
2012/08/19(日) 17:33:20.55ID:???JavaとかC#とか簡単に覚えられるし、これからはPHPの高い信頼性を
生かして他の言語で作られたシステム、特に銀行系のシステムが
PHPに置き換えられていくと会社の先輩から聞きました。
そこでオススメの参考書を教えて下さい。
0835nobodyさん
2012/08/19(日) 18:00:43.88ID:???PHPのクラウドって?
クラウドを使ってるPHPアプリならあるけど、
「PHPのクラウド」という言い方は意味が分からない。
0837nobodyさん
2012/08/19(日) 19:23:32.90ID:???PHPのPaaSを提供する「cloudControl」と「PHP Fog」
http://www.publickey1.jp/blog/11/phpcloudcontrolphp_fog.html
■ このスレッドは過去ログ倉庫に格納されています