Sitemap
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
Pages
Posts
Future Blog Post
Published:
This post will show up by default. To disable scheduling of future posts, edit config.yml
and set future: false
.
Blog Post number 4
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 3
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 2
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 1
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
portfolio
CS142 Web Applications
为了兼顾课业以及同期开始的Computer Organization,笔者收掉这门课的跨度大概是两个月的时间。最开始的目的只是熟悉基本的框架和操作,但其中的project一脉相承,算是比较不错的练习。打算开始学习这门课程之前,笔者也横向对比过MIT的Web Development Crash Course,其优势是除Slides外还有配套的视频讲解,不至于像142中需要自己查找大量的资料来辅助理解,当然最重要的一点是,142的框架相较于前者比较单一的前端开发和页面设计更加全面,Anyway,如果想学习具体的前端开发乃至于全栈开发,笔者并不推荐单看这门课的lecture,因为0基础实操起project的时候确实会有一个很痛苦的起步过程。而笔者写下这个通关记录,既是分享经历,也是想从头梳理一下这个项目,看看自己究竟掌握到了何种程度。
CS15-213 Introduction to Computer Systems
计算机系统或者说体系结构,素来属于计算机专业学生的基本功,于是为了加深对系统的理解,笔者开启了这门著名的Computer Systems: A Programmer’s Perspective (CS:APP)。在欧洲进行交换项目的同时,笔者用了大概一个半月的时间收掉了这门课。从刚开始对于bityte都不太熟悉,到最后手搓Malloc函数、设计自己的proxy服务器、实现简易的类shell的命令行解释器tsh,整个过程让我如痴如醉,对计算机系统的理解肉眼可见地日益加深。
MIT 6.s081 Operating System Engineering
MIT 6.s081 作为著名的操作系统导论级课程,对于操作系统的设计和实现,以及它们作为系统编程基础的使用有着非常独到而易懂的讲解。在结束计算机体系结构基础的粗浅学习后,笔者毫不犹豫地选择了它开始了对作为计算机三大浪漫之一的OS的初步学习。在Fall2020的版本中,lecture的主题包括虚拟内存、文件系统、线程、上下文切换、内核、中断、系统调用、进程间通信、软件和硬件之间的协调和交互等等;而对于lab,这门课专门开发了一个新的基于 RISC-V 的教学用多处理器操作系统 xv6,它是一个类似于 Unix v6 的操作系统,而不是最新最好版本的 Linux、Windows 或 BSD Unix,但 xv6足够大,足以说明操作系统中的基本设计和实现思想。另一方面,xv6 比任何现代生产操作系统都要小得多,因此也更容易理解。 xv6 具有与许多现代操作系统类似的结构,在探索xv6的过程中,也会发现 Linux 等内核内部有很多熟悉的内容。
Effective Modern C++ Notes (1-2)
如果你不介意浏览少许伪代码,我们可以考虑像这样一个函数模板
Effective Modern C++ Notes (3)
C++11使用统一初始化(uniform initialization)来整合这些混乱且不适于所有情景的初始化语法,所谓统一初始化是指在任何涉及初始化的地方都使用单一的初始化语法。
Effective Modern C++ Notes (4)
我们可以试着枚举一些为什么原始指针很难被爱的原因:
Effective Modern C++ Notes (5)
当你第一次了解到移动语义(move semantics)和完美转发(perfect forwarding)的时候,它们看起来非常直观
Effective Modern C++ Notes (6)
与lambda相关的词汇可能会令人疑惑,这里做一下简单的回顾:
Effective Modern C++ Notes (7)
C++11的伟大成功之一是将并发整合到语言和库中。熟悉其他线程API(比如pthreads或者Windows threads)的开发者有时可能会对C++提供的斯巴达式(译者注:应该是简陋和严谨的意思)功能集感到惊讶,这是因为C++对于并发的大量支持是在对编译器作者约束的层面。
Linux系统(Ubuntu/Arch)下Kitty安装指南
kitty is designed for power keyboard users. To that end all its controls work with the keyboard (although it fully supports mouse interactions as well). Its configuration is a simple, human editable, single file for easy reproducibility (I like to store configuration in source control).
publications
talks
自由的不仅是风
半年的时间转瞬即逝,又是一个新的学期来临。上周周末Win系统的磁盘检测导致Arch系统的磁盘寻址出了问题,卡在黑屏的sddm界面始终修不好,于是在通宵重装并克制化了新的系统后,整个人的精神一直处于比较萎靡的状态,凌晨睡不着,于是想着来码点这半年来的经历整理一下思绪。
夏天和半死不活的我
总算是要结束上半年的最后一个学期了, 感觉整个人都快虚脱了. 趁着还有点印象, 做点赛博记录.
当我躺在床上我在想什么
9.17号凌晨6点被叫醒,睁开眼,在透过窗帘的昏黄灯光下,屹然伫立着我满满当当的行李箱,上面躺着干瘪的书包,要返校了。在高速上我拉下窗户,风吹过我的脸,带着清早的凉意,打了个寒战,于是又关了上去。