自動再生
オートコンプリート
1つ前のレクチャー
このレクチャーを完了し次に進む
Dart逆引き大辞典【質問対応無し版】
【第1章】プログラミングの基礎知識
プログラミングとは (2:12)
プログラミング処理の基本<文・関数(メソッド)・クラス> (6:59)
プログラミングの3ステップ(ブロック作りと同じ) (2:39)
プログラムをアプリになるまでの仕組み(コンパイルとビルド) (4:27)
パス(path)とは何か (2:54)
【第2章】Dartプログラミング超基本
Dart(ダート・Flutterアプリを作るためのプログラミング言語)とは (6:07)
Dartプログラミングはたったの2ステップしかない! (4:59)
ファイル・クラス・関数(メソッド)等の名前付けの規則 (4:00)
プログラミングにおける「=」とは(代入) (4:39)
セミコロン(;)とカンマ(,)とコロン(:)の違い (7:16)
【第3章】クラス・メソッド・コンストラクタ
クラスのインスタンス化(初期化)とは (8:07)
Dartにおけるメソッド(関数)の作り方 (12:06)
クラスの継承(extends)とメソッドのオーバーライド(override)とは (11:13)
「ご先祖様」に「子孫」を代入するのはOK(プログラミングにおける「=」とは[完全版]) (2:43)
クラスの継承とメソッドのオーバーライドの事例を使った説明 (9:34)
関数・メソッドの引数の名前が何でもいいのはなぜか?(引数を入れる(渡す)とはどういうことなのか?) (4:21)
ビルト・イン型クラスとは(Dartにおける2種類のクラス) (11:10)
「this」とは (6:57)
名前付き引数(パラメータ)とは(Named Parameters) (9:28)
「名前付き引数(Named Parameters)」の使い方 (8:18)
クラスの型の前につく場合のある「as」と「is」とは何か(強制型変換:キャスト) (3:20)
「Cascade Notation(..)」を使ってコードをシンプルにする方法 (3:17)
Dartにおける7つのコンストラクタ(「:」の謎解き) (10:53)
「const」キーワードのややこしさ(コンストラクタを「作る」場面(クラスの設計図)と「使う」場面(インスタンスの生成)で意味合いが異なる) (6:21)
「factory」コンストラクタ(メソッド)とは何か (4:03)
「annotation:アノテーション(@)」とは (4:43)
列挙型クラス「enum」の使い方 (6:07)
なぜ定数ではなく列挙型(enum)を使うのか (2:27)
【第4章】変数・定数・スコープ
「変数」とは(インスタンス・オブジェクト・変数・定数の違いは何か) (5:17)
Dartにおけるスコープ(変数・関数にアクセスできる[参照できる・使える]範囲) (7:50)
クラスやメンバ(プロパティ・メソッド)の名前の前につく「_(アンダースコア)」の意味は何か (7:33)
Android Studioにおけるグローバル変数とローカル変数の見分け方 (2:27)
どこからでもインスタンスを経由せずに直接使えるメンバを作る2つの方法(「top-level」と「static」) (9:53)
Dartにおける2つの定数(「const」と「final」) (6:22)
トップレベル(top-level)メンバ使用上の注意点(意図せざるしてアプリが落ちるトラップが起こる可能性あり) (7:21)
「get」とは (5:13)
なぜ定数名に大文字を使わない方がよいのか(「PREFER using lowerCamelCase for constant names」の理由) (5:07)
同じメソッド内での変数の重複宣言チェックはif文・switch文等で包むとやってくれないトラップあり (4:12)
文字列の間に変数を入れる方法(「$」とは何か) (5:30)
【第5章】Null Safety(Dartは空っぽが大嫌い)
「Null Safety(Null安全)」とは (8:07)
安全呼び出し(Safe Call)と「!」演算子 (6:56)
空っぽ(null)と空文字(””)の違い (2:03)
「late」使用上の注意点(最初に使うまでに値を入れないと(初期化しないと)いけない) (9:22)
ジェネリクスを使う場合のNull Safety上の注意点 (8:10)
「required」の意味とは (3:59)
「!」演算子で強制アクセスして空っぽだった場合に何が起こるのか(Null check operator called on a null value) (3:44)
【第6章】制御(プログラミングの3つの流れ)
条件分岐の「if文」と比較演算子(プログラミングは3つの流れ) (8:01)
if(bool型の値)はif(bool型の値 == true)と同じ意味 (1:19)
三項条件演算子(conditional expressions)とは(?/:) (3:28)
条件分岐の「switch」文の使い方 (6:07)
繰り返し処理とは(forループとforEach関数) (9:15)
繰り返し処理①「for句」の使い方 (7:37)
繰り返し処理②「for-in句」の使い方 (2:21)
繰り返し処理③「forEach関数」の使い方 (4:30)
なぜforEach関数を「関数リテラル(literal)」と一緒に使うとLinterチェックに引っかかるのか (4:31)
【第7章】コレクション
「List(配列)」とジェネリクス(総称型)とは (11:09)
Listの要素無し判定の際に「isNotEmpty」ではなく「!=[]」ではなぜダメなのか(「==」の本当の意味とは) (6:18)
List.reduceメソッドで最大値を取得する方法 (6:16)
List.sortメソッドの解説(①:Dartはどのソートアルゴリズムを使っているのか) (5:31)
List.sortメソッドの解説(②:実際にどのような挙動でソートされているのか) (6:16)
Listをbool型のフィールドでソートする方法 (3:32)
bool型でListをソートする際には一体何が起こっているのか? (4:47)
List.indexWhereメソッドの使い方(List.indexOfとの違い) (4:45)
List.mapメソッドの使い方 (6:33)
「Set」とは (3:25)
【第8章】コールバック関数(onPressed / onChangedの謎解き)
onPressed/onChanged属性の中身はどうなっているのか (8:03)
onPressed属性の「() =>」を忘れると何が起こるのか(setState() or markNeedsBuild() called during build) (6:53)
onChanged属性に設定する関数の引数は誰がいつ渡しているのか(コールバック関数とは) (4:29)
「VoidCallback」とは何か (6:12)
【第9章】例外処理
エラーはどこでわかるのか(プログラミングにおける3種類のエラー) (6:28)
例外処理とは(try~catch文) (4:23)
「assert」とは (5:02)
【第10章】非同期処理(Future / Stream / async-await)
非同期処理(async-await)とは (8:30)
「Future」とは (8:27)
Future.valueとは (3:10)
Dartでの非同期処理の使い方3原則 (10:42)
タイマー処理(Timer)とは (10:44)
「Duration」クラスとは (4:23)
Timer.periodic内でのcancel処理の注意点(キャンセルされてもすでに発動されているコールバック関数は最後まで実行される) (4:32)
Dartのもう1つの非同期処理「Stream」とは(一番シンプルな使い方3ステップ) (9:54)
「Stream」は本当に必要な時以外はなるべく使わない方がいい (3:51)
await部分を「()」で括ることの意味は何か (2:57)
【第11章】パッケージ
「パッケージ(package)」とは (4:23)
pubspec.yamlファイルとは (6:00)
pubspec.lockファイルとパッケージのアップグレードとダウングレード方法 (4:17)
パッケージのバージョンを指定する際に出てくる「^」とは何者なのか(バージョンコード付与の原則(Sementic Versioning)と「caret syntax」) (9:06)
Dartにおけるパッケージ(package)・プラグイン(plugin)・ライブラリ(library)の違いとは (9:33)
import文の後ろにつく場合のある「as」とは何か(パッケージを特定するための接頭辞(prefix)) (5:03)
複数のパッケージに存在する同じ名前のクラスを使いたい場合の対処法 (5:12)
【第12章】その他
Dartは原則「参照渡し」 (4:27)
拡張メソッドの使い方 (7:10)
Teach online with
クラスの継承とメソッドのオーバーライドの事例を使った説明
このレクチャーを完了し次に進む