纪念一位老友

几年前,一位好朋友去世了,九零后,跟我年纪一样。我跟他从小就认识,我们一起上的小学,一起上的初中,高中之后便联系的少了,后来我去外地读书,联系的就更少了。

学习资料

1 基础 free programming books - 免费的编程书籍 the book of secret knowledge cs self teaching Awesome README Roadmap Mathematics for Computer Science - 计算机科学中的数学 What Every Programmer Should Know About Memory …

网络基础知识

TODO 1 http 各个版本的区别HTTP/1.0 版本主要增加以下几点: 增加了 HEAD、POST 等新方法。 增加了响应状态码。 引入了头部,即请求头和响应头。 在请求中加入了 HTTP 版本号。 引入了 Content-Type ,使得传输的数据不再限于文本。 HTTP/1.1 版本主要增加以下几点:

Go channel 使用分析

1 概念Go 中的 channel 是一个队列,遵循先进先出的原则,负责协程之间的通信。Go 语言提倡不要通过共享内存来通信,而要通过通信来实现内存共享,CSP(Communicating Sequential Process)并发模型,就是通过 goroutine 和 channel 来实现的。

Golang 内存逃逸

在 C/C++ 开发中,动态分配内存(new/malloc)需要开发者手动释放资源。这样做的好处是,需要申请多少内存空间可以很好的掌握怎么分配。但是这有个缺点,如果忘记释放内存,则会导致内存泄漏。在很多高级语言中(python/Go/java)都加上了垃圾回收机制。

Docker 容器网络分析

1 概述一个 Linux 容器能看见的“网络栈”,实际上是被隔离在它自己的 Network Namespace 当中的。 而所谓“网络栈”其实包括了:网卡(Network Interface)、回环设备(Loopback Device)、路由表(Routing Table)和 iptables 规则。对于一个进程来说,这些要素,其实就构成了它发起和响应网络请求的基本环境。

布雷顿森林体系

1 来源布雷顿森林体系(Bretton Woods system)是二战后建立的一套全球金融和货币体系,于 1944 年在美国新罕布什尔州的布雷顿森林酒店(Bretton Woods Hotel)会议上确立。该体系的目标是为世界各国提供稳定的货币和贸易体系,以促进国际合作和重建战后经济。

python virtualenvwrapper 使用

Virtualenvwrapper 是一个用于管理 Python 虚拟环境的工具,它为创建、切换和删除虚拟环境提供了一组方便的命令,并通过简化管理多个虚拟环境的过程来提高开发效率。

Windows 10 专业版使用 WSL

1 什么是 wslWindows Subsystem for Linux(WSL)是一个在 Windows 10+ 上能够运行原生 Linux 二进制可执行文件的兼容层。 与 WSL1 相比,WSL 2 使用更新、更强大的虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。

Go 编译标签 build tag

在 Go 中,build tag 是添加到代码中第一行,来标识编译相关信息的,build tag 决定了当前文件是否会被当前 package 所包含,用于限制一整个文件是否应该被编译入最终的二进制文件,而不是一个文件中的部分代码片段。