编写 Rust 异步服务器(一):原型机启动!

既是入门,也是踩坑 周末写了个 rust 的异步web服务器,感觉学到了不少有意思的东西,写篇文章给读者们分享分享。 本文主要提供给和我一样的新手阅读,其中错误还请各位大佬指正。 起源(废话) 写作目的 这部分的起源是我要做一个适配的服务器,一头是一个只能发送http协议的设备,另一头是只能处理MQTT协议的单片机。 其实能发送 http 就能发送 MQTT 的,只不过我懒得改那头的代码

- 阅读全文 -

用现代 C++ 的方法管理内存

希望看过这篇文章的人都可以写出无内存泄漏的 C++ 代码。 吐槽(不用看的废话) 本校开设了基于 C++ 的面向对象课程。可是正如老师说的那样,这门课只教会了大家面向对象(这点存疑),完全没教 C++ 的应用。所以很多人写的其实只是 C with Class 。竞赛类 C++ 使用者尤其严重。在我看来竞赛对语言方面只教授了基础的 C with STL,完全没教 C++ 。于是看了各种名为 .c

- 阅读全文 -

关于 绿色线程(Green Thread) 和 协程(Coroutine) 的一点思考

引子 这个话题起源于今天在某不存在的聊天软件 Telegram 上有位网友提问了一个问题:“ Green Thread 和 Coroutine 的区别在哪里?” 因为我的擅长语言是 C++ 的原因,一开始连 Green Thread 是什么都不知道。 查询了许多资料(中文网站)后发现许多搜索结果描述 Green Thread 和 Coroutine 是同一种东西——我几乎相信了,如果不是维基给

- 阅读全文 -

调教 BT 下载器—— BT 入门

按照 BT 的机制,没速度首先应该责怪的是所有下载者,而不是发布者。——题记 什么是 BT ? 我为什么会遇到下载困难? BitTorrent (BT) 基于 P2P 协议:Peer to Peer,或者更通俗地说:Person to Person,文件从具有该资源的用户传递给其它用户并继续传递下去,而不通过中心服务器传递给用户。在标准的 BT 规范里面,严格遵循着 总下载=总上传 的规则:能

- 阅读全文 -

学习路径

文章用于记录2019年以来的计算机学习生活 列出来的内容都是觉得推荐的 还有很多自己不太喜欢的就没写上去 2019年 这一年我真正踏入了程序员之路。 这一年看的书: 《Linux C编程一站式学习》 这是一本开源书籍,里面讲解的关于 C 语言深处的奥秘对我启发很大。推荐看完第一第二章,并且认真做完练习题。第三章觉得 Linux 系统太难的可以不看。 《算法图解》 这是一本基础算法书。整

- 阅读全文 -

记录一个好玩的日志库

这是一个print()函数爱好者的福音 本文翻译自Readme.md 下载地址 点我直达 特性说明 易于阅读的彩色输出(当输出不是交互式终端时,颜色将自动禁用) 打印文件名,行号,函数名和原始表达式 打印类型信息 专门用于容器,指针,字符串文字,枚举和 std::optional 等的格式化输出。 可以在表达式内部使用 包含编译期间警告(防止忘记删掉这个库) 兼容 C++11, C++1

- 阅读全文 -

单片机原理图需要的库

沙雕群友欢乐多。大家来找 2803 。   咳咳言归正传,这次画原理图呢,我发现搞懂 74HC595 之后不是很 难 ,但芯片是真的难找。所以我决定牺牲小我成就大我。(瞎扯)   以下是我的原理图中用到的芯片及来源库,你们可以放心下载,无毒无黄。如果问有了库怎么导入之类的,我推荐这个 网站 ,我也在用,特别好用。至于这些库怎么来的,有的来自群文件

- 阅读全文 -

SN74HC595理解

原理图 QA~QH 输出 1,2,3,4,5,6,7,15 管脚 GND 电源地「被省略」 8 管脚 SQH / QH1 串行数据输出管脚 9 管脚 SCLR / SRCLR 移位寄存器清零端 10 管脚 SCK / SRCK 数据输入时钟线 11 管脚 RCK 输出存储器锁存时钟线 12 管脚 OE / G 输出使能 13 管脚 SER / SI 数据线 14 管

- 阅读全文 -