实战训练营|PokemonGo地图设计与实现


(hbworld) #1

Pokemon Go手游在一个月前强势登陆以后,迅速成为一款现象级游戏,风靡全球。
而作为一位Hacker, 你又怎么会只满足于低头沉浸于屏幕,享受抓到小精灵和攻克擂台的快感。

想知道每个小精灵的实时地理位置,还有多久消失,以及补给站,道馆的位置吗?

太阁推出的新项目将带你从头建立一个实时 Pokemon Go地图,用技术高端地“作弊”。

Pokemon Go 地图设计与实现项目将带你理论加实战一步一步设计出PokemonGo的地图并且实现从数据采集,服务器部署,服务器运维,数据展示到系统优化的全过程。项目所用到的包括反向工程,分布式网络爬虫,缓存服务器 (Redis),关系型数据库 (PostgreSQL),网页托管服务 (Github pages),后端服务器开发 (Django),服务器部署 (Docker),分布式系统监控与预警 (AWS Cloudwatch),REST API,网页地图插件以及CDN 网页加速。

我们的每节课涵盖详细的知识理论讲解和代码实战环节。理论知识讲解旨在帮助每位学员建立起牢固的知识基础,从而能够举一反三,运用自如。代码实战环节可以加深对知识的理解,提升能力,将知识更好地应用到具体实例中去。

课程目标

通过太阁PokemonGo地图设计与实现项目你将会

  1. 理解基础网络通信模型,懂得如何分析网页 / app 并提取所需的信息
  2. 理解网页制作与托管的几种不同方法,优化,运营网页的常用方法
  3. 理解并使用 Proxy 来隐藏爬虫 IP以及多账号爬虫的实现
  4. 配置 Pokemon Go API 使用环境,使用 Bing Map API 插件
  5. 云服务上的分布式系统设计原则
  6. 使用并理解 Django 作为分布式爬虫的基础部件,使用 并理解Docker 部署服务
  7. 关系型数据库 PostgreSQL 的设置使用,熟悉分布式消息队列的原理及使用 AWS Container Service / SQS / Elastic Beanstalk / RDS 的使用,AWS Lambda 无服务器架构
  8. 理解并应用 REST API 解耦前端与后端开发
  9. 集群压力测试,集群性能优化,集群容量计划
  10. Redis 缓存的常用模式

讲师介绍:

陈迪

物理竞赛本科保送上海交通大学,并获得密西根大学安娜堡分校的 Computer Science 双学位。大学期间曾在 Blackrock 基础架构组实习,毕业之后加入 Bloomberg Trading System 基础架构组。大学期间曾参与自然语言处理研究,主要专注于多语言文字预习相似度比较。工作后主要专注在数据采集,机器学习,分布式系统的 Project 上。曾经采集全网中文新闻,全网中文小说等语料信息,并且实现了基于深度学习的中文字词向量自动生成。

喜欢尝试新技术,做一些有趣的 Project。

名师问答

  • 整个Project的架构设计是怎样的?分哪几个部分?

整个 Project 的架构主要分为 3 个部分,每个部分都可以单独拿出来做或者随时更换成不同的实现方案。第一部分是前端网页,主要用简单的 html 和 js 来实现一个地图显示的功能,与后端的交互用 REST API 来解耦。第二部分是数据查询层,用 Django 跟数据库通信,并且提取所需信息。

第三部分是数据采集层,类似网络爬虫的结构,向 Pokemon Go 服务器采集数据并且存放到数据库。

  • 项目主要的编程语言是什么?用到的核心技术是哪些?主要编程语言是 Python。技术栈主要专注在后端,包括了服务器的搭建,服务器间的通信,数据库的设计与使用,分布式缓存的使用,REST API 的使用。为了更好地呈现 Project 的结果,还会用到一些前端的设计,部署与优化。

  • 上完这门理论加实战的课程之后,学员可以收获哪些知识技能?

最重要的两个技能: 当自己有一个 idea 之后,知道怎样入手设计一个 project,并且快速做出一个验证想法的原型 (Proof of concept)。 证明了想法的原型之后,怎样讲这个原型扩展成一个可伸缩的弹性分布式系统。

课程时间

以美西时间为例

00 课程试讲: 9/17周六: 7 pm- 8:30 pm

(试听课报名方式见下方)

01 理论梳理: 9/23周五: 7pm - 9pm
02 项目实战: 9/24周六: 7pm - 9pm03 串讲回顾: 9/27周二: 7:30pm - 9pm04 理论梳理: 10/7周五: 7pm - 9pm05 项目实战: 10/8周六: 7pm - 9pm06 串讲回顾: 10/1周二:7:30pm - 9pm07 理论梳理: 10/14周五:7pm - 9pm08 项目实战: 10/15周六:7pm - 9pm09 串讲回顾:10/18周二:7:30pm - 9pm10 理论梳理: 10/21周五:7pm - 9pm11 项目实战: 10/22周六:7pm - 9pm12 串讲回顾: 10/25周二:7:30pm - 9pm

试听课时间

美西时间: 9月17日(周六)晚7:00pm 美东时间: 9月17日(周六)晚10:00pm 北京时间: 9月18日(周日)早10:00am

试听课大纲:

  • 职场经历分享
  • back end开发需求与趋势
  • Pokemon Go 项目展示
  • 课程大纲
  • 系统架构简介
  • 技术栈简介

报名方式:

点击BitTiger,报名“免费试听”。填写报名表后您将收到一封邮件, 直播时间点击邮件中的链接,即可观看试听课。

更多精彩内容,欢迎访问官网 http://BitTiger.io 或关注 “论码农的自我修养” 微信公众号:bit_tiger