技术栈
ruby
zhangzeyuaaa
2 天前
开发语言
·
前端
·
ruby
深入 Ruby:Block、Proc、Lambda 核心区别与最佳实践
Ruby 最具特色的特性之一,就是灵活的代码块机制。但很多开发者,尤其是从其他语言转过来的同学,经常会混淆 Block、Proc、Lambda 这三个概念:看起来都是一段可执行的代码,到底有什么区别?为什么有的时候 return 会直接跳出方法,有的时候又不会?为什么有的参数传多了不报错,有的就直接抛异常?
zhangzeyuaaa
3 天前
开发语言
·
前端
·
ruby
深入理解 Ruby 运算符:本质、分类、坑点与重载实战
学 Ruby 到一定阶段,很多人都会产生一个疑问:Ruby 的运算符到底是语法关键字,还是方法调用?答案是:绝大多数运算符本质上都是实例方法的语法糖,只有少数是语言内置语法。
zhangzeyuaaa
3 天前
前端
·
python
·
ruby
Ruby 方法参数完全指南:默认值、可变参数与关键字参数
Ruby 以语法灵活优雅著称,方法参数系统正是这种灵活性的典型体现。从默认值、可变参数到关键字参数,Ruby 提供了丰富的参数形式来应对不同场景。但很多初学者甚至有经验的开发者,都容易在参数默认值共享引用、老式 Hash 参数与关键字参数的区别、splat 展开规则这些地方踩坑。
zhangzeyuaaa
5 天前
ruby
Ruby Symbol 完全使用指南
Symbol(符号)是 Ruby 最具辨识度的特色特性之一,它是全局唯一、不可变的标识符对象,核心用来表达「名称、标签、状态」这类语义,而非处理文本内容。合理使用 Symbol 能让代码更简洁、性能更高、语义更清晰。
zhangzeyuaaa
5 天前
ruby
Ruby `<<` 操作符详解
<< 在 Ruby 里不是单纯的移位运算符(虽然数字也支持移位),更多是一个实例方法 #<<,不同类有完全不同的语义,是重载的操作符。
灯澜忆梦
6 天前
分布式
·
rabbitmq
·
ruby
【RabbitMQ #13】 | 延迟消息
简介:讲解 RabbitMQ 两种实现延迟消息方案:DLX 死信交换机、延迟消息插件;针对订单超时业务痛点,引入阶梯式延迟消息优化方案,附完整 Go 代码。
灯澜忆梦
7 天前
分布式
·
rabbitmq
·
ruby
【RabbitMQ #11】 | 消费者可靠性
为了确认消费者是否成功处理消息,RabbitMQ 提供了消费者确认机制(Consumer Acknowledgement)。 当消费者处理消息结束后,向 RabbitMQ 发送回执,告知消息处理状态。回执分为 3 种:
zhangzeyuaaa
7 天前
开发语言
·
后端
·
ruby
深入理解 Ruby 可变对象与不可变对象的原理、坑点与最佳实践
很多刚接触 Ruby 的开发者,尤其是从 Python、Java 转过来的同学,经常会遇到一些“莫名其妙”的 bug:明明只是在方法里处理了一下字符串,外面的原字符串却被改了;用 Hash.new([]) 做默认值,结果所有 key 都共享同一个数组。这些问题的根源,都指向 Ruby 中一个非常核心的概念:对象的可变性(Mutability)。
灯澜忆梦
8 天前
分布式
·
rabbitmq
·
ruby
【RabbitMQ #5】 | 三大交换机 Fanout ,Direct ,Topic
前言:生产环境消息一般都经过 Exchange(交换机)转发,不会直接发送到队列。交换机主要分为 3 种:Fanout(广播)、Direct(定向)、Topic(话题)。
灯澜忆梦
10 天前
分布式
·
rabbitmq
·
ruby
【RabbitMQ #7】 | 消息转换器
简介:学习 RabbitMQ 消息转换器,对比 SpringAMQP 默认 JDK 序列化问题,使用 Go 语言实现等效消息转换器,实现 Java 与 Go 跨语言收发消息。
Y381532662
17 天前
搜索引擎
·
ruby
Ruby 调用谷歌搜索 API:net/http 与 json 标准库实战
Ruby 做脚本和小工具依然顺手,而且这篇的客户端只用标准库——net/http 加 json,连 gem 都不用装,ruby serp_client.rb 直接跑。适合给运维脚本、Sidekiq 任务或任意老项目里加一个搜索数据源。
程序员黎剑
20 天前
分布式
·
rabbitmq
·
ruby
RabbitMQ-消息可靠性-publisher-confirm持久化与手动ack
消息发出去不代表到了。本文梳理 RabbitMQ 消息丢失的三个环节(发布端、Broker、消费端),并给出 publisher confirm、持久化和手动 ack 的完整可靠性方案。
我也要在julius_bar里藏钱
20 天前
后端
·
ruby
·
rails
【山竹记账后端】1.搭建后端项目
从无到有创建 Rails API大纲链接 §[toc]前提:已经创建好 oh-my-env 的容器环境,打开容器项目
星云API技术支持
1 个月前
javascript
·
企业微信
·
ruby
企业微信二次开发:如何建立统一的错误处理、日志与请求追踪机制
昨晚在整理 星云API www.xingyapi.com 的底层重构笔记,有个做连锁门店 SCRM 的后端研发主管给我发了一张他们生产环境的 ELK 日志截图,满屏全是大红色的 WeComApiException: 企微接口调用失败。
Cry丶
1 个月前
ruby
·
lambda
·
block
·
yield
·
闭包
·
proc
第四篇:Block、Proc、Lambda 与 `yield`
如果说对象与消息是 Ruby 的地基,那么 Block 就是 Ruby 开始拥有气质的地方。Ruby 的很多代码第一次看起来都很轻:
额鹅恶饿呃
1 个月前
java
·
python
·
算法
·
c#
·
ruby
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
新版Linux零基础入门到高手Rocky版本-替换CentOS完整学习路线随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者,都面临着系统迁移、技术栈迭代的迫切需求。作为CentOS原班团队打造的正统继任者,Rocky Linux凭借10年长期支持、100%兼容RHEL的特性,已经成为企业级生产环境替代CentOS的首选方案。这套从零基础入门到高手的完整学习路线,完全贴合Rocky Linux的技术特性,帮你平滑完成从CentOS使用习惯到Rocky深度运维的能力过渡,彻
jyOverQ
1 个月前
分布式
·
后端
·
rabbitmq
·
ruby
RabbitMQ 延迟消息怎么实现?TTL 与死信队列
前面我们已经讲过 RabbitMQ 的死信队列:当时主要用它处理:但死信机制还有一个非常经典的用途:实现延迟消息。
水无痕simon
2 个月前
分布式
·
rabbitmq
·
ruby
3 RabbitMQ基础
Connection(连接) 客户端与 RabbitMQ Broker 之间建立的一条 TCP 连接。
吴声子夜歌
2 个月前
开发语言
·
正则表达式
·
ruby
正则指引——Ruby
Ruby内建了对正则表达式的支持,提供了相对完备的正则表达式功能。但Ruby 1.8的正则表达式也存在不少限制,最突出的是不支持逆序环视。Ruby 1.9采用全新的Oniguruma(鬼车)正则引擎,补充了包括逆序环视在内的许多功能,最重要的是全面支持Unicode(但是也造成了一些奇怪的现象,下面你会看到)。不过考虑到目前Ruby 1.9并没有完全取代Ruby 1.8,所以我们会讲解Ruby 1.8和Ruby 1.9的差异,末尾详细说明了Ruby 1.9中正则表达式的功能变化。
霸道流氓气质
2 个月前
分布式
·
rabbitmq
·
ruby
RabbitMQ 延迟队列与死信队列:原理、实现与实战
消息变成"死信"的三种条件:死信队列本质上就是一个普通队列,只是它被配置为接收其他队列产生的死信。作用: