Live笔记-Web开发那些事
关于职业发展:
从运维转开发的职业成长路径
内网的开发 使用的频率有限,也不会有性能的问题
设计稿,像素级要求
运维养成的习惯
Web 开发整体知识体系梳理
一定不要什么都会一点,什么都不精,最后就成了一个四不像。
工作久了之后会发现,
编程思想,解决问题的手段 + 经验
在没有达到一定的实力和理解的前提下, 更换语言是没有太大效果的。
前端每年都会有新的思想,工具,框架
前端技术变化更新 用户和开发者容易感知
前端可以整合,可以分开打包, 生命周期比较短,
而后端服务端的更新,工程是很浩大的,只能逐步淘汰。
数据库瓶颈,
前端学习技巧:
- 模仿网站
- 找人学习 效果最好的一条, 10s告诉你正解 先自己不断琢磨,等实在不行时,开启求助模式,必须要思考之后再去求助
- 在工作当中多使用
前端是JS一家, 好好写代码 写出更好的代码
学核心思想,
Python是后端比较小众的语言, 大家的心都在并发, 大规模负载,业务架构,数据库,性能优化,分布式计算, 深度学习,海量数据计算。
几十年计算机的发展,技术沉淀都是在服务端的。
看书是最早应当铺垫的基础。
前端的最难的是进行页面的设计
设计师的效果图直接给出来,我按这个直接实现还算比较简单
流程:
1.写出基本的布局,搭出一个骨架 header + body
2.上到下,左到右 实现细节 盒模型, 绝对定位能
3. 添加交互功能, 实现事件、动画、AJAX等内容
积累 布局方案的经验 例如 水平居中,垂直居中以及响应式布局,
4. 作为后端开发如何和前端、移动开发工程师协作
大公司中的合作会使得效率变低
- 需求管理: 尽量降低依赖
- 使得大家产生默契, 达成共识,通过文档以及规范
- 需求的确认很重要, 比如确认API,并不断提出意见
前期的沟通一定要有足够重视,多用白话来进行解释
5. 从需求确定到最终交付 -- Web开发的流程,包括如何进行技术选型
技术上 要好招人
如何定义主流?社区上很多人讨论,大牛贡献代码,大公司在使用
多个备选方案时如何选择 基于业务 + 数据规模来思考最后的结果和目标 比如数据库选型, 存储模型 + 支撑量级 + 成本开销
库和中间节 灵活性 + 易用性 + 可替代性
不能只局限于当下的表现
制定技术方案的前提是了解业务的需求。要了解是否存在可复用的部分, 未来可能有其它需求,怎么办?
- 技术方案要求的技术能力和知识你能否hold住
- 项目的需求是否能够清晰的描绘出来 很重要。只能把项目拆分为一个个的需求,才能够对所有技术实现点有一个预估,对项目时间有一个预判
- 项目是否值得做,不能虎头蛇尾
不断的进行反馈, 否则很容易就跑偏, 要及时进行确认,
越简单的设计对于未来越灵活
要有造轮子的能力和不造轮子的觉悟
版本迭代的概念,不要把战线拉的太长会导致项目延期。
技术能力和性格特点都要有一定了解, 如何辨别一个程序员水平的高低
https://www.zhihu.com/question/35194924/answer/62096697
拆分任务的原则: 大部分交给一个人是最快的,个人兴趣和意愿,最近是否做过类似的事情
三时估计法: 计算工作持续时间的方法 最乐观的时间 a, 最可能的时间 m, 最悲观的时间 b , 实际的可能工作时间的计算公式就是 (a + 4m + b) / 6
主观时间预估
如何获取进度信息
- 代码合并的状态
- 看代码状态
- 里程碑 milestone, tag的概念 预先约定的节点tag
如何了解一个前端依赖的库
看package.json,每一个都google看到底是什么东西
给Web加一个debug web application类似flask当中的debugger mode, 这个是一个非常必须的中间件
分布式跟踪系统: Google 开源的
通过日志来了解数据库性能, 比如flask当中的SQLAlchamy
Python 和前端要深入
其它的东西了解即可
95%都不了解, 必须要加班进行学习, 对于需求那么第一次就要问全,问清楚。这是一个开发需求, 第一次问的时候,尽量达到70-80%的了解,一定要多想问题 + 答案。
越学越觉得要学的越来越多。很多东西知道还是不会。
每年要学习一个新语言。
达到什么程度才能称作自己已经学会了这个框架? 心里对于这个东西不害怕,看过源码。知道有问题也能够搞定。