(プログラミング初学者の場合)

プログラミング言語をいずれか1つでも学習した記憶が残っているなら次の項目へ。

たぶん適当に調べて最初にする言語を決めているという前提だが、まずはそれをおとなしくコースに沿って学習する。できればその言語を最後まで学習仕切る。いくつかのレベルに分かれているが、正直実際の開発ではProgate程度の知識はあって当たり前になってくると思うので、まず最低限と思ってこなす。

2つ目以降のプログラミング言語(もしくはプログラミング初学者ではない場合)

スライドを直接検索して前から順番にみる。これが早い。Progateトップページのヘッダー部分に「スライド検索」があるので、次以降に勉強したい言語はここから検索する。

alt

  • 基本的な文法(とくに、他言語と微妙に異なっていたりすぐ思い出せそうにないもの)
  • ウェブで検索してすぐに出てこなさそうな知識
  • 人によって違いが出そうなテクニック、一般的なルール(クラスを定義する際はアッパーケースとか)

を、コメントアウトでメモしながらコードとして書く(プログラム的にほとんど意味をなしていなくてもよい)。そして、最低限必要な知識として、上記コードを復習代わりに利用する。

こんな感じ↓

import Animal from "./animal"; // クラス(値や関数も可能)のインポート
import { dog } from "./dog"; // 名前付きエクスポートの場合
import readlineSync from "readlineSync"; // パッケージをインポートする場合:コンソール入力パッケージ

let targets = ["John"]; // 文字列リテラルのクオートは" ' `どれも可能
targets.push("Kate"); // 配列の最後に新しい要素を追加するメソッド
targets.forEach((target) => { // 配列の中の要素を1つずつ取り出して、全ての要素に繰り返し同じ処理を行う:forEach(コールバック関数)
  console.log(target);
});

for (let number = 1; number <= 10; number ++) {
  if (number !== 10 || targets[0] === "Kate") {
    console.log(`Hello World ${targets[0]}`); // 変数展開する際は`で囲む
  } else if (targets[0] === "John") {
    console.log(number);
  }
}

///

const item = [
  {color: "red"}, // オブジェクト {プロパティ: 値}
  {color: "yellow"}
];
switch (item[0].color) {
  case "red":
    console.log("Stop!");
  break;
  case "yellow":
    console.log("Be careful!");
  break;
  case undefined: // 定義していない場合
    console.log("Not define color data");
  break;
  default:
    console.log("Not valid color data");
  break;
}

///

const user = {
  name: "にんじゃわんこ",
  greet: () => { // アロー関数(ES6から導入された。以前は greet = function() {})
    console.log("こんにちは!");
  }
};
user.greet();

///

// ここにあったAnimalクラスの定義は別ファイルに移動

const animalAge = readlineSync.questionInt("Age?: "); // 整数をコンソール入力(文字列ならquestion)

animal = new Animal(animalAge); // インスタンスを生成
animal.greet();

// ここにあったDogクラスの定義は別ファイルに移動

// ここにあったdog変数の定義は別ファイルに移動

dog.greet();

// find, filter, mapメソッド(意味がわからなければググる)

const printWanko = () => {
  console.log("にんじゃわんこ");
};

const call = (callback) => {
  console.log("コールバック関数を呼び出します");
  callback(); // コールバック関数(引数として利用される関数)を呼び出すときは()をつける
};

call(printWanko); // コールバック関数を渡すときは()をつけない

スライド順も守っていないし、プログラムとして意味もないが、Progateで自分にとって必要な知識をひとさらい復習できるようになっている。これで十分だと思う。一通りProgateで学習したい言語を学習し終えたあとで有料会員登録を解除しても、このコードを見れば学習内容は復習できるし。

一番重要だと思っているのが学習時間の大幅な短縮である。JavaScript全7コースを終了するのに2h。Progateのコース終了目安時間は13hなので、実に6倍強の速度アップである!

ただし、JavaScriptを使って何をするのか、目的をはっきりさせておくこと。学習を目的にしていると中々難しい。

まとめ

Progate有料会員になって、放置している期間があってもったいなさすぎると思い、でも時間も限られる、、、ということでスライド検索してみたら殊の外高速で学習できたので、その方法をまとめた。他の気になる言語もこの方法でぴゃーっと学習してさっさと有料会員を退会したい。