ruby

catino6 天前
分布式·rabbitmq·ruby
RabbitMQ详解RabbitMQ 是基于 高级消息队列协议(AMQP)、Erlang 开发的开源消息中间件,优势在于消息路由灵活、投递可靠性高,适合业务告警、事件通知这类对消息可靠度要求高的场景。
狂奔的sherry12 天前
java·linux·ruby·gc·jruby
JRuby 多线程反引号偶发 127:GC 提前释放了 posix_spawn 的 argv一条集成测试用 JRuby 并发执行外部命令:开 5 个线程,每个线程用反引号跑同一个转换工具,最后断言 5 个返回码都正常。绝大多数时候它都能通过,但 CI 上偶尔会红一次,结果是:
zhangzeyuaaa19 天前
开发语言·前端·ruby
Ruby 多线程、GVL(GIL)与 Mutex 完全指南Ruby 的多线程机制一直是开发者最容易产生误解的知识点之一。核心争议点围绕着 CRuby 的全局虚拟机锁(GVL,行业常俗称 GIL)展开:很多人以为有了 GVL 多线程就天然线程安全,也有人以为 GVL 让多线程完全没用。尤其是在 Ruby 3.x、Ruby 4.0 引入 Ractor 与 YJIT/ZJIT 之后,GVL 的语义发生了变化,很多经典的认知和示例也需要同步更新。
zhangzeyuaaa19 天前
服务器·前端·ruby
Ruby `require` 完全指南:从 `$LOAD_PATH` 到 `require_relative`require 是 Ruby 里最常用、也最容易被忽略细节的方法之一。很多人写了几年 Ruby,仍然会在 require 和 require_relative 之间犹豫,或者被 LoadError 卡住半天。这篇文章把加载机制讲透:查找路径、去重原理、四种加载方式的区别、autoload、循环依赖、常见坑点与最佳实践。
zhangzeyuaaa19 天前
开发语言·ruby
深入 Ruby:return 退出规则完全指南return 看似是所有编程语言里最基础的关键字之一,但在 Ruby 中,它的行为远比大多数语言复杂。尤其是和 Ruby 特色的代码块(Block)、Proc、Lambda 机制结合时,return 的跳出目标、作用范围经常反直觉,是很多隐蔽 bug 的来源。
程序猿乐锅20 天前
java·分布式·后端·中间件·rabbitmq·ruby
从0-1一文详解RabbitMQRabbitMQ 是微服务中常见的消息中间件,主要用来完成异步通信、服务解耦和流量削峰。本文从同步调用的问题开始,依次讲解 RabbitMQ 的核心对象、Spring Boot 集成、Work Queue、交换机、消息可靠性、业务幂等和延迟消息,并给出可以直接改造到 Spring AMQP 项目中的代码示例。
zhangzeyuaaa22 天前
开发语言·前端·ruby
深入 Ruby:Block、Proc、Lambda 核心区别与最佳实践Ruby 最具特色的特性之一,就是灵活的代码块机制。但很多开发者,尤其是从其他语言转过来的同学,经常会混淆 Block、Proc、Lambda 这三个概念:看起来都是一段可执行的代码,到底有什么区别?为什么有的时候 return 会直接跳出方法,有的时候又不会?为什么有的参数传多了不报错,有的就直接抛异常?
zhangzeyuaaa23 天前
开发语言·前端·ruby
深入理解 Ruby 运算符:本质、分类、坑点与重载实战学 Ruby 到一定阶段,很多人都会产生一个疑问:Ruby 的运算符到底是语法关键字,还是方法调用?答案是:绝大多数运算符本质上都是实例方法的语法糖,只有少数是语言内置语法。
zhangzeyuaaa23 天前
前端·python·ruby
Ruby 方法参数完全指南:默认值、可变参数与关键字参数Ruby 以语法灵活优雅著称,方法参数系统正是这种灵活性的典型体现。从默认值、可变参数到关键字参数,Ruby 提供了丰富的参数形式来应对不同场景。但很多初学者甚至有经验的开发者,都容易在参数默认值共享引用、老式 Hash 参数与关键字参数的区别、splat 展开规则这些地方踩坑。
zhangzeyuaaa25 天前
ruby
Ruby Symbol 完全使用指南Symbol(符号)是 Ruby 最具辨识度的特色特性之一,它是全局唯一、不可变的标识符对象,核心用来表达「名称、标签、状态」这类语义,而非处理文本内容。合理使用 Symbol 能让代码更简洁、性能更高、语义更清晰。
zhangzeyuaaa25 天前
ruby
Ruby `<<` 操作符详解<< 在 Ruby 里不是单纯的移位运算符(虽然数字也支持移位),更多是一个实例方法 #<<,不同类有完全不同的语义,是重载的操作符。
灯澜忆梦1 个月前
分布式·rabbitmq·ruby
【RabbitMQ #13】 | 延迟消息简介:讲解 RabbitMQ 两种实现延迟消息方案:DLX 死信交换机、延迟消息插件;针对订单超时业务痛点,引入阶梯式延迟消息优化方案,附完整 Go 代码。
灯澜忆梦1 个月前
分布式·rabbitmq·ruby
【RabbitMQ #11】 | 消费者可靠性为了确认消费者是否成功处理消息,RabbitMQ 提供了消费者确认机制(Consumer Acknowledgement)。 当消费者处理消息结束后,向 RabbitMQ 发送回执,告知消息处理状态。回执分为 3 种:
zhangzeyuaaa1 个月前
开发语言·后端·ruby
深入理解 Ruby 可变对象与不可变对象的原理、坑点与最佳实践很多刚接触 Ruby 的开发者,尤其是从 Python、Java 转过来的同学,经常会遇到一些“莫名其妙”的 bug:明明只是在方法里处理了一下字符串,外面的原字符串却被改了;用 Hash.new([]) 做默认值,结果所有 key 都共享同一个数组。这些问题的根源,都指向 Ruby 中一个非常核心的概念:对象的可变性(Mutability)。
灯澜忆梦1 个月前
分布式·rabbitmq·ruby
【RabbitMQ #5】 | 三大交换机 Fanout ,Direct ,Topic前言:生产环境消息一般都经过 Exchange(交换机)转发,不会直接发送到队列。交换机主要分为 3 种:Fanout(广播)、Direct(定向)、Topic(话题)。
灯澜忆梦1 个月前
分布式·rabbitmq·ruby
【RabbitMQ #7】 | 消息转换器简介:学习 RabbitMQ 消息转换器,对比 SpringAMQP 默认 JDK 序列化问题,使用 Go 语言实现等效消息转换器,实现 Java 与 Go 跨语言收发消息。
Y3815326621 个月前
搜索引擎·ruby
Ruby 调用谷歌搜索 API:net/http 与 json 标准库实战Ruby 做脚本和小工具依然顺手,而且这篇的客户端只用标准库——net/http 加 json,连 gem 都不用装,ruby serp_client.rb 直接跑。适合给运维脚本、Sidekiq 任务或任意老项目里加一个搜索数据源。
程序员黎剑1 个月前
分布式·rabbitmq·ruby
RabbitMQ-消息可靠性-publisher-confirm持久化与手动ack消息发出去不代表到了。本文梳理 RabbitMQ 消息丢失的三个环节(发布端、Broker、消费端),并给出 publisher confirm、持久化和手动 ack 的完整可靠性方案。
我也要在julius_bar里藏钱1 个月前
后端·ruby·rails
【山竹记账后端】1.搭建后端项目从无到有创建 Rails API大纲链接 §[toc]前提:已经创建好 oh-my-env 的容器环境,打开容器项目
星云API技术支持2 个月前
javascript·企业微信·ruby
企业微信二次开发:如何建立统一的错误处理、日志与请求追踪机制昨晚在整理 星云API www.xingyapi.com 的底层重构笔记,有个做连锁门店 SCRM 的后端研发主管给我发了一张他们生产环境的 ELK 日志截图,满屏全是大红色的 WeComApiException: 企微接口调用失败。