Roadmap to becoming a Web Developer in 2019
本项目Fork自Kamran Ahmed的developer roadmaps
以下图谱描述的是一个作为2019web开发者的学习路线。图谱下面的内容为知识点整理。
- Git版本控制
- Terminal基础教程
- 数据结构和算法(没事刷刷leetcode)
- Solid, Kiss, Yagni
- Solid原则
- 单一责任原则-The Single Responsibility Principle
- 某个代码的功能,应该保证只有单一的明确的执行任务。
- 开放封闭原则-The Open Closed Principle
- 你所编写的软件实体(类、模块、函数等)最好是开源的,这样别人可以拓展开发。不过,对于你的代码,得限定别人不得修改。换句话说,别人可以基于你的代码进行拓展编写,但却不能修改你的代码。
- 里氏替换原则-The Liskov Substitution Principle
- 依赖倒置原则-The Dependency Inversion Principle
- 不要依赖实例编程,依赖抽象 举例
- 接口分离原则-The Interface Segregation Principle
- 客户端不应该依赖它不需用的接口。
- 类间的依赖关系应该建立在最小的接口上。
- 单一责任原则-The Single Responsibility Principle
- Kiss原则(Keep it Simple Stupid)
- 简单是软件设计的目标,简单的代码占用时间少,漏洞少,并且易于修改。
- YAGNI原则(You Ain’t Gonna Need It)
- 除非你需要它,否则别创建新功能。
- Dry原则(Don’t repeat yourself)
- 编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就会很容易形成一个抽象体。
- Solid原则
- Github搜索
- Licenses
- 宽松许可(permissive)需要明确指出使用了哪些开源代码并附上原始作者
- BSD 2/3
- MIT
- Apache2
- 严格许可(copyleft)凡是使用了遵循copyleft许可代码的软件,则整个文件甚至工程必须全部开放并同样遵循copyleft许可
- AGPL
- GPL
- LGPL
- MPL
- 宽松许可(permissive)需要明确指出使用了哪些开源代码并附上原始作者
- 语义化版本控制规范
- 主版本号:当你做了不兼容的 API 修改,
- 次版本号:当你做了向下兼容的功能性新增,
- 修订号:当你做了向下兼容的问题修正。
- SSH(Secure Shell) 学会远程连接服务器就行
- HTTP/HTTPS and APIs
- 设计模式
- 字符编码
- Unicode
- UTF-8
- Base64
- GBK
- GB2312
- ...
未完待续
- Open pull request with improvements
- Discuss ideas in issues
- Spread the word