WIP Ruby Ractor遇到的问题

背景 我最近刚巧在看一些 函数式编程的东西,lambda演算。函数式可以解决CPU多核心利用的问题实际上在目前的Ruby上多线程无法真正利用多核。 恰巧 @Jakit 在研究 Ractor,这是一个Ruby上正在开发的特性,原理上类似于把 Golang 底层的并发模型 Actor 带到Ruby。 后来在交流Ractor的过程中发现一些问题。 然后我试图把这些问题弄明白,并且记录在这里。 列举一些资料 在讨论这些之间,你可能需要这些资料 Ractor 扫盲 Ruby中...


思考-计算机本质和程序本质

一、计算机的本质 数学理解 lambda算子(?) 哲学理解 图灵机 具体实现角度理解——CPU工作原理: 以现在CPU的工作原理理解(站在图灵机的实现角度理解) CPU的硬件电路主要实现了四类基本操作 不论CPU内部有多少寄存器、还有几百条指令集,总之可以归纳为以下四类: 数据传输 —— 内存数据、外部IO 运算 —— 实现布尔运算、数值运算(主要是加法,减法是另一种加法) 跳转 —— 实现...


笔记-汇编语言学习

参考书籍 汇编语言(第3版) 作者:王爽 教学视频 通俗易懂的汇编语言(王爽老师的书) 模拟 8086 DOS环境 —— DOSBox 1.在Linux Debian上配置安装环境 # 在Debian 中 安装 DOSBox # https://packages.debian.org/buster/dosbox sudo apt install dosbox 用于研究汇编的 debug 环境需要使用 dosbox-x 环境 这里 dosbox-x 对于 debian,只提供 ...


Debian11增加VPN功能

以下列出了各种类型的 VPN 在 Debian 里面设置 # [Debian 管理员手册|10.3. 虚拟专用网络](https://www.debian.org/doc/manuals/debian-handbook/sect.virtual-private-network.zh-cn.html) # 添加 openvpn sudo apt install openvpn # 在gnome的设置里添加 openvpn 的支持 sudo apt-get install network-...


2022年快速搭建Samba服务器

一、背景 在 Debian 上搭建 Samba 服务器 但是可能很多人都会失败,比如我查了好久。 samba > 4.11 之后,默认去掉了 v1 协议的支持,需要手动加上。 国内一般的老设备都是只支持 v1。 这就是为什么,他可以搭建起来,日志也不报错,但是永远无法访问。 二、安装步骤 1.安装 samba sudo apt install samba 2.备份配置 cd /etc/samba sudo cp smb.conf smb.conf.bak 3....


Debian安装笔记

背景 在 Macbook Pro 2010 上安装 Debian 11 踩坑记录。 踩坑记录 1.选择网络包安装 debian-11.2.0-amd64-netinst.iso 只有通过这个网络安装方式的镜像成功了。 下载了一个4G左右的完全镜像,没有成功。出错 [error5] input/output 原因不详。 2.制作启动盘 之前使用windows制作启动盘没有遇到过失败。我的windows崩了,使用M1、Intel 的Mac 制作启动盘均有问题。 Ubuntu、...


RodaPlugin之hash_route说明

前言 这里主要讲解下 hash_route 如何使用,官网介绍的不是很清楚。至少我看的一脸懵逼。 这里主要是通过源码进行分析得出的结论。 1.为什么要用hash_route 而不是 multi_route 不论是文档还是 MasteringRoda 一书中都会提到要用hash_route去替换multi_route,为什么? 简单可以看下源码,可以理解为,multi_route存取查询route的时候是通过正则表达式。这就必然很慢。 而hash_route是通过一个约定把路由名...


20220301程序思考随笔

一、关于游戏主循环的思考 灵感来源: 命令行与游戏引擎初探 我们讨论游戏的主循环。当然游戏的主循环之外,依然可以有一些维持游戏开始界面、重新开始的循环。但是这些不重要。我们只讨论游戏核心运转的主循环。 loop do eventOrGetInput updateState render end 不论多复杂的游戏,哪怕像Unity这样。复杂的表象背后依然是这么个简单的游戏循环。我们必须得保证游戏循环的render部分要 比如 1秒更新 60次(60HZ),现在也有1...


命令行与游戏引擎初探

前言 刚开始我想做一个 像 tig 一样的命令行程序,在很长一段时间反复想起,然后了解了一些命令行的知识。 做了一些资料收集。 命令行界面TUI&CLI相关收集 为了展示学习 Curses 的成果,我试图去做一个 程序去展示下。 然后发现,我们可以从Web这边迁移思考,一旦涉及到界面本质上,业务页面、命令行程序、游戏,他们本质上是一样的。 我们都在处理一件事情,就是 可以表达成如下的循环: loop do getInput updateState ...


Mark24

Everything can Mix.