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 3 中文教程
- PEP8 Python代码风格规范
- Python 正则表达式操作指南
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 3 中文教程
- PEP8 Python代码风格规范
- Python 正则表达式操作指南
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的写法,平常写代码要先思考,如何写的精简,代码也要学会怎样写较规范。
python数据挖掘和数据可视化方向¶
小白级
—
常用库¶
- pandas Pandas 是python的一个数据分析包
- Numpy 一个用python实现的科学计算包
- wordcloud 基于Python的词云生成类库
- jieba(结巴)是一个强大的分词库,完美支持中文分词
- matplotlib 使用matplotlib能够非常简单的可视化数据
- Pillow 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数据爬取
- 非关系型数据库存储
- 动态渲染页面抓取
- 验证码的识别
- 模拟登陆
入坑爬坑记¶
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的方式来安装
流程¶
- 使用sphinx在本地写好文档并生成成功
- 传到github
- 注册登录Read the Docd 并关联你的github账户
- 之后他就会自动构建你的文档
- 然后就可以分享给你的小伙伴们了
好处¶
这个东西方便就方便在你可以把它看成你个人的博客 虽然比博客确实少了很多的功能 不过单纯的展示和记录的话
首先不需要你自己去买服务器买域名
其次使用github和R_T_D 托管后 有新的更新内容 只需要 git push就可以同步的更新内容
配置https解决方法¶
一般我们是用到nginx服务器来配置https 我来讲一下我所知道的nginx服务器配置方法
首先这是一个非常常见的解决方案 相关的流程阿里云也给出了 我就讲讲按着流程无法解决的点
- 需要的文件无法下载到linux服务器
解决方法 先把文件下载到自己的电脑上 如果是Ubuntu的服务器`apt install lrzsz` 然后在nginx下输入`rz`然后就可以把文件传到服务器上了