本周精读, 来一起总结 web 开发的环节, 知识块和技能点. 是不是像 xx 速成班宣传的一样, 培训三个月, 经验顶三年, 入职 BAT, 年薪三十万?
本文虽然是罗列知识点, 但我想很有意义. 对于学习的人来说, 提供一个路线图. 对从业者来说, 对全局有更好的把控, 利于看到自己的强项和不足. 对组建团队, 更能起到一个点将谱的作用.
在网上我没有搜到任何深入全面的总结, 提供的那几篇已经算稍微好一些的了. 其他的要么太过笼统(前端-后端-数据-运维, 完毕)要么太细太窄(并不是不好, 只是和本文性质不一样). Generalist 和 Specialist 之间永远是一对辩证矛盾, 持续思考.
本文提供了有层级的列表形式, 如果有兴趣的读者可以把它做成概念图形式, 相互关联与距离相关, 可能会有意料之外的效果.
列表形式, 方便搜索浏览, 加上一些解释和列举
-
authentication, oauth
-
API design, RESTful, GraphQL
-
payment integration
-
social integration
-
session/cookie management
-
user management
-
Server, e.g. nginx, connection model, conf, rewrite
-
CRM
-
rollback/rollforward
-
no downtime, non-disruptive deployment
-
deploy to downstreams, e.g. npm, chrome extension store
-
artefact management, e.g. gzips, OS specific builds
-
container technology e.g. Docker, AWS ami
-
schema design
-
ORM
-
language/env specific driver
-
test/seed data
-
backup
-
batching, DB perfgomance
-
query syntax, e.g. SQL, mongo query syntax
-
connection pool/concurrent connection management
-
connection restriction e.g. localhost only
-
parallel execution
-
UI automated testing
-
browser/OS compatibility, e.g. headless browser, cloud solutions
-
screenshot diff regression
-
unit test, isolation
-
mocking
-
integration test techniques
-
coverage (line coverage, path coverage etc.), permutations
-
CSRF, XSS, SQL injection, DDoS, brute force etc.
-
automated tools
-
OS differences, e.g. filesystem, path separator
-
run daemon, startup job, process manager
-
ssh
-
everything bash, zsh, powershell, e.g. wildcard, expansion, syntax
-
everything *nix, du, filesystem, ps, process model, netstat, pipes
-
HTTP, and everything it entails e.g. CORS, MIME types, chunked
-
websocket
-
webworker, service worker
-
proxy
-
webgl
-
2D/3D coord system and calculations
-
frontend: lighthouse
-
backend: load balancing, perf monitoring and profiling
-
work flow
-
tagging, release, branching
-
PR, collaboration
-
commit message conventions
-
main success scenario
-
PRD doc, sketch
-
milestone, timeline, estimate
-
daily report, weekly report
-
performance monitor
-
exception monitor
-
alert and alarm rules
-
logging
-
lint, prettier, custom rules, autofix
-
editor, IDE, plugins, e.g. intellisense
-
debugging, remote debug, debug mobile
-
heatmap
-
conversion
-
bounce rate
-
data flow
-
state management
-
componentization
-
transpile, packing tool, e.g. webpack gulp coffeescript Typescript
-
templating, e.g. handlebar
-
ajax, jsonp etc.
-
cascading rules
-
preprocessor, e.g. scss less
-
box model
-
z-index
-
flexbox
-
design principles, layout, color, theme
https://medium.com/coderbyte/a-guide-to-becoming-a-full-stack-developer-in-2017-5c3c08a1600c
https://www.lynda.com/learning-paths/Web/become-a-full-stack-web-developer
如果你想参与讨论,请点击这里,每周都有新的主题,每周五发布。