进程systemd linux net

C#实现聊天消息渲染、图文混排(支持Windows、Linux)

在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。那么有简单的实现办法吗?嗯,有的。 ......
Windows 消息 图文 Linux

ASP.NET Core - 入口文件

1. 入口文件 一个应用程序总有一个入口文件,是应用启动代码开始执行的地方,这里往往也会涉及到应用的各种配置。当我们接触到一个新框架的时候,可以从入口文件入手,了解入口文件,能够帮助我们更好地理解应用的相关配置以及应用的工作方式。 .Net Core 应用的入口文件是 Program.cs,这里是应 ......
入口 文件 Core ASP NET

ASP.NET Core - IStartupFilter 与 IHostingStartup

1. IStartupFilter 上面讲到的方式虽然能够根据不同环境将Startup中的启动逻辑进行分离,但是有些时候我们还会可以根据应用中的功能点将将一系列相关中间件的注册封装到一起,从 Startup 类中分离,单独进行维护,以便更清晰地管理我们的代码。 这时候我们可以实现 IStartupF ......
IHostingStartup IStartupFilter Core ASP NET

ASP.NET6 + Mongo + OData

准备工作 Docker环境 Mongo数据库 配置Mongo数据库 ASP.NET6 集成Mongo 安装MongoDB.Driver { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Wa ......
Mongo OData NET6 ASP NET

【ASP.NET Core】动态映射MVC路由

ASP.NET Core 中的几大功能模块(Razor Pages、MVC、SignalR/Blazor、Mini-API 等等)都以终结点(End Point)的方式公开。在HTTP管道上调用时,其扩展方法基本是以 Map 开头,如 MapControllers、MapBlazorHub。 对于 ......
路由 动态 Core ASP NET

.Net 7 高端玩法,自定义一个CLR运行时

前言: 曾几何时,一直想自己定制一个CLR运行时玩玩。本篇带你一步一步打造一个属于自己的.Net 7运行时。 概括 假设你的电脑已经安装了.Net,并且运行正常。在进行自定义运行时之前,首先需要准备三样东西。 其一: 找到你当前安装的.Net宿主目录,一般的默认目录都是: C:\Program Fi ......
玩法 高端 Net CLR

.NET 团队 更新了 .NET 语言策略

2023年2月6日 ,.NET团队在官方博客上发布了.NET 语言策略的更新文章,具体参见 https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/。微软在.NET平台上提供3种语言 - C#,F#和V ......
NET 团队 策略 语言

2023年 .NET Monorepo 来了

Monorepo(monolithic repository)是一种项目架构,简单来说就是,将多个项目或包文件放到一个git仓库来管理,很多前端项目vue3、element都是采用的这种架构模式。 之所以应用monorepo,主要是解决以下问题:代码复用的问题 。开发流程统一 。高效管理多项目/包。 ......
Monorepo 2023 NET

Asp.Net Core中利用过滤器控制Nginx的缓存时间

前言 Web项目中很多网页资源比如html、js、css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商品列表数据,公共配置数据等,这样就可以省去很多在服务端手动实现缓存的操作 最早资源缓存大部分都用Ex ......
过滤器 缓存 时间 Nginx Core

.NET与大数据

前言 当别人做大数据用Java、Python的时候,我使用.NET做大数据、数据挖掘,这确实是值得一说的事。 写的并不全面,但都是实际工作中的内容。 .NET在大数据项目中,可以做什么? 写脚本(使用控制台程序+顶级语句) 写工具(使用Winform) 写接口、写服务 使用C#写代码的优点是什么? ......
数据 NET

ASP.NET Core RESTful学习理解

一、了解什么是REST REST是“REpresentational State Transfer”的缩写 ,表述性状态传递;REST是一种软件架构风格,用于构造简单、可靠、高性能的WEB应用程序;REST中,资源(Resource)是最基本的概念,任何能够命名的对象都是一个资源,每个资源都有一个统 ......
RESTful Core ASP NET

在 Asp.Net Core 中什么是认证和授权

认证(Authentication) 和 授权(Authorization)在 Asp.Net core 充当了两个不同的职责。有的老伙计在理解的时候还存在误解。本文我们将会通过一些简单的例子来说明这两个概念。 ......
Core Asp Net

linux 基础(6)简单认识 bash

shell 和 bash 是什么? shell 是一种应用程序,在这个程序里输入文字指令,系统就会做出响应的操作。这个“壳程序”是我们使用系统各种功能的接口,学会了 shell 就是学会操作 linux 系统。检索/etc/shells,可以看到当前系统的 shell 有哪些。而 bash (Bou ......
基础 linux bash

linux 基础(7)账号和群组的管理

了解账号和群组的基本信息 账号使用 如何查看 linux 计算机上有哪些账号呢?账号的信息储存在/etc/passwd中,打开就可以看到: less /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologi ......
账号 基础 linux

.NET 6学习笔记(7)——ASP.NET Core通过配置文件启用HTTPS

本质上我还是一个Windows App Developer,所以虽然会做一些ASP.NET Core的工作,但通常这些ASP.NET Core的程序会托管在Windows Service上,并且大部分时候跑在局域网环境。说实话传统行业的Win DEV对Web这一套其实不怎么精通,今天我们来看一下AS ......
NET 文件 笔记 HTTPS Core

.NET 6学习笔记(6)——SSL证书的导出和格式转换

除了广阔的互联网,这个世界上还存在很多运行在公司内网的Web Application。假设有团队A提供的网站A,现团队B需要将网站B与之集成。网站A已使用了自签的SSL证书。团队B希望能够导出该SSL证书并转换成PEM格式,供Nginx配置给网站B使用。接着假设上述假设成立,世界上就是有这些奇奇怪怪 ......
证书 格式 笔记 NET SSL

Linux上安装jdk Tomcat mysql redis等

1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 或者这里有下载好的安装包:链接:https://pan.baid ......
Tomcat Linux mysql redis jdk

linux环境编程(3): 使用POSIX IPC完成进程间通信

1. 写在前面 之前的文章总结了使用管道进行进程间通信的方法,除了pipe和fifo,Linux内核还为我们提供了其他更高级的IPC方式,包括共享内存,消息队列,信号量等,本篇文章会通过一个具有完整逻辑功能的示例说明如何使用这些IPC方法。毕竟单纯地查手册,写代码...周而复始,这个过程还是比较枯燥 ......
进程 环境 linux POSIX IPC

ADG无法同步:TT00进程报错 Error 12514

环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步。 1.查看报错信息 2.oerr查看该错误说明 3.尝试sqlplus连接到standby 4.尝试relocate监听 5.继续排查发现是参数问题 6.总结和延伸 1 ......
进程 12514 Error ADG 00

linux 高效压缩工具之xz的压缩解压使用

xz是什么 高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比传统使用的 gzip、bzip2 生成的压缩文件更小, 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩主要用于归档,不介意的可以忽略。 擅长压缩文本和日志文件,针对这块的压缩率,是目前我发现效率最高的 ......
工具 linux

深入解读.NET MAUI音乐播放器项目(一):概述与架构

为什么想起来这个项目了呢?这是一个Windows Phone 8的老项目,2014年用作为兴趣写了个叫“番茄播放器”的App,顺便提高编程技能。这个项目的架构历经多次迁移,从WP8到UWP再到Xamarin.Forms。去年底随着MAUI的正式发布,又尝试把它迁移到MAUI上来。 ......
架构 播放器 项目 音乐 MAUI

.NET 入门到高级路线

.NET Web入门到高级路线 C# 基础语法 .NET Core 基础知识 ASP.NET Core基础知识概述 Blazor ASP.NET Core 官方文档 ORM FreeSql EntityFrameworkCore Dapper SqlSugar 关系型数据库 SQL Server M ......
路线 NET

.Net Core对于`RabbitMQ`封装分布式事件总线

首先我们需要了解到分布式事件总线是什么; 分布式事件总线是一种在分布式系统中提供事件通知、订阅和发布机制的技术。它允许多个组件或微服务之间的协作和通信,而无需直接耦合或了解彼此的实现细节。通过事件总线,组件或微服务可以通过发布或订阅事件来实现异步通信。 例如,当一个组件完成了某项任务并生成了一个事件 ......
分布式 总线 RabbitMQ 事件 Core

uni-app + .NET 7实现微信小程序订阅消息推送

微信小程序的订阅消息是小程序的重要能力之一,为实现服务的闭环提供更优的体验。订阅消息我们应该经常见到,比如下单成功之后的服务通知,支付成功后的支付成功通知,都属于小程序的订阅消息。 ......
uni-app 消息 程序 uni app

Linux音频采集和在国产化平台中遇到的坑(一)

最近在做一个国产化平台的软件项目的开发,是基于国产芯片的银河麒麟系统。其中有一个重要模块,是采集和播放音频数据,播放不用多说了,采集的话,包括采集麦克风和采集桌面系统声音。很多人都觉得银河麒麟不就是linux么,那不直接用ALSA就好了,我原本也是这么想的,但是实际开发下来才发现,还是有各种坑需要自... ......
音频 国产 Linux 平台

Linux音频采集和在国产化平台中遇到的坑(二)

ALSA采集这条路走不通,只能尝试其他途径,这里通过PulseAudio的接口成功实现了国产化平台上采集麦克风和系统声音的功能。 ......
音频 国产 Linux 平台

学习ASP.NET Core Blazor编程系列二十三——登录(2)

通过前面的ASP.NET Core Blazor编程系列文章为读者介绍了Blazor及组件的相关基础概念,以及我们已经实现了用Blazor实现对数据的增删改查这四大基本功能,通过这些功能的实现我们已经能用Blazor处理一些简单的实际问题,特别是企业内部信息管理系统的相关问题。 前面的ASP.NET... ......
Blazor Core ASP NET

学习ASP.NET Core Blazor编程系列二十四——登录(3)

虽然在上一篇文章(学习ASP.NET Core Blazor编程系列二十三——登录(2) )中我们制作出了登录页面,但那个登录页面,不符合我们平时使用的样式,需要进行修改,同时也没有实现登录验证。这一文章学习如何对Login.razor使用特有的布局组件,实现正常的登录样式,学习使用Authenti... ......
Blazor Core ASP NET

学习ASP.NET Core Blazor编程系列二十五——登录(4)

通过前面三篇文章的学习,我们虽然实现了登录功能,但那还不是我们希望的登录首页。 我们希望的登录功能,用户在登录图书租赁系统的时候,如果没有进行登录是无法看到任何功能菜单,并且页面一直显示登录页面。 ......
Blazor Core ASP NET

深度剖析 Linux 伙伴系统的设计与实现

在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: 但是当内核执行到 get_page_from_freelist 函数,准备进入伙伴系统执行具体内存分配动作的相关逻辑,笔者考虑到文章篇幅的原因,并没有过多的着墨,算是 ......
深度 伙伴 系统 Linux