blog icon indicating copy to clipboard operation
blog copied to clipboard

涵曦的博客

Results 94 blog issues
Sort by recently updated
recently updated
newest added

> 测试环境为 Linux version 5.4.0-124-generic (buildd@lcy02-amd64-089) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #140-Ubuntu SMP Thu Aug 4 02:23:37 UTC 2022 ## 开启 core 文件生成 - 命令: `ulimit -c unlimited` - 设置...

## 1. 为什么使用 daemon(1,1) + redirect_fds 来设置后台模式而不直接使用 daemon(1,0)? https://github.com/cloudwu/skynet/issues/590 因为 write_pid 里输出错误信息到 stderr,此时已经是 daemon 模式,stderr 已经被重定向为 /dev/null,所有错误信息是看不到的。 所以需要延迟把 stderr 这些 fd 重定向为 /dev/null 。 ## 2. 为什么 global_mq 从 cas...

Lua
Skynet

[ltask](https://github.com/cloudwu/ltask) 是一个 Lua 的多任务库,具体介绍可以见 [ltask :Lua 的多任务库](https://blog.codingnow.com/2021/02/ltask.html) , 它的核心功能就是: > It implement an n:m scheduler , so that you can run M lua VMs on N OS threads. > 它实现了一个...

玩具
Go

最近使用 [wlua](https://github.com/hanxi/wlua) 实现了一个通用的排行榜服务,目前只提供了 http 接口访问。主要就是更删改查的接口。 - POST /update 用于更新或者插入数据。 - POST /delete 用于删除数据。 - GET /query 用于查询排名。 - GET /infos 用于查多份数据,不带排名。 - GET /ranklist 用于获取排名列表。 - POST /setconfig 用于设置排行榜的配置,比如容量和排序顺序。 具体的文档可以去看...

Skynet
玩具

OSC 52 是 [ANSI escape code](https://en.wikipedia.org/wiki/ANSI_escape_code) 中的 ESC ] (Operating System Command) 中的52, 它提供了访问访问本地剪贴板的能力。 在没有了解到 OSC52 之前,我使用过 [lemonade-command/lemonade] 来作为远程粘贴板工具,后面自己也折腾了一个 [oclip] 。其实我想要的效果很简单,在远程 SSH 的终端里的 Vim 里拷贝某段字符串时,能在本地粘贴。当然使用鼠标选中拷贝是可以实现,但是对于键盘党当然是不想这效果的,在 Vim 里从 yy 命令拷贝一行很快为啥还要用鼠标呢。直到遇到 OSC52...

## 第一种方案 方案研究: - 采用 protobuf 做数据格式定义 - https://pkg.go.dev/google.golang.org/protobuf - 语法采用 proto3 - 需要修改 protoc-gen-go 代码 - 新增生成 Setter 接口 - Field 改为下划线加小写字母开头的私有字段 - 参考 https://github.com/jspiro/protobuf/commit/348d24f662a77d13e21dd77385d74575b7fc547e - 在 Setter 接口添加数据写脏逻辑...

玩具
Go

>目的是使用 pytest 实现一套静态检查工具,采用 pytest 是因为一套完整的静态检查工具的产出的检查报告跟 pytest-html 产出的检查报告非常像,而且检查工具的每个步骤就相当于一个测试用例,并且测试用例直接可以有前后依赖关系。正式利用了 pytest 提供的这一套基础设施,可以比较方便的造出这个静态检查工具。 工程目录结构如下: ``` . ├── gen_report.sh ├── install.sh ├── pytest-html │   ├── codecov.yml │   ├── docs │   ├── Gruntfile.js │   ├── LICENSE...

随写
Python
玩具

最近在写一个 Lua 库,用于打印报错堆栈上的函数参数和 upvalue,最开始用 Lua 实现了一个版本,运行效果还可以。想着用 C 来实现一遍,经过一段时间的奋战,终于能跑了。 ## 运行效果展示 测试代码: ```lua local tb = require "traceback.c" debug.traceback = tb.traceback local a = "test upvalue a" local function f(a, b,...

随写
Lua

> 仿造这里的: https://docs.docker.com/compose/gettingstarted/ ## 前置要求 You need to have Docker Engine and Docker Compose on your machine. You can either: - Install [Docker Engine](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) as standalone binaries...

Docker
Skynet

## 主要内容 * Docker 原理 * Docker 使用 * Dockerfile 语法 * Docker compose * K8s ## Docker 原理 * **[DOCKER基础技术:LINUX NAMESPACE(上)](https://coolshell.cn/articles/17010.html)** * **[DOCKER基础技术:LINUX NAMESPACE(下)](https://coolshell.cn/articles/17029.html)** * **[DOCKER基础技术:LINUX CGROUP](https://coolshell.cn/articles/17049.html)** * **[DOCKER基础技术:AUFS](https://coolshell.cn/articles/17061.html)**...

资料
Docker