深度实战玩转算法-看的见的算法 7个经典应用诠释算法精髓

课程简介:

看的见的算法 7个经典应用诠释算法精髓
采用基础的Java语言,通过7款经典好玩的游戏,bobo老师带你进入不一样的算法世界,体验算法在实际开发中的应用,真正把算法用起来!

利用视觉去思考,最直观的算法应用
可扩展项目应用

课程中讲解Demo可用于毕设,面试,技术提升,个人项目原型
直观的实例讲解
全网稀缺,将算法以图形可视化的形式直接展现出来
与实际应用接轨
不仅仅是枯燥的数学推导和逻辑实现,更会将算法知识联合实际应用

[code]官方课程链接:https://coding.imooc.com/class/chapter/138.html[/code]

课程目录:

第1章 欢迎来到看得见的算法
欢迎来到看得见的算法。这个课程将以独一无二的方式,向你展示算法究竟有什么用,在实际项目中能做什么,并向你一一展示通过学习这个课程,你将能够制作出多么酷炫的程序:)
1-1 欢迎来到看得见的算法
1-2 学习这个课程将完成什么项目?
1-3 关于本课程的编程环境
1-4 更多学习本课程的注意事项

第2章 要想看得见,先要搞定GUI编程
在这一章,你将从0开始接触Java Swing编程,进入GUI的编程世界。通过这一章的学习,你将了解Java Swing最基本的用法。在这一章的最后,你将能够使用Java Swing制作简单额动画,并且能够使用键盘鼠标进行交互。
2-1 使用JFrame
2-2 创建属于自己的第一个JFrame子类
2-3 设置画布与图形绘制基础
2-4 使用Graphics2D
2-5 整理绘制工具类
2-6 高级绘制特性:抗锯齿和双缓存
2-7 动画基础
2-8 算法可视化中的MVC
2-9 键盘事件
2-10 鼠标事件
2-11 课程所使用的GUI编程模板

第3章 概率模拟算法
什么是蒙特卡洛算法?如果一个房间有100个人,每一时刻所有人都随机给另外的人一块钱,一定时间以后,房间里人们的财富分配是怎样的?怎么求解PI的近似值?著名的三门问题是怎么回事?游戏里的宝箱,有20%的中奖率,打开5个宝箱就一定能中奖吗?对于这些问题,在这一章将统统给你答案!…
3-1 一个有意思的分钱模拟问题
3-2 深入随机分钱问题
3-3 蒙特卡洛算法
3-4 使用蒙特卡洛算法求PI值
3-5 不需要可视化的蒙特卡洛模拟
3-6 三门问题
3-7 你一定能中奖吗?

第4章 排序算法可视化
有没有见过网上酷炫的排序过程动画?在这一章,我们将带领你制作选择排序,插入排序,归并排序,快速排序和堆排序的动画。通过这些动画,我们将更深入的理解这些排序算法的优劣,以及相应的优化思路:)
4-1 选择排序算法可视化.
4-2 为可视化添加更多效果
4-3 插入排序可视化.
4-4 在近乎有序的数据上测试插入排序算法.
4-5 通过归并排序算法深入理解递归
4-6 归并排序算法可视化.
4-7 快速排序算法可视化
4-8 在快速排序中随机选取标定点
4-9 双路快速排序算法可视化
4-10 三路快速排序算法可视化
4-11 堆排序算法可视化

第5章 走迷宫
走迷宫是一个经典问题。这一章将针对这个经典问题进行详细分析,最终完成一个可视化的计算机自动在迷宫中寻找正确路径的动画应用。通过这个动画的制作,我们还将深入分析深度优先遍历和广度优先遍历,发现这二者之间最为重要的联系。…
5-1 处理迷宫文件
5-2 迷宫可视化
5-3 迷宫问题和图的遍历
5-4 深度优先递归走迷宫
5-5 迷宫问题与回溯法
5-6 非递归深度优先走迷宫
5-7 非递归深度优先走迷宫求解最终路径
5-8 广度优先走迷宫问题
5-9 深度优先遍历和广度优先遍历的内在联系

第6章 随机迷宫生成
RPG游戏中的迷宫都是如何随机生成的?在这一章,我们将探索一种随机迷宫的生成算法,并且完成一个从无到获得完整酷炫迷宫的动画过程。通过学习这个算法,我们也将领悟,如何在深入理解经典算法的基础上,改进算法,制作个性化的数据结构,来完成不一样的目标。 …
6-1 什么是迷宫
6-2 生成迷宫基础
6-3 深度优先遍历生成迷宫
6-4 非递归深度优先遍历生成迷宫
6-5 广度优先遍历生成迷宫
6-6 随机队列生成迷宫
6-7 迷宫生成的迷雾效果
6-8 生成随机性更强的迷宫
6-9 更多迷宫问题

第7章 自己做一个扫雷游戏
虽然游戏引擎越来越发达,但并非所有的游戏都能够通过拖拖拽拽来完成。扫雷就是一个例子。通过这章的学习,我们将探索制作扫雷这个游戏背后的算法,让大家认识到算法无处不在。即使是一个简单的扫雷,如果不会算法,还真实现不出来呢:)…
7-1 扫雷是什么鬼?扫雷里包含什么算法?
7-2 扫雷代码基础
7-3 随机生成雷区
7-4 验证随机生成雷区算法的随机性
7-5 Fisher-Yates洗牌算法的应用
7-6 为扫雷程序加入交互
7-7 扫雷与floodfill算法
7-8 更多扫雷相关和floodfill算法的应用

第8章 益智游戏自动生成解 – Move the Box
喜欢益智游戏,但是脑细胞不够用?让我们编程来自动求解一个益智游戏吧!通过这个过程,我们也将初步接触经典人工智能的核心思想——搜索。希望学完了本章课程,你不仅能够学会自动求解Move the Box这个游戏,还能够自己写出求解其他益智游戏的自动化算法。分分钟掌握黑科技!…
8-1 玩一玩Move the Box
8-2 求解Move the Box的数据架构
8-3 求解Move the Box的渲染
8-4 搜索框架
8-5 处理箱子掉落过程
8-6 处理箱子消除过程
8-7 显示问题的解
8-8 更多搜索优化思路
8-9 更多人工智能相关

第9章 分形图的绘制:计算机生成艺术
计算机算法不仅仅可以用于计算求解,还可以用于艺术领域!分形艺术便是其中之一。在这一章中,我们将学习形形色色的分形图的绘制方法,用代码生成绚丽的图案,帮助你实现艺术家的梦想!
9-1 分形到底是什么鬼
9-2 递归绘制基础
9-3 Vicsek 分形图的绘制
9-4 为分形绘制添加交互
9-5 Sierpinski 分形绘制
9-6 Sierpinski 三角形
9-7 Koch雪花分形背后的数学分析
9-8 编写Koch雪花分形
9-9 利用分形绘制树

第10章 看得见的算法,下季再见!
准备这个选题的时候,我列出了可以讲解的20余种应用,之后挑选了难度适中且具有代表性的7个形成了现在的课程。算法的用处其实还多着呢。如果大家喜欢,我将继续为大家奉献:看得见的算法,第二季!:)
10-1 看得见的算法,下一季再见!

课程截图:


感谢来自@cdsf 的投稿!!

BAT大牛亲授基于ElasticSearch的搜房网实战

课程简介:

BAT大牛亲授 基于ElasticSearch的搜房网实战
当前互联网行业,数据检索、数据分析等大数据相关的产品异常火爆,而ElasticSearch是当下最火的分布式搜索引擎及大数据分析中间件 ,了解并掌握ElasticSearch的实用场景及相关技能 ,必将提升你在互联网行业的核心竞争力,让你可以轻松走进BAT !

围绕“搜索”核心业务,构建 “房屋寻租”完整前后端
以ElasticSearch技术栈为核心,结合当下最流行的互联网技术的租房网站实战,解决企业“搜索”业务难题

[code]官方课程链接:https://coding.imooc.com/class/167.html[/code]

课程目录:

第1章 课程介绍
本章首先会对整个课程做一个基本的介绍,包括使用到的技术、项目整体运行效果,让大家了解通过学习本门课程可以接触并学习到哪些技术。然后让大家在学习之前,对课程学习所需要的前置知识有一定的了解,并对课程所用的一些技术选型做基本的介绍,最后还给大家提供了中肯的学习建议。…
1-1 导学
1-2 技术选型介绍
1-3 学习建议

第2章 项目设计
本章会对课程的实现项目设计做相关的介绍分析,包括需求分析以及数据库设计分析,让大家可以对本门课程的项目实际应用需求背景有基本的了解,同时学习本门课程的数据库设计思想与技巧。
2-1 _需求分析
2-2 _数据库设计

第3章 环境搭建
本章会针对课程实现项目的环境搭建及项目搭建做详细的介绍,带领大家学习如何集成项目所需要的SpringDataJPA。然后,为了方便开发测试,会教大家如何集成单元测试并使用内存数据库H2替换数据测试方案。最后还会让大家对课程所使用的前端技术有基本的了解并进行集成教学。…
3-1 环境要求
3-2 后端框架搭建
3-3 集成单元测试及H2
3-4 前端集成

第4章 架构设计
本章会对项目的结构设计及分层设计做详细的介绍。然后会对项目的API结构做非常详细的介绍,并手把手带领大家制定项目的API标准及进行相关代码的开发,帮助大家强化对API标准化概念的理解。最后还会开发项目最常用的功能性页面,包括403、404及500等。…
4-1 架构设计与分层
4-2 API结构设计_RESTFul API
4-3 API结构设计_标准制定
4-4 API结构设计_异常拦截器
4-5 功能性页面开发

第5章 后台管理模块实现
本章会对项目后台管理模块进行详细的讲解,主要是让大家学习如何设计实现项目需要的权限控制系统,内容包括后台登录功能、权限控制及登录验证失败的相关处理逻辑等。
5-1 业务与功能分析设计
5-2 后台登录功能实现
5-3 权限控制
5-4 验证失败逻辑处理

第6章 房源信息管理模块实现
本章会对项目后台房源数据管理模块的开发进行详细的讲解,并手把手带领大家开发后台系统的相关功能,包括基于七牛云的图片上传、新增房源、数据浏览、编辑功能等基本增删查改的代码开发,以及基本的房源审核功能。
6-1 业务与功能分析设计_
6-2 基于七牛云的图片上传
6-3 基于七牛云的图片上传_本地上传
6-4 基于七牛云的图片上传_上云1
6-5 基于七牛云的图片上传_上云2
6-6 新增房源信息功能实现_上
6-7 新增房源信息功能实现_中
6-8 新增房源信息功能实现_下
6-9 房源浏览功能实现_基本开发
6-10 房源浏览功能实现_分页实现
6-11 房源浏览功能实现_多维度排序
6-12 编辑功能实现_上
6-13 编辑功能实现_下
6-14 审核功能实现

第7章 基础功能实现
本章主要讲解课程项目用户前台模块的基础功能模块开发,包括房源数据浏览功能及房源信息详情页,是后续其他功能实现的基础模块。
7-1 功能与分析设计
7-2 默认排序实现(上)
7-3 默认排序实现(下)
7-4 其他维度排序实现
7-5 房源信息详情页

第8章 搜索引擎实现
本章是课程的重难点,主要讲解如何基于ElasticSearch快速实现一个站内搜索引擎,让大家对ElasticSearch的应用有更深入的理解,并学习相关的代码开发技巧。同时,会讲解如何将ES的功能特性与业务相结合,包括基于聚合功能的房源统计功能、基于Suggest的自动提示功能等,并简单的介绍了中文分词及相关的解决方案。最后还对搜…
8-1 业务与功能分析
8-2 ES与MySQL技术选型对比
8-3 索引结构设计(上)
8-4 索引结构设计(下)
8-5 索引构建_核心逻辑(上)
8-6 索引构建_核心逻辑(下)
8-7 索引构建-消息中间件介绍
8-8 索引构建_异步实现
8-9 搜索引擎_上
8-10 搜索引擎_下
8-11 中文分词_问题描述
8-12 中文分词_巧解之道
8-13 Search-as-you-type
8-14 小区房源统计功能
8-15 搜索引擎优化

第9章 基于百度地图的找房功能
本章会讲解如何将第三方应用与ES的功能特性相结合以实现项目的实际业务应用需求,主要目的在于帮助大家学习并理解基于ES的地理位置数据处理及聚合统计的功能特性,另外还可以学习到百度地图在实际业务开发中的应用,包括基础的地图集成及百度LBS的相关功能特性。…
9-1 _业务与功能分析
9-2 _基于ES的地图点聚合(上)
9-3 _基于ES的地图点聚合(下)
9-4 地图鼠标事件应用
9-5 基于地址获取经纬度的开发实现
9-6 基于ES的地图查询功能
9-7 基于ES的视野数据源绑定
9-8 基于百度LBS的云麻点_POI数据增删改(上)
9-9 基于百度LBS的云麻点_POI数据增删改(下)
9-10 基于百度LBS的云麻点_POI数据应用

第10章 会员系统
本章会对项目的账户系统进行详细的讲解,主要是帮助大家学习如何实现当下流行的免注册登录功能实现,并且手把手带领大家实现用户中心功能,包括用户信息的基本增改查等。然后让大家学习并了解如何实现API权限拦截器。
10-1 业务与功能分析_
10-2 免注册登录_核心逻辑
10-3 免注册登录_阿里云实现-
10-4 会员中心
10-5 用户预约功能(上)
10-6 用户预约功能(下)
10-7 经纪人完成预约功能
10-8 _api权限拦截器
10-9 _基于美洽的客服系统

第11章 ElasticSearch优化
本章会针对项目使用的ElasticSearch中间件进行相关的优化教学,旨在给大家提供ES的优化思路以及带领大家学习ES的一些基本优化技巧。然后还会介绍ES安全方面的问题及解决方案。最后会讲解基本的ES运维思路及解决方案。
11-1 索引结构优化
11-2 配置优化
11-3 基于Nginx实现负载均衡
11-4 安全控制_基本认证
11-5 安全控制_选择性认证
11-6 基于SpringSchedule的监控任务
11-7 基于SpringMail的报警系统

第12章 基于ELK的应用分析
本章会基于课程项目的数据进行应用数据分析,主要目的在于介绍传统的ELK中间件技术栈,并带领大家学习ELK的基本使用技巧。
12-1 _业务与功能分析设计_
12-2 Logstash应用_日志采集
12-3 Logstash应用_Nginx日志拆解入库
12-4 _数据可视化分析_全局流量趋势
12-5 _数据可视化分析_房源访问流量趋势图

第13章 项目上线
本章会介绍生产环境的项目在项目上线前的准备工作,并进行打包上线。
13-1 _单元测试覆盖率报告.mov_音频
13-2 _线上线下配置分离

第14章 课程总结
这一章会带领小伙伴们一起进行课程总结,回顾整个课程所使用的技术点及知识点。同时,这一章是课程的终点也是大家的起点,非常感谢大家的支持,祝大家学有所成终成神!
14-1 _课程总结_

课程截图:


感谢来自@cdsf 的投稿!

7七月:微信小程序商城构建全栈应用

课程简介:

微信小程序商城构建全栈应用
通过开发一个已上线的小程序商城全栈应用,学会如何打造iOS,Android,Web多端适配的服务端标准API,掌握三端分离开发方式,理解现代Web的基本架构思想

适合人群及技术储备要求
适合有一定实践经验但却一直无法进阶和提高的PHP开发者 或 想深入理解RESTFull API的后端开发者

技术储备要求
PHP基础语法及面向对象概念
TP5基础知识(至少需要了解控制器与路由的基本概念)
SQL语句与关系数据库表的基本概念
微信小程序常用API

[code]课程来源:https://coding.imooc.com/class/chapter/97.html[/code]

课程目录:

第1章 前言:不同的时代,不同的Web
我们说,做一个产品,真的只是做一个产品吗?恐怕不是。现代的Web产品是一个产品矩阵,需要有良好的服务器端架构来支撑整个产品体系。本小节,我们将对现代Web体系做一个介绍,并对课程所需要学习的知识点有一个初步的了解。…
1-1 前言与导语
1-2 产品所使用的技术
1-3 课程流程与体系
1-4 扩展课程:<三端分离>
1-5 项目特点
1-6 TP5技术点简介
1-7 微信技术点简介
1-8 MySQL技术点简介
1-9 学习方式
1-10 前置知识需求
1-11 扩展课程《理解Web与前端》
1-12 扩展课程《第三方组件应该合理选择,特别是在学习阶段》
1-13 维护与提问

第2章 环境、工具与准备工作
工欲善其事必先利器。我们要做一个全栈项目,那么就必须先将环境搭建好。此小节中,我们将搭建产品开发、运行所需要的必须环境,并对常见工具的使用技巧进行详细的介绍。
2-1 环境与开发工具
2-2 安装xampp
2-3 下载ThinkPHP 5
2-4 三端命名与运行ThinkPHP 5
2-5 PHPStorm安装及常见使用技巧
2-6 TP5层次结构
2-7 扩展:TP5自带的Web Server
2-8 在PHPStorm下断点调试代码
2-9 PATH_INFO URL路径模式解析

第3章 模块、路由与获取请求参数
本小节中我们将对TP5的入口文件、三种URL访问模式、虚拟域名配置、路由定义等知识做详细的讲解。
3-1 来编写一个简单的模块(多模块与模块命名空间)
3-2 配置虚拟域名简化URL路径
3-3 安装PostMan
3-4 三种URL访问模式
3-5 定义路由
3-6 获取请求参数
3-7 产品功能讲解与分析
3-8 Navicat安装以及数据库设计初步分析

第4章 构建验证层
客户端的输入永远是不可信的,我们将在此小节中使用TP5的Validate验证器来构建面向对象的验证层。
4-1 Banner数据表设计分析
4-2 Banner接口定义及自定义控制器多级目录
4-3 Validate:独立验证
4-4 Validate 验证器
4-5 零食商贩结构体系详解
4-6 自定义验证规则
4-7 工欲善其事必先利器:构建接口参数校验层

第5章 REST与RESTFul
REST的流行距今为止已经差不多有10年了。不管你是否选择使用RESTFul API,但至少我们需要了解它。本小节,我们将对REST与RESTFul API的最佳实践做详细的讲解。
5-1 介绍下REST之前的重要协议:SOAP
5-2 RESTFul API 的特点解析
5-3 RESTFul API的最佳实践
5-4 如何学习RESTFul API设计

第6章 AOP与全局异常处理
我们经常在写代码时会遇到异常、抛出异常,处理异常。可异常究竟怎么处理更加合适?异常怎么表示更加标准和规范?本小节,我们将使用TP5的特性和AOP的思想来构建一个全局异常处理层。
6-1 正确理解异常处理流程
6-2 固有的处理异常的思维模式与流程
6-3 理清思路,总结异常的分类_
6-4 实现自定义全局异常处理 上
6-5 实现自定义全局异常处理 下
6-6 ThinkPHP5中的日志系统
6-7 在全局异常处理中加入日志记录
6-8 全局异常处理的应用 上
6-9 全局异常处理的应用 中
6-10 全局异常处理的应用 下
6-11 本章小结与AOP思想

第7章 数据库访问与ORM
服务器代码很大一部分都是对数据的整理、操作、运算,数据库作为数据的来源必然是整个服务器端的重中之重。我们将在本小节中,详细学习TP5的数据库访问知识以及说明是ORM,如何使用ORM的思想来对数据库进行增删改查。
7-1 数据库操作三种方式之原生SQL
7-2 从一个错误了解Exception的继承关系
7-3 TP5数据库中间层架构解析
7-4 查询构造器 一
7-5 查询构造器 二
7-6 查询构造器 三
7-7 开启SQL日志记录
7-8 ORM与模型
7-9 初识模型
7-10 模型定义总结
7-11 静态调用还是实例对象调用
7-12 几种查询动词的总结与ORM性能问题的探讨

第8章 专题、分类、商品详情接口编写
本小节我们将综合使用之前学习的知识,编写专题、分类和商品等模块的接口,加深对知识的理解。
8-1 Banner相关表分析(数据表关系分析)
8-2 模型关联—-定于关联与查询关联
8-3 模型关联—-嵌套关联查询
8-4 隐藏模型字段
8-5 在模型内部隐藏字段
8-6 图片资源URL配置
8-7 读取器的巧妙应用
8-8 自定义模型基类
8-9 定义API版本号
8-10 专题接口模型分析
8-11 一对一关系解析
8-12 Theme接口验证与重构
8-13 完成Theme简要信息接口
8-14 开启路由完整匹配模式
8-15 编写Theme详情接口
8-16 数据库字段冗余的合理利用
8-17 REST的合理利用
8-18 最近新品接口编写
8-19 使用数据集还是数组?
8-20 分类列表接口编写
8-21 扩展:接口粒度与接口分层
8-22 分类商品接口编写

第9章 微信登录与令牌
用户登录、权限分级与接口保护对于API来说是非常重要的。我们将使用微信的身份认证体系来实现免密登陆、使用Token令牌来替代我们传统Web开发中的Cookie进行用户身份验证与权限分级。在有了Token令牌后,我们就可以对用户相关接口:收货地址进行编写了。…
9-1 初识Token—意义与作用
9-2 微信身份体系设计
9-3 实现Token身份权限体系
9-4 实现Token身份权限体系二—获取openid
9-5 实现Token身份权限体系三
9-6 实现Token身份权限体系四
9-7 实现Token身份权限体系五
9-8 API小程序测试工具
9-9 商品详情接口分析与初步编写
9-10 路由变量规则与分组
9-11 闭包函数构建查询器
9-12 用户收货地址—–通过令牌获取用户标识
9-13 用户收货地址—–面向对象的方式封装获取UID方法
9-14 用户收货地址—–模型新增和更新
9-15 用户收货地址—–参数过滤
9-16 用户收货地址—–接口测试

第10章 微信支付
微信支付我们经常使用,但我们了解微信支付的整个流程吗?本小节,我们将详细介绍微信支付的整个流程并编写产品的下单、支付与处理支付结果的相关接口。
10-1 Scope权限作用域的应用
10-2 前置方法
10-3 对Address接口做权限控制
10-4 下单与支付的业务流程(库存量检测)
10-5 下单与支付详细流程
10-6 重构权限控制前置方法
10-7 编写一个复杂的验证器
10-8 下单接口业务模型 一
10-9 下单接口业务模型 二
10-10 订单快照
10-11 订单快照的实现
10-12 订单创建
10-13 一对多关系的新增操作
10-14 测试订单接口
10-15 TP5自动写入时间戳
10-16 在TP5中使用事务
10-17 关于微信支付
10-18 支付的服务器端编写 一
10-19 支付的服务器端编写 二
10-20 支付的服务器端编写 三
10-21 支付的服务器端编写 四
10-22 支付的服务器端编写 五
10-23 支付的服务器端编写 六
10-24 支付的服务器端编写 七
10-25 支付的小程序端讲解(含签名的作用讲解) 八
10-26 支付的服务器端编写 九
10-27 统一测试订单与支付接口 十
10-28 支付的服务器端编写(支付结果回调机制) 十一
10-29 支付回调通知处理 一
10-30 支付回调通知处理 二
10-31 事务与锁防止多次减库存
10-32 接收微信回调
10-33 测试支付全流程
10-34 可以断点调试微信支付的回调吗?
10-35 TP5中的分页查询与获取用户历史订单数据
10-36 测试与验证历史订单数据接口
10-37 订单详情接口

第11章 前端部分:前端框架构建与令牌管理,首页、专题、分类等模块编写
本章我们将开始前端代码的编写。我们在本小节中将介绍前端编码的一些规范并动手实现一些基础框架功能。此外,我们还将编写产品的首页、专题以及分类等模块。
11-1 小程序部分开场白与新建小程序项目
11-2 新建首页页面与小程序中的MVC
11-3 使用ES6构建面向对象的JS代码及访问服务器API获取数据
11-4 异步回调与箭头函数
11-5 构建请求基类(重要)
11-6 请求基类的应用
11-7 使用数据绑定将数据显示在UI上
11-8 商品主题UI与数据加载
11-9 wxif 的应用
11-10 小程序模板的分析与应用
11-11 全局样式与复用思想
11-12 页面跳转11-12
11-13 页面间传递与接收参数
11-14 window与tarbar的配置
11-15 主题页面与数据
11-16 动态设置导航栏标题.
11-17 商品详情页面 一
11-18 商品详情页面 二 Picker组件详解
11-19 商品详情页面 三 自定义选项卡切换思路
11-20 商品详情页面 四
11-21 商品分类页面 一
11-22 商品分类页面 二
11-23 数据从服务器到前端交互的流程总结(重要)
11-24 商品分类切换 三
11-25 拒绝频繁向服务器发送请求
11-26 分类商品跳转到商品详情

第12章 购物车
购物车的操作是整个前端中最为复杂,本章节中我们将实现客户端的购物车功能。
12-1 以面向对象的方式编写购物车操作代码
12-2 商品详情页面加载时显示购物车商品数量
12-3 商品详情页面动态响应用户加入购物车操作
12-4 购物车页面开发 一
12-5 购物车页面开发 二
12-6 购物车页面开发 三 自定义checkbox及状态控制_x264
12-7 购物车页面开发 四
12-8 购物车页面开发 五
12-9 购物车页面开发 六
12-10 购物车页面开发 七
12-11 这个问题你发现了吗

第13章 实现微信支付、购买商品流程与用户历史订单
微信支付必须是服务器与客户端一起配合完成的。本章中,我们将来实现商品的完整购买流程。
13-1 订单详情页面
13-2 添加用户收货地址
13-3 保存用户收货地址
13-4 客户端令牌管理机制 (重要)
13-5 新增API令牌验证接口
13-6 客户端Token类实现
13-7 重构Base下的Request方法
13-8 解决无限未授权重试的问题
13-9 测试未授权重试机制
13-10 在Order页面加载和显示用户地址
13-11 服务器API新增获取用户地址信息接口
13-12 下单与支付
13-13 支付后刷新订单详情页面
13-14 修复订单快照下商品图片的问题
13-15 订单状态未成功修改的原因
13-16 点击按钮返回订单详情页面
13-17 获取用户信息
13-18 显示用户收货地址
13-19 初步显示历史订单
13-20 分页加载历史订单数据
13-21 重构订单详情页面
13-22 在我的订单里进行支付
13-23 避免重复刷新订单列表
13-24 弹出用户收货地址授权界面

第14章 CMS与CORS跨域
不用开源的CMS管理系统,我们自己动手来编写一个小型的CMS框架,并实现微信模板消息的发送。
14-1 如何理解CMS在架构中的位置
14-2 访问CMS
14-3 应用令牌获取接口与应用令牌的理解
14-4 获取所有订单(分页)
14-5 微信模板消息介绍
14-6 实现发送模板消息
14-7 测试发送模板消息
14-8 分离CMS
14-9 CORS跨域的概念与TP5的解决方案

第15章 小程序部署流程与TP5在生产环境中的优化
本章节将对产品做一个整体的回顾,并讲解小程序从开发到发布再到部署的全部流程以及一些服务器的基本优化措施。
15-1 生成数据库表字段与路由缓存提升性能
15-2 另一种思路处理库存量的问题

课程截图:


感谢来自@cdsf 的投稿!备注:课程不全,第11章24、25、26没有未收集,请待下回更新。

PHP从基础语法到原生项目开发

课程简介:

PHP作为一种通用开源脚本语言,已入选全球五大最受欢迎的编程语言,是唯一入选的脚本语言。2017年全球5000万互联网网站中,有60%以上使用着PHP技术,国内80%以上的动态网站都在使用PHP开发。2011年PHP从业人数新增42%,PHP程序员和招聘岗位的供求比例是1:40。

PHP具备成熟的开源代码及模板,主要用于API接口开发,后台系统管理和web动态网站开发,比如搜狐,新浪,Facebook,谷歌,百度,淘宝,大众点评,京东,糯米等等

[code]官方课程链接:https://class.imooc.com/sc/22[/code]

课程目录:

步骤一:PHP初体验
1、基本语法
2、变量和数据类型
3.常量
4、运算符
5、流程控制

步骤二:PHP函数库
1、自定义函数
2、系统函数库
3、数组初始
4、数组运用

步骤三:PHP常用操作
1、会话控制
2、文件操作
3、php操作 mysql
4.mysq基础

步骤四:PHP项目实战
1原生商城
2 ECSHOP商城系统

课程截图:

感谢来自@cdsf 的投稿!

Python分布式爬虫打造搜索引擎

课程简介:

聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎
未来是什么时代?是数据时代!数据分析服务、互联网金融,数据建模、自然语言处理、医疗病例分析……越来越多的工作会基于数据来做,而爬虫正是快速获取数据最重要的方式,相比其它语言,Python爬虫更简单、高效

从0讲解爬虫基本原理,对爬虫中所需要用到的知识点进行梳理,从搭建开发环境、设计数据库开始,通过爬取三个知名网站的真实数据,带你由浅入深的掌握Scrapy原理、各模块使用、组件开发,Scrapy的进阶开发以及反爬虫的策略

彻底掌握Scrapy之后,带你基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

[code]课程来源链接:http://coding.imooc.com/class/92.html[/code]

课程目录:

第1章 课程介绍
介绍课程目标、通过课程能学习到的内容、和系统开发前需要具备的知识
1-1 python分布式爬虫打造搜索引擎简介

第2章 windows下搭建开发环境
介绍项目开发需要安装的开发软件、 python虚拟virtualenv和 virtualenvwrapper的安装和使用、 最后介绍pycharm和navicat的简单使用
2-1 pycharm的安装和简单使用
2-2 mysql和navicat的安装和使用
2-3 windows和linux下安装python2和python3
2-4 虚拟环境的安装和配置

第3章 爬虫基础知识回顾
介绍爬虫开发中需要用到的基础知识包括爬虫能做什么,正则表达式,深度优先和广度优先的算法及实现、爬虫url去重的策略、彻底弄清楚unicode和utf8mb4编码的区别和应用。
3-1 技术选型 爬虫能做什么
3-2 正则表达式-1
3-3 正则表达式-2
3-4 正则表达式-3
3-5 深度优先和广度优先原理
3-6 url去重方法
3-7 彻底搞清楚unicode和utf8mb4编码

第4章 scrapy爬取知名技术文章网站
搭建scrapy的开发环境,本章介绍scrapy的常用命令以及工程目录结构分析,本章中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的spider完成所有文章的爬取。然后详细讲解item以及item loader方式完成具体字段的提取后使用scrapy提供的pipeline分别将数据保存到json文件以及mysql数据库中。…
4-1 scrapy安装以及目录结构介绍
4-2 pycharm 调试scrapy 执行流程
4-3 xpath的用法 – 1
4-4 xpath的用法 – 2
4-5 xpath的用法 – 3
4-6 css选择器实现字段解析 – 1
4-7 css选择器实现字段解析 – 2
4-8 编写spider爬取jobbole的所有文章 – 1
4-9 编写spider爬取jobbole的所有文章 – 2
4-10 items设计 – 1
4-11 items设计 – 2
4-12 items设计 – 3
4-13 数据表设计和保存item到json文件
4-14 通过pipeline保存数据到mysql – 1
4-15 通过pipeline保存数据到mysql – 2
4-16 scrapy item loader机制 – 1
4-17 scrapy item loader机制- 2

第5章 scrapy爬取知名问答网站
本章主要完成网站的问题和回答的提取。本章除了分析出问答网站的网络请求以外还会分别通过requests和scrapy的FormRequest两种方式完成网站的模拟登录, 本章详细的分析了网站的网络请求并分别分析出了网站问题回答的api请求接口并将数据提取出来后保存到mysql中。…
5-1 session和cookie自动登录机制
5-2 (补充)selenium模拟知乎登录-2017-12-29
5-3 requests模拟登陆知乎 – 1
5-4 requests模拟登陆知乎 – 2
5-5 requests模拟登陆知乎 – 3
5-6 scrapy模拟知乎登录
5-7 知乎分析以及数据表设计1
5-8 知乎分析以及数据表设计 – 2
5-9 item loder方式提取question – 1
5-10 item loder方式提取question – 2
5-11 item loder方式提取question – 3
5-12 知乎spider爬虫逻辑的实现以及answer的提取 – 1
5-13 知乎spider爬虫逻辑的实现以及answer的提取 – 2
5-14 保存数据到mysql中 -1
5-15 保存数据到mysql中 -2
5-16 保存数据到mysql中 -3
5-17 (补充小节)知乎验证码登录 – 1_1
5-18 (补充小节)知乎验证码登录 – 2_1
5-19 (补充)知乎倒立文字识别-1
5-20 (补充)知乎倒立文字识别-2

第6章 通过CrawlSpider对招聘网站进行整站爬取
本章完成招聘网站职位的数据表结构设计,并通过link extractor和rule的形式并配置CrawlSpider完成招聘网站所有职位的爬取,本章也会从源码的角度来分析CrawlSpider让大家对CrawlSpider有深入的理解。
6-1 数据表结构设计
6-2 CrawlSpider源码分析-新建CrawlSpider与settings配置
6-3 CrawlSpider源码分析
6-4 Rule和LinkExtractor使用
6-5 item loader方式解析职位
6-6 职位数据入库-1
6-7 职位信息入库-2

第7章 Scrapy突破反爬虫的限制
本章会从爬虫和反爬虫的斗争过程开始讲解,然后讲解scrapy的原理,然后通过随机切换user-agent和设置scrapy的ip代理的方式完成突破反爬虫的各种限制。本章也会详细介绍httpresponse和httprequest来详细的分析scrapy的功能,最后会通过云打码平台来完成在线验证码识别以及禁用cookie和访问频率来降低爬虫被屏蔽的可能性。…
7-1 爬虫和反爬的对抗过程以及策略
7-2 scrapy架构源码分析
7-3 Requests和Response介绍
7-4 通过downloadmiddleware随机更换user-agent-1
7-5 通过downloadmiddleware随机更换user-agent – 2
7-6 scrapy实现ip代理池 – 1
7-7 scrapy实现ip代理池 – 2
7-8 scrapy实现ip代理池 – 3
7-9 云打码实现验证码识别
7-10 cookie禁用、自动限速、自定义spider的settings

第8章 scrapy进阶开发
本章将讲解scrapy的更多高级特性,这些高级特性包括通过selenium和phantomjs实现动态网站数据的爬取以及将这二者集成到scrapy中、scrapy信号、自定义中间件、暂停和启动scrapy爬虫、scrapy的核心api、scrapy的telnet、scrapy的web service和scrapy的log配置和email发送等。 这些特性使得我们不仅只是可以通过scrapy来完成…
8-1 selenium动态网页请求与模拟登录知乎
8-2 selenium模拟登录微博, 模拟鼠标下拉
8-3 chromedriver不加载图片、phantomjs获取动态网页
8-4 selenium集成到scrapy中
8-5 其余动态网页获取技术介绍-chrome无界面运行、scrapy-splash、selenium-grid, splinter
8-6 scrapy的暂停与重启
8-7 scrapy url去重原理
8-8 scrapy telnet服务
8-9 spider middleware 详解
8-10 scrapy的数据收集
8-11 scrapy信号详解
8-12 scrapy扩展开发

第9章 scrapy-redis分布式爬虫
Scrapy-redis分布式爬虫的使用以及scrapy-redis的分布式爬虫的源码分析, 让大家可以根据自己的需求来修改源码以满足自己的需求。最后也会讲解如何将bloomfilter集成到scrapy-redis中。
9-1 分布式爬虫要点
9-2 redis基础知识 – 1
9-3 redis基础知识 – 2
9-4 scrapy-redis编写分布式爬虫代码
9-5 scrapy源码解析-connection.py、defaults.py-
9-6 scrapy-redis源码剖析-dupefilter.py-
9-7 scrapy-redis源码剖析- pipelines.py、 queue.py-
9-8 scrapy-redis源码分析- scheduler.py、spider.py-
9-9 集成bloomfilter到scrapy-redis中

第10章 elasticsearch搜索引擎的使用
本章将讲解elasticsearch的安装和使用,将讲解elasticsearch的基本概念的介绍以及api的使用。本章也会讲解搜索引擎的原理并讲解elasticsearch-dsl的使用,最后讲解如何通过scrapy的pipeline将数据保存到elasticsearch中。
10-1 elasticsearch介绍
10-2 elasticsearch安装
10-3 elasticsearch-head插件以及kibana的安装
10-4 elasticsearch的基本概念
10-5 倒排索引
10-6 elasticsearch 基本的索引和文档CRUD操作
10-7 elasticsearch的mget和bulk批量操作
10-8 elasticsearch的mapping映射管理
10-9 elasticsearch的简单查询 – 1
10-10 elasticsearch的简单查询 – 2
10-11 elasticsearch的bool组合查询
10-12 scrapy写入数据到elasticsearch中 – 1
10-13 scrapy写入数据到elasticsearch中 – 2

第11章 django搭建搜索网站
本章讲解如何通过django快速搭建搜索网站, 本章也会讲解如何完成django与elasticsearch的搜索查询交互。
11-1 es完成搜索建议-搜索建议字段保存 – 1
11-2 es完成搜索建议-搜索建议字段保存 – 2
11-3 django实现elasticsearch的搜索建议 – 1
11-4 django实现elasticsearch的搜索建议 – 2
11-5 django实现elasticsearch的搜索功能 -1
11-6 django实现elasticsearch的搜索功能 -2
11-7 django实现搜索结果分页
11-8 搜索记录、热门搜索功能实现 – 1
11-9 搜索记录、热门搜索功能实现 – 2

第12章 scrapyd部署scrapy爬虫
本章主要通过scrapyd完成对scrapy爬虫的线上部署。
12-1 scrapyd部署scrapy项目

第13章 课程总结
重新梳理一遍系统开发的整个过程, 让同学对系统和开发过程有一个更加直观的理解
13-1 课程总结

课程截图:


感谢来自@cdsf 的投稿!