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条评论 2387点热度 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条评论 3028点热度 0人点赞 痴者工良 阅读全文

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条评论 3232点热度 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条评论 5166点热度 2人点赞 痴者工良 阅读全文

第一部分: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条评论 2639点热度 0人点赞 痴者工良 阅读全文

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

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

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条评论 2363点热度 1人点赞 痴者工良 阅读全文

Dotnet SDK/Runtime 安装完毕后,可以看到 C:\Program Files\dotnet 目录,有一个文件为dotnet.exe。 将你的 dotnet 程序(.dll .exe,配置文件等)复制到一个合适的目录。 解压 nssm-2.24.zip 文件,使用 cmd 或 powershell 打开到 nssm 的目录,执行 .\nssm.exe install 会弹出如下窗口 NSSM 下载地址: https://nssm.cc/download https://www.nuget.org/pa…

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

简介 dotnet tool 体验 CZGL.SystemInfo SystemPlatformInfo ProcessInfo 内存监控 NetworkInfo DiskInfo 简介 [......] 继续阅读

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

基础 Redis 库 连接 Redis 能用 redis 干啥 Redis 数据库存储 字符串 订阅发布 RedisValue ASP.NET Core 缓存与分布式缓存 内存中的缓存 ASP.NET Core 的内存缓存 在内存中缓存、存储数据 IMemoryCache MemoryCache 分布式缓存 IDistributedCache Redis 缓存 如果你还没有 redis 集群,可以参考笔者的另一篇文章:搭建分布式 Redis Cluster 集群与 Redis 入门 本文将使用 StackExcha…

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

Redis 集群搭建 Redis 是啥 集群(Cluster) Redis Cluster 说明 Redis Cluster 节点 Redis Cluster 集群模式 不能保证一致性 创建和使用 Redis 集群 部署三个主节点 非 docker docker 安装 创建集群 Redis 入门 Redis 中的数据类型 字符串(string) 哈希(Hash) 列表(Lists) 集合(Set) 有序集合(sorted set) 发现以前也写过一篇 ASP.NET Core 使用 Redis 的文章,入门比较简单…

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

浅入 MongoDB MonogoDB 是什么 结构化数据 MongoDB 与关系型数据库 MongoDB 入门命令 文档 .NET Core 示例 集合 统计数量 查询 如何序列化文档 查询第一条记录 不加条件可能导致的问题 查看所有文档 查询结束 转换查询 过滤器 Builders<TDocument> 名称映射 昨天搭建完毕 MongoDB 集群 后,开始计划了解 MongoDB ,并引入使用场景,这里介绍一下学习过程中的一些笔记,帮助读者快速了解 MongoDB 并使用 C# 对其进行编码。 浅…

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

安装 MongoDB apt 直接安装(方法1) apt 仓库安装(方法2) 方法1、2启动 MongoDB 通过二进制包安装(方法3) 安装依赖 deb 安装 MongoDB tgz 安装 MongoDB 启动 MongoDB 卸载方法 apt 卸载方法 tgz 卸载方法 指定启动的配置 通过配置文件 通过参数 MongoDB 绑定IP、端口 测试远程 IP 连接 加上密码验证 设置账号密码 开启登录验证 停止 MongoDB 搭建集群 副本集 故障转移 方案 设计实例名称 如何创建集群 启动两个实例(配置) 副…

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

注:本文重要信息使用 *** 屏蔽关键字。 最近国庆前,项目碰到一个很麻烦的问题,这个问题让我们加班到凌晨三点。 大概背景: 客户给了一些 C语言 写的 SDK 库,这些库打包成 .so 文件,然后我们使用 C# 调用这些库,其中有一个函数是回调函数,参数是结构体,结构体的成员是函数,将 C# 的函数赋值给委托,然后存储到这个委托中。 C# 调用 C 语言的函数,然后 C 语言执行到一些步骤后, C 语言函数调用 C# 的函数。这个在 ARM64 的机器下,是正常的,例如树莓派,华为的鲲鹏服务器等。由于突然改成使用…

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

编写一个拓展: public static class TaskExtensions { public static Task Start(this Task task, out Stopwatch stopwatch) { stopwatch = new Stopwatch(); stopwatch.Start(); return task; } public static Task<T> Start<T>(this[......]继续阅读

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

浅入 ABP 系列(6):数据库配置 版权护体©作者:痴者工良,微信公众号转载文章需要 《NCC开源社区》同意。 浅入 ABP 系列(6):数据库配置 创建标准的 EFCore 数据库上下文 连接字符串 定义隔离的上下文 多数据库支持和配置 Freesql 配置服务 本系列的第五篇:https://www.cnblogs.com/whuanle/p/13061059.html 因为这一部分属于 ASP.NET Core 的基础部分,ABP 没有封装,因此没啥要说的。 这一篇我们将来学习如何在 ABP 中添加数据库配…

2020年9月16日 0条评论 3971点热度 1人点赞 痴者工良 阅读全文

版权护体©作者:痴者工良,微信公众号转载文章需要 《NCC开源社区》同意。 事件总线 关于事件总线 为什么需要这个东西 事件总线创建过程 订阅事件 事件 发布事件 全局异常加入事件总线功能 创建事件 订阅事件 发布事件 测试 记录事件 这一篇将来学习 ABP 中的事件总线,然后结合在我们的基架项目中,逐渐构建一个完整的系统。 源码地址:https://github.com/whuanle/AbpBaseStruct 事件总线 关于事件总线 ABP 中,为了方便进程间通讯,给开发者提供了一个叫 事件总线 的功能,事件…

2020年9月16日 0条评论 4004点热度 0人点赞 痴者工良 阅读全文

自动依赖注入 添加日志依赖 添加日志功能 依赖注入 版权护体©作者:痴者工良,微信公众号转载文章需要 《NCC开源社区》同意。 前面两篇我们搭建了一个基础的、简单的,具有统一响应格式的 Web 程序,这一篇内容不多,继续增加一些需要的组件功能。 前面两篇已经搭建好基架,所以我们可以直接使用基架来逐渐增加功能,本系列后面的篇章会针对多方面的内容来逐渐讲解。 源码地址:https://github.com/whuanle/AbpBaseStruct 基架项目位置在 src/2/AbpBase 里面。 自动依赖注入 在 …

2020年9月16日 0条评论 2858点热度 0人点赞 痴者工良 阅读全文

版权护体©作者:痴者工良,微信公众号转载文章需要 《NCC开源社区》同意。 定义一个特性标记 全局统一消息格式 Http 状态码 常用的请求结果 响应模型 全局异常拦截器 先说明一下 ApiResponseModel 是抽象类 跨域请求 配置 API 服务 统一 API 模型验证消息 创建前 创建方式 创建后 上一篇,我们已经搭建起了一个基本的程序结构,下面我们来添加一些必要的服务,例如异常拦截器、跨域等。 本教程的代码比较多,关联性比较强,需要整体写好后,才能正常使用,所以可以先按照过程做一次,再回头看解析。 本…

2020年9月15日 0条评论 2590点热度 1人点赞 痴者工良 阅读全文

搭建项目基础结构 AbpBase.Domain.Shared 创建过程 AbpBase.Domain 创建过程 AbpBase.Application.Contracts 创建过程 AbpBase.AbpBase.Database 创建过程 AbpBase.AbpBase.Application 创建过程 AbpBase.HttpApi 创建过程 AbpBase.Web 创建过程 关于ABP和代码解疑 模块 [DependsOn] 配置服务和管道 模块如何关联 版权护体©作者:痴者工良,微信公众号转载文章需要 《N…

2020年9月15日 0条评论 2867点热度 0人点赞 痴者工良 阅读全文
1121314151626