こんにちは!CryptoGamesというブロックチェーンゲーム企業でエンジニアをしているかるでねです!
スマートコントラクトを書いたり、フロントエンド・バックエンド・インフラと幅広く触れています。
このブログ以外でも情報発信しているので、よければ他の記事も見ていってください。
https://mirror.xyz/0xcE77b9fCd390847627c84359fC1Bc02fC78f0e58
今回はPythonでWebアプリケーションを作成する際、よく使われている「Django」フレームワークを学べる教材について紹介していきます。
僕自身現在実務でDjangoを使用しているので、実務レベルでDjangoを使えるようになるまでどのように学習したかを紹介しつつ、おすすめの教材を紹介していきます。
この記事では、「Djangoを実務で扱えるようになるまで〜体験談をもとに紹介〜」、「おすすめのDjango教材」、「プログラミングのおすすめ学習手順」について書いています。
「Django学習したいけどどんなふうに学習していったらいいんだろう?」
「Djangoのおすすめ学習教材を知りたい」
「Djangoに限らずプログラミングの学習手順を知りたい」
前置きは早々に、早速本題に入っていきましょう!
DjangoはPythonnoのフレームワークなので、まずはPythonを学習することをおすすめします。
以下の記事を参考にしてください。
Djangoの学習手順〜実経験をもとに紹介〜
この章では自分の経験をもとに、Djangoの学習手順を紹介していきます。
僕自身現在某都内IT企業でDjangoを用いてWebアプリケーションの開発をしています。
そこにたどり着くまで約半年ほどかかりました。
一時は学習を諦めようとした時もありましたが、とあることがきっかけで諦めず学習を継続できました。
そんな経験をしているので、「これからDjangoを学習しようとしている方」、「現在Djangoを学習している方」の参考に少しでもなれば幸いです。
本や動画でインプット
何を勉強するにもまずはインプットが必要です。
プログラミング学習する際に使われる学習教材は、本や動画が代表的です。
僕はこの2つのうち初学者には動画をおすすめします。
動画で学ぶメリットは以下のようなものがあります。
ポイント
- 動きを確認できる。
- 持ち運びが便利。
- 変更の反映が早い。
1つずつ確認していきます。
動きを確認できる
これは最大のメリットです。
本で学習すると、いくら添付画像が多くてもどこが変わったかを瞬時に判断するのは難しいです(常に全体像を把握できないため)。
一方、動画の場合は「今どこで何をしているか」を把握しやすいです。
これがあることで手元で動きを再現しやすくなります。
僕自身本で学習していると、今どのファイルを触っているかわからなくなったり、コードのどの部分を触っているのかわからなくなることがよくありました。
慣れてくると直感的にどこを触っているのかわかってくるのですが、初学者にはだいぶハードルが高い気がします。
持ち運びが便利
これは説明しなくても伝わると思います。
本だと1冊持つだけで邪魔に感じると思います。
しかし動画はデータなのでスマホ1つあれば十分です。
移動時もスマホを取り出してイヤホンすればすぐに学習できます。
社会人や学生の場合は外に出ることが多いと思うので、持ち運びが便利だと嬉しいですよね!
変更の反映が早い
プログラミング言語やフレームワークは頻繁にアップデートがきます。
その度に書き方が変わったり、機能の追加、機能の廃止などが起きます。
本だと公式ページには変更の記載があるかもしれないですが、基本的に気づきません。
大体第2版が出て、そちらを再度購入という形になります。
しかし動画の場合(特に有料プラットフォームで販売されいている動画講座)は、すぐに反映され気づきやすいです。
これらのことから以下の手順が一番おすすめです。
一番最初は「動画」でインプットして、それ以降は「本」などでより理解を深める。
第2章ではDjango学習する際のおすすめ本とおすすめ動画を紹介しているので、気になる方はまずそちらを覗いてみてください。
何か作る
いきなり「何か作る」というのは抵抗があると思います。
「何作ればいいの?」
「そもそも作りたいものがない」
「何を作ればいいの?」
「もう少し知識を蓄えてから...」
このように考えてしまうのは仕方ないですが、「何か作る」ことが効率よくDjangoの理解を深めることにつながります。
よく英語の先生で英語の文法とか、単語とか解説してくれるけど実際に話すとなると話せない人がいないですか?
Djangoで言うなら、「めちゃくちゃDjangoのパーツの説明はできるけど、実際にWebアプリケーションを作るとなると全く作れない」と言う感じです。
このようなところを目指しているならずっとインプットでもいいかもしれないですが、皆さんはそうではないですよね?
英語では「海外に行くことが一番効率よく英語が話せるようになる」と言われています。
Djangoに限らずプログラミングでもこのことは通用します。
インプットはそこそこに、アウトプットを中心に。
この言葉を忘れずにプログラミングの学習をしてもらえると効率よく成長できます。
なんでもいいから作る
作るものはなんでもいいです。
代表的なもので言えば、「ブログ」、「ホームページ」、「Todoリスト」などですかね。
「本」や「動画」で作ったものを1から自分で作ってみるのもいいですね。
ここで重要なのが以下のことです。
「何もみないで作る!」と考えないこと。
これは日本教育で問題視されているようなことですね。
「試験では調べてはいけない」、「自分の頭だけを使え」、「答えを絶対に見てはいけない」などというのはプログラミングにおいて全く必要ない考えです。
ガンガンググって参考となる記事を見たり、本などを見て進めていってください。
ただ以下のことは意識してください。
間違っていてもいいから、できるだけ自分で書く。
間違ってもいいのです。
むしろガンガン間違えてください!
人は間違えたことの方が記憶に残ります。
何度も間違えていけば次第に覚えていきます。
どんどん間違えて、どんどん調べて「何か」を作っていきましょう。
「Todoリスト」を作ろうとしている方はこちらなどを参考にしてくれると嬉しいです。
補足
1つ補足させてください。
Djangoにはクラスで書く方法と、関数で書く方法の2つがあります。
DjangoやPythonに慣れていない方には何を言っているかわからないと思いますが、Djangoを学習しているうちにわかります。
ここで補足したいことは以下のことです。
最初は「クラス」で書いた方がいい。
この理由としてはクラスで書いた方が簡単かつ、全体の構成が分かり、CRUDの概念を学びやすいからです。
CRUDは以下のことです。
ポイント
- 登録
- 参照
- 更新
- 削除
データを扱う際、「データを登録」、「登録したデータを参照して見る」、「登録したデータを変更」、「登録したデータを削除」という機能が必要になります。
それがCRUDと呼ばれるものです。
この概念を学びやすいので、ぜひ最初はクラスで書いてみてください。
もし初めから関数で書いている人は次の章を飛ばしてください。
関数で書く
前章では「何か作る」ということについて説明しました。
そして補足で説明した通りにクラスで書いた人はぜひこの章を読み進めてください。
(関数で書いた人はこの章は不要なので読み飛ばしてください。)
「せっかくクラスで書いたのに関数でも書く必要あるの?」
と思う方もいると思うとますが、実は関数で書いた方が細かいことがやりやいのです。
「じゃあ最初っから関数で良くない?」
と思う方もいると思うので、なぜクラスを推奨して、関数でも書けるようになった方がいいのかの理由を以下にまとめます。
ポイント
- 実務では企業によって、「クラス」で書いていたり、「関数」で書いていたりする。
- 最初は「クラス」で書いた方がDjangoについての理解がしやすい。
- 「関数」の方がより細かいことができる。
- Djangoの記事を検索すると「関数」の情報の方が多い。
ざっとこんな感じです。
僕自身どちらでもかけますが、最初はクラスで書いていました。
しかしクラスの書き方だけしか知らなかったので、簡単なTodoリストを作ったあと、より複雑なWebアプリケーションを作る際に1ヶ月ほど手詰まりになっていました。
その時にとある関数で書かれている記事をきっかけにできることの幅が広がりました。
その時お世話になった時の記事はこちらです。
当時卒論で自分で作ったWebアプリケーションを使用したくてこの記事に出会い、手詰まりだった開発が一気に加速しました。
この記事に限らずぜひ関数で書く方法を学んでみてください。
細かいテクニックなどを知る
Djangoで簡単なWebアプリケーションを作れた方はいい感じに学習がすすでいます。
では次に何をするかというと、Djangoの「細かいテクニックを知る」ということをしてもらいます。
Djangoには細かいテクニックがいくつもあります。
実務ではその細かいテクニックをいくつも活用する必要があるので知っていると実務でも難なくこなせるようになります。
ではその細かいテクニックをどのように知ったらいいのでしょうか?
答えは簡単で、本や動画です。
プログラミング学習はインプットとアウトプットの繰り返しです。
細かいテクニックを知れるおすすめの本や動画は以下の2つです。
ポイント
- Djangoの基礎から実務レベルの応用まで学べる。
- ブログを作りながらDjangoを学べるので、インプットとアウトプットを同時にできる。
- 「Djangoをまなびたい!」、「Djangoを使ったWebアプリケーションを作りたい」、「Djangoエンジニアになりたい」という方に特におすすめ。
どちらも超おすすめなのでぜひどちらか、お金に余裕がある人は2つとも購入することをおすすめします。
ここで細かいテクニックを身につけて最後の手順に臨んでください!
自分が作りたいものを作る
「『何か作る』の章と同じじゃない?」
このように感じる方もいると思いますが、こちらは「自分が作りたいもの」のため、機能がより複雑になることが多いです。
ブログやTodoリストのような簡単な機能では実現できないようなものが望ましいです。
僕の場合は「問題が出されるので制限時間内に回答して、その後答えが表示される」というアプリで、「ユーザーが問題を作成したり、解答できる期間も設定できる」などの機能を追加しました(このWebアプリケーションを卒論で使用しました)。
どうでしょうか?結構複雑そうでじゃないですか?
こんな感じのものを作れたら、就職や転職の際のポートフォリオにもなります。
しかし多くの人はそんなに作りたいものはないと思います。
そんな時は自分の悩みや改善したいことを考えてみてください。
せっかく学んだことをメモしたのに見ることを忘れてしまう人は、
「定期的にメモしたことを復習できるように通知するアプリケーション」
他の人に自分のコードに悪い部分がないかアドバイスしてほしい人は、
「コードレビューできるWebアプリケーションを作りたい」
のような感じです。
ぜひ自分の悩みや改善したいことを考えてみてください。
すぐに思い付かなくても、日常の中で意識して考えてみてください。
必ず何かしら思いつくはずです。
もしどうしても思いつかない方はTwitterのDMで連絡してください!お手伝いします!
Tweets by cardene777Djangoの学習手順まとめ
この章では「Djangoの学習手順」を実経験をもとに紹介してきましたがいかがだったでしょうか?
参考になった方がいれば幸いです。
最後に手順をまとめていきます。
ポイント
- 本や動画でインプット。
- 何か作る。
- 関数で書く。
- 細かいテクニックを知る。
- 自分が作りたいものを作る。
ぜひこの手順でDjango学習を進めてみてください!
Djangoおすすめ学習教材
この章ではDjangoのおすすめ学習教材について紹介していきます。
自分が使ったことがあるものの中から特におすすめの教材を紹介しきます!
早速みていきましょう。
動画(無料)
まずは無料で学べる動画講座から見ていきましょう。
現在ではYoutubeでも良質な講座がいくつもあるのでその中から紹介していきます。
Django 初級 (ジャンゴCRUD)
Djangoの基礎をしっかり学ぶことができます。
クラスで書いているので、1章で紹介した「Djangoの学習手順」にも沿っています。
この方の動画は他にもDjangoを学べる有益な動画があるので見ることをおすすめします。
djangoチュートリアル
丁寧にDjangoの基礎から解説してくれています。
1つ1つしっかり解説してくれているのでDjango初学者にとってありがたい講座です。
動画(有料)
この章では有料の動画講座について紹介していきます。
全部「Udemy」というサイトの講座を紹介します。
「Udemy」についてはこちらの記事を参考にしてください。
【Python】 Django3で「本当に使える」WEBアプリケーションを開発しよう
ポイント
- Djangoの基礎から実務レベルの応用まで学べる。
- ブログを作りながらDjangoを学べるので、インプットとアウトプットを同時にできる。
- 「Djangoをまなびたい!」、「Djangoを使ったWebアプリケーションを作りたい」、「Djangoエンジニアになりたい」という方に特におすすめ。
【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!(Django2版 / 3版を同時公開中です)
ポイント
- 3つのアプリケーションを作りながらDjangoについて学べるので、Djangoの基礎をしっかり学べる。
- Djangoのバージョン2とバージョン3、どちらにも対応しているので、自分が使用したいバージョンに合わせ学べる。
- これからDjangoを学びたいという方の入門講座として特におすすめ。
本
最後にDjangoを学ぶことができるおすすめの本を紹介していきます。
実践Django Pythonによる本格Webアプリケーション開発
ポイント
- Django3を学べる本。
- Djangoの基礎をしっかり学ぶことができ、実務まで長く使い続けることができる。
- Djangoの最新本を学びたい人に特におすすめ。
動かして学ぶ! Python Django開発入門 第2版 (NEXT ONE)
ポイント
- ブログを作りながらDjangoの基礎をしっかり学ぶことができる。
- ログイン機能についても学べるので実践的。
- Djangoの基礎全般を抑えたい人におすすめ。
現場で使える Django の教科書《基礎編》
ポイント
- 実務レベルの知識がつく。
- Djangoの全体構造や1つ1つがどんな機能を担っているのかを学べる。
- Djangoを使った仕事をしたい人に特におすすめ。
現場で使える Django の教科書《実践編》
ポイント
- ログイン機能やより細かい設定をしたい人におすすめ。
- 実務でDjangoを使用したい人の成長に大きく貢献する。
- Djangoエンジニアになりたい人に特におすすめ。
プログラミングおすすめ学習手順
こちらの方にまとめてあるので読んでいただけると嬉しいです。
最後に
今回は「Djangoを実務で扱えるようになるまで〜体験談をもとに紹介〜」、「おすすめのDjango教材」、「プログラミングのおすすめ学習手順」を紹介してきました。
もちろんこの記事に書かれていないが良い教材もあるので自分で探してみるのも良いですね。
かるでねブログではPythonをメイン情報発信しています。
またTwitterもやっているのでフォローしてくれると嬉しいです!
Tweets by cardene777