2024年4月

关于acme.sh 手动自签名证书的一个小坑

服务器使用acme.sh做自签名证书,nginx的配置是将证书放在某个子文件夹下,为了方便,使用了符号链接。链接到我的个人主目录。
上周六发现服务器证书过期了,于是进行更新,更了两次没更好,检查nginx下的文件内容也可以正常读取,以为是什么时间问题,没管。
周一突然又想起来,测试,发现还是没有证书。开始进一步的检查。
首先确定了符号链接,没问题,尝试重新配置,发现账号密码在电脑里,遂作罢。
突然在想,会不会是权限问题,检查符号链接,好吧,是777。
突然又想到原文件的权限问题,检查,好家伙key文件是600,其他都是666。
怪不得之前在浏览器上还能看见fullchain文件,这还能不一致的。
更新权限,sudo nginx -s reload,还是不行。
sudo service nginx force-reload 解决问题

2024.4.12 开发小记

写了一下午实验,屎山代码延申了。部署了新的Pipeline,因为代码的问题卡了一会儿。
今天1999和舟都有新活动 但是完全没有时间打。 虽说下午确实摸了会儿鱼
伞的魔术贴终于是掉了,简单学习缝线后,缝了一下。完全谈不上美观,但是足够结实。
突然想起来Leetcode没写,只能之后补上了。
明天又要验收实验,得快点了

2024.4.10 开发小记

做了一晚上实验,又写了一坨屎

在写WinForm程序,因为加载时间过长,决定做个动画。
好消息:动画做出来了 虽然很糙
坏消息:动画播完Form才开始加载
想法:搞个Panel,把Form分到Panel里,然后在新层播动画,处理好两个层的前后关系。让新的Form发完成信号。

C#命名规范 for Uni

C#命名规范

该文是作者对微软文档的见解,更多详细信息请参照原文档

标识符 (变量)

· 标识符必须以字母或下划线(_)开头

· 标识符可以包含 Unicode 字母字符、十进制数字字符、Unicode 连接字符、Unicode 组合字符或 Unicode 格式字符。

· 你可以在关键字前加'@',声明一个与关键字相同的变量,例如:@if 是变量 if。我个人不太建议这么做。

命名约定

在介绍命名约定之前,我将先介绍Pascal Case 和 Camel Case

Pascle Case

形如 DataChecker, ValueCoordinate 之类的命名。将单词间空格删去,所有首字母大写,即是Pascle Case

Camel Case

Camel Case,又称驼峰法,与Pascal Case及其类似,只是第一个字母不在大写,例如dataChecker, valueCoordinate

True 命名约定

public interface IMyInterface               //接口使用I作为开头,其余部分使用Pascle命名法
{
    public void MyMethod();                 //方法使用Pascle命名法
}

public class MyAttribute : Attribute { }    //特性使用Attribute结尾,其余部分使用Pascle命名法

public class MyClass : IMyInterface
{
    private readonly int _myVal = 256;      //私有变量以_开头,其余部分使用Camel命名法

    public void MyMethod()
    {
        const int MyVal = 1024;             //常量使用Pascle命名法
        int localVar = MyVal+_myVal;        //局部变量使用Camel命名法
    }

    public int AnotherMethod(int firstParameter) => firstParameter+_myVal;    //方法参数使用Camel命名法
}

在充分理解以上约定的基础上,清晰胜于简洁

记录一下突然想到的一个点子

udp打洞 这个技术有一段历史了 但是它有一些基本问题
最大的问题就是丢包
我在想一个基础协议,封装整个udp打洞过程 最后做成一个局域网 把打洞目标放进去
这件事远远超过我的能力 此处仅是记录 待来日有能力实现