luyuhuang.github.io
luyuhuang.github.io copied to clipboard
My blog
Bumps [ejs](https://github.com/mde/ejs) from 3.1.8 to 3.1.10. Release notes Sourced from ejs's releases. v3.1.10 Version 3.1.10 v3.1.9 Version 3.1.9 Commits d3f807d Version 3.1.10 9ee26dd Mocha TDD e469741 Basic pollution protection 715e950...
https://luyuhuang.tech/2024/04/19/appimage.html 我们知道,不同于 Windows 将软件的所有文件安装在一个目录,一个 Linux 软件的不同部分会被安装在不同路径。例如,可执行文件安装在 /usr/bin 下;库文件安装在 /usr/lib 下;文档、脚本等资源文件通常安装在 /usr/share 下等。这是因为 Linux 认为软件包之间会相互依赖,不同的软件可能依赖于同一个库,那么这个库就只应该存在一份。例如 curl, ssh 和 ng
新年好,有幸从 [独立博客列表](https://github.com/timqian/chinese-independent-blogs) 发现此仓库,添加到了 [此索引](https://gitee.com/zhishi/collection-of-chinese-blogs) 。 不知可否将此博客内容作为 [针对 md 格式的博客内容聚合工具](https://gitee.com/zhishi/collection-of-chinese-blogs/blob/master/%E6%96%87%E6%A1%A3/2021-01-26-%E5%9F%BA%E4%BA%8E%20git%20%E7%9A%84%E5%8D%9A%E5%AE%A2%E8%81%9A%E5%90%88%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%EF%BC%88%E4%B8%80%EF%BC%89%EF%BC%9A%E8%AF%BB%E8%80%85.md) 的内容源之一?
https://luyuhuang.tech/2022/06/25/cpp-memory-order.html C++11 将多线程纳入了标准. 一旦涉及到多线程, 就需要考虑并发, 数据竞争 (date race), 线程同步等问题, 为此 C++ 提供了互斥锁 std::mutex, 原子变量 std::atomic 等标准库. 对于原子变量的操作, 有一个很重要的概念就是内存顺序 (memory order), 其中...
https://luyuhuang.tech/2024/01/01/2023-annual-review.html In 2023 I spent most of my time on work, learning and dating. Compared with the last year, devoted less time on this blog and community. It might be...
https://luyuhuang.tech/2023/06/18/simple-transaction.html 在服务器编程中,事务往往是非常重要的,它的一个很重要的作用就是保证一系列操作的完整性。例如服务器处理某个请求要先后执行 a, b 两个修改操作,它们都有可能失败;如果 a 成功了但 b 失败了,事务会负责回滚 a 的修改。试想如果 a 操作是扣除余额,b 操作是发货,如果发货失败,钱就得退回去。如果服务器使用了支持事务的数据库系统,如 MySQL,事情就很好办。否则的话,实现类似的逻辑会比较棘手,
https://luyuhuang.tech/2022/10/30/lock-free-queue.html? 前一篇文章中我们讨论了 C++ 中原子变量的内存顺序, 现在我们来看看原子变量和内存顺序的应用 – 无锁队列. 本文介绍单写单读和多写多读的无锁队列的简单实现, 从中可以看到无锁数据结构设计的一些基本思路.何谓无锁为了实现一个线程安全的数据结构, 最简单的方法就是加锁. 对于队列来说, 应该对入队和出队操作加锁....
https://luyuhuang.tech/2020/12/02/subsocks.html 笔者最近读完了 The Go Programming Language, 想写点东西练练手. Go 比较适合写服务器软件, 之前又学习了下 Socks5 协议, 于是决定写一个 Socks5 代理服务器. 目前基本功能已经完成, 部分思路参考了 ginuerzh/gost. 我给它起名为 Subsocks, su...
https://luyuhuang.tech/2023/07/09/scheme-lang.html 我最近在读 SICP (Structure and Interpretation of Computer Programs),中文译名是《计算机程序的构造与解释》,感觉受益匪浅。我打算开个坑,总结分享一些我学到的内容。SICP 综合性非常强,内容包括函数式编程、数据结构的分层与抽象、面向对象、无限流、元循环解释器、惰性求值、非确定性编程、逻辑编程、汇编语言与机器、编译原理等等。我只能选取一个主题抛
https://luyuhuang.github.io/2020/03/06/dht-and-p2p.html 1. 引言相信没有人没使用过 P2P 技术. BT 种子和磁力链接就是最常见的 P2P 技术, 使用 P2P 技术, 文件不再需要集中存储在一台服务器上, 而是分散再各个用户的节点上, 每个人都是服务的提供者, 也是服务的使用者. 这样的系统具有高可用性, 不会由于一两台机的宕机而导致整个服务不可用. 那么这样一...