数据包特点
- 数据包的内容可大可小,但是基本上都不会特别大,服务器产生时间也比较快
- 数据包的产生是有预先配置的,等待一个时间出发就可进行发送,可以是时间,也可以是客户端的行为等等
- 数据包是服务器生成的,所以说他就需要推送到具体的设备上进行显示,数据包产生时就带着IP/端口号
- 服务器与客户端的通信是一直在ping的,如果发现不通了,就会停止往这个IP发送数据包,除非客户端发送新的地址包建立联系
- 数据包发送时,服务器会记录发送时间,到达时,客户端会有一个反馈(ACK),如果没有返回信息,则服务器就会考虑是否重发
- 数据包走到下一个层级网络(广域网,城域网,局域网),这个层级的路由就会发出广播,得到这个局域网对饮的IP/MAC,然后继续发送,直到终端设备
- 每次通过网关路由,就必须得到一个新的IP/MAC,得不到,数据就会在这一层被抛掉
提需求的正确方式
- 产品常见的几个阶段:功能开发,单元测试,集成测试,beta验证,上线
- 功能开发阶段:程序猿状态最佳,最适合提需求的阶段,此时主要分产品的需求和技术性需求,技术型需求基本是开发人员自己的优化,但是这个是很必要的,需要留给程序猿时间
- 单元测试以及集成测试阶段:特点是BUG频发,这是优化的关键时期,此时的需求虽然可能会弄得有点反感,但是仍然OK ,
- bata验证阶段:此时是产品的关键时期,大家都盯着很多指标,此时是提需求最拉仇恨的时期,这时要做的是充分评估需求背后的工作量,然后在考虑是否提出,可以找一个关系好的开发让他给你评估,或者自己去多做一些功课,再或者就多做一些准备,吧主和个需求可能会面临的东西都抛出来,大家一起看一下,比直接强压下去做会好很多
前端开发
- Web前端: 常用HTML+CSS+JavaScript,ChromeDevTools,这是一个浏览器自带的调试工具
- HTML是网页内容的载体。就是我们看到的网页上的文字,图片,视频等等,等于说是一个内容的存放与调用工具。
- CSS是处理页面表现层的工具,颜色,布局,背景等等都是用他来做出的。
- JavaScript是用来实现网页上的动画,交互的。
- Android终端开发:JAVA语言编写,由于Java的特点,导致经常在做优化,还需要经常处理机型适配的问题。
- iOS终端开发:使用Xcode开发,iOS开发中有一个GitHub的工具,简单说就是个论坛,里面码着各种写好的代码,可以借鉴。
后端开发:处理数据的逻辑,背后的程序运转,资源调用方式,服务器程序的优化等等,属于系统最底层结构的工作。
工作禁句
- 「先做出来看看吧」
- 「我就要这种效果,怎么实现是你的问题」
- 「这应该很简单吧,不就是XXX,然后XXX吗」
- 「这个需求,先这样这样,再那样那样,用XX技术很快就搞定了」
- 「你就说能不能做吧」
- 「我有一个绝妙的idea,什么都准备好了,就差一个写代码的了」
- 「这个需求老大已经同意了,你照着做就是了」