others
一些我常用的学习的网站和书籍
编程前的准备
在编程之前需要哪些准备,这个讲座讲了我们学习编程缺失的课程
大学里的计算机课程通常专注于讲授从操作系统到机器学习这些学院派的课程或主题,而对于如何精通工具这一主题则往往会留给学生自行探索。在这个系列课程中,我们讲授命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。学生在他们受教育阶段就会和这些工具朝夕相处(在他们的职业生涯中更是这样)。 因此,花时间打磨使用这些工具的能力并能够最终熟练地、流畅地使用它们是非常有必要的。
https://missing-semester-cn.github.io/
GIT
编程也需要团队合作,如何高效的进行团队开发,这都是我们要面临的问题。目前最主流的工具就是git。这个教程先学习在本地对仓库进行操作,最后学习如何进行远程仓库操作。而且演示非常直观,学习乐趣很高。
https://learngitbranching.js.org/?locale=zh_CN
SQL
学习SQL最快的方式就是多练习,这个教程就是用练习的方式来学习SQL,难度逐渐增大,循序渐进,很容易沉浸其中,效果很好。
REGEX(正则表达式)
正则表达式是很好的工具,熟练运行可以简化代码,让程序效率更高,当然也是一种爬虫的方法。这个网站前面是教程,后面就是练习,让你自己解决问题,但是感觉练习比较简单,实际问题要比这复杂,这里就需要正则测试网站来验证自己的正则表达式是否匹配。
SPIDER(爬虫)
简单的爬虫已经可以满足大部分的需求了,学习起来也比较简单。这个网站感觉覆盖了基础和进阶,可以来入门爬虫
https://python3webspider.cuiqingcai.com/
LATEX
写公式少不了它,不用刻意去记,用到的时候直接查就行
https://www.zybuluo.com/codeep/note/163962
PYTHON基础
PYTHON网上的教程很多,优秀的博客也有很多,像廖雪峰的博客,不过覆盖面比较广,深度比较浅,可以提前了解一些进阶技术。这里推荐一本书,叫《python编程:从入门到实践》,浅显易懂,例子也很有趣,后面实践的例子涉及到了游戏开发、数据可视化、网站开发等。
此外多说一句,学习阶段不要屯太多网站或者书籍,或者是光收藏不看,不管是什么教程,坚持看下去学下去都可以很好的入门,所以我建议不管学习什么都只需要一种学习资料,因此上面的我只推荐了一个网站。
当然官方的教程也是很好的,不过更推荐看官方的标准库教程
PYTHON进阶
很多人觉得PYTHON很简单,当然入门很简单,没有特别难的语法,也没有特别难理解的概念。但仅仅入门是没有办法进行项目开发的,不了解设计模式,就没办法写出可维护性高的代码,不学习函数式,写出的代码可读性很低,另外多线程、协程、装饰器、魔法方法等不仅仅可以解决问题,还可以写出高效并且优美的代码。这里推荐一些书籍和网站。
一、PYTHON工匠
我一直觉得编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目。
在雕琢代码的过程中,有大工程:比如应该用什么架构、哪种设计模式。也有更多的小细节,比如何时使用异常(Exceptions)、或怎么给变量起名。那些真正优秀的代码,正是由无数优秀的细节造就的。
『Python 工匠』这个系列文章,是我的一次小小尝试。它专注于分享 Python 编程中的一些偏 『小』 的东西。希望能够帮到每一位编程路上的匠人。
https://github.com/piglei/one-python-craftsman 我喜欢的教程之一,很多实用的技巧,还可以了解一些设计模式。
二、PYTHON COOKBOOK
https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
看完大为震惊的书,跟着练习了一段时间后学会了很多奇技淫巧,我感觉内容覆盖了一个高级python工程师必须具备的技能。
三、FLUENT PYTHON
现在还未完全搞懂的书,内容很丰富,难度也很大,可以当作参考书使用,完全理解难度很大。
四、PYTHON最佳实践指南
https://pythonguidecn.readthedocs.io/zh/latest/
就像它的名字,当你学完了基础不知道该怎么做的时候不妨来看看这个网站。
五、PYTHON设计模式
https://github.com/faif/python-patterns
介绍了PYTHON的几种设计模式的具体实现,可以很大的提高编程水平
六、WTF PYTHON
就像它的名字一样,就是总结了学习PYTHON过程中的各种坑,看完之后有个大致了解就好,不然以后遇到了其中的问题忙的焦头烂额也找不到解决的办法
Python, 是一个设计优美的解释型高级语言, 它提供了很多能让程序员感到舒适的功能特性. 但有的时候, Python 的一些输出结果对于初学者来说似乎并不是那么一目了然.
这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性, 并尝试讨论这些现象背后真正的原理!
虽然下面的有些例子并不一定会让你觉得 WTFs, 但它们依然有可能会告诉你一些你所不知道的 Python 有趣特性. 我觉得这是一种学习编程语言内部原理的好办法, 而且我相信你也会从中获得乐趣!
如果您是一位经验比较丰富的 Python 程序员, 你可以尝试挑战看是否能一次就找到例子的正确答案. 你可能对其中的一些例子已经比较熟悉了, 那这也许能唤起你当年踩这些坑时的甜蜜回忆 😅
https://github.com/leisurelicht/wtfpython-cn
FLASK
这只是简单的入门,可以简单自己实现一个网站,看着自己跟着实现了个网站很有成就感,当然也有一些拓展功能让你自己实现,如果想更加深入学习的话可以买本作者的实体书,书很厚,不过已经在我这里吃灰了。
VIM
如果你也喜欢敲键盘而不喜欢时不时去操作鼠标,那么VIM就是你写代码的最佳选择,使用它你可以完全摆脱鼠标的束缚,不管是光标移动,复制粘贴,甚至是宏 都可以摆脱鼠标的束缚。
其中作者提的”AHA moment”我觉得也很有趣,简单的理解就是用刚学到的知识自主的完成较为复杂的操作。以VIM而言 当你学会了gU是大写操作 c是修改 ciw是修改光标所在的单词,“AHA moment”就是通过gUiw大写某个单词,而且完全是自主去实现的。
https://github.com/wsdjeg/Learn-Vim_zh_cn
其它有趣的网站推荐
http://www.pythonchallenge.com/ :PYTHON挑战关卡,考验知识面和观察力,看看你可以闯到第几关吧!
https://pytorch.org/docs/stable/index.html :PYTORCH的官方教程,还可以用作参考和查询函数。
https://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets :SKLEARN的API查询网站。
https://vllbc.top/ :我的个人网站。