阿里云出现大规模故障;2023 最佳发明榜单;愤怒的南瓜|思否技术圈周刊

2023-11-17
阅读 3 分钟
616
双十一刚结束,阿里云就大面积故障,持续长达 3 个半小时。据阿里云公告,故障源于某个底层服务组件,影响地域涵盖了国内以及海外多个国家。“淘宝崩了”、“外卖崩了”、“闲鱼崩了”等迅速冲上热搜。大批依赖阿里云的设施随之崩溃:外卖派送停止、超市无法结账、停车场不抬杆。甚至洗衣机、直饮水机和充电桩等服务也停止运转。
封面图

Ruby 将引入新 JIT 编译器:YJIT,平均速度提升 23%

2021-10-27
阅读 1 分钟
2.4k
近日,Ruby 代码仓库新增了一个关于合并 YJIT 的PR。据介绍,YJIT 是一种使用 Lazy Basic Block Versioning (LBBV) 编译器架构构建的即时编译器。在进行实际基准测试时,YJIT 比当前的CRuby 解释器平均速度提升了23%。Ruby 开发团队计划将 YJIT 包含在 Ruby 3.1 预览版中,以便更多用户可以帮助他们对其进行测试,从而获...

Cucumber —— 优雅、跨语言的 BDD 框架

2014-05-15
阅读 2 分钟
9.7k
cucumber 是 一个优雅的BDD(行为驱动开发)方案。 示例 {代码...} 方法 1. 使用简明的语言定义行为 2. 改写成 Ruby 3. 运行(等着看它失败) 4. 编写代码,使得测试可以通过 5. 再次运行(这次应该看到有测试通过了) 3 6. 重复 2-5,直到所有测试通过 安装 确保你已经安装了 Ruby,然后使用 gem 安装; {代码...} 运行...

Capybara 模拟真实用户交互 测试 Web 应用

2014-05-14
阅读 2 分钟
9.7k
Capybara 通过模拟真实用户交互的方式来测试你的 web 应用。它内置 Rack::Test 和 Selenium 支持,也支持其他驱动。WebKit 通过外部 gem 的形式支持。

面向抖M编程: 在 Ruby 中只使用 Proc 解决 FizzBuzz 问题

2014-05-07
阅读 21 分钟
6.7k
Ruby 是很强大的语言,有很多高级特性。本文展示了不使用几乎所有特性,只使用 Proc 和 Proc.new、Proc#call 来编程的奇技淫巧。

weixin_authorize Ruby 下访问微信高级 API

2014-05-05
阅读 4 分钟
7.7k
weixin_authorize封装了微信的高级 API,供各位 Rubist 享用。 安装 在你的 Gemfile加入: {代码...} 或者 {代码...} 然后 bundle 即可。 基本使用 初始化 WeixinAuthorize::Client 的实例,传入公众账号的app_id跟app_secret即可。 {代码...} 为了避免用户填写app_id和app_secret出错,请务必在保存或者更新操作时,对...

淘宝 RubyGems 镜像

2014-04-16
阅读 1 分钟
13.7k
由于国内的网络环境,导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败,因此使用gem或bundle时常常会遇到长久无响应的情况。

使用Go代替Ruby,将服务器数量从30降到2

2014-04-11
阅读 2 分钟
6.5k
使用另一种语言去重写一个服务,听起来是不是很折腾?然而云服务供应商Iron.io就这么做了,并成功的将服务器从30台降至了2台。Iron.io在其官方博客上公布了整个事件的始末,下面来了解一下:

飞一样的编码,Web开发IDE HBuilder开放下载注册

2014-04-01
阅读 2 分钟
6k
HBuilder是DCloud推出的一款支持HTML5的Web开发IDE。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。同时,它还包括最全面的语法库和浏览器兼容性数据。

Rake之父 Jim Weirich 的技术演讲和开源项目

2014-04-01
阅读 2 分钟
6.9k
Jim Weirich在各种技术会议上做过大量精彩的演讲,主题涵盖Ruby、函数式编程、敏捷开发等方面,下面收集了其中一些演讲的演示文档,和大家分享一下: 关于线程,Rubist应该知道的 在主流编程语言里编写线程安全代码的困难之处,一些非主流语言是如何处理这些问题的。 每个程序员都应该读两遍以上的10篇论文 Michael Feat...

Objective-C 不是你想的那样

2014-03-31
阅读 5 分钟
3.6k
Ruby 和 Objective-C 这两种语言看上去好像天南地北:一种是动态语言,另一种则是静态语言;一种是解释型语言,另一种是编译型语言;一种有简洁的语法,另一种则是有点冗长的语法。从优雅的角度来看,Ruby似乎更能给我们一种自由的编程体验,所以很多人都放弃了Objective-C。

Ruby re模块: 复杂正则表达式化整为零

2014-03-20
阅读 2 分钟
4.4k
复杂的正则表达式很难构建,甚至很难阅读。Ruby的Re模块可以帮助你利用简单的表达式构建复杂的正则表达式。例如,考虑下面的匹配日期的正则表达式:

Rava助Java程序员尽快适应Ruby

2014-03-13
阅读 1 分钟
4.3k
对于程序员来说,从Java切换到Ruby是一个重大的改变。Rava让这个迁移的过程舒适一些。 名言 我可以在任何语言中书写Java。 -- Anon 安装 使用gem安装: {代码...} 用法 {代码...} 更容易的Console I/O Ruby中puts和print的区别好难记。真正的程序员从来不惧一些额外的敲击来获得可靠的I/O。 在Rava下,你可以使用: {代...

TExp —— Ruby临时表达式模块

2014-03-12
阅读 3 分钟
13.1k
临时表达式提供了一种精炼地表达重复性事件的方式。例如,每年的12月25日是圣诞节。一个代表圣诞节的临时表达式会返回真,如果日期是12月25日。

Sorcerer 基于抽象语法树生成Ruby代码

2014-03-08
阅读 1 分钟
4.7k
Sorcerer是Jim Weirich开发的Ruby代码生成器,能够基于Ripper类的抽象语法树(例如S表达式)。 例子 {代码...} 会生成 {代码...} Sorcerer需要用到的S表达式可以用Ripper生成。下面的代码效果类似: {代码...} 选项 无选项 默认状态下,sorcerer会输出单行代码。 例如,给定以下代码: {代码...} 然后下面的代码: {代码...

最流行的Ruby代码规范

2014-03-07
阅读 2 分钟
6.5k
Ruby是非常自由灵活的语言,所以不同的Rubist风格差异可能很大。那么在代码规范方面他们的差异大不大呢?sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果,让我们一起来看看Rubist的喜好吧~

FlexMock Ruby单元测试mock库

2014-03-06
阅读 3 分钟
4.3k
我们有一个获取数据的类TemperatureSampler,从温度感应器中读取数据,并返回三次读取的平均值。当我们运行测试的时候,我们并没有真正的温度感性器,所以我们需要一个mock对象来响应read_temperature消息:

《Rails 程序部署之道》—— 可靠的重复式部署和配置

2014-03-05
阅读 1 分钟
4.6k
《Rails 程序部署之道》讲述可靠的重复式部署和配置方法。 本书会系统性的介绍: 从零开始架设 VPS 快速搭建多个服务器 使用 Capistrano 可靠地部署 使用自动化工具处理琐碎的维护任务 如果你花了很多钱把应用程序部署在 Heroku 上,使用本书介绍的工具,可以将其迁移到 VPS 上。 如果应用程序已经运行在 VPS 上,但部署...

Dim 极简Ruby依赖注入框架

2014-02-27
阅读 2 分钟
4.5k
依赖注入通过创建容器来帮助你组织应用的对象初始化代码。当应用中的对象需要访问其他对象或资源的时候,它要求容器来提供(通过惰性加载的代码区块)。

Builder——用Ruby创建XML

2014-02-26
阅读 2 分钟
6.6k
Jim Weirich的Builder提供了一个简单的方法创建XML标记和数据结构。 类 Builder::XmlMarkup::生成XML标记,Builder::XmlEvents::生成XML事件。 用法 {代码...} 或 {代码...} 特性 支持XML注释 {代码...} 也支持XML处理指令 {代码...} 部分支持XML entity声明 {代码...} 可以嵌套声明 {代码...} XML命名空间 {代码...} 默...

用 Passenger(mod_rails) 部署 Sinatra

2014-02-26
阅读 1 分钟
4.6k
写起来挺快的,感觉跟之前玩 node.js 的感觉有点像。 部属方面也很容易 在你的专案目录下新建一个 config.ru 档案,以及 public 和 tmp 资料夹 config.ru 档案内容为

rspec-given 助你写出干净漂亮的测试

2014-02-25
阅读 3 分钟
5k
rspec-given亦是Jim Weirich的作品。given、when、then的引入,让测试变得更方便。 rspec-given rspec-given的写法十分直接了当: {代码...} Given指定测试的预设,Then指定需要检测的断言。 那么,如果我想更改上面角色的姓名呢?我需要确保更改操作确实有效,这就要用到When: {代码...} 来看一个复杂一点的例子吧,测...

rake 重新发明make

2014-02-24
阅读 1 分钟
5.7k
Rake是Jim Weirich最知名的项目,是现代版的Make. 特性 Rakefile使用标准的Ruby语法,不用编辑XML,也不用担心Makefile语法的各种坑。 任务可以设定依赖。 支持规则模式,合并执行隐式任务。 灵活的FileLists,很像数组,但是知道如何处理文件名和路径。 预先打包好的任务,使得撰写rakefiles更容易。例如,tar打包和通...

Ruby 开发社区重量级程序员 Jim Weirich 2月19日去世

2014-02-22
阅读 1 分钟
7.1k
Ruby 开发社区重量级程序员 Jim Weirich 于2月19日去世,死因可能是心脏麻痹。他原名 James Nolan,是Ruby 社区的重要贡献者,开发了非常流行的 Rake —— 几乎被所有Ruby 开发者使用的开发工具。他在Ruby 社区非常活跃,在世界各地经常演讲,为Ruby 的推广做的极大的贡献。这是3天前他在GitHub上的最后一条 commit。

puppet简介

2014-02-05
阅读 7 分钟
4.4k
系统管理员都喜欢自己写点小工具来让自己的工作完成的更快或者更好, 不管是在大企业管理大量的服务器还是只管理两三台机器. 但是很少人会把他们的工具发布出来. 也就是是说极少有工具能被重用,或者说很多工具就只能在所在的组织内部有用.拷贝给别的组织,他们也用不上. 也就是说,每个系统管理员,在一个新的公司,都会另起...

image_optim 好用的图片优化工具

2014-01-21
阅读 2 分钟
7.1k
图片优化是网站优化的重要环节。图片优化不但可以节省网站的带宽,最主要的是可以提高页面加载速度,提升用户体验。 本文介绍一款的图片优化工具 image_optim。 image_optim可以优化(无损压缩)jpeg、png、gif。具体功能通过调用外部工具实现: advpng gifsicle jhead jpegoptim jpegtran optipng pngcrush pngout 安装...

性能对比 cruby 2.1 vs jruby 1.7.9 vs rubinius 2.2.3

2014-01-14
阅读 4 分钟
7.9k
圣诞节的时候发布了Ruby 2.1,使用RGenGC,性能提升了5%到15%. 那么,新版的Ruby实现和JRuby、Rubinius相比又如何呢?

Rails书单

2014-01-09
阅读 2 分钟
3.7k
《Ruby 编程语言》 本书的作者之一是松本行弘,Ruby 的缔造者。Ruby 开发者的必看书籍,被称为 Ruby 版的 K&R(K&R 指《The C Programming Language》,中文名《C 程序设计语言》,计算机史上的经典著作,其赞誉相当之高)。

Rerun: 自动重新运行程序

2014-01-06
阅读 1 分钟
3.6k
有时候我们需要反复重新运行程序(比如在修改代码后),以观测其执行结果。如果有 一个工具能帮助我们干这样的活计,那该多好啊。Rerun 就是这样的实用工具,它 会监视文件系统,一旦发现文件被更改便自动重新运行程序。利用 Rerun,我们可以从 以往的重复劳动中解放出来,能更多的放松自己。

12个优秀资源助你迅速掌握正则表达式

2014-01-04
阅读 2 分钟
8.5k
正则表达式是每个程序开发人员的必备技能。任何开发项目,不管使用什么编程语言,都需要从给定的数据提取值并进行验证。例如对输入内容的验证,过滤 URL 变量等等,正则表达式处理这样的任务很容易,而且只需要很少的代码。