周刊2023 net 12

真正“搞”懂HTTP协议12之缓存代理

我们在前两篇的内容中分别学习了缓存和代理,大致了解了缓存有哪些头字段,代理是如何服务于服务器和客户端的,那么把两者结合起来,代理缓存,也就是说代理服务器也可以缓存,当客户端请求数据的时候,未必一定要追溯到源服务器上,代理服务器就可以直接把缓存的数据返回给客户端。并且,HTTP的缓存,大多数其实都是由 ......
缓存 HTTP

2023 年该学点什么技术?「GitHub 热点速览 v.23.03」

春节期间,小鱼干读了一篇万字回顾数据库行业的文章,在文字缝隙里我看见了两个词:AI+ 和数据两个词(当然数据是废话,毕竟是一个数据库的回顾文)。在 GitHub 上热点趋势上,可见到 AI+ 的身影,几乎百分之九十迅速蹿红的项目都同 AI 相关。所以在兔年的开头,本期收录一些入门 AI 的项目,希望 ......
热点 GitHub 23.03 技术 2023

12.ThreadLocal的那点小秘密

大家好,我是王有志,今天我们来学习ThreadLocal的内容。本文将从源码的角度剖析ThreadLocal,并解答4道高频面试题,同时纠正一个“谣言”。 ......
ThreadLocal 秘密 12

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

ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析

AggregatingMergeTree引擎继承自 MergeTree,并改变了数据片段的合并逻辑。ClickHouse会将一个数据片段内所有具有相同主键(准确的说是排序键)的行替换成一行,这一行会存储一系列聚合函数的状态。 可以使用AggregatingMergeTree表来做增量数据的聚合统计, ......

2023年 .NET Monorepo 来了

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

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

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

CSS 3 所有的选择器整理(2023.2)

你知道的和你不知道的所有选择器。不包含尚未广泛实现的,也不包含已弃用的。 基本的选择器规则(Selector) 类型(Type)选择器 直接用标签匹配特定的元素 span { ... } p { ... } 类(Class)选择器 以.开头,匹配含有这个 class 的元素 .info { ... ......
2023.2 2023 CSS

.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

Ubuntu 22.04 GCC Arm 12.2.rel1编译 DAPLink

记录一下过程. Arm Mbed 应该属于Arm的机构或者是Arm资助的机构. 常用的 DAPLink 基本上都是从这个项目派生的. 仓库主要是使用 Keil, 对 GCC 的支持是 2020 年才正式合并进来的. Ubuntu 下使用 GCC Arm 编译 ......
DAPLink Ubuntu 22.04 rel1 GCC

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

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

深入解读.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

学习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

Docker不做虚拟化内核,对.NET有什么影响?

#引子 前两天刷抖音,看见了这样一个问题。 问题:容器化不做虚拟内核,会有什么弊端?Java很多方法会跟CPU的核数有关,这个时候调用系统函数,读到的是宿主机信息,而不是我们限制资源的大小。 思考:在我们.NET中是否也会出现这种问题呢? #环境准备 1. 准备程序 在我们.NET中,并行编程(Pa ......
内核 Docker NET

.Net6 使用 Ocelot + Consul 看这篇就够了

前言 卯兔敲门,新的一年,祝大家前‘兔’似锦!希望大家假后还能找到公司的大门 O(∩_∩)O !书接上文,我们使用了 Consul实现了服务注册与发现,对Consul不熟悉的同学可以先看看。这篇文章我们来学习Ocelot网关,在这之前我们首先得需要知道“什么是API网关?”,“为什么要选择Ocelo ......
Consul Ocelot Net6 Net

.Net6 微服务之Polly入门看这篇就够了

前言 O(∩_∩)O 大家好!书接上文,本文将会继续建立在 .Net6 使用 Ocelot + Consul 看这篇就够了 项目的基础上进行Polly的介绍,然后这篇文章只是个人学习与分享,不喜勿喷,谢谢! 什么是Polly? Polly 是一个 .NET 弹性和瞬态故障处理库,允许开发人员以流畅和 ......
Polly Net6 Net

.NET周报【1月第4期 2023-01-28】

由于微信公众号排版问题,建议大家在PC端浏览。 国内文章 C# 很少人知道的科技 https://blog.lindexi.com/post/C-%E5%BE%88%E5%B0%91%E4%BA%BA%E7%9F%A5%E9%81%93%E7%9A%84%E7%A7%91%E6%8A%80.html ......
周报 2023 NET 01 28