相关分享
构建稳定的 CAN 网络通信桥梁:CAN-Bridge
一个使用 Golang 构建的轻量级 CAN 管理服务:CAN-Bridge。作者把复杂的 CAN 配置、端口初始化、状态检测、报文收发封装成 HTTP API,不用再写脚本和记 SocketCAN 指令,还支持自动恢复、Prometheus 监控和容器化部署。适合机器人、工业控制、车载设备等场景做稳定化改造。
WebSocket协议详解与c++&c#实现 - 知然
这篇文章详细介绍了 WebSocket 协议的工作原理,包括握手过程、数据帧格式以及如何在 C++ 和 C# 中实现 WebSocket 通信。作者提供了一个轻量级的 WebSocket 解析库,特点是仅包含一个头文件、逻辑清晰且不依赖特定的网络接口,方便集成。此外,文章还提供了一个在线的 WebSocket 模拟客户端,便于测试和理解 WebSocket 的通信过程。
适合人群:对网络编程感兴趣的开发者,尤其是使用 C++ 或 C# 进行服务器开发,并希望深入理解 WebSocket 协议及其实现的工程师。
Qwen2 源码阅读——核心代码跟读
这篇文章深入探讨了现代内存管理中的漏洞利用技术,重点分析了堆布局操作的细节和在实际攻击中的应用场景。通过具体案例展示了如何构造和利用堆漏洞,揭示了内存分配机制中的潜在安全隐患。内容适合安全研究人员、漏洞挖掘工程师以及对内存安全和攻防技术感兴趣的技术爱好者,提供了深度学习和实践参考。
硅谷的开源创业公司 Drone CI 的终章:上篇
最近有需求再次折腾 CI/CD,考虑到轻量化和稳定性,我将视线再次移到了 Drone CI 上,一款我个人从 18 年使用至今的开源软件。为什么在 2023 年,我还会选择这款软件,我想先从它背后的故事聊起。
使用 Urch 让 Ubuntu 原生远程控制功能稳定可靠
有些时候,使用远程控制能够简化不少运维和操作的事情。本篇文章分享如何通过开源工具 “Urch(Ubuntu Remote Control Helper)” 让 Ubuntu 原生的远程控制(远程桌面)功能稳定可靠。方案已经经过 Ubuntu 22.04 LTS 和最新版本的 Ubuntu 22.10 两个版本的验证。
Redis 核心数据结构(二)
在上一篇文章: Redis 核心数据结构(1) 中,介绍了链表、ziplist、quicklist 数据结构。这篇文章,来介绍一下 skiplist、dict。
skiplist 跳跃表是一种有序数据结构,支持平均 O(logN)、最坏 O(N) 复杂度的节点查找;大部分情况效率可以和平衡树相媲美,实现却比平衡树简单。
跳跃表就是 Redis 中有序集合键的底层实现之一。
Redis 核心数据结构(一)
Redis 目前是使用最广泛的缓存中间件。其突出特点就是支持多种常见的数据结构。对比 JDK 集合类的实现,Redis 的实现表现出很多独到之处,很多地方设计得别具匠心。下面就来简要介绍一下。
深入剖析 Spring 核心数据结构:BeanDefinition
林纳斯·托瓦兹(Linus Torvalds)说:“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。” 也许很多人觉得 Spring 神秘莫测,但是如果了解了它的核心数据结构,很多问题迎刃而解。
Spring 中两个数据结构最核心:① BeanDefinition,用于表示 Bean 的定义;② BeanFactory,用于表示整个 IoC 容器。
深入剖析 Spring 核心数据结构:BeanFactory
在 深入剖析 Spring 核心数据结构:BeanDefinition 中,介绍了 BeanDefinition。网上很多文章介绍 BeanDefinition 的 API,本文要反其道而行之,从内部属性来分析一下。
黑客背后的猎人<br />
黑客在控制他人电脑窃取他人文件的同时,也会成为他人攻击的重点对象。例如,黑客下载被他人嵌入恶意木马的扫描工具,运行使用该扫描工具的时候其电脑就会被背后的“猎人”所控制。
本文,我们将从黑客开启的 Web 服务器入手,通过使用 ZoomEye 网络空间搜索引擎,成为黑客背后的“猎人”。
