忍者ブログ

Velga×Study

一次創作勢のためになりそうなあれこれのおべんきょうブログ

べるすた > > [PR] べるすた > こむぎこ進歩録 > 【おべんきょう】javascriptとPHPってなんなの

♥ [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

♥ 【おべんきょう】javascriptとPHPってなんなの

プログラマの先輩に聞いた!
「自動で創作ログページ作れませんか?!?(超意訳)」って!!!



①サーバー上の特定フォルダに画像データをプールして、
②ファイル名が連番になっている画像データだけを自動で呼び出し、
③別途準備しておいたログページテンプレHTMLに自動で②を埋め込んで
④各ログページを自動生成できるか?

要するに、
決めたフォルダに画像ファイルぶち込むたびに、
勝手にログページが発行されるシステムはプログラムで作れるのか?
ってことです。
(②の連番画像っていうのは、”1ページ内に画像3枚とか連続して貼ったページ”みたいなこと)
(イラストはともかく、漫画はひとつの話をまとめて1ページ化したいでしょ?)

いちいち手動でログページ作って、画像だけ変えて、更新リンク貼って...ってしんどいじゃん。

で、「スクリプトっつうんはそもそもな...??」
って諭されたので、忘れないうちにメモっとくよ!
とてもわかりやすかったのでぜひ!!



最初の質問を実現するにあたって、
・Javascriptでなんかする
・PHPとやらでなんかする
ぐらいは想像ついたんだけど、ちがいを教えてもらったの。

まず、PCで何かページを見たいってなったら、
サーバーさんと、PCさんがいるね。


みんなはPCさんを使って操作をするじゃん?
 


んで、この「~~ください!」って要求されたものを、

サーバーさんががんばってつくって、

端末に届けるのが、PHPなんだって!!

サーバーの中でお料理して、ほしいものを出してあげるの。
(そういうプログラムをサーバに仕込んでおく)

これは、サーバー側で処理をさせるから、サーバーサイドスクリプトというよ!
※PHPは、サーバーサイドスクリプトの中のひとつだよ!


さて、次だよ


「~~~ください!!」ここまでは一緒だね。

おっと!サーバーさんはお料理の材料だけ渡してきたぞ!

なんか端末めっちゃがんばってる。

端末が、サーバーからの材料だけでお料理つくったよ!!

はい!これがJavascriptです!!!!!!!

PHPが、サーバー内で生成した合成結果を提出してくる のに対して、
Javascriptは、材料をもらってから端末上で合成している わけですね!

端末のことはシステム系だと「クライアント」と呼ばれることが多いので、
PHPの「サーバーサイドスクリプト」に対して、
Javascriptは「クライアントサイドスクリプト」と呼ばれるよ!!
Javascriptクライアントサイドスクリプトの中のひとつだよ!


と、いうことを踏まえて、
複雑な処理をさせようとしたときに
どちらが負担が大きいか(処理が重くなるか)というとJavascriptになるね。

リアルタイム性が要求されるもの(スタイルシートの書き換えとか)はJavascriptが得意だけど、
固定の計算結果吐き出すだけの複雑な処理はPHPが得意なんだって

なるほどね。

ということで、最初の問いに対しては
「Javascriptでもできなくはないかもしれないけど独学で組めるレベルの範疇ではない」
(似たような処理をかけたいとき、PHPを選ばない理由がないから)
ということでした。
むぎこが独学で今持っている知識の範囲とかも踏まえた上の先輩の話なので、やる人がやればできないわけではないとおもうよ。

へー!

ちなみにPHPの利用についてはレンタルサーバーごとに可・不可があるので
PHP導入を視野にいれる場合はレンタルサーバーも考えて選ばないと実践できません。

・FC2はPHPとか対応してた。
・忍者は対応してなかった。ざんねん。

----------------------------
まとめ
・PHPは合成結果を端末に吐き出す。
・JavaScriptは端末でいちいち合成。
・サーバーサイドスクリプトと、クライアントサイドスクリプトの得意なことの違い。
・同じ処理でも適材適所でお願いしたほうがスマート。
・お願いの手段は選べるように持っておかないと使えない。

拍手

PR

11 2017/12 01
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Search

Counter