区分 调试和发布环境 众所周知,Debug 是在开发、在 VS 中时,自动会有的编译常量,而代码发布后则是 Release。 为了在 Debug、Release 环境下出现不同的编译条件。 .NET Core 项目添加条件编译变量,可在 .csproj 中加上 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <DefineConstants>AAAA</DefineConstants&…

2020年11月23日 3条评论 5856点热度 1人点赞 痴者工良 阅读全文

Parallelism through simple threads Every year, parallelism and concurrency become more important as processors tend to have more and more physical cores. In most languages, writing parallel code is tricky. Very tricky. Not so in Rust, as it has been designed a…

2020年11月23日 0条评论 92点热度 0人点赞 痴者工良 阅读全文

Parallelism through simple threads Every year, parallelism and concurrency become more important as processors tend to have more and more physical cores. In most languages, writing parallel code is tricky. Very tricky. Not so in Rust, as it has been designed a…

2020年11月23日 0条评论 3018点热度 0人点赞 痴者工良 阅读全文

Using the builder pattern Sometimes you need something between the customization of the constructor and the implicitness of the default implementation. Enter the builder pattern, another technique frequently used by the Rust standard library, as it allows a ca…

2020年11月23日 0条评论 104点热度 0人点赞 痴者工良 阅读全文

Using the builder pattern Sometimes you need something between the customization of the constructor and the implicitness of the default implementation. Enter the builder pattern, another technique frequently used by the Rust standard library, as it allows a ca…

2020年11月23日 0条评论 3026点热度 0人点赞 痴者工良 阅读全文

Using the constructor pattern You may have asked yourself how to idiomatically initialize complex structs in Rust, considering it doesn't have constructors. The answer is simple, there is a constructor, it's just a convention rather than a rule. Rust's standar…

2020年11月23日 0条评论 92点热度 0人点赞 痴者工良 阅读全文

Using the constructor pattern You may have asked yourself how to idiomatically initialize complex structs in Rust, considering it doesn't have constructors. The answer is simple, there is a constructor, it's just a convention rather than a rule. Rust's standar…

2020年11月23日 0条评论 2685点热度 0人点赞 痴者工良 阅读全文

Providing a default implementation Often, when dealing with structures that represent configurations, you don't care about certain values and just want to silently assign them a standard value. Usually, when processing structures that represent configurations,…

2020年11月23日 0条评论 122点热度 0人点赞 痴者工良 阅读全文

Providing a default implementation Often, when dealing with structures that represent configurations, you don't care about certain values and just want to silently assign them a standard value. 通常,当处理表示配置的结构时,你并不关心某些值,只想为其默默分配一个标准值。 Rust 使用 Default::default();…

2020年11月23日 0条评论 3368点热度 0人点赞 痴者工良 阅读全文

Using the format! macro format! is a Rust macro that is essentially similar to the usage of String.Format() in C#. There is an additional way to combine strings, which can also be used to combine them with other data types, such as numbers. It provides another…

2020年11月23日 0条评论 86点热度 2人点赞 痴者工良 阅读全文

Using the format! macro format! 是一个 rust 宏,跟 C# 的 String.Format() 用法基本一致。 There is an additional way to combine strings, which can also be used to combine them with other data types, such as numbers. 能够以另一种方式去组合字符串,也可以组合不同的数据类型,例如数字。 其定义如下: #[macro_export] #[s…

2020年11月23日 0条评论 3565点热度 2人点赞 痴者工良 阅读全文

How to convert pfx to other types of certificates. Convert pfx to pem openssl pkcs12 -in ssl.pfx -nodes -out ssl.pem Convert pem to cer openssl x509 -in ssl.pem -inform PEM -out ssl.der -outform DER Output all information of the pem certificate: openssl x509 -…

2020年11月23日 2条评论 94点热度 2人点赞 痴者工良 阅读全文

pfx 转换为其他类型证书的方法。 pfx 转 pem openssl pkcs12 -in ssl.pfx -nodes -out ssl.pem pem 转 cer openssl x509 -in ssl.pem -inform PEM -out ssl.der -outform DER 输出 pem 证书的所有信息: openssl x509 -in ss.pem -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 86900348…

2020年11月23日 2条评论 5738点热度 2人点赞 痴者工良 阅读全文

Part One: Consul Basics 1. Introduction to Consul According to the official documentation: Consul is a network tool that provides a full-featured service mesh and service discovery. What can it do? Automate network configuration, discover services, and enable …

2020年11月21日 0条评论 80点热度 0人点赞 痴者工良 阅读全文

第一部分:Consul 基础 1,Consul 介绍 2,安装 Consul Ubuntu/Debian 系统 Centos/RHEL 系统 检查安装 3,运行 Consul Agent 启动 agent 发现数据中心成员 查看 UI 4,在 Consul Service Discovery 中注册服务 端口 定义服务 使用配置启动服务 如何重新加载配置文件 5,查询服务 通过 HTTP API 通过 UI 查询 6,DNS 知识与查询 基础知识 通过 DNS 查询 Consul 服务信息 小结 7,将数据存储在C…

2020年11月21日 0条评论 3015点热度 0人点赞 痴者工良 阅读全文

CZGL.Roslyn Open source project location: https://github.com/whuanle/CZGL.CodeAnalysis A dynamic code builder and compiler for C# based on Roslyn technology, developers can use this library to dynamically construct C# code and compile it conditionally. Runtime…

2020年11月14日 0条评论 76点热度 0人点赞 痴者工良 阅读全文

CZGL.Roslyn 开源项目位置:https://github.com/whuanle/CZGL.CodeAnalysis 基于 Roslyn 技术的 C# 动态代码构建器以及编译器,开发者可以使用此库动态构建 C# 代码,并且通过指定条件编译代码。 运行时动态构造代码; 运行时为程序提供新的模块功能,拓展能力; 设计函数平台,以代码片段为单位执行; 语法分析提示,编译错误语法警告,精确到代码行; 完善的代码标准,避免动态代码语法错误; 简洁、简单的 API,完整的 Test 测试; ... ... 动图演示 …

2020年11月14日 0条评论 2885点热度 0人点赞 痴者工良 阅读全文

0. About Redis RESP 1. Define Data Types 2. Define Asynchronous Message State Machine 3. Define Command Sending Template 4. Define Redis Client 5. Implement Simple RESP Parsing 6. Implement Command Sending Client 7. How to Use 8. More Clients 9. More Tests 10.…

2020年11月10日 0条评论 100点热度 1人点赞 痴者工良 阅读全文

0,关于 Redis RESP 1,定义数据类型 2,定义异步消息状态机 3,定义命令发送模板 4,定义 Redis Client 5,实现简单的 RESP 解析 6,实现命令发送客户端 7,如何使用 8,更多客户端 9,更多测试 10,性能测试 11,关于 NCC 最近叶老板写了个 FreeRedis,刚好前段时间在学习 Redis,于是跟风试试也写一个简单的 RedisClient。目前 FreeRedis 处于初级阶段,需要更多人的参与、测试,有兴趣大家一起参与贡献: FreeRedis 项目地址:https…

2020年11月10日 0条评论 2702点热度 1人点赞 痴者工良 阅读全文

After the Dotnet SDK/Runtime is installed, you can see a file named dotnet.exe in the C:\Program Files\dotnet directory. Copy your dotnet program (.dll, .exe, configuration files, etc.) to an appropriate directory. Extract the nssm-2.24.zip file, open cmd or P…

2020年11月9日 5条评论 64点热度 1人点赞 痴者工良 阅读全文
1262728293054