软件设计师(1) – 计算机系统知识

软考中级,软件设计师笔记;之前没有学过计算机及程序原理方面的知识,借着软考的机会,系统学一下; 1、计算机结构 硬件:运算器、控制器、存储器、输入设备和输出设备; 存储器:主存(内存)和辅存(外存); CPU:由运算器、控制器、寄存器和内部总线组成 运算器 算数逻辑单元ALU:数据的算数运算和逻辑运算; 累加寄存器AC:通用寄存器,为ALU提供一个工作区,暂存数据; 数据缓冲寄存器DR:写内存时,…

Read More

软件设计师(2) – 程序设计语言基础

1、编译和解释 编译型和解释型最大的不同,就是编译型会生成目标代码; 编译型编译的过程如下: 源程序 -> 词法分析 -> 语法分析 -> 语义分析 -> 中间代码生成 -> 代码优化 -> 目标代码生成 -> 目标程序 词法分析:利用正规式、有限状态机,来检查是否存在非法字符,关键字或标识符拼写错误等; 语法分析:检查语法结构是否正确,比如 if els…

Read More

软件设计师(3) – 数据结构

数据结构相关笔记 1、线性表 顺序存储 数组 链式存储 单链表:每个结点指向指向下一个结点; 双向链表:每个结点指向上一个和下一个结点,可以从两个方向上遍历链表; 循环链表:在单链表或双向链表的基础上,首尾相连,可以从任意结点遍历整个链表; 静态链表:数组; 栈和队列 栈:先进后出; 队列:先进先出; 两者都有两种存储结构:顺序存储、链式存储; 串 仅有字符构成的有限序列;– 字符串;…

Read More

软件设计师(4) – 操作系统

操作系统 1、进程 进程是程序的一次执行,进程通常是由程序、数据和进程控制块(PCB)组成; 三态五态模型 同步和互斥 同步:多个进程并发执行,每个进程都以各自独立的、不可预知的速度向前推进,需要在某些确定的点上协调相互合作进程间的工作; 互斥:系统中多个进程因征用临界资源而互斥执行; 临界资源:一次只能供一个进程使用的资源; 临界区:进程中对临界资源实施操作的那段程序; 信号量:一个整型变量,根…

Read More

软件设计师(5) – 软件工程

一、软件过程 1、能力成熟度模型(CMM) 是用来评价软件组织(公司)的模型; 初始级:项目依赖个人努力和英雄式核心人物; 可重复级:重复之前同类项目的成功; 已定义级:管理和工程两方面的软件过程已经文档化、标准化; 已管理级:指定了软件过程和产品质量的详细度量标准; 优化级:加强了定量分析,持续改进; 2、能力成熟度模型集成(CMMI) CMMI和CMM一样,是适用不同学科领域的模型;CMMI是…

Read More

ajax 中的302状态

第一次遇到这种问题,需要在ajax响应中获取302状态码,然后根据该状态码做特殊处理; 背景 起因是这样的:ajax请求的时候,会有公共的登录拦截,如果未登录或登录标识过期,就直接302跳登录页了;后端不想多做处理,让前端来做这个判断,如果是302,前端手动控制跳登录页; 登录判断这么处理的还是第一次遇到,一般常用做法是后端判断,然后包成json格式,前端通过某个字段标识判断是否登录; 一方面和后…

Read More

Mac系统升级后Sass报错

最近 Mac 升级了最新的 Catalina 系统,升级完成后,WebStorm 中 File Watcher 的 Scss/Sass 报错了,报错信息就是一个“No such file or directory”; 在终端中输入命令,which sass,可以得到 sass 的地址,/usr/local/bin/sass; 输入 sass,就报错了; 解决方案在这里 http://stackov…

Read More