当ブログで学ぶゼロから始めるプログラミング学習まとめ【このブログの2年分、まとめました】
当ブログ「かとのぼのマイコード・マイライフ」を始めたのは、私が独学でプログラミングを学習したときに、インターネットの情報によって翻弄され遠回りした悔しさと、同時に先人たちの優しさと導きによって挫折せずに学べたことへの感謝がきっかけでした。
無料で公開された情報や初心者向けに書かれた技術書や動画に助けられた私は、自分もプログラミング初心者の参考になる記事を書こうと決めました。
特に、技術的な部分というより、もっと根本的な部分や概要をまとめる記事を増やす事を意識していました。
なぜなら、私が独学で学習したときにそういった記事が少ないと感じたからです。
ブログを書き始めて早2年以上経ちました。
雑記も含まれていますが、記事数は380件まで積み上がり、初心者向けに必要な知識について、ある程度このブログでまとめることができるようになりました。
この記事では、私が過去に書いた記事を、プログラミング初心者が挫折せずに独学で学習ができるようになるよう順序立てて紹介します。
もちろん、ここに紹介される記事を読めばプログラミングができるようになるわけではありません。
私の記事は、読んでおくと初心者が挫折しやすい箇所を先に潰しておけるというイメージで書いています。
だから、目を通しておくというくらいの感覚で読んでおくと良いでしょう。
ちなみに、私の2年分の記事が紹介されているため、超絶長いです…
どっかにブックマークしておくと良いかもしれません。
また、私が個人開発者なので、組織のエンジニアを目指す方には物足りない内容になるかもしれません。
個人開発と組織でのエンジニアの違いはこちらの記事をご覧ください。
- まずはプログラミングのイメージを持つこと
- プログラミングの基礎の基礎
- プログラミングを実際に学習しよう
- もしもう少し具体的に知りたいなら
- プログラミングとは関係ないが必要な知識、テクニック
- 自分が必要だと思う記事を読んでみてください
では紹介を始めます。
まずはプログラミングのイメージを持つこと
プログラミング初心者がやりがちな間違いは、プログラミング学習サイトに行き、いきなりコードを書くことです。
まずはちょっと我慢して、そもそものプログラミングのイメージを掴むようにしてください。以下の記事は、プログラミングのイメージが何となく掴めるように書いた記事です。
もしキーボードを打つのが遅かったら…
もしキーボードを打つのがすごく遅い場合は、コードを書く練習をしながら、タイピングの練習をすると良いでしょう。ただし、別にタイピングが遅いとコードが打てないわけではないので、同時並行で学習しましょう。
プログラミングの基礎の基礎
ここまででプログラミングのイメージを掴んでもらえたでしょうか?ここからは、プログラミング学習を始めていくうちに全く知識がないと「?」となる、プログラマーからすると当たり前すぎて誰も教えてくれないけど知らないとマジで困る知識をまとめています。ざっと目を通しておいてください。
アプリの意味
プログラミングの世界の「アプリ」と私たちが普段使う「アプリ」は少し意味合いが違います。ここで意味を知っておくと後々混乱せずにすみます。
ブラウザ
ブラウザの存在を知らない方は、こちらで用語を確認しておいてください。とても身近なモノで、知識として抜けていると後で困ります。
ここで、今後プログラミング開発するためにGoogle Chromeも知っておきましょう。
ターミナル
プログラミングを学習するためには、ターミナルは避けては通れません。ターミナルって何?という方は読んでください。
ディレクトリ
ディレクトリという言葉を聞き慣れない方は、絶対にこの記事を読んでおいてください。事前知識としてディレクトリを知っているかどうかで、あなたの今後のプログラミング人生が変わります。
HTML
HTMLを学習しない人はほとんどいないでしょう。HTMLって結局何なの?という方に向けた、まずはHTMLの概要を掴むための記事です。
CSS
HTMLとCSSは必須知識のように思います。CSSの概要もここで押さえてください。
Javascript
普通にプログラミングの学習するなら、今はJavascriptは勉強するはずです。Javascriptの概要はこちらの記事で押さえましょう。
フロントエンドの意味
「HTML」「CSS」「Javascript」はフロントエンド言語などと呼ばれたりします。フロントエンドの意味を軽く知っておきましょう。
サーバーについて
サーバーという言葉聞いたことがあると思います。サーバーの意味がわからない方は、ここで用語を理解しておきましょう。
データベースとは?
ユーザーが何か書いたり、写真を撮ったりするサービスは、データベースが必要不可欠となります。初心者にはデータベースって言われてもよくわからないことがあります。そんな方はこちらの記事を読んでください。
PHP
データベースを使うにはデータベースを扱うための言語が必要です。PHPのイメージをここで押さえてください。
フレームワーク
フレームワークが何なのかを理解しないで学習すると、後で面倒なことになります。自分が学習しているものがフレームワークなのか?それが判断できるようになりましょう。
MVCモデル
日本では初心者向けにRubyとRuby on Railsというフレームワークが使われることが多いです。そこで採用されるモデル、MVCモデルについて概要を掴んでおく事をオススメします。
オブジェクト指向
オブジェクト指向はとても難しい概念ですし、私個人ではそこまで理解しなくても問題なく学べると思いますが、全く概要がわからないと確実に将来詰むので、この辺りでざっくり理解して欲しいと思います。
ファンクション
これは参考程度です。
プログラミングを実際に学習しよう
かなり周辺知識を固めることができました。ここからは実際に学習することになります。
学習方法については、以下の2つの記事に全て詰め込んでいます。こちらのステップが独学では挫折しにくいと思いますので参考にしてください。
作りきるマインドを持つ
とにかく不格好でも作り切りましょう!モチベーションが上がる記事です。
もしもう少し具体的に知りたいなら
「HTML」「CSS」「Javascript」がある程度わかることと、個人開発のように自分で何を作りたいんだ!という方は、Vue.jsとFirebaseという技術の組み合わせの学習を強く勧めます。その場合はこちらを読んでセッティングしてみてください。
Vue.jsとFirebaseでサービスは作れますが、デザインも必要です。デザインのフレームワークBuefyが私はオススメです。
プログラミングとは関係ないが必要な知識、テクニック
ここからは少し本題とはそれますが、後々に必要になる知識やテクニックをまとめておきます。今はわからないと思いますが、頭の片隅においておくと良いかもしれません。
個人ブログを作る
情報発信ツールとして、個人ブログは強力です。以下の記事でブログを準備します。また、アクセスを増やすための基本的な戦略についても書いていますので参考にしてください。
Git
Gitは覚えるとめちゃくちゃ便利です。個人開発なら使わない場合もありますが、チームで開発するなら必須知識なので、余力があれば学ぶと良いでしょう。
便利な素材
イラストやデザインなどで重宝するサイトを紹介している記事です。
SEO対策、アナリティクス、SNSシェア対策
必要最低限のSEOやSNSのシェア対策についての記事です。
自分が必要だと思う記事を読んでみてください
以上です。かなり厳選したつもりですが、それでもかなりのリンク数になってしまいました。
もしあなたが完全なプログラミングの初心者なら、私に騙されたと思って、一から全部読んでみて欲しいと思います。
最初は、立ち止まらずに全部流し読みして最後まで読む事を意識してください。
なぜなら、私の記事はプログラミングの概要をイメージするために書いているからです。
ここでプログラミング学習の全体像を把握できれば、後々の学習で引っかかる可能性が減らせると思います。
皆さんの楽しいプログラミングライフが実現するお役に立てたら嬉しいです。
終わり。