Live笔记-Web开发那些事

关于职业发展:

从运维转开发的职业成长路径

内网的开发 使用的频率有限,也不会有性能的问题

设计稿,像素级要求

运维养成的习惯

Web 开发整体知识体系梳理

一定不要什么都会一点,什么都不精,最后就成了一个四不像。

工作久了之后会发现,
编程思想,解决问题的手段 + 经验
在没有达到一定的实力和理解的前提下, 更换语言是没有太大效果的。

前端每年都会有新的思想,工具,框架

前端技术变化更新 用户和开发者容易感知
前端可以整合,可以分开打包, 生命周期比较短,
而后端服务端的更新,工程是很浩大的,只能逐步淘汰。

数据库瓶颈,

前端学习技巧:

  1. 模仿网站
  2. 找人学习 效果最好的一条, 10s告诉你正解 先自己不断琢磨,等实在不行时,开启求助模式,必须要思考之后再去求助
  3. 在工作当中多使用

前端是JS一家, 好好写代码 写出更好的代码

学核心思想,

Python是后端比较小众的语言, 大家的心都在并发, 大规模负载,业务架构,数据库,性能优化,分布式计算, 深度学习,海量数据计算。

几十年计算机的发展,技术沉淀都是在服务端的。

看书是最早应当铺垫的基础。

前端的最难的是进行页面的设计
设计师的效果图直接给出来,我按这个直接实现还算比较简单
流程:
1.写出基本的布局,搭出一个骨架 header + body
2.上到下,左到右 实现细节 盒模型, 绝对定位能
3. 添加交互功能, 实现事件、动画、AJAX等内容

积累 布局方案的经验 例如 水平居中,垂直居中以及响应式布局,

4. 作为后端开发如何和前端、移动开发工程师协作

大公司中的合作会使得效率变低

  1. 需求管理: 尽量降低依赖
  2. 使得大家产生默契, 达成共识,通过文档以及规范
  3. 需求的确认很重要, 比如确认API,并不断提出意见

前期的沟通一定要有足够重视,多用白话来进行解释

5. 从需求确定到最终交付 -- Web开发的流程,包括如何进行技术选型

技术上 要好招人
如何定义主流?社区上很多人讨论,大牛贡献代码,大公司在使用
多个备选方案时如何选择 基于业务 + 数据规模来思考最后的结果和目标 比如数据库选型, 存储模型 + 支撑量级 + 成本开销
库和中间节 灵活性 + 易用性 + 可替代性
不能只局限于当下的表现

制定技术方案的前提是了解业务的需求。要了解是否存在可复用的部分, 未来可能有其它需求,怎么办?

  1. 技术方案要求的技术能力和知识你能否hold住
  2. 项目的需求是否能够清晰的描绘出来 很重要。只能把项目拆分为一个个的需求,才能够对所有技术实现点有一个预估,对项目时间有一个预判
  3. 项目是否值得做,不能虎头蛇尾

不断的进行反馈, 否则很容易就跑偏, 要及时进行确认,

越简单的设计对于未来越灵活
要有造轮子的能力和不造轮子的觉悟
版本迭代的概念,不要把战线拉的太长会导致项目延期。

技术能力和性格特点都要有一定了解, 如何辨别一个程序员水平的高低
https://www.zhihu.com/question/35194924/answer/62096697

拆分任务的原则: 大部分交给一个人是最快的,个人兴趣和意愿,最近是否做过类似的事情

三时估计法: 计算工作持续时间的方法 最乐观的时间 a, 最可能的时间 m, 最悲观的时间 b , 实际的可能工作时间的计算公式就是 (a + 4m + b) / 6
主观时间预估

如何获取进度信息

  1. 代码合并的状态
  2. 看代码状态
  3. 里程碑 milestone, tag的概念 预先约定的节点tag

如何了解一个前端依赖的库
看package.json,每一个都google看到底是什么东西

给Web加一个debug web application类似flask当中的debugger mode, 这个是一个非常必须的中间件
分布式跟踪系统: Google 开源的
通过日志来了解数据库性能, 比如flask当中的SQLAlchamy

Python 和前端要深入
其它的东西了解即可

95%都不了解, 必须要加班进行学习, 对于需求那么第一次就要问全,问清楚。这是一个开发需求, 第一次问的时候,尽量达到70-80%的了解,一定要多想问题 + 答案。

越学越觉得要学的越来越多。很多东西知道还是不会。
每年要学习一个新语言。

达到什么程度才能称作自己已经学会了这个框架? 心里对于这个东西不害怕,看过源码。知道有问题也能够搞定。

posted @ 2018-12-20 21:11  AugusKong  阅读(467)  评论(0编辑  收藏  举报