4月になり,新入生が入学してきた.
私はコンピュータサークルに所属する2回生で,WebアプリとかiOSアプリとか作るのが好き.
私達のサークルにも1回生が入ってきて,その新入生歓迎企画で1回生とペアプログラミングをする企画がある.
その中で,Web系に興味が出てきたという人が数人いた.
「Web系のこと勉強するならどうすればいいですか?」という質問を複数の1回生から頂いたので,いい機会なので個人的な意見をまとめとこうかと思う.
私も決して詳しいわけではないので,あとでツイートしてお強い先輩方からエアリプをもらう(期待)
まぁアプリ勢がサークルに増えるのは良いことだと思うし,わかってる人には当たり前だろと言われることしかないが,書く.
では,個人的に考えるWeb系を勉強したい人が学ぶべきこと.
ついでに,わずかながら参考サイトもつけておく.
HTML,CSS
ウェブページの内容を書くHTMLと,デザインを定義するCSS.
なにをしようにもWeb系でこれがなければ話にならないし,文法もそこまで複雑なものでもないので手を付けるのにはいいと思う.
ネット上にいろんな資料が落ちてるので,自分にあったサイトで学べばいい.
ただ,手を動かしながらやるのがいいと思うので,個人的にはProgateかドットインストールあたりが良いんじゃないかなと.
JavaScript
HTML,CSSの基礎を学んだら,JavaScriptあたりがとっつきやすいんじゃないかと思う.
実行環境がWebブラウザにあるので環境構築とかも不要だし,なにより動きがあるので書いていて楽しいと思う.
これも,ネット上にいろいろ勉強方法は落ちている.
同じくProgateやドットインストールはいい感じにいろいろ提供してくれる.
ドットインストールは,「JavaScriptでなにかを作ってみよう」という講座が結構あり,おみくじや電卓など,簡単なものを実際に作ってみることができる.
本などで勉強するだけだと飽きてしまうことも多いので,真似して作ってみて,それを自分なりに改造するといった手順がいいんじゃないかなと思う.
この辺り,簡単なものだけど,昔やった時はめっちゃ楽しかった.動くものが作れるから.
jQuery
JavaScriptをさらに便利に使えるフレームワーク.
jQueryは初心者でもすいすい学べるし,DOM操作はWebアプリとか作る上で必須なので学んでおいたらいいかなと思う.
これもProgateにあったはず.
ドットインストールにもいろいろ作ってみよう講座があるので,遊んでみよう.
で,jQueryを学んだらユーザスクリプトとか書いてみると面白いと思う.
ユーザスクリプトは,既存のWebページにjavaScriptを埋め込んで実行するもので,いつも使ってるサイトに自分だけのボタンをつけたりできる.
最低限のLinux関係
ここまで見てきたものは,テキストエディタとブラウザさえあればよかったけど,Webアプリを動かす上で,受け取ったデータを処理するサーバサイドの言語だったり,データを記録するデータベースをいじる必要が出てくる.
そんな中で,Linuxの知識は最低限必要になってくるんじゃないかなと思う.
UNIXコマンドの入門はドットインストールにある.
もうちょい詳しいのがLPICのホームページからダウンロードできる.
サーバサイド言語
この次はRuby,PHPなどのサーバサイド言語を学ぶのがいいかなと思う.
すでにJavaScriptを学んでいるわけなので,次にプログラミング言語を学ぶのはそんなに大変ではない.
個人的にはRubyが好き.
Prpgateに基礎がある.
Progateの応用では,オブジェクト指向プログラミングを解説してくれる.
図も豊富で,哲学チックなオブジェクト指向をそれなりにわかりやすく解説してくれてる気がする.
Rubyを使って実際に書籍管理アプリを作るこの本もとてもおもしろかった.
この本に沿って行くと,こんな感じのアプリが作れます.
データベース
うえでサラッとデータベースについて学んだら,もうちょっと高度なことがしてみたくなるはず.
そこでSQL学んだり,Redisなどを使ってみたり,いろいろなデータベースを使ってみるといいと思う.
Active Recordとかいじってみるもの面白いと思う.
セキュリティ
Webサービスを作ると,セキュリティ関係の知識ももちろん必須になるのかなと.
自分が作ったWebサービスに脆弱性があったら責任をとられるのは自分なわけで...
IPAのセキュリティに関するページをよんだり,本を読んだり.(僕もセキュリティ系は全然詳しくないのでもっと危機感持たねば)
個人的に,「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」という本を前に読んだ.
わかりやすいし,とてもおすすめ.
最後に
いろいろ書いたが,これが完璧だなんて思ってないし,他にも勉強することはたくさんある.
ただ,まぁ何から手を付けていいかわからないーっていう一回生とかに参考になれば嬉しいなと.
自分なりにいろいろ調べて去年1年間サークルなり自分で勉強したことを中心に書いたつもりです.
どんどんいろいろ調べながら手を動かしていくのがやはり一番の近道なのかなと.
一回生のみなさん,プログラミングは楽しいよ!