2017-2018-1 20155324 《信息安全系统设计基础》第1周学习总结
2017-2018-1 20155324 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
- Linux系统
- Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
- vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile。不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
- gcc编译器的基本原理
gcc
认为预处理的文件是(.i)是C文件,并且设定C形式的连接;
源文件后缀名的一些含义和后续的操作:
-
.c C源程序 预处理,编译,汇编
-
.C C++源程序 预处理,编译,汇编
-
.cc C++源程序
-
.cxx C++源程序 预处理,编译,汇编
-
.m Objective-C源程序 预处理,编译,汇编
-
.i 预处理后的C文件 编译,汇编
-
.ii 预处理后的C++文件 编译,汇编
-
.s 汇编语言源程序 汇编
-
.S 汇编语言源程序 预处理,汇编
-
.h 预处理器文件 通常不出现在命令行上
详见原博客gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解
- 高内聚,低耦合
定义:高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
详见百度百科高内聚低耦合
- GDB 命令行界面使用技巧
命令补全
任何时候都可以使用 TAB 进行补全,如果只有一个待选选项则直接补全;否则会列出可选选项,继续键入命令,同时结合 TAB 即可快速输入命令。
部分 gdb 常用命令一览表
命令 | 简写形式 | 说明 |
---|---|---|
list | l | 查看源码 |
backtrace | bt、where | 打印函数栈信息 |
next | n | 执行下一行 |
step | s | 一次执行一行,遇到函数会进入 |
finish | 运行到函数结束 | |
continue | c | 继续运行 |
break | b | 设置断点 |
info breakpoints | 显示断点信息 | |
delete | d | 删除断点 |
p | 打印表达式的值 | |
run | r | 启动程序 |
until | u | 执行到指定行 |
info | i | 显示信息 |
help | h | 帮助信息 |
查询用法
在 gdb 命令行界面,使用
(gdb) help command
可以查看命令的用法。
书上代码
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 85/85 | 1/1 | 5/5 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:10小时
-
实际学习时间:5小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)