photo credit: wistechcolleges via photopin cc
以前以下の記事を読んでいて、「すげーなー、Web初心者だったのに1年半でバリバリWebデザイナーとして活躍してすげーなー」と素直に感心しておりました。
Web初心者だった私がWEBデザイナーになって1年半で勉強したこと・使用しているツールまとめ|OZPAの表4
んで自分の事考えてみると私もずっと出来なかった苦手意識のあったプログラミングでしたが、Webをやってみたい!という事で勉強して8ヶ月でどうにかこうにかWebプログラマーとして開発できるレベルになったのは、自分でも頑張ったやん俺!と思うわけです。
学生時代にCOBOLとJavaに触れて、新卒で入社した会社でも研修で1ヶ月間Javaをやり続け。っとやり続けたのに結局はプログラミングが出来なくて、それから何度か再挑戦してもプログラミングが全く出来ない。自分はプログラミングができない人間なのだと思い込んでおりました。
が、2014年の1月に入社した会社でプログラマーとして入社して、Webプログラミングを始めて今では小規模~大規模な修正、新規機能の開発、新規サイトの立ち上げと経験を積みました。
実際にまだまだ経験は浅いけれども8ヶ月でWebプログラマーとして仕事ができるようになりました。
今回は私が8ヶ月間でWebプログラマーどんな勉強をしたのか、どうやって理解していったのかといった所を思い出しつつ記述していきます。
8ヶ月でWebプログラマーになるまでに勉強した事
photo credit: djfiander via photopin cc
HTML/CSS
今回私はWebプログラマーになりました。メインの言語はPHPになるのですが、PHPはHTMLとの相性抜群であり、Webサイトを作る為に存在しているような言語でもあるので、当然HTMLとCSSの一般的な知識は必要になります。
Webデザイナーになるほどの知識や経験は私にはなかったし、実際にHTMLやCSSは外注先のデザイナーさんがガリガリ書いてくれたけど、その中にPHPを組み込む為にもHTML/CSSのある程度の知識は絶対必要ですね。
以下の本でWebページを1から作る練習ができるので、結構勉強になりました。
あとドットインストールのHTMLとCSSを見ておくとザックリ理解できます。
HTML入門|ドットインストール
CSS入門|ドットインストール
PHP
私はWebプログラマーになったわけですが、メインの言語はPHPです。
基本的な事、例えば配列とかif分とかfor分とかforeach分とかその辺の事はまず初心者向けの本やら、Webサイトで学んでおいた方が良いと思います。3日もあれば大体「ふーん、こんな感じねー」と理解できます。
で、私自身もそうなのですが、その辺の事わかったからってプログラム書ける気が全くしないのです。
なので、実際に1つ簡単なWebサイトでも作成してみると良いと思います。そうするとPHPに以外にも上記、下記で書く技術が必要な事に気づくのですが・・・
以下の「いきなりはじめるPHP」という本は実際に掲示板をDBと連携させて作っていく本なので、ひと通りやってみるとなんかしっくりくると思います。
あとドットインストールの応用編あたりは文法から一歩踏み込んだ事をするので、やってみるとプログラミングしてるわー俺ーと実感できるし、勉強になります。
よく使う文法レベルであればドットインストールの勉強で充分。そんで「こんな事できないかなぁ」という関数があれば、都度Googleに聞くという方法で勉強しました。
PHP入門(基本編)|ドットインストール
PHP入門(応用編)|ドットインストール
PHPフレームワーク-Codeigniter/Symfony
実際にWebサイトやECサイトを作成する場合、フレームワークを使う事が多いでしょう。PHPだけで作り上げていく男気溢れるあなたには必要ないかもしれませんが、私が入社した会社ではCodeigniterとSymfonyあたりのフレームワークをよく使っていました。
フレームワークに一度触れておくのは非常に良いかと思います。
フレームワークに全く触れたことがない状態だと、フレームワークというものがどんなもんなのか、なんで便利なのかという事が全くわからないので1つ何かに触れておくと新しくフレームワークに触れた時の理解度が違うかと。
Codeigniterはかなり自由度の高い勉強コストの低いフレームワークなので、始めて触れるフレームワークとしては良いですね。Symfonyはかなりフレームワークらしいフレームワークというか、ルールが多いので多くの勉強コストは必要です。
Javascript
PHPだとブラウザ上で動きのあるサイトを作る事ができません。例えばECサイトで商品を選んで、オプションをラジオボタンやチェックボックスで選択した時には、リアルタイムで合計金額を表示したいものですね。
そんな動きのあるサイトを作るにはJavascriptも覚えなくてはいけません。
JavascriptはPHPとも相性がいいですし、文法も結構似ています。Web開発していくと絶対Javascript必要になるので、その時に勉強してもいいかも。私はそうでした。
何か特別に本は読みませんでした。Webで調べまくったり、やっぱり便利なドットインストールを見ました。
jQuery
jQeryはまだ中身を修正するような事までしていないし、文法とかほぼ理解してないけど、スライダーとかスマホ向けのメニュー画面とか作る時にめっちゃ重宝しています。
今はまだ基本必要なファイルダウンロードしてきて、読み込んで表示できたー。状態だけど、そんな状態ですら便利なのがjQuery。
もっと理解すれば便利度は半端ないんでしょうね。
一応スラっと読んでまだ積ん読状態になっているけれど、jQueryならこの本が絶対的名著みたい。
正規表現
フォームのバリデート処理とか、if文で「この文字列が含まれる時~」とかの処理を書く時に正規表現使いました。
プログラム書いていると月に1、2回正規表現の事調べたので多分プログラマーには正規表現必須なのだとこの時悟りました。
大体は必要な正規表現をその時その時調べておきますが、全体観をさらっと理解しておくとその時その時の調査時間を短くできますよ。
私は以下のページで、実際に正規表現を書いてみて実際のデータがマッチするのか、しないのか。という事を調べていきました。
MySQL、SQL
多くのWeb開発にはDBと連携する事でしょう。PHPはMySQLとの相性もいいのです。
その為、MySQL、SQLと知識もある程度必要になってきます。SELECT、FROM、WHEREといった基本的な文法はもちろんJOIN、GROUP BYなど、
「へーSQLってこんな事も出来るんだー」
という事を覚えておく事は絶対的に必要です。SQLで想定通りの必要なデータさえ引っ張ってこれれば、ぶっちゃけ後はプログラムは流れる様に作業出来るようにも思えます。
なんかこの8ヶ月間SQLで一番詰まってた気がします・・・。多分phpMyAdminがなかったら結構やばかった・・・ホントに・・・。
Git
1人でプログラミングするときにも以前のバージョンに戻したい!とかあるんですから、チームでプログラミングする場合にはもちろんそんな事発生しまくります。
私も数人のチームで開発をしていたので、バージョン管理にGitを使っています。
最初Gitって何やねん!!って今でもGitの事全体はわかりませんが、とりあえずドットインストールと、サルでもわかるGit入門を読んで概要を理解しました。
このスライドも非常にオススメ!
その後自分でGitサーバーとかを立ててみて、そして実際にpullとかcommitとかpushとか、競合とか起こしてみて理解を深めていきました。
Eclipse使うならプラグインEgitが使いやすかったですねぇ。なんかたまにコマンドなら出来るのに、Egit上だとできない機能とかありましたけど。
Linuxの事、httpdとかiptablesとか
ちょっとザックリしてしまうけど、サーバーの知識、Linuxの知識とかも必要になってきます。実際にサーバーに置いて、正しく表示出来て初めて本番稼働した事になるわけですしね。いくら開発環境で動いても本番で動かなければ意味がありません。
私の場合ですが、CentOSインストールして、iptables設定して、Apacheインストール設定して、MySQL、PHPインストールして。
その後GitとかRedmineとかもインストールしてみたりと色々試して勉強しました。
その時はVagrantで仮想環境をさっくり作って、勉強しておりました。
Vagrant入門|ドットインストール
ローカル開発環境の構築|ドットインストール
番外編:Webプログラマーにになるのに読んで勉強になった本
実際に勉強した事は上記の通りです。
んで、番外編ですが、勉強して読んでおいて為になった本は以下の本です。全部細かく読もうとせずにまずはざっくりと概要を掴んで、そして困った時にしっかりと読み込んでいくという感じで良いのかなぁ。と個人的には思っております。
コメントはこちらへ!