最新の Web 開発
エジプトのソフトウェア開発市場は、国際市場と比較して専門人材の不足に悩まされています。このコースでは、Web 開発分野における最新の安定したソフトウェア開発の実践、プロジェクト アーキテクチャ、デザイン パターン、およびテクノロジについて説明します。
このコースは、ソフトウェア開発のキャリアを追求したい人、またはスタートアップのために低コストの MVP を作成したい人を対象としています。このコースを修了すると、最新技術に精通し、開発スタックについて知識に基づいた意思決定ができるようになります。
このコースの構成は、初心者の開発者が、このツールが仕事に適しているかどうかについて批判的に考えることなく、フレームワークの採用やライブラリの使用を開始するという考えに主に動機付けられています。
コースの流れ
- このコースは13のセッションで構成されます
- 各セッションは演習とディスカッションの 2 つの部分で構成されます
- 演習中はコースの課題を解決します
- ディスカッション中に次の課題について話し合います
- 議論されたすべての概念は課題に文書化されています
- 不明瞭な概念について説明します
- 各セッションの後、進捗状況に基づいてコース教材を更新します。
- 何かについて採点する必要があるため、課題は 10% ずつです。
- 成績は完了時に授与されます(私は完了したとみなします)。
- 課題はセッション中に採点されます。
- 修了レベルに応じて等級が部分的に決まる場合があります。
- ベスト 10 の課題が考慮されます
- できればセッションの前に課題を読むか解き始めてください。
- 課題を完了できない場合は、次の演習スロットの前に課題を完了する許可を与えることができます。
- 最初のセッションはディスカッションのみのセッションです。
- 最後のセッションは課題のみのセッションです。
- コースの最後にはみんなでピザを食べましょう。
必要になります
- bash シェルを備えたラップトップ (Unix ベースの OS または ubuntu ターミナルを備えた Windows 10)
- 最新のブラウザ(最新の Google Chrome など)
- インターネット
- NodeJS
- Git
- Atomなどのテキストエディタ
コースセッション
この講座でご紹介するのは、
1. Web アプリケーションの歴史
このセッションでは、開発者が学べる既存の状況と、このコースで説明する内容について説明します。
- コースに対する期待値を設定する。
- 私たちが解決していく問題。
- Web アプリケーションの履歴。
- Babel と Node を使用した ES6 プロジェクトのセットアップ
- ウェブパック
次回への課題
- ライブラリを使用せずに単純な Web アプリを構築する
- 私たちが直面する基本的な問題
- コードを sepret ファイルに分割する
- OOCSS と BEM
2. 最新のアプリケーションの概要: データ レンダリング ビュー
このセッションでは、JavaScript の基本的な機能の要約から始めて、関数型プログラミングの概念を見ていきます。
- フレックスボックス
- es6 機能テンプレート文字列
- コンポーネント データを HTML にレンダリングする
次回への課題
3. 最新のアプリケーションの寿命: アクションはデータを更新します
- DOMイベント
- コードのスコープ設定
- オブザーバーパターンを使用したイベントベースのプログラミング
次回への課題
- Flux アーキテクチャ (データ ダウン アクション アップ)
4. 最新のアプリケーションの寿命: テスト
- 単体テストの HTML レンダリング
- 純粋な関数
- ステートストア
- モックとスタブ
- 依存関係の注入
次回への課題
- レンダリング関数をテストする
- アクションディスパッチャーをテストする
- ストアを変更するアクションをテストする
5. 最新のアプリケーションの概要: ビューがイベントをトリガーする
- NodeJS: モジュール
- ビルドツール: gulp
- 仮想 dom のレンダリング
- テストタスクを実行する
- ブラウザ化する
次回への課題
- カウンターと呼ばれる新しい種類の ToDo アイテムを開発する
- todo アイテムを編集できるようになりました
6. 最新のアプリケーションの寿命: 非同期コード
- Javascriptのイベントループ
- fetch での約束
- Express を使用した単純な REST サーバーの作成
- ソケット
- 非同期
- リアクティブプログラミング
7. 継続的な統合と展開
- Git ページを使用したフロントエンド * Git への抵抗 * CI を使用してコードを github にデプロイ * Nginx で SSH して暗号化しましょう
- Capistrano を使用したバックエンド (ノード フライト) * SSH を使用してサーバーにデプロイ * CI を使用して git プル リクエストの受け入れを自動化 * デプロイにフライトプランを使用
8. MVP に必要なもの
- ファイアベース * *
- Firebase でのテスト * *
8. 大規模アプリのアーキテクチャ: 問題
- 反応 * *
- プログレッシブ Web アプリ * *
9. 大規模アプリのアーキテクチャ: フレームワーク
- 反応 * *
- グラフQL * *
10. ネイティブスクリプトに反応する
- 設定 * *
- プッシュ通知*
11. 失われた時間のためのエクストラ
- 電子 * *
12. 失われた時間のためのエクストラ
注意事項
#コース