GDB学习笔记 最近在恶补CMU 15-213 CSAPP,课程的质量是非常高的,但是其中有不少内容在西电的《计算机组成原理》、《微机原理与接口技术》等课程学过了,于是就只能“略读”一下。但是这门课的LAB质量也是很高的,于是便尝试了一下。体验了一下LAB1:bomb和LAB2:attack后,发现难度真的很大,基本上都是看着网上的答案来做的。 因为汇编语言在本科就学过了(而且实验基本上也是看网上做的),所以这篇 2024-10-13 工具 #工具 #gdb
【项目心得】使用C语言写一个Json解析器 本篇博客用以总结在实现Json Tutorial时获得的经验和心得,项目仓库地址json_tutorial。 个人认为这个项目还是一个非常适合的入门项目,作者深入浅出地讲解如何从零用C语言实现一个自己的Json解析库。虽然Json解析的算法并不算难,但是项目教程中提到如单元测试等实践中常用的开发方法,以及关于指针的一些陷阱,并且解释了之前困扰我的许多问题,非常适合学习。 程序的编译和链接 在教程 2024-10-11 经验心得 #C语言 #项目 #LeptJson
设计模式学习笔记 最近接到导师布置的一个横向任务,要利用前沿的密码学算法实现一个可搜索加密+授权加密的桌面程序。虽然密码学算法已经心里有数,但是这个程序的功能稍微有点复杂,程序设计的难度也有所提高,所以在写的时候,往往没有头绪,不知道使用怎样的设计思路来编写代码。经过一番资料的搜索后,发现了*《设计模式》这本书,这本书被广大同行所盛誉。然而图书馆的所有《设计模式》已经被借走了,于是我就找到《Head First设计 2024-09-08 经验心得 #设计模式
html+css学习笔记 众所周知,前后端的就业已经是强弩之末,但是作为科班的学生,不能对前后端的开发一点都不熟悉。所以,我利用暑假时间浅学习前端的知识,也算是为将来开发自己的个人网站作铺垫。 HTML学习笔记 HTML相对好理解,毕竟是所见即所得的东西,并且HTML的语法又与之前学的WPF非常相似,所以很多东西就不再往这里写了。对于HTML中存在的大量标签类型,也只要在开发时上网查询即可。 嵌套、内联元素与块元素 部 2024-07-22 前端 #前端 #html
轶事两则 轶事两则 起因是我和父母视频电话时抱怨毕设难度大,他们就说找个机会去文昌阁求一下神明保佑,我也没当回事。后来,解决了“结构体越界”这个bug后(这个bug我花了三个礼拜才解决),我就打电话和他们说了这件事,我妈才说就在4月21日(还是20日,忘了),他和我爸一起去了文昌烧香,结果第二天(如上图,4月22日)就遇到了高人指点。这多少让我这个无神论者有一些震惊。我妈还自豪地和我说,虽然有些事她不懂, 2024-06-03 非技术文章 #随笔
毕设回顾——轻量可靠传输协议的设计与实现 许久未写博客,一方面是因为三四月份都在忙于毕设,每天都在查资料和debug,几乎挤不出时间来写blog,另一方面主要还是因为犯懒了。这次就一次性写一篇技术+心得向的文章,来总结一下这两个月毕设的工作。 仓库地址:https://github.com/zhf999/ReliableUDP 选题与准备 因为研究生导师让我跟着本校导师做毕设,所以我也就只能自己选题。最开始选了很多和密码学、信息安全有关 2024-05-30 计算机网络 #计算机网络 #Linux内核
2023年度总结————迷茫与探索 转眼一年又这么过去了,时间真如白驹过隙,上次写年度总结仿佛还在昨天。现在打开Typora写下2023的年度总结,总觉得很多话要说,却不知道从何说起。今年算是度过了一整个GAP year,这应该会是我人生中最自由快乐的一段时光吧(真的吗?)。回忆当初建立博客的原因,一方面因为希望能留下学习笔记以便今后复习,另一方面是受我室友一句话的影响,原话是什么不记得了,但是大体的意思是”写博客的意义不在于别的, 2023-12-27 非技术文章 #随笔 #年度总结
RUDP论文阅读笔记 毕设的选题是《轻量可靠传输协议的设计与实现》,在开始做之前读几篇论文,了解一下相关的研究背景。这篇博客的内容就是将各篇论文的重点研究部分摘出来,以便自己之后的研究和实现。 Reliable user datagram protoco [1]Thammadi, Abhilash. "Reliable user datagram protocol (RUDP)." (2011). 2023-12-24 论文 #笔记 #论文阅读
C++语言高级特性 C++是一门很高深的语言,曾经上高中学了“C with STL”就以为自己学会了C++,实际上只是管中窥豹。如今捧起《C++ primer plus》拜读,才知道自己的渺小。C++的语言特新甚至还不断随着新标准的发布而更新。这篇博客会概括一下C++11之前的高级语言特性。由于这些高级用法过于尖端,实际使用到的很少,所以各个版块之间也毫无关联,权当走马观花,简单了解一些,以致于在看到别人写的代码时不 2023-11-16 编程语言 #编程语言 #Cpp
C++类模板 一个容器(队列、栈、链表)只能存储指定类型的对象(当然,基类指针容器可以用于存放派生类的对象),这就给编程带来很大的不便。我们希望我们能够编写一个其存储对象可变的容器,此时类模板就派上了用场。 类模板的简单使用 声明语法如下: 12template <class Type> // in older compilertemplate <typename Type> // i 2023-11-13 编程语言 #编程语言 #Cpp