30日で身につけるプログラミング

スポンサーリンク
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day7:配列

Day7 前半のゴールDay7 のテーマは「配列」です。ここから一気に「データをまとめて扱う」力が手に入ります。前半では、まず次の3つを目標にします。Day7 前半で身につけたいこと配列とは何かをイメージでつかむ配列の作り方・中身の取り出し...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し 練習問題

Day6 繰り返しの練習問題Day6 のテーマは for と while。ここでは、繰り返し処理の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポイントを丁寧に拾いながら、「なぜそうなるのか」ま...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し

Day6 前半のゴールDay6 のテーマは「繰り返し」です。ここから一気に「コンピュータらしさ」が強くなります。前半では、特に次の2つを目標にします。Day6 前半で身につけたいこと同じ処理を「何回も」自動で繰り返すイメージをつかむfor ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐 練習問題

Day5 条件分岐の練習問題Day5 のテーマは if / else / else if。ここでは、条件分岐の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポイントを丁寧に拾いながら、「なぜそう...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐

Day5 前半のゴールDay5 のテーマは「条件分岐」です。ここから一気に「プログラムが考えて動く」感じが強くなります。前半では、まず if / else / else if の基本形 をしっかり押さえ、「条件によって処理を変える」という感...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子 練習問題

Day4 演算子の練習問題Day4 のテーマは 四則演算・比較演算・論理演算。ここでは、学んだ内容をしっかり定着させるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポイントを丁寧に拾いながら、「なぜそうなる...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子

Day4 前半のゴールDay4 のテーマは「演算子」です。演算子は、値と値のあいだで「計算する」「比べる」「組み合わせる」といった操作をするための記号です。前半では、次の3つをしっかり押さえることを目標にします。Day4 前半で目指すこと四...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型 練習問題

Day3 データ型の練習問題Day3 のテーマは string / number / boolean / null / undefined。ここでは、学んだ内容をしっかり定着させるための練習問題と、それぞれの解答・解説をまとめていきます。初...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型

Day3 前半のゴールDay3 のテーマは「データ型」です。Day2 で「変数」という“箱”を学びましたが、今日は「その箱の中に入る中身の種類」を理解していきます。ここを押さえておくと、「この値はどう扱えばいいのか」「どんなミスをしやすいか...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数 練習問題

Day2 変数の練習問題Day2 のテーマ「let」「const」「変数命名」「基本は const」これらをしっかり理解できているか確認するための練習問題です。すべて 自分の手で書いて動かす ことを前提にしています。書いて、保存して、ブラウ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数

Day2 前半のゴールDay2 のテーマは「変数」です。ここをしっかり押さえられるかどうかで、この先の理解スピードが大きく変わります。前半では次の3つに集中します。Day2 前半でやること変数とは何かをイメージで理解するlet と cons...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築 練習問題

Day1 練習問題Day1 の内容「JavaScriptとは」「ブラウザで動く仕組み」「HTMLとの関係」「VS Code導入」「scriptタグ」「Hello World」これらをしっかり理解できたか確認するための練習問題です。すべて 自...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築

JavaScript学習カリキュラム(30日完全基礎ロードマップ)カリキュラム全体像このカリキュラムは、プログラミング未経験者が「JavaScriptの基礎を理解し、自力で小さなWebアプリを作れる状態」まで到達することを目的にしています。...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day30 アウトプット

Day30 前半のゴール「“頭の中の設計”を、他人と共有できる形に書き出せるようになる」いよいよ Day30。ここまでで、MySQL を使って「それなりにちゃんとしたシステム」を作れるところまで来ました。でも、実務では「動くコード」だけでは...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day29 総合課題

Day29 前半のゴール「“バラバラに学んだピースを、1つのECシステムとして頭の中で組み上げる”」ここまでで、テーブル設計、インデックス、API連携、ログ、権限、障害対応まで、一通りのピースを学んできました。Day29 は、それらを「総合...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day28 障害対応

Day28 前半のゴール「“DBでトラブルが起きたときの見方”を持てるようになる」ここからは、ちょっと怖いテーマです。「障害対応」――データ破損やロック問題の話です。前半のゴールはこうです。データ破損とは何か、アプリのバグとどう違うのかをイ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day27 権限管理

Day27 前半のゴール「“誰が何をしていいか”を、設計として説明できるようになる」ここからは「権限管理」です。パフォーマンスやAPI連携が「どう動かすか」だとしたら、権限管理は「誰にどこまで触らせるか」を決める話です。前半のゴールはこうで...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day26 ログ設計

Day26 前半のゴール「“あとからちゃんと追えるDB”とは何かを理解する」ここからは「ログ設計」です。パフォーマンスやAPI連携が“攻め”だとしたら、ログは“守りと証拠”の領域です。今日の前半のゴールはこうです。監査ログと履歴管理の違いを...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day25 API連携

Day25 前半のゴール「“APIがDBの入口になる”イメージを、はっきり持てるようになる」Day24 で「アプリから MySQL に直接つなぐ」話をしました。Day25 は、そこにもう一段レイヤーを足して「API 経由でデータを取得・登録...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day24 アプリ連携

Day24 前半のゴール「“アプリからMySQLに話しかける”流れを、自分でイメージできるようになる」ここまでで、MySQL 単体での設計・チューニングはかなり触ってきました。Day24 からは「アプリ連携」、つまり Node.js や P...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day23 設計演習

Day23 前半のゴール「“ECサイトのDB設計”を、怖がらずに分解して考えられるようになる」いよいよ設計演習です。テーマは「ECサイトのDB設計」。いきなり完璧な設計を作る必要はありません。今日の前半のゴールはこうです。ECサイトで「何を...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day22 バックアップ

Day22 前半のゴール「“もしDBが飛んでも戻せる”状態を、自分で作れるイメージを持つ」ここからは「パフォーマンスと設計」だけでなく、「守り」の話に入ります。テーマはバックアップ――mysqldump とリストアです。前半のゴールはこうで...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day21 パーティショニング

Day21 前半のゴール「“テーブルを分けて速くする”という発想を、自分の言葉で説明できるようになる」今日のテーマは「パーティショニング」です。一言でいうと、巨大テーブルを“論理的には1つのテーブルのまま”、物理的には“分割して持つ”仕組み...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day20 正規化と非正規化

Day20 前半のゴール「“正規化が正義”でも“非正規化が悪”でもなく、目的で選べるようになる」今日は「正規化と非正規化」です。ここは、実務に出たときにほぼ確実にぶつかるテーマです。前半のゴールはこうです。正規化とは何かを、難しい用語抜きで...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day19 クエリチューニング②

Day19 前半のゴール「JOIN が遅いときに“どこが悪いか”を冷静に切り分けられるようになる」Day18 では「遅いSQL全般」のチューニングをやりました。Day19 はその中でも、実務で一番ハマりやすいテーマ――JOIN の改善にフォ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day18 クエリチューニング①

Day18 前半のゴール「“なんとなく遅いSQL”を、筋道立てて改善ポイントまで分解できるようになる」Day18 からはいよいよ「クエリチューニング」です。テーマは「遅いSQLの改善」。ここで目指すのは、遅いSQLに出会ったときに、感覚では...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day17 インデックス設計

Day17 前半のゴール「“なんとなく”ではなく“理由を持って”インデックスを貼れるようになる」Day17 のテーマはインデックス設計です。ここからが、パフォーマンスと設計の本丸です。一言で言うと、今日やりたいことはこれです。「どこにインデ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day16 実行計画

Day16 前半のゴール「EXPLAIN を“怖い表”じゃなくて“SQLの行動ログ”として読めるようになる」ここからいよいよ「パフォーマンスと設計」の世界に入ります。Day16 の主役は EXPLAIN、つまり「実行計画」です。一言で言うと...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day15 中間課題

Day15 前半のゴール「ここまで学んだ要素を“注文処理システム”として頭の中で組み立てられるようにする」Day15 は中間課題です。テーマは「注文処理システムを実装」です。ここまでで、あなたはすでにかなりの武器を持っています。ストアドプロ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day14 トランザクション

Day14 前半のゴール「“お金の振込”をイメージしながらトランザクションを理解する」今日のテーマはトランザクションとロックです。ここから一気に「実務っぽさ」が増えます。まず一言で言うと、トランザクションはこうです。「この一連の処理は、全部...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day13 トリガー

Day13 前半のゴール「“INSERT にフックする自動処理”としてトリガーをイメージできるようにする」今日のテーマはトリガー(TRIGGER)です。ここから一気に「DBが自分で動き出す」感じが強くなります。まず一言で言うと、トリガーはこ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day12 ストアドプロシージャ②

Day12 前半のゴール「“SQLの中でプログラムを書く”感覚をつかむ」Day11 でストアドプロシージャの基本構文と、IN / OUT パラメータ、IF・CASE の入口まで触れました。Day12 のテーマは、その続きとしての条件分岐をも...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day11 ストアドプロシージャ①

Day11 前半のゴール「“SQL版の関数”としてストアドプロシージャをイメージできるようになる」ここからは、いよいよ「DBの中で動くプログラム」、ストアドプロシージャの世界に入ります。SQLite には基本的にストアドプロシージャはなく、...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day10 ビュー

Day10 前半のゴール「ビューを“保存されたSELECT文”としてイメージできるようになる」Day10 のテーマはビュー(VIEW)です。SQLite にもビューはありましたが、使わずに来た人も多いはずです。まず押さえたいのは、この一言で...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day9 サブクエリ最適化

Day9 前半のゴール「EXISTS と IN を“なんとなく同じ”から卒業する」今日はサブクエリの中でも、実務で頻出のテーマEXISTS と INを扱います。多くの人が最初こう思います。「EXISTS でも IN でも、書き方が違うだけで...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day8 JOINの最適化

Day8 前半のゴール「JOIN は“上から順に実行されない”ことを理解する」ここからいよいよ「実務SQL力」に入っていきます。Day8 のテーマは JOIN の最適化、その中でも「実行順序」です。多くの人が最初にハマるポイントはこれです。...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day7 復習課題

Day7 前半のゴール「“SQLiteで書けたCREATE TABLE”を、MySQL流に書き直せるようになる」Day7 は、ここまで学んだ差分を一気に使う「総復習の入り口」です。テーマはシンプルで、SQLiteで作ったテーブル定義をMyS...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day6 インデックス基礎

Day6 前半のゴール「“インデックス=検索用の目次”を、感覚レベルで理解する」SQLiteでもインデックスはありましたが、「なんとなくPRIMARY KEYに勝手についてるやつ」くらいの理解で済ませていたかもしれません。MySQLでは、デ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day5 制約の強化

Day5 前半のゴール「“あいまいなデータ”をDBレベルで拒否できるようになる」今日は「制約(constraint)」の中でも、特に重要な2つに絞ります。PRIMARY KEYFOREIGN KEYSQLiteでも出てきましたが、MySQL...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day4 文字コードと照合順序

Day4 前半のゴール「“文字化けしない”だけじゃなく、“正しく比較・ソートできる”を意識する」SQLite を使っていると、文字コードやソート順をあまり意識しないままでも、そこそこ動いてしまいます。でも MySQL では、ここをちゃんと決...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day3 基本操作の確認

Day3 前半のゴール「SQLiteで知っている基本操作を、“MySQLの文法とクセ”で再確認する」今日はあえて「復習レベル」でいきます。テーマはこの3つです。CREATE TABLEINSERT / SELECTUPDATE / DELE...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day2 SQLiteとの違い

Day2 前半のゴール「“なんとなくTEXTだけ”から、“型を意識して設計する”に切り替える」SQLite では、正直こうでしたよね。TEXT と INTEGER と REAL があればだいたい何とかなる日付も文字列で入れておけば動くMyS...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day1 環境構築

Day1 前半のゴール「SQLiteとの“違い”を意識しながら、MySQLの入口に立つ」この30日コースは「SQLiteは触ったことがある人」が前提です。だから Day1 では、まっさらな説明ではなく、SQLiteとMySQLの立ち位置の違...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day30 アウトプット

Day30 前半のゴール「“SQLだけでレポートを作る”感覚と、“他人に説明する”視点を手に入れる」ここまで29日間、テーブル設計・JOIN・集計・インデックス・EC風DB設計まで、一通りやってきました。Day30 のテーマはアウトプットで...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day29 総合課題

Day29 前半のゴール「“ECサイト風”の世界を、テーブル設計に落とし込めるようになる」いよいよ Day29、総合課題です。テーマは 小規模データベースをゼロから設計(ECサイト風)。前半のゴールはこうです。ECサイトに必要な“現実の要素...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day28 パフォーマンス基礎

Day28 前半のゴール「インデックスって“何者か”を、体感レベルで理解する」ここまでで、かなり複雑な JOIN や集計を書けるようになりました。次のテーマは パフォーマンス基礎:インデックス です。Day28 前半のゴールはこうです。イン...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day27 実践クエリ

Day27 前半のゴール「“複雑そうに見えるJOIN+集計”を、怖がらずに分解して読めるようになる」Day25〜26 で、顧客・商品・注文・注文明細を分けて設計し、正規化の感覚もつかんできました。Day27 のテーマは 実践クエリ:複雑なJ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day26 設計改善

Day26 前半のゴール「“とりあえず動く設計”から“一生付き合える設計”に育てる感覚をつかむ」Day25 までで、顧客・商品・注文のテーブルを分けて、それなりに“ちゃんとした”売上管理ができるようになりました。Day26 のテーマは 設計...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day25 ミニ課題②

Day25 前半のゴール「顧客×商品×注文を“ちゃんと分けて”設計できるようになる」Day24 では「顧客だけ」の世界でした。Day25 は一気に現実寄りになります。テーマは 売上管理(顧客×商品×注文)。前半のゴールはここです。顧客・商品...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day24 ミニ課題①

Day24 前半のゴール「小さくても“ちゃんとした顧客管理テーブル”を自分で設計して作る」ここからは「実践編」です。Day24 のテーマは、ミニ課題としての 顧客管理テーブル。前半では、次のところまでを目標にします。顧客管理テーブルにどんな...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day23 ビュー

Day23 前半「VIEW は“よく使う SELECT に名前をつけてテーブルみたいに扱う仕組み」だと思っていいここまで、テーブルを設計してSELECT / JOIN / サブクエリで欲しい形の結果を作る、という流れをやってきました。Day...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day22 サブクエリ②

Day22 前半「EXISTS / IN は“あるかどうか”を聞くためのサブクエリ専用キーワード」Day21 では、SELECT の中にサブクエリを入れて「1行ごとの追加情報」をくっつけました。Day22 のテーマは、WHERE 句で使うサ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day21 サブクエリ①

Day21 前半「SELECT の“1列”として、もう1回 SELECT を動かす」という発想を持つここまであなたは、1つの SELECT でテーブルから行を取り出す複数テーブルを JOIN して情報をくっつけるGROUP BY でまとめて...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day20 複数テーブル設計

Day20 前半「テーブルを“ちゃんと分ける”ことで、あとから自分を助けるのが正規化」ここまで、1つのテーブルを前提にSELECT / JOIN / UPDATE / DELETE / INDEX を見てきました。でも、現実のアプリでは、テ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day19 インデックス

Day19 前半「インデックス=“本の索引”をテーブルに付けて、検索を一気に速くする」ここまでで、SELECT・JOIN・WHERE・GROUP BY…いろいろな「検索の技」を覚えてきました。でも、データ量が増えてくると、「正しい SQL ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day18 制約

Day18 前半「そもそも“おかしなデータ”が入らないようにする」ための仕組みが制約ここまで、SELECT(読む)UPDATE(書き換える)DELETE(消す)をやってきました。ここで一度、視点をガラッと変えます。「変なデータが入ってしまっ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day17 削除

Day17 前半「本当に消える」DELETE は、UPDATE よりさらに“重い一手”ここまでで、SELECT(読む)UPDATE(書き換える)をやってきました。Day17 のテーマは DELETE(削除)。名前の通り、テーブルから行を「消...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day16 更新

Day16 前半「データを書き換える」という、検索とはまったく違う“力”を手に入れるDay1〜Day15 までは、SELECT を中心に「データを読む」ことを学んできました。Day16 からは、いよいよ データを“書き換える”側 に入ります...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day15 結合②

Day15 前半「片方にしかいないデータも“落とさずに見る”」ための LEFT JOINDay14 で学んだ INNER JOIN は、「両方のテーブルに相手がいる行だけを残す結合」でした。Day15 のテーマ LEFT JOIN は、その...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day14 結合①

Day14 前半「バラバラのテーブルを“意味のある1枚”にくっつける」のが JOINここまでずっと、1つのテーブルだけを相手にしてきました。users なら users だけ、orders なら orders だけ、という世界です。でも、現...
スポンサーリンク