Welcome to DB组学习中心!

python基础知识

基础知识

  • python语法掌握
  • 数据库设计和实施
  • http协议基础理解
  • git使用
  • linux简单操作
  • json理解使用
  • http协议理解

通用工具

  • pycharm PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
  • postman Postman是一款功能强大的网页调试与发送网页HTTP请求的工具
  • git 版本流程控制工具
  • markdown 文档编写工具
 柳真学长补充

(1)pycharm:安装使用时,强烈建议安装专业版,好处是:有很多功能很好用,在社区免费版上未提供的。具体如何破解到网上找解决办法。

(2)git:首先,初学者自行到GitHub网站上注册一个个人账号。具体如何使用,学习一遍廖雪峰的Git教程。把里面的每个命令都上机实现一遍即可。网址链接(https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)

(3)markdown编写工具。此处建议,小组内项目合作,都可以把代码放到GitHub上,技术文档可以使用GitHub上的Wiki来存放,Wiki一般就是存放markdown格式的文档。比如db组python技术路线文档就可以放到Wiki上,到时只需要一个链接就可以在线看。

额外补充:

学会翻墙,作为一名程序员,首要任务要学会翻墙。一般的技术问题,首要考虑使用Google(PS:浏览器也建议使用谷歌浏览器)。翻墙有多种方式,能翻墙成功,且网络稳定就行。

推荐一款ShadowSocks翻墙工具。具体账号购买到网上搜索。其中ShadowSocks客户端下载到GitHub上搜索,不要使用其他搜索引擎。

书籍:

python基础知识

基础知识

  • python语法掌握
  • 数据库设计和实施
  • http协议基础理解
  • git使用
  • linux简单操作
  • json理解使用
  • http协议理解

通用工具

  • pycharm PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
  • postman Postman是一款功能强大的网页调试与发送网页HTTP请求的工具
  • git 版本流程控制工具
  • markdown 文档编写工具
 柳真学长补充

(1)pycharm:安装使用时,强烈建议安装专业版,好处是:有很多功能很好用,在社区免费版上未提供的。具体如何破解到网上找解决办法。

(2)git:首先,初学者自行到GitHub网站上注册一个个人账号。具体如何使用,学习一遍廖雪峰的Git教程。把里面的每个命令都上机实现一遍即可。网址链接(https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)

(3)markdown编写工具。此处建议,小组内项目合作,都可以把代码放到GitHub上,技术文档可以使用GitHub上的Wiki来存放,Wiki一般就是存放markdown格式的文档。比如db组python技术路线文档就可以放到Wiki上,到时只需要一个链接就可以在线看。

额外补充:

学会翻墙,作为一名程序员,首要任务要学会翻墙。一般的技术问题,首要考虑使用Google(PS:浏览器也建议使用谷歌浏览器)。翻墙有多种方式,能翻墙成功,且网络稳定就行。

推荐一款ShadowSocks翻墙工具。具体账号购买到网上搜索。其中ShadowSocks客户端下载到GitHub上搜索,不要使用其他搜索引擎。

书籍:

python web开发路线

小白级

常用库

  • Flask 一个使用 Python 编写的轻量级 Web 应用框架
  • Bootstrap 目前很受欢迎的前端框架 基于HTML,CSS,JavaScript
  • Django Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V

技术

  • 了解并能使用前端基本内容,HTML,CSS,JavaScript
  • 简单了解WSGI & uwsgi
  • 能够灵活使用模板
  • 了解ORM,MVC模式
  • 可独立写微信小程序

书籍

  • Flask Web开发:基于Python的Web应用开发实战
  • Flask 扩展文档汇总
       柳真学长补充:

(1)学习Flask框架,可以去尝试使用一下swagger工具。swagger可以根据接口文档自动生成编写接口代码,可以很快实现接口需求。缺点是稳定性可能不好,有可能出现bug, 不过对于一些小项目来说是绰绰有余。

(2)打算学习python web方向,学会如何对后端项目配置nginx

(3)除了Flask、Django框架外,还有高并发处理Tornado框架和底层自定义协议网络Twisted框架,有额外时间可以研究下

(4)除了基本框架学习外,还要对数据存储方面的技术有所了解和研究。深入学习使用Redis数据库,最好能够阅读源码;学会使用rabbitmq,并能够在框架中结合使用;学会使用Celery,最好结合Redis进行使用,并整合到框架中进行使用,Celery最实用的一点就是定时任务相关功能实现。

(5)作为数据库组成员,除了Redis键值对数据库外,还有学会设计关系型数据库,使用的话建议先上手mysql,然后再稍微研究一下Oracle。非关系型数据库,就研究一下MongoDB和Redis即可。

(6)学习python,基础是要用好linux系统。初学者建议刚开始就从linux入门,不要图方便使用windows,有额外时间可以多研究一下linux系统相关命令,以及如何快捷高效部署后端代码。

(7)python基础可以关注一下pythonic的写法,平常写代码要先思考,如何写的精简,代码也要学会怎样写较规范。

学习成果检验

独立做出一个微信小程序并实现后台功能

or

独立开发一个自己的博客

python数据挖掘和数据可视化方向

小白级

常用库

  • pandas Pandas 是python的一个数据分析包
  • Numpy 一个用python实现的科学计算包
  • wordcloud 基于Python的词云生成类库
  • jieba(结巴)是一个强大的分词库,完美支持中文分词
  • matplotlib 使用matplotlib能够非常简单的可视化数据
  • Pillow Python平台事实上的图像处理标准库

技术

  • 有自行获取数据的能力(爬虫)
  • 具有一定的数学基础
  • 可以灵活运用工具和搜索引擎
  • 对数据进行统计和分析

书籍

  • Python数据分析与挖掘实战
  • Python网络数据采集
  • 利用Python进行数据分析

学习成果检验

自选任意网站,爬取信息并对数据分析,做出词云或是直方图扇形图类似

入门级


常用库

  • kivy Kivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行
  • wxPython wxPython是Python的的GUI图形库,允许开发者很方便的创建GUI用户界面

技术

  • 能够把获取的数据通过在GUI处理并展示

书籍

暂无

学习成果检验

用GUI展示词云(输入需要解析url或是长文本,显示词云)

python爬虫方向学习路线

小白级

常用库

  • Requests 人性化python http库 功能强大
  • Beautifulsoup4 解析器 用于解析得出你想要的信息
  • re python 原生正则表达式库 匹配相关信息
  • pymysql 连接数据库保存信息

基础技术

  • http基本原理
  • Web网页基础
  • 爬虫基本原理
  • Session和Cookies
  • 代理基本原理

学习成果检验

能够完成小说的内容爬取并存入数据库

入门级

常用库

在小白基础之后

  • Selenium Web应用程序测试工具 ,爬虫中主要用来解决JavaScript渲染问题。模拟浏览器进行网页加载
  • Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架

技术

  • Ajax数据爬取
  • 非关系型数据库存储
  • 动态渲染页面抓取
  • 验证码的识别
  • 模拟登陆

书籍

  • python网络爬虫实战
  • Python网络数据采集

学习成果检验

独立完成基于scrapy爬虫的天气数据采集

入坑爬坑记

nginx系列

18/5/24 今天是想做一个 在后端上传图片然后把图片存储到服务器,并且把图片地址存入数据库 以便前端的同学调用接口的时候方便调用

然而这个想当然很简单的东西卡了我半天

这个东西坑不是坑在业务流程上,是服务器这个部分把我坑了好久

坑点

1.既然我把图片的地址存入了数据库给前端的同学作为调用,那么这个地址得是可以访问的吧。
但是我用的flask框架 如果想直接通过url来访问 那么就应该在flask里写视图函数来 通过return的方式 得到图片的地址 这就不是我想要的效果了。我想要的是能够直接在url里输入我的服务器里的存放图片的文件夹来取到图片

解决方法

一顿搜索后终于找到解决的方法

在nginx服务器配置里 conf.d里

   server {
       #监听端口
       listen      443;
       #域名可以有多个,用空格隔开
       server_name qunawang.top;
       ssl on;
       ssl_certificate  cert/214438562750086.pem;
       ssl_certificate_key  cert/214438562750086.key;
       ssl_session_timeout 5m;
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;
       root /home/image/;
       #对 "/" 启用反向代理
       *location /image {
          root /home;
          access_log   on;
         autoindex  on;
         }*
        location / {
          #root   html;
          #index  index.html index.htm;
          root root/test/e-newbee;
          proxy_set_header Host $host;
          proxy_set_header X-Real-Ip $remote_addr;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_pass http://120.79.154.232:5000;
       }

   }
server {
   listen       80;
   server_name  qunawang.top;
   return      301 https://$server_name$request_uri;
}

这一代码块的意思就是 当访问https://qunawang.top/image/xxx.jpg 时 他会自动的去找我服务器 home/image
但是如果 root 后面跟着的是/home/image的话就获取不到想要的图片了

这是第一个坑点

第二个坑

在flask重定向上的问题,当我把域名配置成https后 如果通过点击事件重定向的跳转 跳转的位置还是原来http的url 无法正常访问

解决方法 查了一遍发现大概是nginx配置或者重定向的问题 这里有个比较好的文档https://jiayi.space/post/flaskde-url_forzhong-ding-xiang-wen-ti-he-xiang-ying-yuan-ma-fen-xi

我的解决方式是

::
server {
listen 80; server_name qunawang.top; return 301 https://$server_name$request_uri;

}

在nginx配置文件里增加了一块代码 把所有发送到http上的请求重定向到https上

杂谈

关于类似技术文档的制作方法

首先要说一下主要用到的主要技术 sphinx 可以 看这个文档学习 写最好的文档Sphinx+Read the Docs <https://avnpc.com/pages/writing-best-documentation-by-sphinx-github-readthedocs>

常见错误

  • 在安装sphinx这个包的时候 要注意你自己python的版本 有时候直接pip install不成功是因为版本的问题 或者用可以直接把包下载下来用 python setup的方式来安装

流程

  1. 使用sphinx在本地写好文档并生成成功
  2. 传到github
  3. 注册登录Read the Docd 并关联你的github账户
  4. 之后他就会自动构建你的文档
  5. 然后就可以分享给你的小伙伴们了

好处

这个东西方便就方便在你可以把它看成你个人的博客 虽然比博客确实少了很多的功能 不过单纯的展示和记录的话

首先不需要你自己去买服务器买域名

其次使用github和R_T_D 托管后 有新的更新内容 只需要 git push就可以同步的更新内容

配置https解决方法

一般我们是用到nginx服务器来配置https 我来讲一下我所知道的nginx服务器配置方法

首先这是一个非常常见的解决方案 相关的流程阿里云也给出了 我就讲讲按着流程无法解决的点

  1. 需要的文件无法下载到linux服务器

解决方法 先把文件下载到自己的电脑上 如果是Ubuntu的服务器`apt install lrzsz` 然后在nginx下输入`rz`然后就可以把文件传到服务器上了

Indices and tables