見出し画像

N予備校の「プログラミング入門 Webアプリ」コースを履修することで学べる知識まとめ

こんばんみんみん!
バーチャル幼女プログラマのきりみんちゃんです!

きりみんちゃんはN予備校という学習サービスに登録していて、手始めに「プログラミング入門 Webアプリ」をチマチマと履修していたのですが、ようやく修了しました。
このコースはプログラミングを全く知らない人を対象にしているにも関わらずかなり本格的な内容になっていたので、このコースで身につけることが出来る知識をまとめてみたいと思います。
なお、授業内容には動画での講座も含まれますがきりみんちゃんは全てテキスト教材で履修しました。

コース概要

全くプログラミングが分からない上体からnode.jsを使って簡単なWebアプリを作れるようになろう!というコースです。
ただしただフレームワークを見様見真似で写経するというような内容ではなく、実際のWeb系企業の新卒研修くらい本気の内容になっています。

第一章 はじめよう

・Chromeのインストール
・VS Codeの使い方
・HTML5の基礎
・CSSの基礎
・JavaScriptの基本構文(ES6対応)
・JSを埋め込んだ簡単なWebページの制作

感想:PCに詳しくなかったりプログラミングを全く知らない学生でも混乱しないようにかなり丁寧に説明されています。
一方で、JSの構文の解説などは曖昧にごまかすことをせず、かなりしっかり解説していて安心感がありました。

第二章 準備しよう

・Linuxの基礎知識
・仮想環境でUbuntuを使用する方法(VirtualBoxとVagrant)
・コンソールの使い方
・Ubuntuのインストール
・PCの構成パーツの解説
・Linux操作コマンド
・Linux出力コマンド
・viの操作
・シェルプログラミングの基礎
・ネットワーク通信の基礎
・HTTP通信の解説
・GitHubの使い方
・Gitの使い方
・OSSライセンスについて

感想:準備という名のガチ詰め込み編。
いきなり仮想環境でUbuntu使い以降すべての操作をCLIで行うという攻めた構成と、基本情報で教わるようなネットワーク周りの知識をしっかり教えてくれます。
重い内容ながら解説はものすごく丁寧でわかりやすいです。コーディングだけではなくこういう部分もしっかり順番に解説してくれることで講座内容についていけないということが減りそうだと思った。

第3章 サーバーサイドプログラミング入門

・node.jsのインストールと基礎知識
・計算量(オーダー)の基礎知識
・CSVファイルからの集計処理
・yarnとnpmパッケージの解説
・Slack botの実装
・非同期処理の解説
・例外処理の解説
・Webサーバーの基礎知識とHTTPサーバーの立て方
・HTTPメソッドの解説
・Pug(テンプレートエンジン)の使い方
・Herokuの使い方
・Basic認証の解説
・Cookieの解説
・プレーンnode.jsでの匿名掲示板のUI、URI、モジュールの設計
・POST処理の実装
・データベースへの永続化の実装
・CooKieによるユーザーのトラッキング
・管理者機能の実装
・Bootstrapの使い方
・Webサービスの主な脆弱性の解説
・XSS対策
・パスワード保存のメッセージダイジェスト対応の解説
・セッション固定化攻撃対策
・クロスサイト・リクエストフォージェリ脆弱性対策
・HTTPS対応

感想:あえてフレームワークを使わないプレーンnode.jsでの簡単なWebサービスの実装解説の章。
単に実装するだけではなく、設計や認証、セキュリティなどに関してもかなり丁寧に解説されていてすごい。

第4章 実践サーバーサイドプログラミング

・Webフレームワークの概要説明
・Expressの使い方
・GitHub外部認証の実装
・テストフレームワークmochaの解説
・circleciの使い方
・webpackの導入
・JQueryの解説
・AJAXの解説
・Websocket解説
・RDBの解説とSQLの基礎構文
・データベース設計の基礎
・テーブル結合の解説
・インデックスの解説
・これまでの知識を使った実際のWebサービス設計実装の実践

感想:3章まで長々と前準備をしてここでようやく実践編。前置きが丁寧なので本質的な部分に集中でき、スムーズに進められる。
わりとベーシックな構成の小規模Webサービスであれば問題なく作れるくらいの知識は付くと思いました。
フロントがJQueryだったのだけがちょっと残念。。。

感想

未経験者向けの入門コースでここまでやるかというくらいしっかりした講座でした。
実装だけではなくその背後にある技術の解説もきちんと解説しているのが好印象。
専門学校生とかでもこれを履修しておけば授業や基本情報の勉強でだいぶ楽が出来るんじゃないかなーと思ったりしました。

この記事が気に入ったらサポートをしてみませんか?