####git & github
merge 合并(git合并分支)
####设计模式
MVC:model view controller。单向流,view中触发DOM事件,controller触发数据更新,model将数据显示到view中。(也可直接向controller发送指令,如改变url触发hashChange事件)
MVP:presenter。双向通信。隔绝V和M之间的通信,减少维护对象数量。
MVVM:ViewModel。类似于MVP。但是M和VM之间数据绑定进行双向交互。观察者/数据劫持。
C/S模式:客户机/服务器
B/S模式:浏览器/服务器
前后端分离:
团队分工更细,后端只提供接口,前端可自己mock数据,负责页面展现接口设计和功能页面开发。
开发流程图:
过程性文档:
接口契约文档:前端提出的定义前后端的接口定义。责任方:前端;评审方:后端、测试QA、产品
集成测试用例文档
功能测试用例完档:定义验收页面功能的用例。责任方:测试QA;评审方:前端、产品
单元测试用例:定义后端各个功能模块的单元用例。
技术框架选型
项目管理:
前端团队进度:基于mock接口三个阶段——一是跑通所有界面的mock接口(发现接口调用、css等各种问题);二是基于所有页面进行迭代,问题统一解决,抽离公共组建进行优化界面;三是分批接入后端模块并提交QA进行功能测试。
参考网站:http://www.infoq.com/cn/articles/practice-frontend-backend-separation
计算机基础
四个时代:电子管 晶体管 集成电路 大规模集成电路
进制转换:
十进制小数到二进制小数——乘2取整法,从上到下读。如0.68752 = 1.375 取1,继续0.3752类推。
信息编码:
BCD码(8421编码)——4 === 0100
ASCII码 ——通用7位版本
汉字编码
(国标码GB2312-80 区位码(9494,一行为区,一列为位。所以共94个区,每个区内94个位的汉字字符集,有唯一的位置编码即区位码))
(机内码)
(汉字字形码)
计算机组成:*
运算器 控制器 存储器 输入输出设备
存储器:内存、外存(硬盘光盘等)
多核CPU:一个CPU上有多个计算引擎(核心处理器)【单线程用不了】
多个CPU:一个主板上搞了几个CPU,通过总线进行通信
进程:操作系统进行资源分配的最小单元;线程:进程内部的一个执行单元
进程创建后,即启动主线程比如main函数之类。主线程中止,进程即中止。
多线程要注意的是资源共享,即两个线程同时访问一个资源,只能在使用时共享资源处于锁定状态。一个线程一个线程的来执行。
node执行某js文件,创建的是进程,但可能包含多个线程,但一次只执行一个线程(所谓的node单线程)。好处就是不用像java等多线程语言一样注意死锁、状态同步、上下文切换开销等。
CPU主频(MHz)高,微机运算速度快
RAM(随机/运行内存,断电就没) ROM(只读内存相当于手机的硬盘存放安卓系统、软件、文件等) 快存(高速缓存存储器)
操作系统(OS):单用户操作系统(多任务,windows)、分时操作系统(unix)等
语言编译程序:机器语言 汇编语言 高级语言
localStorage适合存储不需要和后台交互的,比如有些草稿功能,关闭界面再进入仍然有效。
cookie中可放语言设置等。浏览器进行实现和管理。
域domain 路径(同一目录和子目录下才OK)
类型:浏览网站本身设置、网页嵌入广告用于跟踪使用信息