Logo
Our blog

Resources and insights

The latest industry news, interviews, technologies, and resources.
Beansmile Blog Cover
Sharing
DSL-让你的 Ruby 代码更加优雅
DSL是Ruby这门语言较为广泛的用途之一,不过如果不熟悉Ruby的元编程的话,难免会被这类语法弄得一脸蒙蔽。今天主要就来看看DSL它是个什么东西,它在Ruby社区中地位怎么样,以及如何实现一门简单的DSL。
Beansmile Blog Author Avatar
lan
20 Apr 2019
Beansmile Blog Cover
Sharing
Ruby中的闭包-代码块
在许多编程语言中都会有闭包这个概念。今天主要来谈谈Ruby中的闭包,它在这门语言中地位如何,以什么形式存在,主要用途有哪些?
Beansmile Blog Author Avatar
lan
11 Apr 2019
Beansmile Blog Cover
Sharing
[译] 你的 Rails 应用正确建立索引了吗
原文 [Faster Rails: Is Your Database Properly Indexed?](https://semaphoreci.com/blog/2017/05/09/faster-rails-is-your-database-properly-indexed.html)
Beansmile Blog Author Avatar
jayce
01 Apr 2019
Beansmile Blog Cover
Sharing
Eval家族的那些事儿
许多编程语言都会附带[eval](https://en.wikipedia.org/wiki/Eval)的功能,通常会出现在动态语言中,它就有点像是一个微型的解释器,可以在运行时解释代码片段。这篇文章主要以Ruby为例,详细介绍Ruby中的`eval`家族。
Beansmile Blog Author Avatar
lan
30 Mar 2019
Beansmile Blog Cover
Sharing
Memory allocation strategy for struct and union in C programming language
If you are writing program by C programming language, you may need to care about how many memories to allocate, and when you should deallocate them. That is a heavy work for programmers, but at the same time it is very interesting. You will recognize that when defining a `float` variable, how many memories we need to allocate? Why a function can modify extern variables by passing the pointer of them?
Beansmile Blog Author Avatar
lan
19 Mar 2019
Beansmile Blog Cover
Sharing
关于散列表的一些思考
散列表(也叫Hash表)是一种应用较为广泛的数据结构,几乎所有的高级编程语言都内置了散列表这种数据结构。然而散列表在不同的编程语言中称呼不一样,在JavaScript中被称为对象,在Ruby中被称为哈希,而在Python中被称为字典。即便称呼不同,语法不同,它们的原理基本相通。
Beansmile Blog Author Avatar
lan
12 Mar 2019
Beansmile Blog Cover
Sharing
Rack Middleware
[Rack官网](https://rack.github.io/)对于Rack的介绍比较简单,只是介绍了Rack的作用和基本的使用。不过也可能因为不复杂,所以才用简单的几段话介绍了Rack。虽然我们不用了解middleware的调用原理也可以开发出能使用的middleware,但是总有点不知所以然的感觉,所以抽空总结了下Rack中middleware的调用原理。
Beansmile Blog Author Avatar
cain
12 Mar 2019
Beansmile Blog Cover
Sharing
浅谈循环之硬件级实现
现代编程语言中循环是十分常见的功能,几乎任何编程语言都有类似`for`, `while`这样的循环语句,不过在计算机底层就没有那么幸福了,许多的硬件其实并没有提供硬件级别的循环。不过硬件级别的限制,似乎并没有影响到我们日常的工作,今天就主要来看看循环的**本质**是什么。
Beansmile Blog Author Avatar
lan
28 Feb 2019
Beansmile Blog Cover
Sharing
详谈IEEE浮点数编码机制
在一些工程领域中单单依靠整数是无法满足他们对精度的需求的,这种时候就需要用到浮点数了。今天着重来聊一聊在计算机底层,浮点数的编码方式,以及它相关值的计算方式。
Beansmile Blog Author Avatar
lan
22 Feb 2019