Posted at

プログラミング初心者のための、フレームワークに偏らない勉強法

こんにちは。プログラミング学習を始めてやがて1年になるたからです。

プログラミング学習を始めて初期の頃の勉強って、これ何に使うの?って思うことばっかりで、ぶっちゃけつまらなく感じる人も多いかと思います。教科書完走とか無理ゲーでしたね...

その原因はインプット中心の学習法になっちゃってるから、というのがあるんじゃないなーと思います。

でもアウトプットってめちゃくちゃハードル高くないですか??

原因として、

・自分の知識なんて、ブログやQiitaに書くほどのことでもないと感じる

ネット人見知りの上、元々アウトプット自体超苦手(僕の場合)

・下手なこと書いたらマサカリがぶんぶん飛んでくるのではないかという恐怖

とか色々ありますよね。

でもここ最近でやっと気づけたのが、

学んだもので何かをつくることがプログラミングのアウトプットであり、

学習内容をまとめてブログやQiitaに投稿する、というのは、アウトプットのアウトプットと言えます。

ここでは純粋なプログラミングそのものをアウトプットすることで、フレームワークに偏らない言語の知識を身につける方法を書いていきます。


問題を解く

それはプログラミングの問題に挑戦する、という方法です。PaizaのスキルチェックやAtCoderみたいなやつです。学校でも、教科書を読んだら練習問題を解く、という手順を踏むのと同じです。

プログラミングも、自分が学んだ言語を使って問題を解いてみましょう。

すると教科書も、「あれ、この内容ってあの問題でも使えるんじゃね??」といった別の視点も生まれてきます。

そうなればもうあなたの勝ちです。


どうやって始めるの?

まずは標準入力を学びましょう。

処理対象のデータは、あなたのコード上に書くわけではありません。向こうが渡してくるのです。

それをまず受け取ってあげる処理が必要です。

結構プログラミングの勉強をしてきたが、この処理を知らない人も結構いる(僕がそうだった)ため、最初はまずここでつまずくと思います。でもちょっと勉強すればすぐに理解できます!

参考URL:

【Paiza Ruby入門 データの読み込み(標準入力)】

【Paiza PHP入門 データの読み込み(標準入力)】

会員登録が必要ですが無料で見れます!

あとはこちらなど。

【Ruby】標準入力と出力のまとめ



「自分が学んでいる言語名 + 標準入力」でググれば沢山記事が出てきます!


標準入力を学んだら

実際に問題にチャレンジしてみましょう!

おすすめはこちらの記事を参考にAtCoderを始めることです。

【AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~】

AtCoderへの登録方法から、最初にチャレンジした方が良い問題まで、超丁寧にまとめられてます!

AtCoderは過去の問題がすべて無料なうえ、何度でも提出できるのでどんどんトライしましょう。

まずは簡単な問題を解いたあと、他の人のコードと見比べてみると勉強になります!


慣れてきたら

Paizaのスキルチェックなどに挑戦しつつ、更に教科書を読み進め、言語についての理解を深めると良いでしょう。

またGithubにリポジトリを作って、解いた問題をプッシュして草を生やしていくとモチベーションが上がります!誰にも迷惑はかからないし、プライベートリポジトリなら覗かれもしないので、書いたコードは片っ端からプッシュしていきましょう!(Paizaのスキルチェック問題は公開しないように注意!)

Webアプリを作ることが目標だと、どうしてもフレームワーク優先になってしまいがちです。

Railsのscaffoldなどの便利な機能を使えば、簡単なCRUDなどはすぐに実装できますが、基礎的な知識がないと「なんとなく動かしている」状態になってしまうので、将来困らないようにしっかり学びましょう!