0%

This book shows how to design and implement C++ software that is more effective: more likely to behave correctly; more robust in the face of exceptions; more efficient; more portable; makes better use of language features; adapts to change more gracefully; works better in a mixed-language environment; is easier to use correctly; is harder to use incorrectly. In short, software that's just better.

Read more »

The best use of this book is to gain insight into how C++ behaves, why it behaves that way, and how to use its behavior to your advantage. Blind application of the Items in this book is clearly inappropriate, but at the same time, you probably shouldn't violate any of the guidelines without a good reason.

Read more »

Overview

传统关系型数据库使用 B-Tree 或一些变体作为存储结构,能高效进行查找。但保存在磁盘中时它也有一个明显的缺陷,那就是逻辑上相离很近但物理却可能相隔很远,这就可能造成大量的磁盘随机读写。随机读写比顺序读写慢很多,为了提升 IO 性能,我们需要一种能将随机操作变为顺序操作的机制,于是便有了 LSM 树。其主要思想是将磁盘看作一个大的日志,先内存更新后合并落盘形成多个有序文件,每次都将新的数据及其索引结构添加到日志的最末端,以实现对磁盘的顺序操作,从而大幅提升写操作。而对于读则需合并磁盘已有历史数据和当前驻于内存中的未落盘更新,因而作为代价牺牲了一些读性能。

当今很多主流 DB 都使用了 LSM 树的存储模型,包括 Google BigTable、LevelDB、HBase、RocksDB、Cassandra 等。

Read more »

概念

  • 完全二叉树:若设二叉树的深度为 h,除第 h 层外,其它各层(1~h-1)的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边。
  • 用数组表示(下标从 1 开始),则有:
    • arr[i] 的左孩子是 arr[2*i],右孩子是 arr[2*i+1]
    • arr[i] 的父节点是 arr[i/2]
  • 大顶堆:每个结点的值都大于等于其左右孩子结点的值。
  • 小顶堆:每个结点的值都小于等于其左右孩子结点的值。
Read more »

目前北航的学术讲座、博雅课堂、社团活动和各个学生会组织的活动并没有一个统一的发布平台和入口,学生、老师及活动组织者需要通过不同的网站进行注册报名,并且这些网站也没有相关的日程提醒功能,也无法让活动参与者对组织者提供反馈。我们旨在用一个带有网页端的平台,来改变这一现状,方便北航师生的课余生活。

本系统为面向北航全校师生的活动发布、管理和社交平台,目的旨在方便全校的活动组织者和参与者,在活动发布、宣传通知、日程提醒和参与层面,给予一个统一的发布平台,并基于推荐算法为广大师生提供当前北航正在进行的、人气高的或用户感兴趣的活动。

详见 UniActive

实验工具与环境配置

  • 服务器操作系统:macOS Catalina 10.15.2
  • 客户端操作系统:macOS High Sierra 10.13.6
  • FTP 服务器:QuickFTP Server 1.0.4
  • FTP 客户端:ForkLift 2.6.6
  • 浏览器:Chrome 83.0.4103.61
  • Sniffer 工具:Wireshark 3.2.3

邮箱登录嗅探

我们知道,现在绝大多数网页访问都是基于安全的 HTTPS 协议,本实验选择的 QQ 邮箱也不例外。不同于 HTTP 协议,HTTPS 使用的是 443 端口。因此,为了更方便地分析报文,我们直接过滤 443 端口。

Read more »

实验工具与环境配置

  • 虚拟机软件:VMware Fusion 11.5.5
  • 操作系统:Windows XP
  • 虚拟病毒:VirtualVirus
  • 进程管理器:IceSword

运行虚拟病毒

在 Windows XP 虚拟机中,运行 VirtualVirus 可执行文件。

Read more »

图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强、去噪、压缩编码等众多领域。本文手工实现了二维离散傅里叶变换二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的变换效果。

Read more »