行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台。
歌手孙燕姿凭借AI翻唱席卷各大视频平台。有视频博主用AI技术复活已故的奶奶,并且与之对话缅怀亲人填补遗憾。更有国外网红通过GPT-4复刻自己,同时与1000多个网友谈恋爱。类似这样的AI分身正在从科幻电影的想象走向现实。
Unity UGUI的VerticalLayoutGroup(垂直布局)组件的介绍及使用
1. 什么是VerticalLayoutGroup组件?
VerticalLayoutGroup是Unity UGUI中的一种布局组件,用于在垂直方向上自动排列子对象。它可以根据子对象的大小和布局设置,自动调
基础操作
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
cancellationTokenSource.Token.Register
直接上代码
服务端:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using
Avalonia项目打包安装包
要将 Avalonia 项目打包成安装包,你可以使用 Avalonia 发布工具来完成
1.创建一个发布配置文件
在你的 Avalonia 项目中,创建一个发布配置文件。在项目文件夹中创建一个名为 publish.xml 的文件,并添加以下内容:
<?xml
Unity UGUI的CanvasScaler(画布缩放器)组件的介绍及使用
1. 什么是CanvasScaler组件?
CanvasScaler是Unity中UGUI系统中的一个组件,用于控制画布的缩放和适配。通过CanvasScaler组件,可以实现UI界面在不同分辨率下的自适应显示。
2.
Avalonia 使用EFCore调用SQLite实现Singleton全局注册
本篇博客是我的开源项目TerraMours.Chat.Ava的更新的记录分享,本次更新使用EntityFrameWork Core调用SQLite,实现数据的本地化和查询的优化,删除了dbpross类(直接调用SQ
引言
汇总一下所有的 .NET IL 指令,以及它们的名称、操作码值、堆栈转换行为和描述。
作为反编译IL代码时的查询字典。
IL 指令集列表
以下内容来自微软官方文档,通过百度翻译API翻译为中文。
指令
英文描述
中文描述
Add
Adds two values and pushes the
1.值类型和引用类型
1.1 什么是值类型和引用类型
值类型:包括简单类型,枚举类型,结构体类型等,值类型通常被分配在线程的堆栈上,变量保存的内容就是实例数据本身
引用类型:引用类型实例则被分配在托管堆上,变量保存的是实例数据的内存地址,引用类型主要包括类类型、接口类型、委托类型、字符串类型等
1
基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发2-功能开发
项目简介:目标是开发一个跨平台的AI聊天和其他功能的客户端平台。目的来学习和了解Avalonia。将这个项目部署在openKylin 1.0 的系统上。
为什么使用Avalonia:之前已经了解了基于Aval
引言
众所周知,使用线程可以极大的提高应用程序的效率和响应性,提高用户体验,但是不可以无节制的使用线程,为什么呢?
线程的开销
线程的开销实际上是非常大的,我们从空间开销和时间开销上分别讨论。
线程的空间开销
线程的空间开销来自这四个部分:
线程内核对象(Thread Kernel Object
1.什么是接口
接口可以认为是一种规范,它是一种类的构建规范,它里面定义了一系列的方法和类型,但是没有具体的实现,需要继承它的类去自我实现
2.接口的定义
使用 VS2022 在解决方案管理器这里,添加新建项
在添加新建项模板这里,选择接口
最后创建出来的接口如下
using System;
us
之前的大部分内容,其实都是面向对象语言的共性,而这次的委托是 C# 特有的内容
1.委托的定义
C# 中的委托可以理解为函数的包装,它使得 C# 中的函数可以作为参数来传递(类似于JavaScript中的高级函数),作用上相当于C++中的函数指针,C++用函数指针获取函数的入口地址,然后通过这个指
一:背景
1. 讲故事
这篇文章源自于分析一些疑难dump的思考而产生的灵感,在dump分析中经常要寻找的一个答案就是如何找到死亡线程的生前都做了一些什么?参考如下输出:
0:001> !t
ThreadCount: 22
UnstartedThread: 0
Backgrou
一、概述
面对数字化浪潮,MOM需求迈入上升期,数字化从“可选项”变成了企业竞争“必选项”。制造行业每个工厂的生产逻辑都不尽相同,流程的梳理、数据统一化都需要调配很长时间。
对于制造企业来说一套快速构建业务的平台,看起来是解决制造行业“每个工厂生产逻辑不同”问题的良方。企业的数字化成长之路分为三个
C# 是面向对象的语言,每次到这里就会有一个问题,什么是对象,其实一句话就可以解释,那就是——万物皆是对象,这句话就像 “如来”一样抽象,其实,我们无须在这上面耗费太大的精力,我们随着学习的深入,对象的概念自然会深入到脑海中
所有面向对象的编程语言都有以下三个基础特征
封装——把客观的事物封装成类
基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发1-通用框架
Avalonia简介:
Avalonia是.NET的一个跨平台UI框架,提供了一个灵活的样式系统,支持广泛的操作系统,如Windows、Linux、macOS,并对Android、iOS和WebAssembly
引言
yield关键字是 C# 中的一种语言特性,用于在枚举器中简化迭代器的实现。它使得开发人员可以通过定义自己的迭代器来简化代码,而不必手动实现 IEnumerable 和 IEnumerator 接口。
使用 yield 关键字,可以将迭代器中的值一次一个地返回,而不必使用一个集合对象存储所
引言
上文编码技巧 --- 同步锁对象的选定中,提到了在C#中,让线程同步有两种方式:
锁(lock、Monitor等)
信号量(EventWaitHandle、Semaphore、Mutex)
加锁是最常用的线程同步的方法,就不再讨论,本篇主要讨论使用信号量同步线程。
WaitHandle介绍
一:背景
1. 讲故事
如果要分析 Linux上的 .NET程序 CPU 爆高,按以往的个性我肯定是抓个 dump 下来做事后分析,这种分析模式虽然不重但也不轻,还需要一定的底层知识,那有没有傻瓜式的 CPU 爆高分析方式呢?
相信有很多朋友知道 B站713事件,最终就是用 perf 找到了那个让