必会技能
-
python编程
-
linux服务器运维
学习关于Python
开发,兴趣是最重要的。python是万金油,一般情况什么只要能想到的都能用python做
对于大二的同学,以前学过python的基础,高阶以及web开发的课程。上课学的都是表面的东西,可能没有了解过原理的东西。学东西要学深,记住专有名词,一些知识都是通的,学的深的话就能够将知识串联起来。能更有效的帮助你提升兴趣。
我推荐可以按照下面的方法学习(也鉴于我们之前走过的坑)
0x01 Python基础不能忘。
在w3cshool与菜鸟教程通读一边python,每个例子都去敲一边,做一个小笔记。
重点在于python的内部函数(记住大概的40个左右),python的迭代器、装饰器,python的类写法。
(完成时间1-2周)
0x02 python爬虫。
用最简单的requests库爬虫(通过官方文档看requests的源码,在业界中requests的源码是最适合新手看的源代码)。
熟悉re、beautiful soup、xpath、lxml的匹配方式。
对反爬虫机制有了解,一般有哪几种方式?又有那些方式可以反反爬虫?
使用多线程,多进程,异步协成强壮爬虫,增加爬取的速度。
会用selenium模拟浏览器去爬虫,
每个方面都能写博客记录下来,对于以后爬虫代码复用是很好的解决方式
了解scrapy爬虫框架,因为scrapy的框架非常健壮,对于爬虫其架构设计的非常完美,但是这个架构是有着Django的框架的影子。现在只做了解,等学习完网站开发后,在学习scrapy框架就能很好的理解。
(完成时间2周)
0x03 web网站开发
大二上学期你们学了狗书的flask教程。但是对于网站开发,单单这一个flask开发项目是远远不够的。
狗书的flask框架可以说是非常基本的一个框架。flask的优点是扩展性强。所以以后开发会对这个架构去开发,增加你想要实现的东西。
学习前端的基础。html,css,js。学会后做一个科技企业的展示网站,要求美观大气。包括内容有导航条、滚动图、企业产品介绍、企业新闻展示、地址联系方式、脚标。可以借鉴bootstrap的版本3的前端样式文档。(1-2周)
学习数据库,包括mysql、mangodb、redis,数据库的原生语句怎么写,普通的增删改查,高级的级联索引。(1周)
前端做完后,后端用flask写一个web服务,包括内容登录、注册,企业新闻模块的增删改查
(4-6周)
学习用falsk写restful api,在web使用异步通信的时候往往会用到api。这个去找到python restful的官方文档。中英结合着看,不要只看中文版的。(1周)
部署服务,将写的web服务部署到linux Ubuntu服务器上,用到uwsgi、nginx、supervisor等,在生产环境服务器上部署项目的时候,是不能将涉及到隐私的配置放到源码中的。所以要考虑到安全部署(3-4天)
使用docker一键部署服务,当你手动部署完服务之后,你会发现每次部署都要敲这么多的命令。使用docker部署,
我这有flask的视频,可以学一学别人的讲解flask的内部深的知识。
百度云https://pan.baidu.com/s/1kwzJdq3A0h4RuVj4ctQpKg 提取码:k198
(完成时间4-7周)
0x04 搭建巡风资产探测扫描器
巡风扫描器是实验室一个大佬学长开发的。服务端使用flask,前端样式简洁。模块内容包括资产探测与漏洞扫描。
搭建扫描器的前提是要对扫描有一定基础的了解
学习nmap与mascan扫描器的使用
学习使用python写socket编程,包括服务端与客户端
学习使用python编写mysql ftp的弱口令破解
学习网站上别写写的漏洞的poc代码。找到5个poc代码学习,做好笔记记录。
搭建巡风扫描器,先让扫描器运行跑起来,然后在学习巡风扫描器的框架,包括flask,异步加载,任务调度,poc模块、资产探测扫描模块 熟悉整体的运行架构。
运用扫描出来的漏洞,或弱口令进行验证
又能力也可以自己复现带有漏洞的网站,加入自己写的poc,用扫描器扫自己网站。
我认为这一部分是最有意思的,但是你发现没,最后一部分都是在前面基础先完成的。希望你们能够走到这一步。成为开发大佬。
神奇的分割线:)
有什么问题先去google,没有解决办法找我们,我们会尽最大的努力帮你解决。
关于python的功能很多。我还有一部分没有写出来。学会浏览器爬虫能帮助你在某些网站上刷分,解放双手。python操作word,xml,ppt,ptf的转换让你以后再工作中碰到重复性的工作的时候事半功倍。有兴趣还可以学习了解tkinker界面编程(比较基础)。
上面的学习内容,每一条都能根据关键字在网上找到这方面的知识。每一部分也都希望做好笔记、博客。
关注微信公众号关于运维、架构、数据结构、数据库、安全等方面,至少能让你了解现有别人公开的技术
同样以后如果不学习python这门语言的开发,架构这东西是不变的,适用于各种语言吧!
现在的找关于python的研发工作要求也是很高的。因为python容易入门,才导致需要掌握的东西多。
出去培训python的课程讲的也就和上面的差不多吧。一些培训机构冒着人工智能、机器学习、大数据的幌子让你抱python班。学的最多就是python基础。现在研究生都没搞懂智能,培训机构能把这些东西讲的懂?
如果大家愿意我们可以抽时间开会,精进一些python技术,分享一些有意思的‘恶‘python
学弟们
希望大家以后共勉!
网友评论