EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

摘要

敏捷思想存在很久

敏捷运动源自 1990 年代一些与软件开发过程打交道的人士的工作,他们发现需要寻找软件开发过程的新途径。其实,这些途径中的大部分思想并不是新的,许多人认为,很长一段时间以来的成功软件都是依据这些思想来建造的。但这些思想却被压抑了,没有受到足够的重视,特别是在那些从事软件开发过程的人士中。有一些根本性的原则是所有敏捷方法的共同之处,这些原则与那些传统软件工程方法的前提假设是截然相反的。

从无、到繁重、再到敏捷

多数软件开发仍然是一个显得混乱的活动,即典型的“边写边改”(code and fix)。设计过程充斥着短期的、即时的决定,而无完整的规划。这种模式对小系统开发其实很管用,但是当系统变得越大越复杂时,要想加入新的功能就越来越困难。同时错误故障越来越多,越来越难于排除。一个典型的标志就是当系统功能完成后有一个很长的测试阶段,有时甚至有遥遥无期之感,从而对项目的完成产生严重的影响。

阅读全文 »

摘要

坐到一起

  • 在大到足够容纳整个团队的开放空间中进行开发.
  • 为了满足隐私和自己的空间的需要,可以在附近设置一些私人空间,或者对工作时间做出限制,这样团队成员对隐私的需求可以在其他地方得到满足.

例子

  • Kent Beck 为芝加哥郊区一个陷入困境的项目做咨询.
  • 由公司里最好的技术天才组成,问题在哪?
  • 这些高级员工在建筑物不同层的不同角落都有自己的办公室. 团队成员每天只有少许时间进行交流.
  • 教训:坐到一起来,用我们所有的感官知觉进行交流,这一点太重要了.
阅读全文 »

摘要

概述

  • 持续集成(Continuous Integration, CI) 是一种软件开发实践,在实践中项目成员频繁地进行集成,通常每个成员每天都会做集成工作,如此,每天整个项目将会有多次集成。
  • 许多团队都发现这种方法大大地减少了集成问题,并且能够快速地开发出高内聚性的软件。

单次瀑布模型与敏捷软件开发:

  • 单次瀑布模型:软件集成是一个漫长并且无法预测的过程。
  • 敏捷软件开发:每个开发人员离共享的工程状态只有咫尺之遥,并且可以在几分钟之内将自己的代码集成进去。任何集成错误都能被快速地发现并得到快速的修正。
  • “持续集成” 源自于极限编程(XP),并且是 XP 最初的 12 种实践之一。
  • “持续集成”服务:Jenkins(https://jenkins.io/)
阅读全文 »

操作实验:熊猫烧香病毒分析。实验内容如下。

  1. 基于虚拟机软件及其快照功能,搭建一个恶意代码分析实验环境。
  2. 分析熊猫烧香病毒的程序结构和入侵过程。完成实验报告。

将病毒样本导入 win XP

解压病毒样本压缩包,并将文件后缀改为 .exe

阅读全文 »

$$
\def\Ent{\mathrm{Ent}}
\def\Gain{\mathrm{Gain}}
\def\DOG{\mathrm{DOG}}
\def\CAT{\mathrm{CAT}}
\def\Gender{\mathrm{Gender}}
\def\Tail{\mathrm{Tail}}
\def\Weight{\mathrm{Weight}}
\def\age{\mathrm{age}}
\def\income{\mathrm{income}}
\def\student{\mathrm{student}}
\def\Class{\mathrm{Class}}
\def\yes{\mathrm{yes}}
\def\attri{\mathrm{attri}}
$$

摘要

本文是 2024Fall-数据仓库与知识发现 的期末复习提纲,根据复习课录音和往年卷整理,以供复习参考。

本文中提到的“教材”是指《数据挖掘:概念与技术(第 3 版)》。

本文在时错佬的博客基础上改进:南京大学软件学院-2023-数据仓库(研究生)期末复习参考 - 知乎

阅读全文 »

摘要

本文是 2024Fall-高级软件设计 的期末复习提纲,根据复习课录音整理,以供复习参考。

课程详细内容可参考 分类: 2023Spring-软件系统设计 | EagleBear2002 的博客 中的“软件详细设计”部分,这部分内容的授课教师和授课内容与本课程完全相同。

这份复习资料内容更加全面:南京大学软件学院-2023-高级软件设计(研究生)期末复习参考 - 知乎

考试为英文题目,12 道简答题,1 道场景设计题。

阅读全文 »

$$
\def\ran{\text{ran}}
\def\dom{\text{dom}}
\def\FUN{\mathsf{FUN}}
\def\card{\mathrm{card\ }}
\def\len{\mathsf{len}}
\def\size{\mathsf{size}}
\def\F{\mathcal{F}}
\def\A{\mathfrak{A}}
\def\B{\mathfrak{B}}
\def\Th{\mathrm{Th}}
\def\Cn{\mathrm{Cn}}
\def\Mod{\mathrm{Mod}}
\def\N{\mathfrak{N}}
\def\K{\mathcal{K}}
\def\G{\mathcal{G}}
\def\lh{\mathrm{lh}}
\def\v{\bar{v}}
\def\0{\mathbf{0}}
\def\bfS{\mathbf{S}}
\def\Cons{\mathrm{Cons}}
\def\Sb{\mathrm{Sb}}
\def\Fr{\mathrm{Fr}}
$$

摘要

本文是 2024Fall-数理逻辑 的期末考点合集,包括讲义第 0 章、教材第 1-3 章内容,并标注了考点。

本文添加了一些笔者对知识的理解,这部分注明不是来自讲义或教材,仅供参考。中文版《数理逻辑(第二版)》教材中存在许多翻译错误和公式排版、印刷错误,本文指出了其中一些错误并注明错处。

考试题型:

阅读全文 »

教材 P239,16 题

综合实验:使用渗透性测试工具 Metasploit 进行漏洞测试。实验内容如下。

  1. 安装并配置 Kali(https://www.kali.org)。
  2. 从 Kali 操作系统的终端初始化和启动 Metasploit 工具。
  3. 使用 Metasploit 挖掘 MS08-067 等漏洞。

配置靶机 Windows 2003

在 VMWare Workstation 中打开 Windows 2003,使用 ipconfig 命令查看本机网络情况。

阅读全文 »

教材 P304,25 题。

综合实验:从本书下载链接中下载 Crackme 程序,综合运用 OllyDbg、IDA 和 UltraEdit 等工具进行注册登录功能的破解。完成实验报告。

下载 OllyDbg 和 Crackme

从官网 OllyDbg v1.10 下载 OllyDbg v1.10。

适合破解新手的160个crackme练手.chm 中选择 Brad Soblesky.1.exe 作为 Crackme。

阅读全文 »

摘要

本文提供了 Marp 模版,可基于模版使用 Markdown 制作演示文稿(PPT)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
marp: true
theme: gaia
# theme: uncover
# theme: defasult
paginate: true
headingDivider: 0
math: katex # 推荐选择 katex,如选择 mathjax,会出现 LaTeX 公式不能换行等问题。
footer: "作者姓名@作者单位 yyyy-mm-dd"
style: |
* {
font-size: 20px;
}

* > span {
font-size: 1em;
}

/* 默认风格的行内代码 */
:not(pre) > code {
background-color: #f8f8f8;
color: #333;
padding: 2px 5px;
border-radius: 3px;
white-space: pre-wrap;
}

/* 默认风格的代码块 */
pre > code {
background-color: #f8f8f8;
color: #333;
padding: 10px;
border-radius: 5px;
white-space: pre-wrap;
}


/* 覆盖原有代码块的背景颜色 */
pre {
background-color: transparent;
width: 100%;
}

/* 图片居中 */
img {
display: block;
margin-left: auto;
margin-right: auto;
}
---

$$
\gdef\po{\mathsf{\textcolor{red}{po}}}
\gdef\so{\mathsf{\textcolor{purple}{so}}}
$$

<!--
_class: lead gaia
_paginate: false
backgroundColor: white
_footer: ""
_color: purple
-->

# 封面一级标题

---

<!-- backgroundColor: white -->

## 页面二级标题

---

<!--
_class: lead gaia
_paginate: false
_backgroundColor: purple
_color: white
_footer: ""
-->

# 封底一级标题