通过 DNS 方式,速度快,性能好。 dig ANY +short @resolver2.opendns.com myip.opendns.com dig ANY +short @resolver2.opendns.com myip.opendns.com dig ANY +short @ns1[......]继续阅读

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

使用接口的另一个好处是,方便 mock。 要检验自己代码是否好,足够分离,是否过度设计等,给自己写完整的单元测试。 如果自己写的代码,单元测试很难写或者无从下手,那么就要考虑改进代码了。 首先在单元测试类中,mock 注入服务: public class BasketWebApiTest {[......]继续阅读

2022年3月30日 0条评论 1336点热度 0人点赞 痴者工良 阅读全文

using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Jobs; using BenchmarkDotNet.Running; public unsafe class Model { public int Id { get; set[......]继续阅读

2022年3月29日 1条评论 1414点热度 1人点赞 痴者工良 阅读全文

阅读《实现领域驱动设计》做的小笔记。 什么是 DDD 领域模型 什么是领域模型?领域模型是关于某个特定业务领域的软件模型。通常,领域模型通过对象模型来实现,这些对象同时包含了数据和行为,并且表达了准确的业务含义。 领域模型即 DDD 中强调的建模,要设计一个模型,需要考虑三点: 为什么要建模; [......] 继续阅读

2022年3月29日 0条评论 1565点热度 0人点赞 痴者工良 阅读全文

rsync 是 linux 系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他 SSH、rsync 主机同步。 rsync 可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。 快速:第[......] 继续阅读

2022年1月21日 0条评论 2098点热度 0人点赞 痴者工良 阅读全文

首先要安装 mysqlclient,apt install mysql-client。 然后使用里面的 mysqldump 工具。 命令格式示例如下 mysqldump -h127.0.0.1 --port=端口 -uroot -p密码 --databases 数据库名称 > /var/bak[......]继续阅读

2022年1月21日 2条评论 1700点热度 0人点赞 痴者工良 阅读全文

最近将博客系统迁移,有 Nginx,ssl证书,mysql数据库和 wordpress 各类文件,折腾了一番。 为了避免后续服务器故障等问题,在家里启动树莓派,对博客所在的服务器使用 rsync 做定期备份。 树莓派使用自带的 cron 服务,做定期启动任务。 打开 /etc/cron.d 目录,然[......] 继续阅读

2022年1月21日 0条评论 2002点热度 0人点赞 痴者工良 阅读全文

安装了 Mysql/MariaDB ,但是 root 死活进不去,只能用 mysql 这个账号进去。 [root@192-168-0-241 ~]# mysql -u mysql Welcome to the MariaDB monitor. Commands end with ; or \g.[......]继续阅读

2022年1月13日 1条评论 3280点热度 2人点赞 痴者工良 阅读全文

reflect.Type.Elem() 可以返回元素的类型,例如指针类型,返回不带指针的类型。 reflect.Value.Elem() 是获取指向值的引用。 type name struct { } func (n name) Print(str string) { } func main([......]继续阅读

2021年11月16日 0条评论 1542点热度 0人点赞 痴者工良 阅读全文

代码所示,将 Table 导出为 .csv 格式的数据。 public static async Task SaveCSV(DataTable dt,string[] header, string fileName) { StringBuild[......]继续阅读

2021年8月23日 0条评论 1734点热度 0人点赞 痴者工良 阅读全文

继承 IActionResult: public class ResponseResult<TData> : IActionResult { /// <summary> /// 状态码 /// </summ[......]继续阅读

2021年8月21日 0条评论 3113点热度 0人点赞 痴者工良 阅读全文

全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsync[......]继续阅读

2021年8月12日 0条评论 2360点热度 0人点赞 痴者工良 阅读全文

直接使用 .NET 的 CLR 库生成,不依赖第三方框架。 已将代码修正为最新实现,去掉过时接口。 基于密码的密钥导出函数2(PBKDF2)让别人更难通过穷举法猜到你的帐户密码。 pbkdf2 加密是不可逆的,因此可以用来处理密码等,只能对比,不能还原。 比如说,每个用户设置一个加密密钥,每个用户使[......] 继续阅读

2021年8月12日 0条评论 1922点热度 0人点赞 痴者工良 阅读全文

当直接使用 API 获取 Claim 时,是不会检查 Token 的密钥是否正确的。 var jwt = jwtSecurityTokenHandler.ReadJwtToken(token); 如果要同时检查 Token,则可以这样使用: [......]继续阅读

2021年8月12日 0条评论 1928点热度 0人点赞 痴者工良 阅读全文

常用的 Json 序列化配置如下: // json 序列化配置 private static readonly JsonSerializerOptions JsonSetting = new JsonSerializerOptions() {[......]继续阅读

2021年8月12日 0条评论 3157点热度 2人点赞 痴者工良 阅读全文

中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using Syst[......]继续阅读

2021年8月12日 0条评论 1740点热度 0人点赞 痴者工良 阅读全文

为了配置 Linux 免密登录,之前找到方法都是比较麻烦的,后面发现一种只需要两个步骤就能完成免密登录配置的方法。 假如,在 Linux A 免密登录 Linux B。 那么在 A 上生成 私钥公钥: ssh-keygen 生成后,将公钥推送到 B 中: ssh-copy-id <user&[......]继续阅读

2021年8月4日 0条评论 2039点热度 1人点赞 痴者工良 阅读全文

Windows 和 Linux 都会有一些隐藏的分区,例如 EFI、boot 等。在 Linux 中情况又复杂对得多,例如 Docker 映射的分区/卷等,ram 交换页文件等。 Linux 中 DriveType 嗨哟 Fixed、Ram、CD 等类型,如果要对其进行筛选,编写获取方法是一件较为麻[......] 继续阅读

2021年3月12日 0条评论 2059点热度 0人点赞 痴者工良 阅读全文

级联值和参数 <CascadingValue Value="@_grandValue" Name="GrandValue"> <Parent /> </CascadingValue> 当数据要从父子组件间流通时,我们有多种方法可以传递参数。但是如果[......] 继续阅读

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

子组件无法直接向父组件传递数据,所以先在子组件定义回调事件,然后父组件引用子组件时,将父组件的方法绑定到子组件中,然后在子组件触发回调即可。 子组件 Child.razor : <input @bind="Value" /> <button @oncl[......]继续阅读

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