评 Homebrew 4.0.0 (type.cyhsu.xyz)
Homebrew 4.0.0 版的改进切实可感,称得上一个整数版本号来标记,也比以前更值得推荐给 macOS 的进阶用户,作为日常工具箱中的常备。可家酿虽好,也不要贪杯噢。
by @技术头条 2023-06-24 23:38 查看详情
Windows 的 PPL 安全机制和绕过 (paper.seebug.org)
Windows 从 vista 版本引入一种进程保护机制(Process Protection),用于更进一步的控制进程的访问级别,在此之前,用户只需要使用 SeDebugPrivilege 令牌权限即可获取任意进程的所有访问权限;随后 Windows8.1 在此进程保护的基础上,扩展引入了进程保护光机制(Protected Process Light),简称 PPL 机制,其能提供更加细粒度化的进程访问权限控制。

本文将介绍 Windows 的 PPL 安全机制,以及在实验环境下如何绕过该机制,从而实现对 PPL 的进程进行动态调试。
by @技术头条 2023-06-24 23:37 查看详情
逃避可耻但有用——当竞争太激烈时的一个通用解法 (blog.csdn.net)
竞争激烈,意味着供给太多而需求太少。但我们知道,供需是有链条的,当供需链条里某个生态位上供给太多,即玩家太多,也意味着这个生态位的需求也多,于是,通用的解法就是往上游走,去服务他们,做他们的供给,把他们当做需求方。俗话说得好,淘金时代,卖水和铲子的最赚钱。
by @技术头条 2023-06-24 23:35 查看详情
软件开发 | 服务器推送事件:一种从服务器流式推送事件的简易方法 (linux.cn)
昨天见识到了一种从没见过的从服务器推送事件的炫酷方法:服务器推送事件server-sent events!如果你只需要让服务器发送事件,相较于 Websockets,它们或许是一个更简便的选择。本文聊一聊它们的用途、运作原理,以及昨日在试着运行它们的过程中遇到的几个错误。
by @技术头条 2023-06-24 23:32 查看详情
系统运维 | 如何在 RHEL 9/8 上设置高可用性 Apache(HTTP)集群 (linux.cn)
在本文中,我们将介绍如何在 RHEL 9/8 上使用 Pacemaker 设置两节点高可用性 Apache 集群。

Pacemaker 是适用于类 Linux 操作系统的高可用性集群软件。Pacemaker 被称为“集群资源管理器”,它通过在集群节点之间进行资源故障转移来提供集群资源的最大可用性。Pacemaker 使用 Corosync 进行集群组件之间的心跳和内部通信,Corosync 还负责集群中的投票选举(Quorum)。
by @技术头条 2023-06-24 23:31 查看详情
Spring AOP 处理流程概述 (www.diguage.com)
AOP 是 Spring 框架的最核心的两个功能之一,这里来细致分析一下 Spring AOP 的实现原理和处理流程。
by @技术头条 2023-06-24 23:29 查看详情
Spring 扩展点概览及实践 (www.diguage.com)
学习 Spring 代码,最重要的是掌握 Spring 有哪些扩展点,可以利用这些扩展点对 Spring 做什么扩展操作。说得更具体一点,如果自己开发一个框架,如何与 Spring 进行整合,如果对 Spring 的扩展点有一个比较清晰的认识,势必会事半功倍。
by @技术头条 2023-06-24 23:29 查看详情
Android 模拟器实现 hosts 修改 (droidyue.com)
有时候我们需要使用 Android 模拟器来 绑定一下 hosts 来实现功能的开发与验证,刚好最近遇到了这样的需求,处理完成,简单记录一下。
by @技术头条 2023-06-24 23:28 查看详情
怎么阻止一个Go程序退出? (colobu.com)
给大家分享一个阻止Go程序退出的方法集合,其中还是有一些脑洞大开的方法。
by @技术头条 2023-06-24 23:25 查看详情
理解calico容器网络通信方案原理 (www.zhengwenfeng.com)
Calico是k8s中常用的容器解决方案的插件,本文主要介绍BGP模式和IPIP模式是如何解决的,并详细了解其原理,并通过实验加深理解。
by @技术头条 2023-06-24 23:22 查看详情
Nginx实现http和https复用1个端口的2种解决方式 (hugo.111520.xyz)
本文介绍在无法使用80,443标准端口情况下,通过Nginx复用1个端口实现访问http和https的两种方式。
by @技术头条 2023-06-24 23:21 查看详情
Spring 启动流程概述 (www.diguage.com)
对于 Spring 启动流程和 Bean 的生命周期,总有一些小地方搞的不是很清楚,干脆直接通过修改代码增加日志输出,使用断点单步调试,把整个流程捋顺了一点点的。

除了加载配置文件或者基础配置类外,Spring 的启动过程几乎都被封装在 AbstractApplicationContext#refresh 方法中,可以说弄清楚了这个方法的执行过程,就摸清楚了 Spring 启动全流程,下面的流程分析也是以这个方法为骨架来展开的。

流程概要 下面完整流程有些太复杂,所以,提炼一个简要的过程,方便糊弄面试官,哈哈哈
by @技术头条 2023-06-24 23:05 查看详情
HikariCP 源码分析 -- ConcurrentBag (www.diguage.com)
以前无意间搜资料了解到 HikariCP,一下子就被它的简洁代码和卓越性能吸引住了。以前也有翻过它的代码,但是不是很系统,最近再次翻阅,正好做些笔记,方便以后学习。

最近在学习 Java 并发知识。那就从 HikariCP 自定义的并发集合 ConcurrentBag 开始学习。
by @技术头条 2023-06-24 23:05 查看详情
TCP 三次握手和四次挥手 (www.diguage.com)
传输控制协议(英语:Transmission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的 RFC 793 定义。在简化的计算机网络 OSI 模型中,它完成第四层传输层所指定的功能。

毫不夸张地说,TCP 协议是目前整个互联网的基础。它解决了一系列的网络问题。带来的结果,就是协议本身非常复杂。考虑到文章篇幅问题,本文着重说明 TCP 建立连接时的三次握手过程和关闭连接时的四次挥手过程。
by @技术头条 2023-06-24 21:23 查看详情
负载均衡算法及实践 (www.diguage.com)
前几天在看一个资料时,看到关于负载均衡算法的介绍。最近也在研究 Spring Cloud 和 Apache Dubbo 等微服务框架。正好负载均衡是微服务框架中一个很重要的知识点。就动手做个整理和总结。方便后续学习。
by @技术头条 2023-06-24 21:22 查看详情
分布式事务概述 (www.diguage.com)
现在手机银行转账已经司空见惯。但是,D瓜哥一直在思考,银卡跨行转账是如何保证事务一致性的?借机就对分布式事务,做了简单地了解。
2PC 两阶段提交(2pc, two-phase commit protocol),2pc是非常经典的强一致性、中心化的原子提交协议。中心化是指协议中有两类节点:一个中心化协调者节点(coordinator)和N个参与者节点(participant、cohort)。
by @技术头条 2023-06-24 10:11 查看详情
技术 | Linux 中的模糊文件搜索 (linux.cn)
在 Linux 命令行中,如何搜索文件?你可以使用find 命令。这是标准答案,没有问题。

通常,你键入带有搜索参数的命令,按回车键,然后它会显示搜索结果。

你可以通过模糊搜索来提升终端中的文件搜索体验。

模糊搜索是一种近似搜索算法或技术。在这种搜索中,通过名称搜索指定位置的文件,并实时显示结果给用户。

模糊搜索在网络搜索引擎中很受欢迎,用户开始输入术语后,它会开始显示与该术语相关的结果。

在本文中,我将讨论两个命令行工具,它们可以让你在 Linux 中执行模糊搜索:
1、fzf:模糊查找工具;
2、fzy:模糊选择工具。
by @技术头条 2023-06-24 09:42 查看详情
带 DNSSEC 的域名转移 (blog.delphij.net)
DNSSEC是一组针对 DNS 协议的扩展,其主要目的是为数据的权威性(或者说DNS数据确实来自于有权发布这些数据的人)提供一套验证机制。DNSSEC并不改善私密性,所有的查询依然是明文的。

目前最新的 DNSSEC 最佳实践指南是 BCP 237 (RFC 9364)。值得说明的是,如果没有特别的需要,使用 DNS 服务业者的 DNSSEC 实现可以避免踩很多的坑,尽管这样一来安全方面就完全要仰赖这些业者了,但对普通的域名所有这来说这些服务要比他们自己去架设和管理要可靠不少。本文并不打算深入介绍 DNSSEC 及其部署,而只是关注于在进行域名转移时需要注意的问题,以备我个人未来进行参考。
by @技术头条 2023-06-24 09:38 查看详情
关掉了 Google 账户的 passkey (blog.delphij.net)
最近, Google 账户新增了一种叫做 passkey 的登录方式。

和 密码 + U2F 的验证方式相比,passkey 实际上类似于在手机等设备上实现了一个 U2F,并使用它代替了两者的组合。对于普通用户来说这固然是比只用密码要安全的多的(因为 passkey证明了用户拥有一个登录了该 Apple ID 或 Google 账户的设备,并且知道其解锁密码,或是向设备以生物信息证明了身份),但由于完全去掉了密码,设备本身的安全性就很重要了,在 Google 的实现中 ,锁屏密码用于生成端到端加密的密钥,因此一个能够登录 Google 账户,并且获知了锁屏 PIN 的人便能恢复出 passkey。根据文章的说法,通过硬件保证了 PIN 只能尝试最多十次,但总体上,无论是 Google 还是 Apple 的实现都依赖于一直在线的手机本身的安全性,而 U2F 设备通常并不是连接在设备上的,因此我认为尽管对普通人来说passkey 已经足够好,但对于需要持续提高电击电压的人群来说,使用 密码 + U2F 会更安全一些。
by @技术头条 2023-06-24 09:37 查看详情
C main() 的 exit() 和 return (blog.delphij.net)
这里讨论一个犀利而无用的细节问题。事情的缘起是有人在 GitHub 上提了一个 pull request 要求把许多程序的main() 的​终结部分从 exit(X) 改为 return X;,我反对了这一变动。
by @技术头条 2023-06-24 09:33 查看详情