このはてなから皆様のアドバイスのおかけでPHP&mysqlを使ったウェブサイトをつくることができました!ありがとうございます!
今回質問したいのが次に何を勉強していけばいいか?ということ。
【自分の保持スキル】PHP&mysql(初心者レベル)(cakephpなどフレームワークなし)、html
【実現したいサイト例イメージ】
http://pazudora-friend.com/
http://luidas.com/pazudora/
http://sdsm.biz/pzdr_bbs/
http://tak1.info/
パズドラのそれぞれのユーザーにひもづくIDがありまして、他人のIDをもとにフレンドになっていくというものがあります。(どんなモンスターを使っているか等希望をのせれます)
PHPでできると思いますが、画面遷移などさせずになど考えておりJAVAスクリプト(jQuery含含む)の知識を身につければ開発が可能ではと思っておりますがいかがでしょうか。
際限はないと思いますが、JAVAスクリプト以外にこれを勉強した方がいいなどありますでしょうか?
ざっくりな質問で恐縮ですが、おおまかで結構ですのでこれとこれをやっとけみたいな感じでいただけると幸いです。
絶好調さん,初期のステップから見守っておりましたが,ここまでよく頑張りましたね。
今後も絶好調でいらっしゃってください。
さて,プログラミングの勉強法の件ですが,常に
という考え方をするのがよいです。
あのid:amachangも支持している,非常に適切な勉強法です。下記をお読みください。
遅延評価的勉強法 - IT戦記
http://d.hatena.ne.jp/amachang/20080204/1202104260
今回の場合は,Webアプリにこんな機能を持たせたい,という夢や要望をたくさんリストアップして下さい。
それらが目的(ゴール)で,習得すべき技術を吸い寄せる,強力な磁石のような働きをしますよ。
それら作りたい機能の一つ一つの実現のために,習得すべき技術やライブラリ等が,そのつど見えてくる。というわけです。
たとえば,サイト例の一つ目のように
「パズドラに関連したニュースを自動的に収集してトップページに掲載したい」
という目的があれば,web上のクローラやボット,バッチ処理,XPATHを使ったページ解析,RSSの扱いなどを習得する必要に迫られます。
「サイトをしばらく運営したら全体が重くなってきたので速度を改善したい」
という要望があれば,その願いをかなえるために
DBのインデックス,SQLのオプティマイズ,キャッシュ機構の導入,ブラウザ上でのパフォーマンスアナライザの使い方と読み方,Webアプリのベンチマークの取り方,サーバのレプリケーションやクラウドサービスの導入
などの先端Web技術を,否が応でもいっきに学ぶことになります。
実現したい機能という目的があれば,手段(習得したい技術)は吸いついてくるんです。
なので,夢を持ち続けてください。
その夢をWebアプリの機能レベルに分解して,機能の実現方法をその都度調べ,
一番いい方法がどれなのか迷ったら,複数の手法を試して比べてみたり,
どの方法がお勧めかを他人に尋ねればいいんです。
自分が作りたいものを作るわけですから,モチベーションを常時保ち続けることが可能になりますよね。
逆をやってしまうと,あまりモチベーションが無いし,時間をかけた割に喜べる成果も出ないので,途中でプロジェクトが立ち消えになってしまいますよ。
以上が,ニーズとシーズに分けた場合の「ニーズありき」の考え方です。
次にシーズをベースにした勉強法という考え方ですが,
まだ利用目的のわからないシーズを,一定量集めておくのは良いことです。思わぬアイデアが浮かぶので。
feedlyなどのRSSリーダか,またはGoogleアラートなどの通知サービスを使って,自分の関心のある技術領域をキャッチアップし続けましょう。
たとえば「Wordpress」というキーワードでアラートを作っておけば,それに関連した最新情報を自動的に入手してゆけます。
ただ漫然と本やサイトを眺めているだけでは,どれが自分に役立つのか判断しづらいので,キーワードを絞って情報収集をし続けるのです。
そして気になったものがあれば使ってみます。良いなと思ったら自分のサイトに導入します。
このサイクルを繰り返します。
ジェネラルなWebアプリのスキルで言うと,下記のものの基礎は順番に押さえておきましょう。
・html5,CSS3,モダンなJavaScript,jQuery。jQueryは,今回の場合だと,特にAjaxとUIの充実の情報。およびそれらをブラウザ上でサクサク取り扱うための開発ツール(Firebugとかデバッガ類)に習熟しておく
・いまどきのマルチデバイスに対応するためのレスポンシブ関連の話題(Webアプリをスマホとかタブレットでも使いやすくしておく)
・GIMP等,画像加工やデザイン処理の取り扱い。デザインやUIなど見せ方全般の話題
・SEO等,人気のあるWebサイトとして成立させるためのマーケティング技法,もしくはアクセス解析技法
・Webアプリのパフォーマンス関連の話題
・Webアプリのセキュリティや脆弱性関連の話題(これは知っていないと深刻です)
・MVCモデルやフレームワークでWebアプリを設計することのメリットと実現方法。つまり設計やアーキテクチャの話(そのうちメンテしきれなくなって必ず必要になります)
・だんだん進んできたら,ネットワークの勉強をしてから,クラウドへの移行が必要になってくるかもしれませんのでその辺の話題へステップアップ。ここまできたらLinuxや仮想化ソリューションも必然的に使えるようになっているでしょう。
以上のように,ニーズをベースにした勉強法と,シーズをベースにした勉強法のバランスを取るのがベストです。
これで,少し先が見通せるでしょうか。
私以外の回答が付かなかったのが少し意外かつ残念ですが,今後に多少なりともお役立てれば幸いです。
(印刷するほどかな…。)
また別の機会にも,ちょっと角度を変えてご質問されれば,どなたか秀逸なアンサーを付けてくれるでしょう。
ネットビジネスでの成功から,Webサービスの立ち上げへ回帰なさったお方だったんですね。
ITの世界では,あなたのような人が,起業家になります。
学生が始めたFacebookも,ネット黎明期に単なる電話帳だったYahooも,
その他シリコンバレーにいる皆も,自分のまいた種が一大Webビジネスになって
自分たちが後から起業家と呼ばれるとは思いもよらなかったかもしれません。
だけど,あなたの場合はドリームラインがありますね。
そのガッツを失わないでください。
勉強の意欲や方法論のこまごました事は,ガッツ(情熱)についてきます。
そのガッツを失ったらオシマイです。
残業してキーボード打つだけのプログラマーになり下がってしまいますよ。
書籍の「情熱プログラマー」を読むといいです。
そして,ご自分のゴール到達までの間に困った事があったら,いつもその本を原点として出発し直すんです。
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06793-8
これは,「達人プログラマー」「アジャイルプラクティス」「プロダクティブ・プログラマ」などのバイブルに並ぶ名著です。
ご自分でバリバリ書いてみて,いろいろサービスを立ち上げてみる時期を経るのは,すごい貴重な経験ですね。
あとでマネージャになるとしても,その数年間の経験は必ず後から生きますよ。
なぜかというと,自分でバリバリコードを書いてた経験を持ってれば
「技術者の素質を見抜く目」を養う事ができるので,
仲間になってくれる優秀な友人達を得やすい・雇いやすいんです。
逆に,世の中では,コーディングをした事のない人がプログラマーを雇って
指揮を振るってるので,うまくいかないで破綻するプロジェクトも多数です。
自分自身の技術的な個性がはっきりしていれば,その個性が光りますから,
同じような考え方を持つ仲間も見つけやすいんですよ。
大企業の歯車として動く場合は,アドバイスの申し上げ方もまた異なってくるんですが,
今回はベンチャースピリッツを持った方へのアドバイスですよね。
しかもはじめからビジネスを十分意識なさっていて成功経験もあると。
そうすると,Web/ITビジネスのはじめ方としては,
「はてな」取締役の id:jkondo 氏の経験がひじょうに参考になると思います。
もしかしたら,部分的には似たようなルートをたどるんじゃないでしょうかね?
彼もWebに対して社会的使命感を感じていて,その後サービスを立ち上げ,
自分でエンジニアとマネジメントの両方をしました。
株式会社はてな 代表取締役社長 近藤淳也さん | 就職ジャーナル
http://journal.rikunabi.com/p/special/entrepreneur/6812.html
あとは,私が書いた記事の中から,ここで役に立てそうなものを見つくろったのですが
下記3つをここに残そうと思います。
起業家ではなく主にプログラマ・SE向けの内容ですけど,
基本理念は共通して役立つはず。
---
エンジニアとして,成功するための5つの秘訣 (3つのIN,2つのOUT) - 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/20101113/p1
-どうやって勉強のバランスを取ったらよいか。やりすぎたり,やらなさすぎたらどうなるか。毎日,どういうルーチンを積み重ねたらよいか。
仕事がストレスなら,知識を増やせ。 SEの視点での書評:「勝ち残りSEへの分岐点」 - 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/20110411/p1
-技術に関わる仕事をするにあたり,スランプに陥るような時がかりにあるとしても,「知識」はどう助けになるか。
私が尊敬するプログラマー,5人 (「好みを持つこと」の重要性について) - 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/20130927/FiveBestFavoriteProgrammersIRespect
-技術者として成熟した段階なのであれば,どういうタイプの質問に即答できるはずか。そうなるためには,どういう思考法をすれば良いか。
---
名前も顔も存知あげない、lang_and_engineさんとつながりアドバイスをいただくことができるはてなというサービス、そして、ウェブの魅力にあらためて気持ちが高ぶっております。
早速、情熱プログラマーを購入しました!アマゾンから届くのが楽しみです!
書かれている記事なども拝見し、勉強になりました。
ありがとうございます。
今後は、市場が何を求めているか?これはウェブ会社などのリサーチ会社などを通さず、街に出ていろんな人にアンケートを取って必要な物を実感したり、どんな目的でサービスを作り上げるかを具体的に考えたいと思います。
*個人的にはネット社会だからこそ人に直接聞いていく、そのあたりが非常に大事なのではと今は思っております。
その上で、自分の技術力のインプット。
同時に、仲間をつくっていきながら開発と改善を繰り返していくみたいなことを考えております。
また、質問をすることなどもあるかもしれませんが、今後ともよろしくお願い申し上げます。