摘要:
流程概况 如图所示,一次完整的HTTP请求过程,包含DNS请求和响应及域名解析,也包括TCP连接,三次握手,以及服务器响应HTTP请求,浏览器对html解析呈现,最后服务器关闭TCP连接,进行四次挥手。 过程详解 步骤一:DNS解析 如图所示,DNS解析过程,首先,PC会搜索浏览器自身的DNS缓存( 阅读全文
摘要:
python高级脚本 自动化测试脚本 import unittest class TestCalculator(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) def test_subtraction(s 阅读全文
摘要:
1.软件架构的演变 早期的软件,所有功能都集中在一起,这种软件集中、代码庞大、功能耦合的软件架构,称为单体架构(monolithic software)。整个软件就是单一的整体,仿佛一体化的机器。可以想到,软件的功能越多,单体架构就越复杂。很多缺点也随之暴露出来。 所有功能耦合在一起,互相影响,最终 阅读全文
摘要:
1.SDL简介 Security Development Lifecycle(SDL)是微软2004年提出的从安全角度指导软件开发过程的管理模式。SDL是一个安全保证的过程,其重点是软件开发,在开发的 所有阶段都引入了安全和隐私的原则。SDL一直都是微软在全公司实施的强制性策略。 2.SDL步骤 S 阅读全文
摘要:
描述 大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。斐波那契数列是一个满足 \(fib(x) = \left\{\begin{matrix} 1 & x = 1,2\\ fib(x-1) + fib(x-2) & x >2 \end{matrix}\righ 阅读全文
摘要:
分析恶意软件的第一步是收集二进制程序在主机上执行的行为事件,研究人员根据这些行为大体形成一个思路来描述恶意软件的功能。 这包括应用释放或者从互联网下载的文件,写入什么样的注册表,访问了什么网络地址,修改读写本地的什么文件等等。那么研究人员通过行为会确定恶意样本的类型。通常的类型如下: 后门:没有通过 阅读全文
摘要:
工欲善其事必先利其器,巧妇难为无米之炊,要有较好的工具才能完成伟大的事业。下面介绍一些软件分析和逆向工程的工具。 二进制编辑器(Stirling,一款日本圈子用的较多的工具) http://www.vector.co.jp/soft/win95/util/se079072.html 该工具的功能主要 阅读全文
摘要:
描述 删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次 例如: 给出的链表\(1\to 1\to2\),返回\(1\to2\) 给出的链表为\(1\to 1\to2\to3\to3\),返回\(1\to2\to3\) 数据范围:链表长度满足\(0 \le n \le 阅读全文
摘要:
描述: 实现函数int sqrt(int x) 计算并返回x的平方根(向下取整) 数据范围:\(0 \le x \le 2^{31} - 1\),要求空间复杂度$ o(1) \(,时间复杂度\)o(logx) $. 示例1: 输入: 2 返回值: 1 示例2: 输入: 2143195649 返回值: 阅读全文
摘要:
描述 给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果 1.只反转数字部分,符号位部分不反转 2.反转后整数num超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,返回 0 3.假设本题不允许存储 64 位整数(有符号或无符号,即C++不能使用lo 阅读全文