EagleBear2002 的博客

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

高举中国特色社会主义伟大旗帜
为全面建设社会主义现代化国家而团结奋斗
——在中国共产党第二十次全国代表大会上的报告
(2022 年 10 月 16 日)
习近平

同志们:

现在,我代表第十九届中央委员会向大会作报告。

中国共产党第二十次全国代表大会,是在全党全国各族人民迈上全面建设社会主义现代化国家新征程、向第二个百年奋斗目标进军的关键时刻召开的一次十分重要的大会。

大会的主题是:高举中国特色社会主义伟大旗帜,全面贯彻新时代中国特色社会主义思想,弘扬伟大建党精神,自信自强、守正创新,踔厉奋发、勇毅前行,为全面建设社会主义现代化国家、全面推进中华民族伟大复兴而团结奋斗。

阅读全文 »

2023 年 8 月 11 日,苏州程开甲小学学生来我校参观,我代表开甲书院接待健雄书院施毅院长和程开甲小学师生一行,并撰写如下解说词,以供参考。

参观路线

南京大学北园内主要道路布局为“三横三纵”,三横指的是由南到北的三江路、两江路、南高路,三纵指的是由东到西的金大路、中大路和汇文路,这六条道路分别纪念了南京大学校史上的六个不同时期。

以上参观路线全长约 900m。

阅读全文 »

日程安排

时间 项目
7 月 17 日 9:30-11:30 报道
7 月 17 日 14:00-16:30(后延时至 18:00 结束) 机试
7 月 17 日 18:30-20:30(后因机试延时而推迟至 19:00 开始) 笔试
7 月 18 日、19 日 面试
8 月 1 日 优秀营员邮件通知

个人经历

  • rank:本院保研线以内
  • 竞赛:ACM-ICPC 金、CCPC 金等
  • 科研:大三独立进行一项教学创新;大二以来在本院参与过若干项目,无论文产出
  • 奖学金:本院两年高额奖学金,无国奖
  • 学工:助教、朋辈导师等

材料准备

阅读全文 »

TODO: 填坑

文档级 JavaScript

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
var levelCount = [0, 0, 0, 0, 0, 0, 0]; // 用于记录各级标题的计数

function PrintBookmarks(bm, nLevel) {
if (nLevel != 0) { // don't print the root
bmReport.absIndent = bmTab * (nLevel - 1);
bm.execute();

// 添加层级序号,从二级标题开始编号
var title = getNumberedTitle(bm.name, nLevel);

var pageNum = (bm.doc.pageNum + 1).toString();

// 计算标题和页码的字符长度,包括中文字符
var titleLen = countCharacters(title);
var pageNumLen = countCharacters(pageNum);

// var rptnum = Math.floor((totalWidth - titleWidth - pageNumWidth) / measureTextWidth('.'));
var dots = '.'.repeat(50 - titleLen - pageNumLen); // 总宽度为50,减去标题长度和页码长度,计算出点号的个数
bmReport.writeText(title + dots + pageNum, { align: "right" });
// bmReport.vspace(12); // 增大行间距
}
if (bm.children != null)
for (var i = 0; i < bm.children.length; i++)
PrintBookmarks(bm.children[i], nLevel + 1);
}

// 获取层级序号,从二级标题开始编号
function getNumberedTitle(title, nLevel) {
if (nLevel === 1) {
return title;
}

levelCount[nLevel]++; // 当前层级计数增加

// 生成层级序号
var numberedTitle = "";
for (var i = 2; i <= nLevel; i++) {
numberedTitle += levelCount[i] + ".";
}

// 添加标题内容
numberedTitle += " " + title;
return numberedTitle;
}

// 计算字符长度,包括中文字符
function countCharacters(str) {
var count = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 127) {
count += 2; // 中文字符占两个字符长度
} else {
count += 1;
}
}
return count;
}

bmTab = 15; // 调整缩进的距离,使目录更美观
bmReport = new Report();
bmReport.size = 2;
bmReport.writeText(this.title);
bmReport.writeText(" ");
bmReport.size = 1.5;
bmReport.writeText("目录");
bmReport.writeText(" ");
bmReport.size = 1;
PrintBookmarks(this.bookmarkRoot, 0);
global.bmRep = bmReport; // make global

// 使用try-catch块确保目录页的生成不会出错
global.wrtDoc = app.setInterval(
'try {' +
' reportDoc = global.bmRep.open("Listing of Bookmarks");' +
' console.println("Executed Report.open");' +
' app.clearInterval(global.wrtDoc);' +
' delete global.wrtDoc;' +
' console.println("Executed App.clearInterval");' +
' reportDoc.info.title = "Bookmark Listings";' +
' reportDoc.info.Author = "List Bookmark Sequence";' +
'} catch (e) {console.println("Waiting...: " + e);}', 100);

问题背景

在使用 Typora 撰写 markdown 文档时,有时需要将其转换成 pdf 格式以便其他平台阅读或打印。

有些文档文本内容比较稀疏,有大量的图片作为辅助说明,这些文档如果作为单栏打印,页面显得稀疏松散且信息量小。

LaTex 对这一问题的解决方案是分栏,视情况分为 2~3 栏。我们希望仿照 LaTex 对 markdown 文本进行分栏,效果如下:

阅读全文 »

摘要

笔者借助 Windows Defender 在使用移动硬盘时发现某目录打开导致死机,分析后确定目录下的安装包携带蠕虫病毒,并对病毒进行溯源和清除。

发现计算机异常

硬盘无法弹出

下午 15:30 前后,我正在实验室安装机试环境,尝试从移动硬盘(WD-My Passport)中拷贝需要的安装包。我想要结束对硬盘的访问并弹出硬盘时,系统始终提示:

阅读全文 »

问题背景

在整理博客过程中,有时需要把博客当中的图片批量替换成更清晰或文件大小更小的图片,这时原有的图片不会被删除,而是被留在原本的目录下。这样的“未使用的图片”积攒的太多,会拖慢博客部署的速度,也会导致博客仓库占用空间膨胀。

例如:笔者在 技术科普 这一主题下写了一篇文章 技术科普/异体汉字成因及处理.md,则该文章引用的所有图片都被放在与文章同名的 技术科普/异体汉字成因及处理 目录下。这一目录下有 1.png, 2.png, 3.png 等图片,其中我真正使用到的只有 3.png。我希望批量删除 1.png, 2.png 等图片。

本文提供了以上问题的两种解决方案。对于需要一次对若干篇文章清除图片的用户,推荐使用方案二。

解决方案一:利用 Typora 的文件重命名机制

阅读全文 »

党委书记要善于当“班长”

党的委员会有一二十个人,像军队的一个班,书记好比是“班长”。要把这个班带好,的确不容易。目前各中央局、分局都领导很大的地区,担负很繁重的任务。领导工作不仅要决定方针政策,还要制定正确的工作方法,有了正确的方针政策,如果在工作方法上疏忽了,还是要发生问题。党委要完成自己的领导任务,就必须依靠党委这“一班人”,充分发挥他们的作用。书记要当好“班长”,就应该很好地学习和研究。书记、副书记如果不注意向自己的“一班人”作宣传工作和组织工作,不善于处理自己和委员之间的关系,不去研究怎样把会议开好,就很难把这“一班人”指挥好。如果这“一班人”动作不整齐,就休想带领千百万人去作战,去建设。当然,书记和委员之间的关系是少数服从多数,这同班长和战士之间的关系是不一样的。这里不过是一个比方。

要把问题摆到桌面上来

不仅“班长”要这样做,委员也要这样做。不要在背后议论。有了问题就开会,摆到桌面上来讨论,规定它几条,问题就解决了。有问题而不摆到桌面上来,就会长期不得解决,甚至一拖几年。“班长”和委员还要能互相谅解。书记和委员,中央和各中央局,各中央局和区党委之间的谅解、支援和友谊,比什么都重要。这一点过去大家不注意,七次代表大会以来,在这方面大有进步,友好团结关系大大增进了。今后仍然应该不断注意。

“互通情报”

阅读全文 »

约束求解问题

给定一组约束,求:

  • 这组约束是否可满足
  • (可选)如果可满足,给出一组赋值
  • (可选)如果不可满足,给出一个较小的矛盾集 unsatisfiable core

总的来说是不可判定的问题,但存在很多可判定的子问题:

如:

阅读全文 »

摘要

由于线程交错的数量很大,分析多线程程序是困难的。偏序关系可用于建模和分析多线程程序。然而,目前尚无专用的决策过程用于解决偏序约束。在本文中,我们提出了一种新颖的有序一致性理论,用于在顺序一致性下验证多线程程序,并详细阐述了其理论求解器。该求解器实现了增量一致性检查、最小冲突子句生成和专用理论传播,以提高 SMT 求解的效率。我们在可信赖的基准测试上进行了大量实验,结果显示我们的方法显著提升了性能。

作者:清华大学软件学院 贺飞、Zhihang Sun、Hongyu Fan

Introduction

现在的计算系统中普遍使用共享内存多线程程序。并发程序的交错数量使得其在实践中很难进行验证。因此,开发技术来缓解并发程序验证中的执行爆炸问题是非常有意义的。

阅读全文 »