HTTP2 请求走私利用剖析 (paper.seebug.org)
文章将主要对HTTP/2协议的新特性以及HTTP/2中的请求走私进行详细介绍。
by @技术头条 2024-01-13 23:47 查看详情
C++中的同步原语 (colobu.com)
C++ 标准库中包含了一些基本的同步原语,尤其是C++ 20标准库又补充了一些。本文简单介绍这些并发原语,并通过示例演示它们基本的功能。
by @技术头条 2024-01-13 23:44 查看详情
QUIC协议解析与DDoS攻击分析 (blog.nsfocus.net)
QUIC(Quick UDP Internet Connections)协议是一种基于UDP的新型可靠传输协议,目前主要用于HTTP/3.0。近年来,现网中逐步发现了一些基于QUIC协议的DDoS攻击痕迹,并且友商也已经开始了关于QUIC协议的DDoS攻防相关研究。因此,ADS团队针对该协议进行了一系列的分析和实验,为相关的DDoS攻击防御技术研究打下基础。
by @技术头条 2024-01-13 23:43 查看详情
前端工程师后端快速手册 (54chen.com)
作为前端工程师,拥有一定的后端知识是非常重要的。在日益复杂的Web应用开发中,前端工程师需要更全面地了解后端领域,包括数据库管理、安全性、Web框架的使用、AOP编程思想以及常见语言和框架的特性。本手册将为你提供一个简要但全面的后端知识概览,帮助你更好地理解后端开发的关键要点。
by @技术头条 2024-01-13 23:43 查看详情
后端工程师现代前端快速手册 (54chen.com)
大多数后端老人都会错过Node这一波的技术变化,还停留在JQuery的时代无法自拔,但实际上,前端发展已经日新月异,本文将从React和Vue的历史背景、基础原理、项目重要文件、常用知识等几个角度进行由潜入深的介绍,目的是使任何一位拥有后端开发经验的同学都可以快速上手前端开发,成为一名全栈开发人员。
by @技术头条 2024-01-13 23:43 查看详情
美团到店终端从标准化到数字化的演进之路 (tech.meituan.com)
本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》。前端团队在产研多角色协同形式上存在不同阶段,而大前端多技术栈在各阶段都有其独特的实践,同时又有类似的演进路线。本文从到店终端团队移动端和前端技术栈持续交付演进历程展开,分享了大前端团队研发流程在“标准化”、“线上化”、“自动化”以及“数字化”的演进经验,并探讨了大前端多端DevOps建设思路和未来规划。
by @技术头条 2024-01-13 23:42 查看详情
用 rspamd 来实现反垃圾邮件 (blog.delphij.net)
在过去二十年中的大部分时间,我采用的是 amavisd-new,与直接使用 SpamAssassin 相比,它还增加了病毒扫描等一系列功能和 milter接口,这让它与 MTA 更容易集成。

最近我发现 FreeBSD.org 把反垃圾系统替换成了 rspamd,所以在11月初把我的邮件系统也换成了 rspamd,经过两个月的使用,总体的感觉是「我tm早干嘛去了」。
by @技术头条 2024-01-13 23:34 查看详情
Kratos 漫游指南 3 - 日志 (farer.org)
本篇讲讲Kratos日志组件的使用方式。

在服务上线后,我们可以使用日志来观察程序的行为、诊断问题或者配置相应的告警等。定义良好的结构化日志,能够提高日志的检索效率,使处理问题变得更加方便。
by @技术头条 2024-01-13 23:30 查看详情
Kratos漫游指南 2 - 配置 (farer.org)
这一篇讲讲Kratos配置组件的定义和使用。

微服务或者说云原生应用的配置最佳实践是将配置文件和应用代码分开管理——不将配置文件放入代码仓库,也不打包进容器镜像,而是在服务运行时,把配置文件挂载进去或者直接从配置中心加载。Kratos的config组件就是用来帮助应用从各种配置源加载配置。
by @技术头条 2024-01-13 23:30 查看详情
Kratos漫游指南 1 - 概览 (farer.org)
Kratos是一个Go语言实现的微服务框架,说得更准确一点,它更类似于一个使用Go构建微服务的工具箱,开发者可以按照自己的习惯选用或定制其中的的组件,来打造自己的微服务。也正是由于这样的原因,Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。
by @技术头条 2024-01-13 23:30 查看详情
SQL优化(3)-索引与优化原理(上) (example.com)
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。
by @技术头条 2024-01-13 23:28 查看详情
SQL优化(2)-索引与B+树 (example.com)
对于60%的程序员而言,Java的三层架构Controller、Service、Dao可以说是“越往后走天越黑”,特别是到了Dao层,提着灯笼也只能看到脚边一米开外的河边小石子,只闻对岸风啸马嘶却不知到底是人是鬼,只能借着MyBatis或JPA这些ORM框架隔着宽宽的河举行一场又一场的刺刀战,你砍我一刀,我刺你一剑。

诚然,很多人对MySQL数据库的印象就是一个模糊的大铁柜,闭上眼睛深吸一口气仿佛还能嗅到一股铁锈味。只知柜子里藏着很多张表,表里面存着很多行数据,再详细一点的呢?不知道。

MySQL有太多太多细节,根本无法用四、五篇文章说透,但我仍希望这个系列的文章能成为非常好的入门教程,让从来没接触过SQL优化的同学也能快速建立较为系统的知识框架,方便日后学习其他专栏时进一步拓展。
by @技术头条 2024-01-13 23:28 查看详情
浅谈Redis分布式锁(上) (example.com)
不论面试还是实际工作中,Redis都是避无可避的技术点。在我心里,MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis,以小化大,充分利用现有资源出色地完成当下需求,说明他已经成长了。

本篇文章我们一起来探讨Redis分布式锁相关的内容。

说到锁,大家第一时间想到的应该是synchronized关键字或ReentrantLock,随即想到偏向锁、自旋锁、重量级锁或者CAS甚至AQS。一般来说,我不喜欢一下子引入这么多概念,可能会把问题弄复杂,但为了方便大家理解Redis分布式锁,这里稍微提一下。
by @技术头条 2024-01-13 23:26 查看详情
BitTorrent 扩展协议(Extension Protocol)详解 (www.addesp.com)
BitTorrent 扩展协议(Extension Protocol)为 BitTorrent 协议簇提供了一个简单而轻量的扩展方式,可以在保证兼容性的同时为协议加入新的功能。比如基于 DHT 协议 的磁力链接就是使用扩展协议加入的新功能。

本文将介绍 BT 扩展协议的报文格式和时序。
by @技术头条 2024-01-13 23:25 查看详情
证书透明机制 — 防范证书签发机构作恶 (www.addesp.com)
如果我拿到了一个网站的证书,但这个网站并不属于我,我就可以窃听,篡改这个网站的通信。

证书透明机制(Certificate Transparency)即 CT 机制可以缓解这个问题。
by @技术头条 2023-12-26 22:36 查看详情
分布式散列表协议 —— Kademlia 详解 (www.addesp.com)
散列表是一种由键值对组成的列表。你可以把它看作一部字典,只需要经过少数的几步就能通过某种信息找到需要的信息,查询速度很快。

分布式散列表就是由一个网络内所有的节点共同维护的一种散列表,这类散列表通常十分巨大,或者压根不可能由单个机器或者某机组机器维护。

Kademlia 协议由 Petar Maymounkov 和 David Mazières 设计。它可以在容易出错的环境(比如节点会毫无征兆地下线)中建立一张分布式散列表。
by @技术头条 2023-12-26 22:36 查看详情
BitTorrent 分布式散列表(DHT)协议详解 (www.addesp.com)
DHT 协议大幅度提高了 BitTorrent 网络的容错性,使整个网络难以因 Tracker 服务器的下线而崩溃,而这一切的外在表现就是“磁力链接”。
by @技术头条 2023-12-26 22:35 查看详情
nginx TLS 配置建议(Mozilla Recommendation) (www.addesp.com)
本文主要按照 Mozilla 对于服务端 TLS 协议配置的建议来提供 nginx 的配置建议,按照这些建议进行配置可以让我们的站点更加安全。
by @技术头条 2023-12-26 22:35 查看详情
BitTorrent Tracker 协议详解 (www.addesp.com)
BitTorrent 网络内的主机依靠互相交换自身持有的资源来完成资源共享,而 Tracker 协议会告诉你哪些主机有你需要的资源。

本文将详细介绍 Tracker 协议。
by @技术头条 2023-12-26 22:34 查看详情
BGP 劫持 — 连 IP 都是假的 (www.addesp.com)
当你打不开某个网站的时候你会怎么办?

你可能会先 ping 一下域名看一下延迟。如果延迟正常的话你大概会检查一下自己的 DNS 解析结果是否正确。如果 DNS 解析也是正确的你大概会怀疑网站本身出了问题。但是你老家的亲戚能打开你却打不开,这是怎么回事呢?

这种情况下你可能遇到了「BGP 劫持」,它可以将你的通信劫持到指定主机上,并且 IP 地址不发生变化。
by @技术头条 2023-12-26 22:25 查看详情