MRuby Devkit 一个简单的脚手架,帮助你像 Go 一样把 Ruby 编译成可执行二进制

MRuby Devkit MRuby Devkit 是一个开箱即用的脚手架。 基于 MRuby 将你的 Ruby 代码打包成 二进制可执行文件。 方便开发类似于 Golang 的二进制可执行文件。 —— 灵感来自于 Golang 可以编译为二进制可执行文件的迷人特性。 一、使用约定 前置运行环境 MacOS、Linux GCC/Clang Make Git Ruby3 Rake 安装 gem install rake ...


踢馆挑战 Ruby(MRuby) vs Golang 性能对比

前言 大家好我是 Mark24。 今天主要是想聊下一个有趣的发现,MRuby 和 Golang 的巅峰对决。 简单介绍下今天的主角,挑战者 MRuby 是 遵循 Ruby ISO 语法规范的一个实现。M 是 ”embed(嵌入)”的“m”,同时也是 minimalistic(极简的)的“m”,是作者重新设计的一个 Ruby 解释器。 MRuby 是把 Ruby 的开发体验带到嵌入式世界。为了兼容嵌入式的各种苛刻要求。MRuby 的实现相比于 CRuby 添加了大量的改进。 ...


选择编程语言的思考

选择编程语言的思考 语言是个工具。理论上他们是等价的,实际上选错了,你到达不了目标。 到底是坐拖拉机去拉萨,还是做高铁去。体验非常不同。 一、本质上资源决定语言选择 编程语言其实是分层的。如何理解这句话?首先编程语言的抽象程度不同,底层、高级负责的事情不同。灵活程度不同,决定了个人还是多人合作。使用的场景不同,比如嵌入式,Web 开发,游戏开发。总之每种语言特点是不同的。 你有多少人、多少时间、多少资源,平台,还有你要做什么。决定了你要选择何种编程语言。 语言是一种朴素的工具,...


Ruby打包技术之旅

结论: 似乎找到了 2 个 Portable Ruby 实例 [Windows Ruby (Portable) 3.3.1.1 ](https://community.chocolatey.org/packages/ruby.portable) [MacOS ho...


使用Ruby-build 在 MacOS上 编译 Portable ruby

我的 Blog 大家好,我是 Mark24。 分享下我的笔记,使用 Ruby-build 在 MacOS 上 编译 Portable ruby 设想一下,如果 ruby 可以变成 portable 的,放在 U 盘上就可以带走,传输到任何一台电脑上就可以执行。 Portable Ruby + 你的 Ruby 代码 的 zip 包,就像一个行走的独立软件。就像 Go 打包的一样。 你还可以把他们塞入 一些壳软件里。就像 Electron 那样运行(内部是个浏览器)。 当然 Rub...


Ruby 元编程概要

前言 个人总结,方便回忆。偏向自言自语。 Ruby 的概念非常多,重点在于划分,可以让他清楚一些: OOP 常规部分 self 元编程动态修改的部分 其他辅助功能 最后觉得理解 Ruby 复杂之处的关键就是 self,任何疑难杂症,确认了 self 也就能找到问题的突破口了。 “understanding self is the key to Ruby. Also the key to life”. ...


【翻译】Async Ruby(异步Ruby)

原文作者:Bruno Sutic 原文链接: 《Async Ruby》 原文时间:2021年10月30日 原文讨论:Hacker News 讨论 译者:Mark24 译者 Email:mark.zhangyoung@gmail.com 译文链接:https://mark24code.github.io/ruby/2023/10/12/Async-Ruby.html Ruby 已经有了异步实现! 它现在就可使用,已经做好了投入生产的准备,而且它可能是过去十...


【翻译】Ruby Fiber Scheduler

原文作者:Bruno Sutic 原文链接: 《Ruby Fiber Scheduler》 原文时间:2022年2月25日 原文讨论:Hacker News 讨论 译者:Mark24 译者 Email:mark.zhangyoung@gmail.com 译文链接:https://mark24code.github.io/ruby/2023/10/12/Ruby-Fiber-Scheduler.html Fiber Scheduler(纤程调度器)在 Rub...


css有趣的面试题

1.要求纯CSS 实现效果:文字内容一行居中,两行居左 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>...


编程语言的几个能力维度

我把编程语言或者是功能深入的维度划分为八个层次。 一、 八个层次 1. 基本函数能力 —— Function 可以构建一个子函数的能力。具有基本的 顺序 分支 循环 控制逻辑,可以整合变量、对象 到一个函数的概念中去。 2. 类/模块能力 —— Class/Module 可以把 数据、方法,整合到一个概念中。比如 类。 有基本的,数据访问、方法访问。 可以进行复用,比如实例化过程。 也可以是某种方法的集合,比如 模块概念。 可以对模块的 Mixin、I...


Mark24

Everything can Mix.