GithubHelp home page GithubHelp logo

onee-io / full-stack-open Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 6.4 MB

FullStackOpen 全栈公开课课程索引及学习记录跟踪

Home Page: https://easy-plum-chimpanzee-belt.cyclic.app

HTML 1.48% JavaScript 98.11% CSS 0.28% Shell 0.13%
express react react-native redux typescript

full-stack-open's Introduction

Full Stack Open

深入浅出现代 Web 编程 —— 全栈公开课,此仓库仅用于个人学习记录跟踪,并非课程仓库,在下方学习进度中可总览课程内容并跳转至对应章节课程。

👉 官网:https://fullstackopen.com

👉 Demo:https://easy-plum-chimpanzee-belt.cyclic.app

Deploy to Cyclic

课程简介

一站式学习 React, Redux, Node.js, MongoDB, GraphQL 以及 TypeScript!这门课程会向你介绍基于 JavaScript 的现代 Web 开发技术。重点是利用 ReactJS 搭建单页面应用程序(SPA:Single Page Application),并使用 Node.js 构建 REST API。

学习进度

在这一章节,我们将首先了解自己是否适合本门课程。之后,我们将概述 Web 开发的基础知识,还将谈论过去几十年间,Web 应用开发的进展。

在这一章节,我们将熟悉一下 React 库,并用它来编写在浏览器中运行的代码。我们还将学习一下 JavaScript 的一些特性,这些特性对理解 React 很重要。

让我们继续介绍 React。首先,我们将看看如何在屏幕上渲染一个数据集合,比如一个名字的列表。在这之后,我们将探究用户如何使用 HTML 表单向 React 应用提交数据。接下来,我们的重点将转移到查看浏览器中的 JavaScript 代码,看其如何获取和处理存储在远程后端服务器中的数据。最后,我们将快速浏览一下向 React 应用添加 CSS 样式的几个简单方法。

在这一部分,我们的重点转向后端,也就是在堆栈的服务器端实现功能。我们将通过使用 Express 库在 Node.js 中实现一个简单的 REST API,应用的数据将被存储在 MongoDB 数据库中。在这一部分的最后,我们将把我们的应用部署到互联网上。

在这一部分,我们将继续我们在后台的工作。我们的第一大主题将是为后端编写单元和集成测试。在我们完成测试后,我们将看看如何实现用户认证和授权。

在这一部分,我们回到前端,首先看一下测试 React 代码的不同可能性。 我们还将实现基于令牌的认证,这将使用户能够登录到我们的应用。

到目前为止,我们已经将应用的状态和状态逻辑直接放在 React 组件内。当应用规模扩大时,状态管理应该被移到 React 组件之外。在这一部分,我们将介绍 Redux 库,它是目前最流行的管理 React 应用状态的解决方案。

本课程的第七章节涉及到几个不同的主题。首先,我们将熟悉 React router。React 路由器帮助我们把应用分成不同的视图,这些视图根据浏览器地址栏中的 URL 来显示。在这之后,我们将研究一些向 React 应用添加 CSS 样式的方法。在整个课程中,我们使用 create-react-app 来生成我们应用的主体。这一次,我们将看看底层:我们将学习 Webpack 如何工作,以及我们如何使用它来配置应用。我们还将看看钩子函数以及如何定义一个自定义钩子。

这部分课程是关于 GraphQL 的,Facebook 在浏览器和服务器之间的通信中替代了 REST。

这一部分是关于 TypeScript 的:一个由微软开发的开源类型化的 JavaScript 超集,可以编译成普通 JavaScript。

在这一部分中,我们将使用之前介绍的工具,在一个现有的生态系统中构建端到端的功能,并预定义了 linter 和现有的编写 TypeScript 的代码库。做完这一部分后,你应该能够理解、开发和配置使用 TypeScript 的项目。

在这一部分,我们将学习如何使用 React Native 框架,用 JavaScript 和 React 构建原生的 Android 和 iOS 移动应用。我们将通过从头开始开发一个完整的移动应用来深入了解 React Native 生态系统。在此过程中,我们将学习一些概念,如如何用 React Native 渲染本地用户界面组件,如何创建漂亮的用户界面,如何与服务器通信,以及如何测试 React Native 应用。

这样你就有了一个新的功能,准备发货了。接下来会发生什么?你会手动上传文件到服务器吗?你如何管理你的产品在野外运行的版本?你如何确保它能工作,并在它不能工作时回滚到一个安全版本?

手动完成上述所有工作是一件很痛苦的事情,而且对于一个较大的团队来说,不能很好地扩展。这就是为什么我们有持续集成/持续交付系统,简称 CI/CD 系统。在这一部分,你将了解为什么要使用 CI/CD 系统,它能为你做什么,以及如何开始使用 GitHub Actions,所有 GitHub 用户默认都可以使用。

在这部分中,我们将学习如何将代码打包成标准的软件单元,称为容器。这些容器可以帮助我们比以前更快、更容易地开发软件。在这一过程中,我们还将在现在熟悉的 Node.js 后端和 React 前端之外,探索一种全新的网络开发观点。

我们将利用容器来为我们的 Node.js 和 React 项目创建不可改变的执行环境。容器还可以使我们的项目轻松地包含多种服务。有了这种灵活性,我们将通过利用容器来探索和尝试许多不同的流行工具。

在本课程的前几节中,我们使用 MongoDB 来存储数据,这是一种所谓的 NoSQL 数据库。NoSQL 数据库在 10 多年前变得非常普遍,当时互联网的扩展开始对使用老一代 SQL 查询语言的关系型数据库产生问题。

关系型数据库从那时起经历了一个新的开始。可扩展性方面的问题已经得到了部分解决,它们也采用了 NoSQL 数据库的一些特性。在这一节中,我们将探索使用关系型数据库的不同 NodeJS 应用,我们将重点使用数据库 PostgreSQL,它是开源世界中的第一。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.