開発を始めて間もなく、同じコマンドを毎回手で打つことに飽き、エラーのたびに立ち往生していた。検索サイトで質問を打っても、回答が古くて動かない。溶液が見つからず、精神的にも技術的にも消耗していた。そのとき、あるサイトに出会った。以降、学習の姿勢が大きく変わった。今日は、実際に使われた教材とサイトを、10個紹介する。
Progate で programming の土台を築く
最初に困っていたのは、 programming の基本文法が定着しないこと。for ループを書くたびに、構文を確認してから打ち込むので、集中が途切れた。Progate の場合、ブラウザ上でコードを書くので、環境構築の手間がゼロだ。具体例として、Python のループ問題に取り組むとき、次のように書く。
for i in range(5):
print(i)
この練習を繰り返すことで、構文を暗記するのではなく、直感的に書けるようになった。画面右側の結果が即時表示されるので、エラーの原因がすぐわかり、精神的な負担が大きく減った。
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
最新ツール・トレンド情報をずんだもん×めたんが解説するYouTubeチャンネルを運営しています!
いいね、チャンネル登録してもらえると嬉しいです🙇♂️
ハジメル.dev: https://hajimeru-dev.vercel.app/
「ひとりで続けるのは難しい」「何から学べばいいか分からない」という方向けに、
プログラミングのマンツーマンレッスンサービス「ハジメル.dev」も運営しています。
未経験OK・オンライン完結・月額制/違約金なしなので、気軽に無料相談してみてください🙇♂️
海外テックニュースを追いたいけど、英語や情報量の多さで大変…という方向けに、
Hacker News の話題を日本語でサクッと追える「HackerNews 日本語まとめ & AI要約」
を個人開発しました!
技術トレンド収集に使ってもらえると嬉しいです🔥🙇♂️
→ HackerNews 日本語まとめ & AI要約: https://hn-matome-2ht.pages.dev/
「ニャンパイアサバイバー」というヴァンパイアサバイバーリスペクトのゲームを作成しました!
もしよろしければ遊んで頂けると嬉しいです😭
習い事教室の先生向けに、SNS 投稿・生徒募集・保護者通知の文章を AI で生成する Web サービス「おしらせAI」を個人開発しました。Next.js + Supabase + LLM で構成しており、無料で月 10 回まで試用できます。よければ触ってみてください。
→ おしらせAI: https://oshirase-ai.vercel.app/
言いたいことがうまく伝わらない…という方向けに、会話の言い方を添削する「伝え方ラボ」を開発中です。
場面を選んで自分の言葉で返すと、何が伝わっていないかの指摘と、そのまま使える言い換えが返ってきます。
ChatGPT に相談すると褒めから入って直すべきところが残りがちなので、指摘側に振り切りました。
現在は公開時にお知らせするメール登録のみ受付中です🙇♂️
→ 伝え方ラボ: https://tsutaekata-lab.pages.dev/
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
Udemy で実践的なプロジェクトを学ぶ
基本が servant になった後、応用課題に取り組むようになっても、独学ではどこから手をつけていいかわからなかった。Udemy のコース「完全マスター」シリーズは、完了后的なプロジェクトを段階的に解説している。たとえば、Web アプリ開発コースでは、Flask でシンプルなブック管理アプリを作成する。
pip install flask
このように、依存関係のインストールからデプロイまでを一気通貫で学べる。動画は倍速再生可能で、理解が遅い部分だけを巻き返せるので、時間の無駄が少なかった。
Qiita で実務のテクニックを吸収する
開発現場で困ったとき、検索エンジンで「〇〇 エラー 解法」と入れても、的外れの結果が返ってくることが多かった。Qiita は、日本のエンジニアが書いた実践的な解説が多い。具体例として、Docker のコンテナを起動できない場合の調査方法は、以下のように書かれることが多い。
docker logs [コンテナID]
このコマンドでログを確認し、エラー内容を読み解く。Qiita の記事には、具体的なエラーメッセージとその対処法が並んでいるので、検索結果の質が大きく向上した。
GitHub でコードの変遷を視覚化する
共同作業や、自分の過去のコードを振り返るとき、diff を目で追うのが困難だった。GitHub のビジュアルdiff 機能は、変更点を色で表示する。具体例として、PR を作成する際の変更確認は、以下のように行う。
git diff origin/main HEAD
このコマンドで差分を確認し、GitHub の UI で更加に詳細を checks できる。コードの変遷が一目でわかり、バージョン管理の重要性を実感した。
Stack Overflow で世界的な知識を引く
英語の質問が苦手で、日本語の情報だけに頼っていたが、質問の種類によっては、世界的な回答が得られる。具体例として、Python のライブラリの使用法で困ったとき、以下のようにタグを付けて検索する。
import pandas as pd
df = pd.read_csv('data.csv')
このコードについての質問には、英語圏のエンジニアが詳細に回答している Often。翻訳訳機能を併用することで、知識の範囲が広がった。
freeCodeCamp で免费のカリキュラムをこなす
時間と資金が限られ、有料の教材を購入できなかった。freeCodeCamp は、完全免费で curriculum が用意されている。具体例として、JavaScript のアルゴリズム問題に取り組むとき、以下のように書く。
function factorialize(num) {
if (num < 2) return 1;
return num * factorialize(num - 1);
}
この練習を繰り返すことで、アルゴリズム思考が身についてきた。完了后的な証明書も発行されるので、モチベーションが維持された。
Codecademy で対話的な学習を体験する
独学では、モチベーションが続かないときが多かった。Codecademy の対話形式は、 Immediate feedback がある。具体例として、HTML/CSS のレッスンでは、以下のように書く。
<div class="container">
<h1>Hello World</h1>
</div>
画面に結果が表示され、而成したときの喜びが-learning を継続させる。少しずつ難易度が上がらない設計で、無理なくステップアップできた。
AtCoder で競技 programming の技術を磨く
応用問題に取り組むようになっても、独自の問題では解答が出ない。AtCoder は、本格的な競技 programming のプラットフォームだ。具体例として、ABC プログラミングコンテストの問題に取り組むとき、以下のように書く。
N = int(input())
A = list(map(int, input().split()))
print(sum(A))
このように、入力処理から解法までを一気通貫で学べる。解答を読むことで、自分の解法の改善点がわかり、アルゴリズム力が向上した。
LeetCode で企業の試験問題に対応する
転職活動のため、面接対策が必要だった。LeetCode は、企業の面接で出題される問題を多数収録している。具体例として、配列の二つの数の和がターゲットになるインデックスを見つける問題は、以下のように解く。
def twoSum(nums, target):
num_map = {}
for i, num in enumerate(nums):
if target - num in num_map:
return [num_map[target - num], i]
num_map[num] = i
このように、ハッシュマップを活用した解法を学べる。問題を解くことで、データ構造とアルゴリズムの知識が定着した。
書籍で知識の深みを学ぶ
ネット情報だけでは、体系的な知識が欠ける。書籍は、論理的に整理された情報を提供する。具体例として、「 programmers のためのアルゴリズム入門」では、以下のように説明される。
int binary_search(int arr[], int n, int key) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == key) return mid;
else if (arr[mid] < key) left = mid + 1;
else right = mid - 1;
}
return -1;
}
このように、アルゴリズムの本質を深く学べる。書籍は、集中して読めるので、知識の土台を築くのに最適だった。
まとめると、学習は独りよがりではなく、適切なツールと教材を組み合わせることで、効率的に進む。これら10選を試し、自分のペースでステップアップしてほしい。まずは、興味を持ったものから1つ始めてみよう。