c# 在流行度指数上将超过java-编程思维

2023年10月最新的TIOBE编程语言流行指数表明:C#和Java之间的差距从未如此之小,目前,差异仅为1.2%,如果趋势保持这种状态,C#将在大约2个月内超过Java,TIOBE Software首席执行官Paul Jansen的认为,C#的崛起是以牺牲Java为代价的 - Oracle和Kotlin是Java衰落的主要因素。TIOBE指数每月跟踪编程语言的流行程度,使用的方法考虑了多个来源

excelpatterntool 开箱即用的excel工具包现已发布!-编程思维

目录ExcelPatternTool功能特点:快速开始使用说明常规类型高级类型Importable注解Exportable注解IImportOption导入选项IExportOption导出选项单元格样式StyleMapping样式映射使用数据库作为数据源示例Sample1:不同类型字段导出Sample2:高级类型导入和导出Sample3:员工健康体检工具已知问题作者信息License项目地址

aspnetcore微服务之间grpc通信,无proto文件-编程思维

aspnetcore微服务之间通信grpc,一般服务对外接口用restful架构,HTTP请求,服务之间的通信grpc多走内网。 以前写过一篇grpc和web前端之间的通讯,代码如下: exercisebook/grpc/grpc-web at main · liuzhixin405/exercisebook (github.com)   本次是微服务之间的通信使用了开源软件MagicOnion

[maui]深入了解.net maui blazor与vue的混合开发-编程思维

@目录Vue在混合开发中的特点创建MAUI项目创建Vue应用使用element-ui组件库JavaScript和原生代码的交互传递根组件参数从设备调用Javascript代码从Vue页面调用原生代码读取设备信息项目地址 .NET MAUI结合Vue的混合开发可以使用更加熟悉的Vue的语法代替Blazor语法,你现有项目不必重写。之前写过一篇[MAUI] 在.NET MAUI中结合Vue实现混合开

如何通过sk集成chatgpt实现dotnet项目工程化?-编程思维

智能助手服务 以下案例将讲解如何实现天气插件 当前文档对应src/assistant/Chat.SemanticServer项目 首先我们介绍一下Chat.SemanticServer的技术架构 SemanticKernel 是什么? Semantic Kernel是一个SDK,它将OpenAI、Azure OpenAI和Hugging Face等大型语言模型(LLMs)与传统的编程语言如C#、

详解.net依赖注入中对象的创建与“销毁”-编程思维

在DI容器中注册类型,DI容器就可以帮我们创建类型的实例;如果注册类型实现了IAsyncDisposable或者IDisposable接口,对象销毁时DI容器还会帮我们调用DisposeAsync或Dispose方法。这是如何实现的呢?一起来看看吧。本文是基于Dependency Injection 8.0编写。如果已熟练使用,可以直接从第三节开始观看。 功能演示 说明:对象的销毁由GC管理,这

使用docker buildx 为 .net 构建多平台镜像-编程思维

.NET 团队有一篇博客 改进多平台容器支持, 详细介绍了.NET 7 以上的平台可以轻松的使用Docker buildx 工具构建多平台的镜像。 buildx 是 Docker 官方提供的一个构建工具,它可以帮助用户快速、高效地构建 Docker 镜像,并支持多种平台的构建。使用 buildx,用户可以在单个命令中构建多种架构的镜像,例如 x86 和 ARM 架构,而无需手动操作多个构建命令。

基于.net 的 avaloniui 多媒体播放器方案汇总-编程思维

基于.Net 的 AvaloniUI 多媒体播放器方案汇总 摘要 随着国产化的推进,相信.Net的桌面端的小伙伴的可能已经有感受到了。 为了让.Net的桌面框架能够跨桌面平台,首选的就是Avalona-UI。 为了让AvaloniaUI能够跨多个平台播放视频,这里测试主要播放视频形式是使用RTSP。 所以,在这篇博文中,我打算对目前的Avalonia-UI框架上播放RTSP的方式,对现有的开源解

et8开发微信小游戏之部署云服务器nginx代理-编程思维

最近用ET8搞微信小游戏测试,部署到云服务器,手机上运行,必须要用https备案过得域名,客户端使用websocket创建必须要wss开头,服务端部分通过Nginx进行https通信之后转发到云服务器的内网ET服,表格配置部分如下,当前我使用端口4xxx系列,对应服务端映射之后的3xxx端口。  代码部分,C2R_LoginHandler返回给客户端连接gate的端口需要改为用RewriteP

聚集索引与非聚集索引的总结-编程思维

官方说法:   聚集索引   一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。  聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。         聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包

设计模式之 observer pattern观察者模式-编程思维

观察者模式Observer    Observer模式为组件向相关接收方【广播】消息提供了灵活的方法;    该模式定义了对象一到多的依赖关系,这样当对象改变状态时,将自动通知并更新他所有的依赖对象;    优点        抽象了主体与Observer之间的耦合关系;        支持广播方式的通信    适用        对一个对象的修改涉及其他对象的修改,而且不知道有多少对象需要进行

.net 8 rc 2 发布,将在11月14日发布正式版-编程思维

微软2023-10-10 发布了 .NET 8 RC 2,下一站是.NET 8正式发布,就在下个月Net Conf 2023[1](11月14日)期间正式发布,我们也开始筹备第四届中国.NET开发者峰会了。 经过长达一年时间的开发,.NET 8 规划的所有主要的新功能都已推出,.NET 8 及其所有组件现在距离正式发布还有一个月的时间,接下来一个月,开发团队主要专注于通过改进功能和修复错误而不是

.net 8 rc 2 发布,将在11月14日发布正式版-编程思维

微软2023-10-10 发布了 .NET 8 RC 2,下一站是.NET 8正式发布,就在下个月Net Conf 2023[1](11月14日)期间正式发布,我们也开始筹备第四届中国.NET开发者峰会了。 经过长达一年时间的开发,.NET 8 规划的所有主要的新功能都已推出,.NET 8 及其所有组件现在距离正式发布还有一个月的时间,接下来一个月,开发团队主要专注于通过改进功能和修复错误而不是

.net 8 候选版本 2 (rc2) 现已可用-编程思维

.NET 8 候选版本 2 (RC2) 现已可用,并包含了许多 ASP.NET Core 的出色新改进! 这是我们计划在今年晚些时候发布的最终 .NET 8 版本之前分享的最后一个候选版本。.NET 8 计划中的大部分功能和更改都已包含在此候选版本中,随时供您试用。您可以在文档中找到 .NET 8 中 ASP.NET Core 的新功能 的完整列表。 以下是此预览版本的新功能摘要: 服务器和中

.net静态代码织入——肉夹馍(rougamo)发布2.0-编程思维

肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应用启动的初始化时间让服务更快可用,同时还能对静态方法进行AOP。 摆烂半年又一更,感谢各位的支持,那么就不说废话了,下面开始介绍2.0推出的新功能吧。对于首次接触肉夹馍的朋友,可以先查看我之前的文章

debian12安装.net7 sdk-编程思维

Debian,作为最受欢迎的 Linux 发行版之一,于 2023 年 6 月 10 日正式发布了其最新版本 Debian 12,代号“Bookworm”。Debian 12 带来了许多新特性和改进,其中最引人注目的是 Linux 内核的升级,从之前的 5.10 LTS 升级到了 6.1。 这两天尝试了一下Debian12。准备配置一个开发环境,将各类jdk,sdk,db等安装一遍,有需要的可以

设计模式之 template method模版方法-编程思维

Template Method模式提供了不重写方法的前提下,允许子类重载部分方法的方法; 在操作中定义算法的框架,将一些步骤由子类实现,该模式可以再不修改算法结构的情况下,让子类重新定义算法的特定步骤; 优点: 代码重用的基础技术; 适用: 想要一次实现算法的不变部分,而使用子类实现算法的可变行为; 当子类间的通用行为需要分解、定位到通用类的时候,这样可以避免代码重复的问题;   示例代码C#:

设计模式之 state pattern状态模式-编程思维

State模式允许对象在内部状态变化时,变更其行为,并修改其类; 优点: 定位指定状态的行为,并且针对不同状态来划分行为,使状态转换显式进行; 适用: 对象的行为依赖于其状态,并且该对象必须在运行时根据其状态修改其行为; 操作具有大量的以及多部分组成的取决于对象状态的条件语句;   /// <summary> /// 银行类,白天来银行的是客户,晚上来银行的是窃贼

c#使用ikvm黑科技无缝接入jvm生态-编程思维

前言 时间过得飞快,一转眼国庆假期也要过去了,再不更新博客就太咸鱼了…… 最近在开发AIHub的时候想找个C#能用的命名实体识别库,但一直没找到,AI生态方面C#确实不太丰富,这块还是得Python,但我又不想跟LLM一样用gRPC的方式来调用,感觉有点麻烦。 这时候发现好像JVM生态有不少这类NLP工具,比如 Standford NLP 、HanLP这类。所以就想到之前在网上看到的iKvm,我