はてなキーワード: XAMPPとは
留年した上に、色々とどん底だったので引きこもりがちになった。
暇だったので、ウェブサービスでも作ろうと思いたった。
どうにか形になったので、誰かの参考になればと思い、その経緯を書いてみる。
■出来上がるまでのあらすじ
ウェブサービスを作るには、プログラムが書けないとダメらしいので勉強する事に。
主にPHP,ruby,pythonなんかがメジャーらしく、最近ではrubyが人気だと知る。
Rubyを勉強しようかと思ったけれど、PHPのほうがオススメとどっかのブログに書いてあったのと教科書がたくさんあったのでPHPを勉強することに。
「よくわかるPHP」みたいな入門書で一ヶ月くらい勉強して、ある程度は書けるようになった。
本格的なウェブサービスを作るにはフレームワークを使えと書いてあったので、cakePHPを勉強した。
開発環境にXAMPPというのをインスコしようとしたけれど、上手く行かず、結局レンタルサーバー上で作る事に。
HTMLとかCSSとか、1から勉強するといつまでも終わらない気がしたので、フリーのテンプレートを探した。
http://cakephp.seesaa.net/article/20616700.html
ここのサイトは無料で商用化だったので、それをちょっとだけ変更して使った。
考えていたウェブサービスはTwitterのつぶやきを自動回収して検索できるというもの。
自動回収するには、プログラムを定期的に動かす必要があり、cronと言うらしい。
LINUXとかの知識が必要と書いてあったが、LINUXなんてわからないし、勉強しようにも空いているパソコンなんてないので焦る。
その後、レンタルサーバーによってはcronの機能を提供しているという情報を得る。
借りていたXサーバーにもその機能はあったので、書いたPHPプログラムを走らせてみたら、無事動いた。
後は、簡単にDBの仕組みと検索とページネーションというのを勉強した。
検索とページネーションを実現するのが、難しくてモチベーションが下がったけれど、プラグインという便利なものがあったのでそれを利用したらなんとかできた。cakePHPとかフレームワークはプラグインが充実していると後で知る。
このまま公開しようかと思ったけれど、セキュリティ関係が怖かったので一通り勉強した。
ゆーすけべーさんのサイトに「安全なWebアプリケーションの作り方」がオススメと書いてあったので、読んで実践した。
■完成
そして、なんとか完成したのが
@ごちです
というウェブサービス。
Twitterから食事の記録が簡単にとれるというウェブサービスです。はっきり言ってウェブサービス(笑)程度の出来ですが、自分としては頑張ったつもりです。
製作期間は一ヶ月くらいです。
ずっと家にいて、試行錯誤していたので作業時間は一日8時間くらいです。
多分、一流のプログラマなら半日もかからないで出来るレベルでしょうが、自分では思ったより早く出来たような気がしています。
これは上にも書いた通り、無料テンプレートを使ったのでほとんど勉強していません。
ただ、テンプレートをいじくるのにも最低限の知識は必要なので「HTML&CSS辞典」みたいなのを買ってきてわからない事はその都度調べていました。
・PHP
『よくわかるPHPの教科書』というので勉強した後、『パーフェクトPHP』で勉強した。
あと、プラグインなんかについてはその都度、グーグル先生に聞いたり、プログラマのブログを参考にさせてもらいました。
こことか、
http://torhamzedd.halteria.com/2012/01/cakephp20search-plugin2.html
こことか、
http://libro.tuyano.com/index2?id=734001(cakePHPに関しては、ここが1番わかりやすかった。個人的に)
『よくわかるPHPの教科書』で最低限のものを勉強した後、グーグル先生を使って独学。
「安全なWebアプリケーションの作り方」を読んで、自分の書いたプログラムをチェックしました。
フレームワークを使えば、(ある程度はフレームワーク側で処理してくれるので)初心者でも比較的簡単にセキュリティ対策ができるようです。
■偉そうにアドバイスなんかしてみる。
アドバイスなんて出来る立場じゃないけど、プログラムは最低限のものが書けて読めれば後は他力本願でなんとかなると思います。
難しそうな事があれば、ライブラリやフレームワークに頼ればなんとかなります。
あとは、集めてきたライブラリなんかを切り貼りすればどうにかなりました。
後はわからない事はグーグル先生か、質問サイトで聞けば教えて貰えます。
ただ、配列や変数などのプログラムの基本的な仕組みを理解しないとOKwavweとかヤフー知恵袋でも解答をもらえないような意味不明なエラーが出ます。
基本的な文法エラーは
http://jp.piliapp.com/php-syntax-check/
こういうサイトでチェックしていました。
エディタやなんかはvimとか高級な奴は多機能過ぎて意味不明だったので「サクラエディタ」を使っていました。
デプロイ(プログラムをウェブ上に公開して使えるように準備することらしいです)も自動化するべきらしいのですが、普通にFFFTPで手動でデプロイしていました。
まったくプログラムがわからない状態から初めて一ヶ月ほどでそれっぽいものが出来ました。
ネットの世界には自分みたいな初心者にもわかりやすく解説してくれている先輩たちがたくさんいます。
最低限のことは勉強する必要がありますが、後はグーグル先生や先輩のサイトに頼れば思ったより早くいろんなものが出来ると思います。
なにより、自分の書いたプログラムが動いているを見るとすごく感動します。
あ、よければ@ごちです使ってやってください。
最近、プログラミング言語があんまし進化していないような気がする。
まあ、確かにフレームワークとかはできたけど、苦労の割にはあんまし便利になっていない。
覚えなきゃいけないことも増えているし。
ところで、面白いプログラミング言語を見つけた。
言語自体はかなりへっぽこ。
(SAPの人、すみません。あくまで私見です)
でも、便利な部分があるのだわ。
SAPが開発した部分って、基本的には変更不可能。
まあ、そりゃそうです。まともに動かなくなったら困るしね。
でも、新しいバージョンではちょっと違う。
もともとあるプログラムの上にレイヤーを重ね、そこにプログラムを書くことができる。
これ、便利だわ。
SAPの方にバグがあったら、SAPのプログラム修正版を上書きする。
その時、レイヤーみたいな形式で俺が上書きしたプログラムは無視される。
なので、俺のプログラムは残ってる。
標準のプログラムの上にレイヤーみたいな感じでプログラムが組めると、こんなに便利だとは思わなかった。
ちょっと考えてみてほしい。
レンタルサーバのさくらインターネットを借りたとしよう。
PC上にXAMPPをインストールして、検証環境にしてみたとする。
さくらインターネットのMySQLはバージョンが古い。
なぜかUnicode限定。
こんな時、SQL分を実行する際、execute系の関数を上書きできたら便利じゃない?
EUCでもUnicodeでも使えるようにするとか、オープンソース上のコードを全部調べるとか。
でも、それめんどう。
こんな時、レイヤーを重ねてexecute系の関数の入り口で文字コード変換できたら・・・・
すっげー楽になる。
ぐぐったらそのものズバリっぽいのが出たw
(「10分で作るCakePHPアプリ for Windows」http://p4life.jp/cake/ )
ほんとにWEBに色々解説が落ちてるね。
とりあえずこのへんからはじめてみます。
なるほど、確かに環境の構築が一番大変ってのは感覚として理解できる。
うん、まずはXAMPPとやらをキーワードにGoogle先生に質問することからはじめるよ!
具体的に着地可能な目標の設定が必要だなぁ…。
とりあえずXAMPP入れるんだ!
PHPでちょっとしたサービスを組むならXAMPPでちょっとPHPに慣れた後にCakePHPでつくるといいよ。
わからないことあったら増田に質問書いたら俺答えるよ。
って、これじゃ答えになってないな。
どうしても本を買いたいなら、PHP本なら何でもいいと思うよ。ただしXAMPPのインストール方法が書いてあれば一番良い。
XAMPPってのはWindowsでPHPを動かす環境をすぐにインストールできるセットね。
プログラミングを始めるときに一番大切(そして躓く)のはHello, world!を出力することではなくプログラムを実行できる環境の構築だから、そのことを理解している人が書いた本が良い。