深入剖析 Spring 核心数据结构:BeanFactory (www.diguage.com)
在 深入剖析 Spring 核心数据结构:BeanDefinition 中,介绍了 BeanDefinition。网上很多文章介绍 BeanDefinition 的 API,本文要反其道而行之,从内部属性来分析一下。
by @技术头条 2023-07-02 23:40 查看详情
MRCP在美团语音交互中的实践和应用 (tech.meituan.com)
“当你和智能语音机器人对话交互时,你是否好奇电话背后的机器人如何“听懂”你的意思,又如何像人一样“回答”你的问题?其中比较重要的技术就是 MRCP。本文主要介绍了 MRCP 在美团语音交互中的实践和应用,基于美团自研的语音识别及语音合成能力,我们提升了外呼通话的成功率,并且保证了更好的用户体验。”
by @技术头条 2023-07-02 23:39 查看详情
一次「找回」TraceId的问题分析与过程思考 (tech.meituan.com)
用好中间件是每一个开发人员的基本功,一个专业的开发人员,追求的不仅是中间件的日常使用,还要探究这背后的设计初衷和底层逻辑,进而保证我们的系统运行更加稳定,让开发工作更加高效。结合这一主题,本文从一次线上告警问题出发,通过第一时间定位问题的根本原因,进而引出Google Dapper与MTrace(美团内部自研)这类分布式链路追踪系统的设计思想和实现途径,再回到问题本质深入@Async的源码分析底层的异步逻辑和实现特点,并给出MTrace跨线程传递失效的原因和解决方案,最后梳理目前主流的分布式跟踪系统的现状,并结合开发人员日常使用中间件的场景提出一些思考和总结。
by @技术头条 2023-07-02 23:39 查看详情
记一次失败的 ThoughtWorks 面试经历 (blog.yuanpei.me)
年前朋友问我,要不要试试 ThoughtWorks 澳洲线的岗位。对于这家号称“世界上面试最难”的公司,多少还是有一点畏惧,直到朋友安慰我说,它们这次有中级的岗位,还是可以试一试的,梦想还是要有的,万一实现了呢?自此,我凑齐了西安. NET圈子里的四大“天花板”公司的面试:葡萄城、活跃网络、奥博杰天、ThoughtWorks ,而对于我来说,亦有幸见识到世界上最难的面试,虽然后来事实证明,这个世界上没有太多的逆袭,可我还是想分享一下我的这次面试经历,因为它让我知道,在过去的两年里,我在哪些方面取得进步,在哪些方面存在不足。当我写下这篇博客的时候,我即将在今年夏天迎来我的29岁,果然我还是希望自己能再努力一点,因为不想让平行世界里的某个人失望。
by @技术头条 2023-07-02 23:36 查看详情
如何分享一个体面的购物链接 (type.cyhsu.xyz)
如今在大多数电商平台,简洁、可读、易懂的链接都已经绝迹了。怎么得到一个体面的链接用来保存和分享?答案是用笨办法对付聪明,用顽固对抗糟糕。
by @技术头条 2023-07-02 23:34 查看详情
利用 MySQL 的 Binlog 实现数据同步与订阅(下):EventBus 篇 (blog.yuanpei.me)
终于到这个系列的最后一篇,在前两篇博客中,我们分别了介绍了Binlog的概念和事件总线(EventBus)的实现,在完成前面这将近好几千字的铺垫以后,我们终于可以进入正题,即通过 EventBus 发布 Binlog,再通过编写对应的 EventHandler 来订阅这些 Binlog,这样就实现了我们“最初的梦想”。坦白说,这个过程实在有一点漫长,庆幸的是,它终于还是来了。
by @技术头条 2023-07-02 23:34 查看详情
利用 MySQL 的 Binlog 实现数据同步与订阅(中):RabbitMQ 篇 (blog.yuanpei.me)
本文参考微软的 eShopOnContainers 项目,实现一个基于 RabbitMQ 的事件总线,事件总线是发布-订阅模式的一种延伸,可以在分布式的环境中令消息的发布者、订阅者完美地解耦,是领域驱动设计(DDD)中重要的基础设施之一,对于实现业务上的“事件驱动”非常有帮助。而实现 EventBus 最关键的三个方法,即 Publish()、Subscribe()和 Unsubscribe(),这其中需要了解一部分 RabbitMQ 的知识,所以,在这篇博客中,你可以了解到 RabbitMQ 的四种交换器、死信机制、重试超时机制等等。
by @技术头条 2023-07-02 23:33 查看详情
利用 MySQL 的 Binlog 实现数据同步与订阅(上):基础篇 (blog.yuanpei.me)
数据如果无法在这张网络中流通,则永远都是一潭死水,而如果要打通各个系统间的数据,则免不了写一个又一个的同步接口。这篇博客以 MySQL 的 Binlog 为切入点,试图通过 Binlog 来实现特定业务的“事件驱动”。Binlog 是实现主从复制的重要机制,而基于这一机制,业界普遍的做法是利用 MySQL 的交换协议,让客户端"伪装"成一个从库,在比较了 Canal 、Maxwell 以及 Python-Mysql-Replication 后,博主选择了. NET Core + RabbitMQ + Python 的方案,目标是让 Binlog 可以发布到消息总线(EventBus)中供消费者订阅和消费。
by @技术头条 2023-07-02 23:33 查看详情
听说你不想瞄准标题栏再移动窗口 (type.cyhsu.xyz)
移动窗口的方法是按住标题栏再拖动,这是小学电脑课就会教(甚至不用教)的基本操作。但是,并不是所有的窗口都这么喜欢让人抓住它的把柄。何况,这个操作本身的合理性也有讨论余地:我只是想挪一个窗口,为什么非要先瞄准。就比方说,我今天腰酸背疼两眼无神,可不可以申请不瞄准。
by @技术头条 2023-07-02 23:31 查看详情
检查当前机器是不是虚拟机并确认底层虚拟化技术 (blog.frytea.com)
要确定当前运行的系统是否在虚拟机(VM)中,并了解底层虚拟化技术,可以使用一些命令和工具进行检查。
by @技术头条 2023-07-02 23:30 查看详情
实现网页长截图的常见思路总结 (blog.yuanpei.me)
作为一个经常写博客的人,我有时会在微博上分享博客内容,可不知道从什么时候开始,国内互联网越来越丧失信仰,所有的厂商都在试图打造一个**“只进不出”的信息孤岛,进而达到增强“用户黏度”的目的。

既然外链注定要被屏蔽掉,那我就勉为其难地顺应潮流发“长截图”咯,所以,接下来我会为大家分享实现网页“长截图”**的常见思路,希望对有类似烦恼或者需求的小伙伴们有所帮助。
by @技术头条 2023-07-02 23:28 查看详情
使用多线程为你的 Python 爬虫提速的 N 种姿势,你会几种? (blog.yuanpei.me)
和大多数学习 Python 的人一样,博主学习 Python 是从写爬虫开始的,而这个爬虫程序刚好是那种抓取“宅男女神”的程序,下载图片无疑是整个流程里最关键的环节,所以,整个优化的核心,无外乎提升程序的稳定性、提高抓取速度。所以,接下来,我会带大家走近 Python 中的多线程编程,涉及到的概念主要有线程(池)、进程(池)、异步I/O、协程、GIL等,而理解这些概念,对我们而言是非常重要的,因为它将会告诉你选择什么方案更好一点。想让你的爬虫更高效、更快吗?在这里就能找到你的答案。
by @技术头条 2023-07-02 23:27 查看详情
openLDAP入门系列笔记第三篇--ldapsearch查询语法整理入门 (wiki.eryajf.net)
有人可能会觉得,有了go-ldap-admin这个平台之后,就不需要再了解这些查询方面的知识了,其实这是一个误区,go-ldap-admin平台的确接管了ldap的一应管理,但是ldap终究还是要对接到第三方应用,这个时候,掌握一点简单的查询语法,就是很有必要的。
by @技术头条 2023-06-24 23:38 查看详情
openLDAP入门系列笔记第二篇--简单认识objectCLass以及常见应用 (wiki.eryajf.net)
本文我们来认识理解一个很重要的概念:objectCLass,其实了解它是很难的,网上不少介绍的文章也讲的云里雾里,看完之后反而更加迷糊,本文将不求完全讲透,但求你看完会用。
by @技术头条 2023-06-24 23:38 查看详情
openLDAP入门系列笔记第一篇--捋透openLDAP的基础概念 (wiki.eryajf.net)
本文将着力于将ldap中概念讲清道明,希望你看了就能懂,不再困厄烦恼。
by @技术头条 2023-06-24 23:38 查看详情
评 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 查看详情