前言

计网和软工都放到下学期开学考了,于是笔记也顺理成章的推迟了。

镜子的世界里会有美丽的东西吗?
镜子的世界里会有快乐的事情吗?
镜子世界的我,像我一样摆着一副无聊的表情

我觉得计算机网络是非常迷人的,如果说总线IO代表着一个能独立运行计算机系统的内部通信,那么网络IO解决的是计算机系统之间的通信。为了能构建更庞大的网络,必须摆脱总线IO提供的各种便利。在物理介质上建立可靠可复用的通信,直面高延迟、丢包、重复包等情况。如何解决,怎么解决,为什么这么解决?这些都很有意思。

阅读全文 »

前言

题图:Kaiserreich 壁纸

一师因一僧问曰:“如何是道?”
师曰:“正眼前是道。”
“如何我不自见?”
“汝自虑故。”
“师知之否?”
师曰:“汝但见二分:言‘我不自见’、‘师见之’,汝目障矣。”
“无我无你,可得见否?”
“无我无你,谁欲见之?”

在控制变量/对象生命周期防止泄漏上,C++ 基于 C 延伸出了移动语义和智能指针/内存池 GC 这一套方案。然而 Rust 却给出了另一套令人耳目一新的方案,借助编译期静态分析创造了一个虽然有很多限制但是完全“安全”的世界。为我们揭开了一面放弃部分编程自由换来更好的编译期优化的全新 tradeoff。本文旨在为C/C++ 程序员介绍Rust的所有权机制。不论读者了解Rust与否都可以愉快的阅读这篇文章,一起思考安全和自由的边界。

阅读全文 »

前情提要

上篇C++20 迈向异步 Part2 - 可等待体预告说使用socket套接字API实现TCP/UDP通讯并整合进C++协使用select原语实现事件循环。建立起一个简单的异步IO库。

但是后来写完发现步子还是太小了(指写起来很简单没啥难度),于是直接一步到位使用内核里新的io_uring设施实现消息循环。所有代码放在github上了OrbitZore/libzio。本文就简单阐述一下这个库为什么这么设计的。

阅读全文 »

C++20迈向异步 Part1-最简单的协程

时隔大半年,经历了老博客挂掉/Gnome换KDE等风波之后,总算迎来了计算机网络。也是读了一遍《Unix 网络编程 卷一:套接字联网API》和《UNIX 环境高级编程》,对异步和网络有了全新的认识。是时候重启这个系列了,而本Part将会介绍co_await和可等待体,并给出上一Part中generator的改进版,我们的协程现在可以等待另一个协程了。

阅读全文 »

前言

本学期开的最不明所以的课,第一节课作业竟然是写深度学习算法的原理。

第一天就让我学深度学习,nmd就不能按书上作业来吗

但是垃圾老师归垃圾老师,数据挖掘还是蛮有价值的。虽然我没有那么多数据…?

我那1T的pixiv图数据库不是吗?

恩,还是有必要学的

但是为什么有种这学科就像一个统计学家学了一点点计算机就过来发paper的感觉…

阅读全文 »

某些小型项目(100行左右或者小于100行)就直接放在github gist上了。以下是按时间最新排序的简单介绍

阅读全文 »

题图:命运石之门0 CG

前情摘要

开学一看,80286实模式+MS-DOS 平台上教汇编。倒也不是不能说不好,就是现在基本上不可用了…跑个程序还得套虚拟机。不爽,于是这篇笔记着重于从 MS-DOS 上的汇编迁移到现代 x86_64 Linux 平台上的汇编,还会提到一些其他有意思的主题。

阅读全文 »

前情提要

对我校编译原理没有实验课,没有课程设计,就是纯纯的理论很不爽,在与老师沟通后开始尝试写一个用于教学目的的编译器,在此之前我已经实现了正则表达式的解析和LL文法的分析,对于实现一个编译器很有兴趣。本着跟计算机打交道这么多年,连一个编译器都没摸透过的遗憾心理开始了编译器速通计划。

先花了一个星期确定技术栈上,最终我们敲定了先使用lex+yacc,然后借助llvm的框架快速搭建一个以llvm ir为目标代码的编译器。语言选定为C98的一个子集,去除了一些无关紧要的特性,保留了结构体等比较重要的特性。

然后是漫长的看各种手册实现的过程,在不断的思考-实现-碰壁循环中最终花费大约两个星期实现了一个最简单的编译器,但是相比原计划还是削减了一些重要的特性,比如结构体和函数指针。最终代码量总和在1k行左右,编译中的各个阶段均能独立运行输出调试结果。拿libreoj上的两道题跑了两个简单的测试,能过应该就没问题了。

开源以后再说吧

阅读全文 »

考前一天总算肝出来了(),感觉还是蛮有意思的。

数据库的基本概念

  1. 描述事物的符号记录称为数据

    数据和语义是不可分的。

  2. 数据库长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享

阅读全文 »
0%