如何基于Node.JS开发个性化全网内容抓取平台
主讲者
杨恪,毕业于南京大学,全栈(溢出)工程师,三次创业均任技术负责人,其间受邀到复旦大学做过移动开发后端服务设计的分享,现任某百万用户APP后端负责人。
看看老师讲过的课:
学习内容:8周体系课程,你将收获什么?
课程项目:基于Node.js开发个性化全网内容抓取平台:包罗“AB站微博头条”内容的一站式门户网站
本课程将通过8周的时间,以个性内容聚合站项目为实战,带你从0基础熟悉后端开发各方各个面,成为具备独立开发能力的入门级Node.js后端开发工程师。
课程内容涵盖时下最流行的后端技术,包括:网络爬虫、微信开发、分布式系统、数据库开发(NoSQL)和设计、高可用高可拓展服务、消息队列、REST接口设计、负载均衡和调优等等。
课程大纲
概论
- 何为"后端":APP、网站背后的运行机制
- 现代的后端服务体系
- 为什么选择Node.js:流行的后端语言和对比
基础知识预备
- 命令行操作:*nix下基础命令行操作
- 版本控制系统简介:为何我们需要GIT,SVN等版本控制系统,以及这些系统如何帮助现代软件工程师高效协作开发
- GIT:GIT基础命令操作,以及如何向开源社区贡献代码,这也是本课提交作业的方式
- 环境配置:命令行、NVM、NPM、Node.js、IDE配置和ESLint\JSLint配置
- Hello World: 如何使用Node.js搭建一个服务
基础篇
第一周
- JS0基础教程:手把手教你写Javascript
- HTTP:TCP、UDP和HTTP协议的介绍,HTTP为何称霸及其特点,HTTP报文分析
- 实战:分析HTTP请求和网页,爬取我们需要的信息
第二周
- ES6基础:学习实用而强大的ES6,打牢基础
- 实战:使用ES6和Node.js来编写一个简单的HTTP服务
第三周
- 数据库基础:MongoDB介绍、CRUD及性能初步
- 实战:使用mongoose合理设计表结构、存储我们爬取的数据
- 爬虫进阶:数据清洗、归类以及反爬策略
- 实战:使用定时任务自动爬取内容
第四周
- 错误处理:正确地发现和处理服务的错误
- 日志:日志系统搭建、分析
- 实战:正确记录并处理错误
进阶篇
第五周
- Rest接口设计:何为REST接口,以及如何使用REST风格接口让开发更加高效
- 实战:使用REST风格服务提供可访问的爬取平台
第六周
- 分布式系统:何为分布式系统,几种常见分布式系统的介绍,如何使用分布式系统提供稳定高效的服务
- 实战:使爬虫具有分布式爬取、错误同步和自动分工的功能
第七周
-
数据库进阶:redis支持的数据结构和原理简析、使用redis作为高效的缓存和跨进程通讯方式
-
实战:使用redis分隔爬虫集群,分配爬取任务
以下进阶内容,部分会使用录播的方式讲解,部分会作为选修课加入到课程中
- 实战:测试并定位服务中的性能瓶颈
- 安全:爬虫识别和防范,HTTPS的原理及应用
- 实战:服务安全改造
- 实战:Nginx安装、配置和瓶颈以及相应优化方法
这8周,我们如何学习?
线上直播+录屏复习+课件讲义+学习资源推荐+课下项目作业+全天行业交流+多位重磅老师答疑辅导
-
线上直播课,不懂及时问
饥人谷直播平台上课,课堂可与老师实时互动;每周2次直播课,每次2小时左右,具体时间开班前一同协商 -
课后视频回放,复习不用愁
第2天可在饥人谷官网观看课堂视频,无限重复巩固学习,还可加速播放哦 -
最新学习平台,体验再升级
视频、课件、学习资料、作业、项目一站解决;作业同学互评+老师批改双管齐下。让你的学习更有趣。 -
温馨小班互动学习
课堂下多位重磅老师联合坐镇,提供多位老师的拓展课程,同时不限时答疑辅导,与老师们和同班同学沟通交流。
了解行业动态,0距离接触一线互联网公司最新最前沿的技术;还能在同学中结交到全国各地的程序员,拓展个人社交圈。
本期课程将于11月上旬开班,感兴趣的小伙伴可以加群:申请加入QQ群
或联系班主任MM了解课程详情~
墨凌:3175576796(QQ)
青青:2054185664(QQ)