面向云技术架构 - 痴者工良

  • 首页
  • 工良写的电子书
    • Istio 入门教程
    • kubernetes 教程
    • 从 C# 入门 Kafka
    • 多线程和异步
    • 动态编程-反射、特性、AOP
    • 表达式树
  • 本站文章导航
  • 隐私政策
愿有人陪你颠沛流离
遇到能让你付出的事物或者人,都是一种运气。
能遇到,就该珍惜。或许你们最终没能在一起,但你会切实地感受到力量。
正因为这样,那段相遇才变得有价值,才没有辜负这世间的每一段相遇。
笔记和吹水

MYSQL 数据库事务

MYSQL 数据库事务支持以下几种隔离级别: Read Uncommitted(读取未提交内容) Read Committed(读取提交内容) Repeatable Read(可重读) Serializable(可串行化) 每个会话中,都可以设置事务的隔离级别,如果不设置,就会使用数据库默认的隔离级别。 查询数据库默认隔离级别: show variables like 'transaction_isolation'; SELECT @@transaction_isolation 在当前会话中,设置事务的隔离级别: …

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

配置 MAUI 项目使用管理员权限启动

问题背景 在 Windows 中,开发的应用可以使用 app.manifest 资产文件配置程序启动时,使用何种角色权限启动。 效果如下: 正常情况下,在 app.manifest 加上以下配置即可: 如果项目中没有这个文件,可以在项目中新建项-清单文件。 <trustInfo xmlns='urn:schemas-microsoft-com:asm.v2'> <security> <requestedPrivileges xmlns='urn:schemas-microsoft-co…

2022年11月10日 0条评论 790点热度 0人点赞 痴者工良 阅读全文
.NET

.NET 7 AOT 的使用以及 .NET 与 Go 互相调用

[TOC] 背景 其实,规划这篇文章有一段时间了,但是比较懒,所以一直拖着没写。 最近时总更新太快了,太卷了,所以借着 .NET 7 正式版发布,熬夜写完这篇文章,希望能够追上时总的一点距离。 本文主要介绍如何在 .NET 和 Go 语言中如何生成系统(Windows)动态链接库,又如何从代码中引用这些库中的函数。 在 .NET 部分,介绍如何使用 AOT、减少二进制文件大小、使用最新的 [LibraryImport] 导入库函数; 在 Go 语言部分,介绍如何使用 GCC 编译 Go 代码、如何通过 syscal…

2022年11月10日 0条评论 360点热度 1人点赞 痴者工良 阅读全文
.NET

C# 自动化生成证书、本地安装证书、解决信任证书问题

背景 因为本地开发时,内网的 https 是不安全的 https。 会导致 js 发不出请求。 为了让 https 安全,这里实现了本地 localhost 自动生成证书以及安装的过程。 写代码 生成证书使用的是 .NET 自带的库,不需要引入第三方包。 using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; 生成证书的方法参考 https://github…

2022年11月9日 0条评论 1422点热度 4人点赞 痴者工良 阅读全文
踩坑笔记

Fluentd 在 Kubernetes 下收集日志不可读等问题

Fluentd 在 Kubernetes 下部署时,需要使用 fluentd-daemonset-elasticsearch-rbac.yaml 文件,里面配置了 RABC 权限等,但是启动起来后,查看 Fluentd 日志,发现 unread ,原因是日志位置的问题。 原版日志收集配置: volumeMounts: - name: varlog mountPath: /var/log # When actual pod logs in /var/lib/docker/containers, the followi…

2022年11月9日 0条评论 410点热度 0人点赞 痴者工良 阅读全文
踩坑笔记

openssl sc pfx 证书

地址: https://devblogs.microsoft.com/dotnet/configuring-https-in-asp-net-core-across-different-platforms/ 创建一个 https.config 文件: [ req ] default_bits = 2048 default_md = sha256 default_keyfile = key.pem prompt = no encrypt_key = no distinguished_name = req_distin…

2022年11月7日 1条评论 354点热度 0人点赞 痴者工良 阅读全文
笔记和吹水

MAUI 全屏时保留任务栏

默认情况下,MAUI 全屏的时候,任务栏会被屏蔽掉。 参考解决方法:https://github.com/dotnet/maui/issues/5478 获取窗口对象: IntPtr nativeWindowHandle = WinRT.Interop.WindowNative.GetWindowHandle(window); WindowId win32WindowsId = Win32Interop.GetWindowIdFromWindow(nativeWindowHandle);[......]继续阅读

2022年11月7日 0条评论 638点热度 1人点赞 痴者工良 阅读全文
Kubernetes和Docker

ubuntu 使用 kubeadm 安装 kubernetes 问题

由于新版本的 docker 跟 kubernetes 对系统有要求,因此首先要做以下操作,确保 docker、kubelet 可以正常工作。 首先修改或添加 /etc/docker/daemon.json,内容替换如下: { "registry-mirrors": ["https://94zlnekp1.mirror.aliyuncs.com"], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "1" }, "exec…

2022年11月6日 0条评论 664点热度 0人点赞 痴者工良 阅读全文
.NET

C# 多维笛卡尔积、组合算法

有以下 N 个因子: new List<string>{"A","B","C"}, // 位置 0 new List<string>{"1","2","3"}, // 位置 1 new List<string>{"①","②","③"}, new List<string>{"Ⅰ","Ⅱ","Ⅲ"}, new List<string>{"一","二","三"}, 可以组成多个 n 长度的数组,如: A 1 ① Ⅰ 一 M[......]继续阅读

2022年11月2日 0条评论 592点热度 0人点赞 痴者工良 阅读全文
.NET

通过生命周期管理 MAUI 窗口(Windows)

在 Microsoft.Maui 的 Microsoft.Maui.LifecycleEvents 中,有个管理 MAUI 窗口生命周期的扩展。 public static MauiAppBuilder ConfigureLifecycleEvents( this MauiAppBuilder builder, Action<ILifecycleBuilder>? configureDelegate); 本文目的是在 Windows 下,使用 WinUI 的方式将窗口控制的接口。 参考资料: https…

2022年10月31日 0条评论 714点热度 0人点赞 痴者工良 阅读全文
.NET

C# RulesEngine 规则引擎:从入门到看懵

说明 RulesEngine 是 C# 写的一个规则引擎类库,读者可以从这些地方了解它: 仓库地址: https://github.com/microsoft/RulesEngine 使用方法: https://microsoft.github.io/RulesEngine 文档地址: https://github.com/microsoft/RulesEngine/wiki 什么是规则引擎? 照搬 https://github.com/microsoft/RulesEngine/wiki/Introduction…

2022年10月26日 1条评论 504点热度 2人点赞 痴者工良 阅读全文
.NET

C# 结构体在数组中传递时保持引用

因为结构体或者值类型在传递时,是值复制,导致传递后修改其值,原先的值不会发生改变。 即使使用 ref 做参数,也没法改变传递数组是值复制的问题。 阅读 .NET 源码是发现了 .NET 6 的一个 API,可以很方便完成这个任务,让结构体像引用类型一样。 using System.Runtime.InteropServices; public class Progarm { static void Main() { var a = new A[100]; var span = a.AsSpan(); ref A c…

2022年10月25日 0条评论 512点热度 1人点赞 痴者工良 阅读全文
.NET

C# 对象池算法

使用的类型是 结构体,如果是对象,则在创建内存块的时候,需要使用别的方式。 子所以使用块的形式而不是直接管理一个对象,是基于多个方面考虑的。 1,使用块的形式,可以一次性分配连续的内存;如果逐个分配,会导致碎片太多、每次分配都需要时间; 缺点: 1,不能扩增或减少对象数量、块大小; 2,以块的形式存在,用户用完一个块后,需要切换到下一个块; 这两个缺点都是很容易解决的。 然后笔者后面发现了几个不得了的 API,因此改进了对象池算法,对结构体做了优化。 可以看:https://www.whuanle.cn/archi…

2022年10月24日 0条评论 866点热度 3人点赞 痴者工良 阅读全文
.NET

C# 逐个解析 JSON

后面改进了对象池算法,使用结构体来存储,其性能变得非常强。 参考对象池算法:https://www.whuanle.cn/archives/20888 新版本 定义结构体存储每个字段: public struct JsonField { public string? Name { get; set; } public JsonValueKind ValueKind { get; set; } public object? Value { get; set; } pu[......]继续阅读

2022年10月24日 0条评论 530点热度 1人点赞 痴者工良 阅读全文
笔记和吹水

kubernetes Fluentd 接入 Elasticsearch

我的 Elasticsearch 是单机部署的,因此要将 kubernetes Fluentd 接入 Elasticsearch,需要改点配置项。 首先是在 kubernetes 上安装 Fluentd。 下载 yaml 模板仓库: git clone https://github.com/fluent/fluentd-kubernetes-daemonset 修改 fluentd-daemonset-elasticsearch-rbac.yaml 文件,替换 env: - name: FLUENT_ELASTIC…

2022年10月20日 0条评论 582点热度 0人点赞 痴者工良 阅读全文
笔记和吹水

Docker 安装 Elasticsearch

参考文章: https://blog.csdn.net/UbuntuTouch/article/details/120524770 创建网络、存储卷: docker network create elastic docker volume create elasticsearch 创建容器: docker run -itd --name elasticsearch \ --publish 9200:9200 --net elastic \ --env discovery.type=single-node \ --e…

2022年10月20日 0条评论 756点热度 1人点赞 痴者工良 阅读全文
.NET

Utf8JsonReader 和 JsonNode 解析 JSON 性能测试

数据: 格式: { "a_tttttttttttt": 1001, "b_tttttttttttt": "邱平", "c_tttttttttttt": "Nancy Lee", "d_tttttttttttt": "buqdu", "e_tttttttttttt": 81.26, "f_tttttttttttt": 60, "g_tttttttttttt": "1990-04-18 10:52:59", "h_tttttttttttt": "35812178", "i_tttttttttttt": "1893533…

2022年10月20日 0条评论 432点热度 0人点赞 痴者工良 阅读全文
未分类

动态 IP (DDNS)自动绑定腾讯云域名

DDNS 这是一个根据当前公网 IP 动态修改腾讯云域名记录的工具,如果宽带不是专线,那么 IP 会隔几天变化一次,这样给域名绑定带来麻烦。 此工具通过动态识别当前网络的公网 IP 地址,将变化的 IP 推送到腾讯云已有的域名解析中,实现域名动态绑定 IP。 注意:国内未经备案的机器,不能对外提供服务! http://www.gov.cn/gongbao/content/2005/content_93018.htm 非经营性互联网信息服务备案管理办法 在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案…

2022年10月18日 6条评论 1924点热度 1人点赞 痴者工良 阅读全文
.NET

C# 高性能 Stream 处理

可复用Stream 需要安装 Microsoft.IO.RecyclableMemoryStream。 internal class StreamHandler { // Stream pool private static readonly RecyclableMemoryStreamManager Manager = new(); private readonly RecyclableMemoryStream _stream; private volatile bool _disposed;[......]继续…

2022年10月18日 0条评论 722点热度 0人点赞 痴者工良 阅读全文
笔记和吹水

实现 caddy 非 80/443 端口访问 以及泛域名证书

背景 最近要将域名跟家庭宽带的公网 IP 打通,出现了一系列的问题。 注意:国内未经备案的机器,不能对外提供服务! http://www.gov.cn/gongbao/content/2005/content_93018.htm 非经营性互联网信息服务备案管理办法 在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。 未经备案,不得在中华人民共和国境内从事非经营性互联网信息服务。 在国内的家庭宽带中,80/443 端口是不开放的,但是 caddy 需要使用这两个端口才能访问,如果设置其他端口,会导…

2022年10月18日 0条评论 3342点热度 3人点赞 痴者工良 阅读全文
12345…23

痴者工良

高级程序员劝退师

站长简介

一个逗B,爱好技术交流,目前专注于后端开发、Devops、微服务架构、持续交付、容器化、Kubernetes 等。擅长 .NET(C#)、Go 语言。




友情链接
  • 懒得勤快
  • 路遥工具箱

COPYRIGHT © 2023 whuanle.cn. ALL RIGHTS RESERVED.

粤ICP备18051778号

粤公网安备 44030902003257号