个人技能树搭建V1.0
说明
- 读大二的时候的导师跟我推荐了余弦(知道创宇)的研发技能树,很有启发
- 绘制技能树是很有必要的事情
- 聪明的人会根据每个TIP自驱动拓展
- 绘制技能树来复盘自己学过的东西得到双倍经验
通用技能
公司与个人
- 公司是盈利性组织
- 个人和公司必须双赢
- 在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作
🔥WHO AM I
- 🔥WHO AM I
- 牛人姿态
- 拥有不将就的做事风格
- 扎实的内功和远见
- 如何做事?
- 🔥方法论
- 任务拆分很容易得出做事的方法论
- 问题定位定性很重要
- 排好优先级
- 紧急重要
- 赶紧搞定
- 重要不紧急
- 时刻保持关注,以免沦为「紧急重要」
- 紧急不重要
- 少少益善,学会拒绝
- 不紧急不重要
- 靠自律
- 紧急重要
- SMART原则
- S:任务是否明确
- 不明确的任务搞起来就是浪费生命
- M:任务是否可度量
- 不可度量如何体现价值?
- A:任务是否可搞定
- 搞不定就不应该接,接就得有魄力搞定
- R:任务的相关性如何
- 决定了任务的价值,相关性越高越能体现价值,比如这个任务搞定了能让团队获得公司、客户等更大的认可
- T:任务的时间
- Timeline:任务时间轴,什么时间点需要搞定什么
- Deadline:任务的最后期限,做评估时最好提前,因为总会有各种意外或拖延本性
- Timeline上一些很关键的时间点我们可以称为里程碑,搞定每个里程碑应该庆祝下
- S:任务是否明确
- 自己欠缺什么,立马发现
- 是否需要寻求帮助,谁能帮你,自己单干?
- 当你有团队时,分配与调度好任务很关键
- 🔥方法论
- 沟通、反馈与责任
成长
- 新事物的敏感性
- 保持好奇心
- 不要局限在自己的圈子,适当跨界吸收灵感
- 订阅国内外优秀博客/资源,Inoreader/深蓝阅读不错
- 选择性参与一些必要的会议,听必要的主题,讨论必要的话题
- 🔥关于知识
- 对知识的渴望程度决定了前进动力的大小
- 当知识很廉价地摆在你面前,你反而不会珍惜
- 对知识保持敬畏之心
- 不要让自己成为矫情/浮夸的人
- 和比你厉害的人在一起,和一流的人工作
- 指点往往是精华
- 思考
- 批判性思考
- 换位思考
- 🔥提问的智慧
- 遇到问题先独立思考,尝试独立解决,尽最大努力后再提问
- 提问时,礼貌很关键(对知识的敬畏),清晰表达很关键
- 解决后,分享出来帮助更多需要帮助的人
- ⚠️小事心态
- 越基础的事越关键,越需要细心
- 不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
- 基础不牢、地动山摇
- 小事做不好,别提大事
- 牛人姿态
- 搞懂了目标Web应用漏洞的原理
- 熟练运用Python各相关模块与机制
- 熟练了解了HTTP协议
- HTTP请求
- HTTP响应
- 代码写得够规范,让人看起来就是爽
- 程序经过足够的测试
- 黑测试
- 白测试
- 及时反馈进度
- 我遇到困难了
- 我搞定了
- 比如熟练SQL注入
- SQL语句这门“语言”能脱离文档顺手写出
- 主流数据库的SQL特有函数、存储过程、机制我都了如指掌
- MySQL - MSSQL - Oracle - PostgreSQL - Access - SQLite - ...
- 牛逼的工具我不仅用的顺其自然,源码还读过几遍,我能修改
- sqlmap - ...
- 我具备创造性,而不仅仅是跟在大牛身后
- 研究出了几个不错的技巧 - 发了几篇不错的Paper - 对外会议/沙龙等进行了几次分享 - 写出了自己的相关工具,爽
- 我实战了N回,遇到了很多奇葩环境,我有足够的信心绕过
- 以上这些之后,这才叫熟练!其他同理
专业技能
🥝 原则
- 至少完整看完与练习好一本书
- 至少过一遍官方文档
🥝基础必备
🍉编程能力
- 算法设计与分析
- 白板手写排序算法
- Python、Java、C、JavaScript
- 算法设计与分析
🍊业务能力
- 网页开发能力
- 前端开发 (HTML, CSS, JavaScript, jQuery and AJAX)
- 后端开发(Servlet,Java Server Page (JSP 1.2),JDBC)
- DAO(Data Access Objects)数据访问层
- 产品设计
- 原型设计
- 网页开发能力
🍉算法与数据结构
- 手写排序算法
- 刷LeetCode
- 正则表达式
- 调试工具
- Kodos
- RegexBuddy
- 支持多种语言
- 支持调试优化
- http://www.regexper.com/
- 正则图解
- 正则表达式30分钟入门教程:http://deerchao.net/tutorials/regex/regex.htm
- http://wiki.ubuntu.org.cn/Python正则表达式操作指南
- 《精通正则表达式》
- 调试工具
- 算法课学习总结
-
🍉研发能力
- 瀑布模型
- 需求->需求分析->设计->开发->测试->上线->运维/运营
- 需求分析能力
- 给你一个需求,如何给出一个优美的执行思路——方法论
- 这个能力非常非常非常的关键
- 调试能力
- 只要定位出,就没有解决不了的Bugs
- 肉眼看到的都是假象
- 一定要专业的工具与经验配合
- Bugs在哪出现,最终就在哪进行真实模拟调试
- 缩小范围
- 构建自己的测试样例
- 排除网络复杂未知情况
- 关联模块一个个排除
- Python单步调试
- import pdb;pdb.set_trace()
- 在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试
- 粗暴调试:print
- 构建自己的测试样例
- 敏捷思想
- 快速迭代
- 任务拆细
- v1原则:定义好v1的目标,快速完成v1为优先
- 习惯Wiki记录,利于沉淀与分享
- 瀑布模型
数据库管理
关系型数据库理论RDBMS
表联系
- 左联接
- 右联接
- 内连接
关系模型ER图
函数依赖
函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。
- 完全依赖
- 部分依赖
关系范式 Normal Form,范式是符合某一种级别的关系模式的集合。
- 第一范式
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式 不能称为关系数据模式。 - 第二范式
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。 - 第三范式
- 第一范式
PL/SQL块结构语言
- https://www.yiibai.com/plsql/plsql\_basic\_syntax.html
- when to use pl/sql
BDA数据库管理:SQL 基本语句的使用
事务隔离的级别
- 事务的特性
- 原子性:指处于同一个事务中的多条语句是不可分割的。
- 一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。比如:转账—转账前两个账户余额之和为233¥,转账之后也应该是233¥。
- 隔离性:指多线程环境下,一个线程中的事务不能被其他线程中的事务打扰
- 持久性:事务一旦提交,就应该被永久保存起来。
- 事务的隔离性:隔离级别分类 如果不考虑事务的隔离性,则可能会出现以下问题:
- 脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。
- 不可重复读:指一个线程中的事务读取到了另外一个线程中提交的update的数据。
- 虚读:指一个线程中的事务读取到了另外一个线程中提交的insert的数据。
- 隔离级别:
- 1-READ UNCOMMITTED: 脏读、不可重复读、虚读都有可能发生。
- 2-READ COMMITTED: 防止脏读的发生,不可重复读、虚读都有可能发生。
- 4-REPEATABLE READ: 防止脏读、不可重复读的发生,虚读有可能发生。
- 8-SERIALIZABLE: 防止脏读、不可重复读、虚读的发生。
- 级别越高,数据越安全,相对就导致性能越低。
- 事务的特性
死锁的概念
数据库类型
- MYSQL
- Oracle
- PostgreSQL
数据库操作注意事项
- 切记不要drop schema
- 不要删数据,truncate,update,delete,
Office能力
- Word文档编写,看去要专业,尤其对外的
- Excel里面大量的统计、图表功能,需要善于使用
- PPT演讲、培训等必备,如何做好PPT?谷歌百度一下…
- 写Paper排版
Linux运维
- 熟练VIM 实战至少3回合:http://coolshell.cn/articles/5426.html
翻墙
- 优雅解决方案
- shadowsocks + 一台海外 VPS + Chrome(SwitchyOmega)/Firefox(AutoProxy)
- 详情了解:http://mp.weixin.qq.com/s?\_\_biz=MzA3NTEzMTUwNA==&mid=210457700&idx=1&sn=322d1e4c13d3f33ade848e3889c410bf#rd
- SSH隧道
- http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html
- 本地转发
- ssh -L
: :
- ssh -L
- 远程转发
- 反弹
- ssh -R
: :
- 动态转发
- ssh -D
- ssh -D
- 优雅解决方案
研发清单
- 编码环境
- pip
- Docker/Vagrant
- tmux/screen
- vim
- Markdown
- zsh + oh-my-zsh
- Python2.7+/3+
- >Django1.4
- http://djangobook.py3k.cn/2.0/
- Django Debug Toolbar
- 其他框架
- web.py
- Flask
- Tornado
- node.js
- Ubuntu/Gentoo/Centos
- ipython
- 版本控制
- 废弃SVN,全面拥抱Git
- GitLab
- Nginx+uWSGI
语言技能
- 英语
- 能舒适地使用英文来阅读
- 法语
- 中文
- 台语
- 汉语
- 粤语
优质资源
- 站点
- 知乎周刊:http://zhuanlan.zhihu.com/Weekly
- 码农周刊:http://weekly.manong.io/
- Pycoder’s Weekly:http://pycoders.com/archive/
- Hacker News:https://news.ycombinator.com/
- Startup News:http://news.dbanotes.net/
- 开发者头条:http://toutiao.io/
- 极客头条:http://geek.csdn.net/
- InfoQ:http://www.infoq.com/cn
- Stack Overflow:http://stackoverflow.com/
- GitHub:https://github.com/
- FreeBuf:http://www.freebuf.com/
- WooYun:http://drops.wooyun.org/
- 深蓝阅读:http://bluereader.org/
- 结尾
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jyzh@yahoo.com
文章标题:个人技能树搭建V1.0
文章字数:2.5k
本文作者:Jooeys
发布时间:2020-02-26, 10:52:16
最后更新:2020-02-26, 15:30:24
原始链接:http://jooeys.github.io/2020/02/26/%E6%8A%80%E8%83%BD%E6%A0%91/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。