Categories
面试记录
数据结构与算法
Go
Rust
计算机网络
杂七杂八
Linux
Linux 网络栈
Java
Python
网络安全
Docs
操作系统
设计模式
收藏
数据分析
2025
lc 刷题笔记
Gateio
Go 用法
Go 数组初始化详解
defer 与 panic
卓拙科技
排序算法实现
2024
P2P 经验
yamux 流程分析
mutlistream-select 流程分析
Noise 协议握手模式详解
实现自定义 TTL UDP 包发送
libp2p peer ID 识别流程
DNS 解析失败问题排查
libp2p 连接详解
libp2p 使用与改进
如何判断连接双端位于同一局域网
图片在 iOS 和 其他平台显示不同
docker中apt-get update出错hash sum mismatch
TUN IFF_MULTI_QUEUE
Go 防踩坑编程指南
Ubuntu 运行 clash 并作为旁路网关
IPFS 网络测试
Github 仓库整理
使用rpcapd(libpcap)进行Wireshark远程抓包
移动端 socket 问题
tracert 原理
解决 make warning Clock skew detected. Your build may be incomplete. 问题
Android Listen fe80 IPv6 报错
简介
ipv4 - init
VSCode 阅读 Linux 内核源码
P2P 产品能力调研
TCP 实现 P2P
tun2socks 原理分析
Socket Takeover
管理 Windows 启动项
TCP socket option
比较骚的一些代码
网络变更对libp2p的影响
HTTP 请求流程追踪
socket 地址和端口复用
WebRTC P2P 能力
Android 端 DNS 查询错误
iOS 后台时对 socket 的处理
P2P 时遇到端口被改的坑
自动禁用登录失败的 ssh IP
2023
QQ 音乐 P2P 缓存清理
异或性能压榨
网络卸载技术
HTTP 代理
自行编译 Go
Wake-on-LAN
L2CAP COC 调研
Socks5 代理
自动配置原理
Zstandard 压缩算法
VPN Kill Switch
Python用whl文件安装外部模块
gitlab API 访问数据
gin 类型概览
sync.Pool 详解
常见虚拟网卡
Go 工具使用
iptables 三表五链
NAT 回流问题
BPF 使用
runtime 包
SingleFlight 解析
sync.Map 详解
关系型数据库三范式
SQL 经典50题
MySQL 类型转换的坑
DHT 详解
udp recvfrom connection refused 问题
修复 Go #40569 问题
TOTP和HOTP原理
HTTP 长连接
TCP 长连接
使用 WMIC 获取系统信息
修改 VMWare 网卡速率
使用UDP实现 p2p
Tun 网卡创建
Go 切片的深拷贝和浅拷贝
Go 实现端口映射
Kali 无法连接到网络
gomobile 使用
Git 学习笔记
Go 格式化占位符使用
单网卡多IP网段代理
Adnroid 建立蓝牙连接
自签名 SSL 证书制作
为什么 av_gettime() 返回值有正有负?
微处理器基础知识
绕过网页版批改网“禁止粘贴”限制
免费 SSL 证书申请
解决 hexo init 失败问题
监测 Windows 应用行为
汇编指令解析
电脑下载到流氓软件后怎么办?超详细教学!
备份的重要性
WIndows 个人应用共享
Windows 个人版实现多用户远程登陆
RemoteApp 实现分析
Pycharm双击图标启动不了(JetBrains全家桶通用)
Live Photo详解
JetBrains系列Database报错:Can‘t find bundle for base name com.mysql.cj.LocalizedErrorMessages, locale zh
gitlab 数据迁移
GitHub 克隆加速
Git 常用操作
FFmpeg开发之时间基
ffmpeg开发
FFmpeg 中常用结构体
C语言指针测试
51单片机入门例程
360 全景照片识别
“无刺鱼基因工程”引发的思考
VM虚拟机三种网络模式
Linux 下 arp_ignore 问题
Docker 四种网络模型
不同网络模型下建立 P2P 连接
NAT 行为测试实验
嗅探欺骗——ARP欺骗
信息收集——域名信息获取
文件上传漏洞
网络知识入门
靶机渗透:coyfefe
Wireguard 实践
VPN 流量分析
SQL注入
SQL手工注入漏洞测试(MySQL数据库)
sqlmap 使用指南
sqli-labs 通关笔记
Scapy编程实例之ping扫描
Scapy编程实例之ARP扫描
Scapy 介绍
Python 实现 DoS 攻击 —— UDP洪水攻击
PyQt5——创建自己的第一个GUI 程序
PyQt5 使用多个槽函数时程序卡死
PyQt5 点击会触发两次槽函数
PyQt5 常用模块说明
php 数组溢出
php MD5值比较绕过
Nat 类型探测
NAT 穿透
Kali配置(虚拟机)
JSR303校验
Django将控制台输出重定向至文件
Django 条件过滤查询
Django 模型字段说明
Go 和 Android 开发
DERP 中继搭建
Go IP 套接字编程
Go UDP 编程
Go TCP 编程
TCP 粘包问题
Linux 下获取当前连接 WiFi
自动更新 Python 的所有库
预测房价:回归问题
新闻分类:多分类问题
我们为什么要对延迟退休说不
为什么 switch 语句比 if-else执行效率高?
为什么 Python 默认参数必须用不可变对象?
微信小程序 API
网络资源测试
通过 Go 学习 TDD
私有相册 PhotoPrism 调研
使用ls命令时出现的total
神经网络中的数据表示
设计模式——组合模式
设计模式——状态模式
设计模式——装饰器模式
设计模式——中介者模式
设计模式——责任链模式
设计模式——原型模式
设计模式——享元模式
设计模式——外观模式
设计模式——适配者模式
设计模式——桥接模式
设计模式——模板模式
设计模式——命令模式
设计模式——建造者模式
设计模式——观察者模式
设计模式——工厂方法模式
设计模式——访问者模式
设计模式——迭代器模式
设计模式——单例模式
设计模式——代理模式
设计模式——抽象工厂模式
设计模式——策略模式
设计模式——备忘录模式
你真的懂string与[]byte的转换了吗 (2022_6_16 09_49_20)
利用Python绘制图案——玫色与雅
利用Python绘制图案——螺旋丸
利用 Python 制作有趣的二维码
机器学习专有名词归纳
更换 yum 源为阿里源
服务热重载实现思路
多进程发生内存溢出的解决办法
电影评论分类:二分类问题
UnboundLocalError local variable ‘xxx‘ referenced before assignment
Uber Go编码规范
Tailscale 安装
ssh 免密登录
snap 应用构建入门(Go 语言)
snap 学习
rsylog 保存到 sqlite
Python学习之路——字符串
Python学习之路——运算符
Python学习之路——元组(tuple)
Python学习之路——元类
Python学习之路——异常
Python学习之路——协程
Python学习之路——文件
Python学习之路——条件控制语句
Python学习之路——深入学习多态
Python学习之路——入门知识
Python学习之路——内存管理
Python学习之路——模块
Python学习之路——面向对象入门
Python学习之路——枚举类
Python学习之路——列表(list)
Python学习之路——类的魔法方法
Python学习之路——计算机基础知识
Python学习之路——集合(set)
Python学习之路——函数
Python学习之路——高阶函数
Python学习之路——多线程
Python学习之路——迭代器与生成器
Python学习之路——单例模式
Python学习之路——编程基础知识
Python学习之路——MD5加密
Python学习之路——base64编码
Python学习之路 —— struct模块使用
Python学习之路 —— @property 原理剖析及实现
Python 在创建多进程时抛出RuntimeError错误
Python 构建 Web 服务器 3.0
Python 构建 Web 服务器 2.0
Python 构建 Web 服务器 1.0
Python 动态显示任务进度
proc 目录为空
pandas 常用函数与方法
numpy 常用函数与方法
Lxd 安装 Windows 虚拟机
Linux重载配置文件
Linux常用特殊字符
Linux 网络配置
Linux 常用命令
Keras 中 model.evaluate 和 model.predict 的区别
Kali执行apt-get upgrade后无法打开终端
Java学习之路——注释
Java学习之路——注解
Java学习之路——异常处理
Java学习之路——文件操作
Java学习之路——数组
Java学习之路——数据类型
Java学习之路——内部类
Java学习之路——面向对象入门
Java学习之路——枚举类
Java学习之路——控制语句
Java学习之路——接口
Java学习之路——集合
Java学习之路——基础知识
Java学习之路——泛型
Java学习之路——反射
Java学习之路——多线程
Java学习之路——抽象类与抽象方法
Java学习之路——变量
Java学习之路——包装类
Java学习之路——static 关键字的使用
Java学习之路——Socket编程
Java学习之路——Object 类的使用
Java学习之路——JUC
Java学习之路——JDBC
Java学习之路——Java8 新特性
Java学习之路——HelloWorld
Java学习之路——final 关键字的使用
Java Web学习:Tomcat
Java Web学习:ServletContext 类
Java Web学习:ServletConfig 类
Java Web学习:Servlet 入门
Java Web学习:HttpServlet 类
index
gRPC 提供提供接口文档
gRPC 入门使用教程
Go 执行 shell 命令
Go 静态编译机制
Go 检查结构体是否实现接口
Go 基础文件操作
Go 的三种指针
Go 编译优化
Docker 系统架构与使用
Docker 系统架构
Docker 绕过了 firewalld 的问题
Docker 配置 PostgreSQL 的主从环境
Docker 基础使用
Debian 使用无线网卡
Debian 使用蓝牙
Debian 配置 samba
Debian 配置 Avahi
Debian 编译安装 qBittorent
Debian 安装 redis
dbus 数值类型
dbus 测试命令
D-Bus 学习
Centos7下部署Flask应用
Centos7 下使用 Apache 配置 Flask
Centos7 常用软件安装
3.1 内存管理概念
2.4 死锁
2.3 进程同步
2.2 处理机调度
2.1 线性表的定义和基本操作
2.1 进程与线程
1.4 操作系统的体系结构
1.3 操作系统的运行环境
1.2 算法和算法评价
1.2 操作系统的发展与分类
1.1 数据结构的基本概念
1.1 操作系统的基本概念
[译] NAT 穿透是如何工作的:技术原理及企业级实践(Tailscale, 2020) (2022_6_17 09_18_37)