Write the Code. Change the World.

3月 13

LogicFlow 默认有一些节点。但有时候,默认的节点完成不了项目需求。这个就需要自定义节点,刚好LogicFlow 支持自定义节点。

https://07.logic-flow.cn/guide/advance/customNode.html

如上图,现在需要一个输入口,n 个输出口,这个 n 是大于 0 的整数。一般也就最多 10 以下的整数吧。默认的节点就不支持,这里就需要自定义了。

要解决以下问题。

  • 节点支持 resize (继承 RectResize,就可以实现)
  • 根据输出口的数字动态生成锚点(1 个默认输入锚点, n 个输出锚点)
  • 在锚点旁边加入数字进行标识(大于 1 个的时候,需要和数据一一对应,所以需要标识)

阅读全文 >>

1月 26

skynet 框架,在 skynet.start 方法中,对 skynet.newservice 进行 name 时候会报错 attempt to call a nil value (field 'name') 的处理。

使用 skynet.wait, 等待异步的完成就可以。下边给出示例。

local Service = '.Service'
skynet.start(function()
    local service = skynet.newservice('xxx')
    skynet.wait(service)
    skynet.name(Service, service)
end)

阅读全文 >>

1月 24

在做自己的业务之前,尝试官方的样例是很有必要的。只需要一个装好 docker 的电脑,几步就可以完成测试。

官方 websocket 示例代码:
https://github.com/cloudwu/skynet/blob/master/examples/simplewebsocket.lua

skynet 的 docker 环境构建
https://blog.vini123.com/1130

准备工作

  • docker 环境
  • 并按照上边链接里的方式构建出了 docker 镜像。

开始

docker images 看看构建的镜像是否存在,这个是前提。

# 以交互式的方式构建并进入容器
docker run -it --rm -p 9948:9948 skynet:1.7 bash

# 安装 vim (因为我们要修改下 config)文件
apk add vim

# 编辑 config 文件
vim examples/config

阅读全文 >>

1月 24

skynet 最早就能提供 socket 服务。后来,也能提供 websocket 服务。这里,接着之前的代码,构建一个 websocket 服务。

https://github.com/cloudwu/skynet/blob/master/examples/simplewebsocket.lua

上边是官方 websocket 的一个示例。

开始

以官方为借鉴,这里先创建一个 websocket.lua 文件。完整的路径是 www/websocket/service/connect/websocket.lua

阅读全文 >>

1月 22

不科学上网的操作

依次访问:

找到 DNS Resource Records 下的 ip 地址。依次加入到 hosts 中。

# mac 的
sudo vim /etc/hosts

140.82.113.4 github.com
151.101.1.194 github.global.ssl.fastly.net

这样再提交代码,估计就可以了。至少我试过是可以了的。

不行,刷新 DNS 缓存试试。

sudo killall -HUP mDNSResponder

参考

https://juejin.cn/post/7324866317206585394

阅读全文 >>