Bittiger CS503全栈软件工程师直通车Full-stack software engineer课程介绍:
通过本阶段项目,实现类似Google Doc的代码在线协作Online Judge System.课程将会带领大家从理论到实战,开发并部署Node.js,搭建基于Angular.js的前端,并使用Socket.io完成多用户同步。通过部署并联通 MongoDB和Redis,利用使用Nginx做负载均衡,Docker Container 编译执行用户代码,以实现用户答案程序的判决。通过第一阶段项目,用户可以如同使用Google Doc一样相互合作共同编写代码,并浏览选择 coding problem;更可以针对指定的问题编程解答,系统将会编译运行用户代码并判决。这一项目在其他重要领域(如使用Angular框架构建前端,使用Node.js搭建 RESTful API或使用 Docker虚拟化技术等情形下)也有很好的拓展延伸性。
课程目录:
高强度专业培训–第一阶段 Collaborative Online Judge System项目强化训练
第一阶段目标:通过本阶段项目,实现类似 Google Doc 的代码在线协作与 Leetcode 的代码编译运行与裁判系统。
第一个月将会带领大家从理论到实战,开发并部署 Node.js,搭建基于 Angular.js 的前端,并使用 Socket.io 完成多用户同步。通过部署并联通 MongoDB和Redis,利用使用 Nginx 做负载均衡,Docker container 编译执行用户代码,以实现用户答案程序的判决。通过第一阶段项目,用户可以如同使用 Google Doc 一样相互合作共同编写代码,如同使用 Leetcode 一样浏览选择 coding problem;更可以针对指定的问题编程解答,系统将会编译运行用户代码并判决。这一项目在其他重要领域(如使用 Angular 框架构建前端,使用 RESTful API 搭建后端或使用 Docker 虚拟化技术等情形下)也有很好的拓展延伸性。
第一周
理论课安排 Expand
Web 基础
Node.js 的原理与运用
Restful API
System Design 通用方法与具体实现
实战课安排
设计系统结构
设计实现 Restful API
Node.js 实现 API Server
第二周
理论课安排 Expand
Bootstrap 原理与实践
Angular 2 及其他前端架构介绍
WebSocket 原理与运用
实战课安排
实现 Responsive Web 设计
实现 Single Page Application
WebSocket 实现 Collaborative Editing
第三周
理论课安排 Expand
NoSql 数据库介绍
MongoDB 设计与实践
Cassandra 设计与实践
Redis 设计与实践
实战课安排
实现 MongoDB 通信
实现 Redis 缓存设计
Cassandra 集群设计
第四周
理论课安排 Expand
Nginx
Docker 原理与运用
AB testing 性能测试与调优
GFS/HDFS 设计与实践
实战课安排
Nginx 搭建 Cluster
Docker 及 Docker-Compose 搭建快速迭代开发部署环境
系统性能测试与调优
VIEW LESS
高强度专业培训–第二阶段 “今日头条“ 新闻挖掘与推荐系统项目强化训练
第二阶段目标:通过项目实战,强化全栈技能,得到实现完整的 Web 前端与后端,健全的数据采集系统,和机器学习离线训练与线上预测系统。
第二个月我们将围绕另一项目“今日头条“ 新闻挖掘与推荐系统,带领大家在开发部署Node.js的同时,搭建基于 React 的前端并使用RPC 结构搭建 python后端。在这一阶段,同学们将熟练使用常用 Python 库,部署并联通 MongoDB和 RabbitMQ,再利用网络爬虫抓取信息。同时,我们将基于 tf-idf 实现文档查重和基于 CNN 实现推荐系统两个重要功能。最后利用TensorFlow 训练模型,部署 TensorFlow Serving 提供在线预测。最终这个项目能够实现完整的 Web 前端与后端,健全的数据采集系统,和机器学习离线训练与线上预测系统。
第一周
理论课安排 Expand
Javascript 基础
React
API 设计
实战课安排
如何配置开发环境
使用 Node + React 编写前端 Web
编写一个RPC API client, 并使用 Mock 测试
第二周
理论课安排 Expand
消息队列
Web Scraper 技术
第三方 API
实战课安排
本地搭建部署 MongoDB,介绍 MongoDB shell 的使用
使用 Pika 库与 MongoDB 链接
CloudAMQP 的设置与本地 Python 的联调
建立一个包含基本 RPC API 的 Backend Server
CNN 新闻抓取示范
News API 调用示范
第三周
理论课安排 Expand
Text Mining 基础
机器学习基础
实战课安排
使用 TF-IDF 实现新闻查重
完善 Data Fetcher 系统
使用 Jupyter 与 TensorFlow 进行机器学习
第四周
理论课安排 Expand
深度学习与推荐系统
TensorFlow 模型训练
TensorFlow Serving
实战课安排
使用 TensorFlow 训练推荐系统模型
部署 TensorFlow Serving
连接 Python Backend 与 TensorFlow Serving
使用 Cron 定时自动化训练与更新线上模型
VIEW LESS
Capstone工业界实战项目
经过前两个月的两个项目的理论学习与实战,学员已积累了一定的全栈工程技能与经验。在第三个月中,学员需要从实际需求出发,进行完整的系统设计,权衡选择技术栈,划分组织模块,并最后实现一个全栈系统。课程最后部分项目设计,学员将被分成不同的Track,参考项目题目有:
基于爬虫的数据分析、机器学习和展示平台
搭建企业SaaS平台
在线直播教学平台
基于LBS的游戏平台
电影推荐平台