追求,不是如愿以偿,而是阴差阳错 [......] 继续阅读

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

要正视自己,放平心态,每个人处于低估和难受的时期,很多事让自己痛苦,希望可以找一个人一起陪伴。 其实,不用管想着有人陪伴你受苦,经历磨难。而是你应该经历苦难后,走出低谷,摆脱困境,这才是当前最应该做的事情。 即使是找到另一半,别人也没有义务承担你的痛苦,何必在痛苦的时候,让另一个也痛苦呢。 悲喜自渡。 [......] 继续阅读

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

题目: 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums = [1,2,3,1] 输出:true 示例 2: 输入:nums = [1,2,3,4] 输出:false 示例 3: 输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true 提示: 1 <= nums.length <= 105 -109 <= nums[i] <= 109 来源:力扣(LeetC…

2022年4月17日 0条评论 1134点热度 0人点赞 痴者工良 阅读全文

第一种: private bool IsDefaultValue(T value) { Span<byte> valueBytes = MemoryMarshal.AsBytes<T>(new T []{ value }.AsSpan()); var defaultBytes = new byte[valueBytes.Length]; return valueBytes.SequenceEqual(defaultBytes); } 第二种: public class Test<T&g…

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

<ItemGroup> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0-preview.2.22152.2" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0-preview.2.22152.2" /> <PackageReference Include="…

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

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

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

包: Microsoft.AspNetCore.Mvc.Testing Microsoft.AspNetCore.TestHost Moq 集成测试可在包含应用支持基础结构(如数据库、文件系统和网络)的级别上确保应用组件功能正常。 ASP.NET Core 通过将单元测试框架与测试 Web 主机和内存中测试服务器结合使用来支持集成测试。 集成测试确认两个或更多应用组件一起工作以生成预期结果,可能包括完整处理请求所需的每个组件。 这些更广泛的测试用于测试应用的基础结构和整个框架,通常包括以下组件: 数据库 文件系统 …

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

using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Jobs; using BenchmarkDotNet.Running; public unsafe class Model { public int Id { get; set; } public string Name { get; set; } public string Description { get; set; } private static Model _model = new Mode…

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

阅读《实现领域驱动设计》做的小笔记。 什么是 DDD 领域模型 什么是领域模型?领域模型是关于某个特定业务领域的软件模型。通常,领域模型通过对象模型来实现,这些对象同时包含了数据和行为,并且表达了准确的业务含义。 领域模型即 DDD 中强调的建模,要设计一个模型,需要考虑三点: 为什么要建模; 怎么建模才合理; “领域”模型具体指什么 为什么要建模;怎么建模才合理;“领域”模型具体指什么。 DDD 把模型分成四层。 UI 层,负责界面展示。 应用层(Application Layer),负责业务流程。 领域层(Do…

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

提前配置 mysql,然后通过 docker 单机配置启动 NACOS。 docker run -itd -p 8848:8848 -p 9848:9848 -p 9849:9849 -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.0.0 \ -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SE…

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

Docker Apache Pulsar 是一个云原生的分布式消息传递和流媒体平台,最初由 Yahoo! 创建。现在是顶级 Apache 软件基金会项目. 而 pulsar-manager 是管理 Pulsar 的一个 web 工具。 https://github.com/apache/pulsar-manager Docker 部署 Pulsar 和 Pulsar-manager docker pull apachepulsar/pulsar:latest docker run -d -it \ -p 6650:…

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

Kubernetes 日志 和 EFK 日志方案 本文主要参考以下两个文章,对文章内容进行翻译整合。 https://devopscube.com/kubernetes-logging-tutorial/ https://devopscube.com/setup-efk-stack-on-kubernetes/ 第一部分:Kubernetes 日志 在这个 Kubernetes 日志教程中,您将学习 Kubernetes 集群日志中涉及的关键概念和工作流。 当涉及到 Kubernetes 生产调试时,日志起着至关重…

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

过年假期在学习了一些领域驱动知识,这里做个汇总。 在领域驱动设计中,程序进行分层,是其重要的一部分,因此这里以分层开始,逐步了解 DDD 中的一些概念。 数据映射层 首先第一步是数据库,数据库这一部分是持久层,负责实体对象和数据库表的映射以及数据库连接配置、数据库上下文配置、ORM 配置等,数据库和缓存它们都是供领域层使用,但是不能直接使用,而是通过仓储的封装。 对于数据库表,在程序中使用实体来对应数据库表,而作为持久层,持久化对象称为 Persistent Object,缩写是 PO,表示持久化的对象。因为实体叫…

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

Kubernetes 监控 当你的应用部署到 Kubenetes 后,你很难看到容器内部发生了什么,一旦容器死掉,里面的数据可能就永远无法恢复,甚至无法查看日志以定位问题所在,何况一个应用可能存在很多个实例,用户的一个请求不指定被哪个容器处理了,这使得在 Kubernetes 中对应用进行故障排除较为复杂。在应用之外,由于 Kubernetes 作为基础设施,掌管这整个集群的生死,Kubernetes 的任何故障,必定影响到应用服务的运行,因此监控 Kubernetes 运行状况也至关重要。 当你的应用上了云原生,…

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

分库分表 一般来说,数据库分库分表,有以下做法: 按哈希分片:根据一条数据的标识计算哈希值,将其分配到特定的数据库引擎中; 按范围分片:根据一条数据的标识(一般是值),将其分配到特定的数据库引擎中; 按列表分片:根据某些字段的标识,如果符合条件则分配到特定的数据库引擎中。 分库分表的做法有很多种,例如编写代码库,在程序中支持多数据库,程序需要知道每个数据库的地址,并要编写代码进行支持;使用中间件将多个数据库引擎连接起来,程序只需要知道中间件地址。 但是分库分表后,因为任意两个表可能在不同的数据库实例中,两个表进行连…

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

写什么呢 前段时间使用 C# 写了个项目,使用 Kubernetes API Server,获取信息以及监控 Kubernetes 资源,然后结合 Neting 做 API 网关。 体验地址 http://neting.whuanle.cn:30080/ 账号 admin,密码 admin123 本篇文章主要介绍,如何通过 C# 开发基于 Kuberetes 的应用,实现获取 Kubernets 中各种资源的信息,以及实现 Conroller 的前提知识。而在下一篇中则会讲解如何实现 Conroller 和 Kub…

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

rsync 是 linux 系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他 SSH、rsync 主机同步。 rsync 可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。 安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的s…

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

首先要安装 mysqlclient,apt install mysql-client。 然后使用里面的 mysqldump 工具。 命令格式示例如下 mysqldump -h127.0.0.1 --port=端口 -uroot -p密码 --databases 数据库名称 > /var/bak/aaa.sql 不得不说备份速度极快。 示例命令: filename=<code>date +%Y%m%d_%H%M%S</code> mysqldump -h127.0.0.1 --port=…

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

最近将博客系统迁移,有 Nginx,ssl证书,mysql数据库和 wordpress 各类文件,折腾了一番。 为了避免后续服务器故障等问题,在家里启动树莓派,对博客所在的服务器使用 rsync 做定期备份。 树莓派使用自带的 cron 服务,做定期启动任务。 打开 /etc/cron.d 目录,然后创建一个文件,文件不需要后缀名称。 如:bakblog。 文件内容分为三部分,cron时间表达式 + 以某个用户启动任务 + 执行的命令。 但是 这里 cron 的时间表达式,是 5 位,没有 秒和周。 示例如下,此任…

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

关于 Neting 刚开始的时候是打算使用微软官方的 Yarp 库,实现一个 API 网关,后面发现坑比较多,弄起来比较麻烦,就放弃了。目前写完了查看 Kubernetes Service 信息、创建 Route 和 Cluster 和绑定 Kubernetes Service。简单来说,就是完成了基础部分,配置路由和后端服务绑定,如果想实现动态路由和直接转发等功能,只需要按照官方的文档,增加中间件即可。 原本打算使用 .NET 6 的 AOT(一共40MB) ,但是打包运行会容易出现一些依赖问题和环境问题,因此放…

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