发布了文章2021-02-18
本节实现 TCPConnection 类,实例化这个类将作为一个完整的 TCP 连接中的一个 peer(可以充当任意一方,Server 或 Client)。前面两个实验分别实现的 TCPSender 和 TCPReceiver 并不能作为一个独立的 Server 或 Client,这两个类的实例是用作 TCPConnection 实例的内...
发布了文章2021-02-16
tick 不需要我们来调用,参数的意义是距离上次 tick 被调用过去的时间,也不需要我们来设定。我们只需要在 tick 中实现,通过参数判断过去了多少时间,需要执行何种操作即可。
发布了文章2021-02-10
下面的两个加减,分别是在 WrappingInt32 上加上或减去一个 uint32_t,得到的结果仍然是一个 WrappingInt32,其意义是分别为把 a 这个 WrappingInt32 向前或向后移动 |b| 个单位距离。
发布了文章2021-02-08
FreeBSD的设计与实现( The Design and Implementation of the FreeBSD Operating System ) - 关于FreeBSD OS 不错的资源(注意,FreeBSD OS 不是 Linux)
发布了文章2021-02-08
[链接][链接][链接]笔记修改键位映射修改键位映射可以通过软件或者硬件(支持定制固件的键盘)实现。软件可以实现更复杂的修改例如对不同的键盘或软件保存专用的映射配置。下面是一些修改键位映射的软件:macOS - karabiner-elements, skhd 或者 BetterTouchToolLinu...
发布了文章2021-02-08
[链接][链接][链接]笔记2019 年本讲的内容为与 2020 年的普通,标题为 安全与隐私,更注重于计算机用户可以如何增强隐私保护和安全相关课程:计算机系统安全 (6.858)相关课程:密码学 (6.857以及6.875)不要试图创造或者修改加密算法Cryptographic Right Answers: 解...
发布了文章2021-02-07
“构建系统”帮助我们执行一系列的“构建过程”。构建过程包括:目标(targets),依赖(dependencies),规则(rules)。您必须告诉构建系统您具体的构建目标,系统的任务则是找到构建这些目标所需要的依赖,并根据规则构建所需的中间产物,直到最终目标被构建出来。
发布了文章2021-02-05
[链接][链接][链接]笔记调试打印调试法与日志日志相比临时添加打印语句有如下优势:您可以将日志写入文件、socket 或者甚至是发送到远端服务器而不仅仅是标准输出;日志可以支持严重等级(例如 INFO, DEBUG, WARN, ERROR等),这使您可以根据需要过滤日志;对于新发现...
发布了文章2021-02-04
实际上,Git 在储存数据时,所有的对象都会基于它们的SHA-1 hash进行寻址。Blobs、trees 和 commits 都一样,它们都是对象。当它们引用其他对象时,它们并没有真正的在硬盘上保存这些对象,而是仅仅保存了它们的哈希值作为引用。例如,上面为代码中的 parent: array&...
发布了文章2021-02-03
shell 会使用 UNIX 提供的信号机制执行进程间通信。当一个进程接收到信号时,它会停止执行、处理该信号并基于信号传递的信息来改变其执行。就这一点而言,信号是一种软件中断。
发布了文章2021-02-01
[链接][链接][链接]笔记REGEX入门交互式教程进阶文字教程regex debuggerA taste of data wrangling {代码...} sort -n 会按照数字顺序对输入进行排序(默认情况下是按照字典序排序 -k1,1 则表示“仅基于以空格分割的第一列进行排序”。,n 部分表示“仅排序到第n个部分”...
发布了文章2021-01-30
[链接][链接][链接]笔记个人建议的 vim 入门方法:先玩 Vim Adventures再做 vimtutor下一步?网上大佬太多了,随便找博客或者视频看,比如:上古神器Vim:从恶言相向到爱不释手 - 终极Vim教程01 - 带你配置属于你自己的最强IDEVim Cheat Sheet小贴士:在 linux 中,...
发布了文章2021-01-29
[链接][链接][链接]笔记Shell 脚本特殊变量$0 - 脚本名$1 到 $9 - 脚本的参数。 $1 是第一个参数,依此类推。$@ - 所有参数$# - 参数个数$? - 前一个命令的返回值$$ - 当前脚本的进程识别码!! - 完整的上一条命令,包括参数。常见应用:当你因为权限不足执行命令失败...
发布了文章2021-01-27
本以为 cat < hello.txt 会报错 cat: hello: No such file or directory。猜想正确工作的原因是“参数”和“输入”的区别(未经验证或查找资料):cat 程序将输入打印在屏幕上,cat hello.txt 中的 hello.txt 是参数,将该文件的内容作为输入;而 cat < hello.txt ...
发布了文章2021-01-25
TCP 接受方接收到乱序且可能重叠的报文段,StreamReassembler 需要将收到的报文段按情况送入 ByteStream (lab0 实现的),或丢弃,或暂存(在合适的时候重组送入 ByteStream)。
发布了文章2021-01-24
CS 144: Introduction to Computer Networking, Fall 2020[链接]My Repo[链接]LAB0 在 master 分支,LAB1 - 7 在对应名字的分支。webgetWhat is webget?参照 lab0.pdf 2.1 Fetch a Web page, 如下所示。其效果等同于Write Webget参考 API 文档 [链接]。注意 lab0.pdf...
赞了文章2020-04-28
我是淘宝技术部的一名普通的前端技术专家,花名磐冲。每年都想给团队内招几个同学,但是努力了几年,一个都没有招进来。是我看简历太少了吗?不是,只算内部简历系统,我看过的简历至少上千。是我要求太严格吗?也许是吧,不过,我电话面试拒绝的同学,只有1位在一段...
赞了文章2020-04-11
这个字进入我脑海我第一时间想到的是一句诗,抽刀断水水更流,举杯消愁...额,今天的主角是流。不好意思差点跑题了,嗯,流是一个抽象接口,被 Node 中的很多对象所实现。比如HTTP服务器request和response对象都是流。本人最近研究node,特意记下,分享一下。
赞了文章2020-04-10
上面的代码中,用for...of来遍历一个数组。其实这里说遍历不太准确,应该是说:for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。
赞了文章2020-03-15
异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python中,和不部分高级语言一样,使用了try/except/finally语句块来处理异常,如果你有其他编程语言的经验,实践起来并不难。