qsnn1234-37468_社区达人页

个人头像照片
qsnn1234-37468
已加入开发者社区1123

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布67篇文章
24条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

专注于.NET领域教程,WPFASP.NET Core

暂无精选文章
暂无更多信息

2024年05月

  • 03.01 10:46:23
    发表了文章 2024-03-01 10:46:23

    Blazor系统教程

    基于.net8的Blazor系统教程

2023年10月

  • 10.10 10:19:45
    发表了文章 2023-10-10 10:19:45

    WPF列表性能提高技术

    WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自`ItemsControl`的控件都支持该技术。

2023年08月

2023年03月

  • 03.08 12:06:08
    发表了文章 2023-03-08 12:06:08

    Blazor_WASM之4:路由

    Blazor_WASM之4:路由
  • 03.07 14:53:21
    发表了文章 2023-03-07 14:53:21

    Blazor_WASM之3:项目结构

    Blazor WebAssembly项目模板可选两种,Blazor WebAssemblyAPP及Blazor WebAssemblyAPP-Empty
  • 03.06 16:57:45
    发表了文章 2023-03-06 16:57:45
  • 03.06 16:56:14
    发表了文章 2023-03-06 16:56:14

    Blazor_WASM之2:Razor语法

    Razor 是一种标记语法,用于将基于 .NET 的代码嵌入网页中。 Razor 语法由 Razor 标记、C# 和 HTML 组成。 Razor 可在 Razor 组件 文件 (.razor) 中找到。 Razor 语法类似于各种 JavaScript 单页应用程序 (SPA) 框架(如 Angular、React、VueJs 和 Svelte)的模板化引擎,本文针对Razor文件介绍Razor常用语法。
  • 03.03 21:52:33
    发表了文章 2023-03-03 21:52:33

    变量进阶(理解)

    * 变量 和 数据 都是保存在 **内存** 中的 * 在 `Python` 中 **函数 的 参数传递** 以及 **返回值** 都是靠 **引用** 传递的
  • 03.03 21:43:42
    发表了文章 2023-03-03 21:43:42

    高级变量类型

    Python 中数据类型可以分为 **数字型** 和 **非数字型**
  • 03.03 21:40:56
    发表了文章 2023-03-03 21:40:56

    函数基础

    * 所谓**函数**,就是把 **具有独立功能的代码块** 组织为一个小模块,在需要的时候 **调用** * 函数的使用包含两个步骤: 1. 定义函数 —— **封装** 独立的功能 2. 调用函数 —— 享受 **封装** 的成果 * **函数的作用**,在开发程序时,使用函数可以提高编写的效率以及代码的 **重用**
  • 03.03 21:28:14
    发表了文章 2023-03-03 21:28:14

    面向对象(OOP)、类的基本概念

    面向对象基本概念 - 我们之前学习的编程方式就是 **面向过程** 的 - **面相过程** 和 **面相对象**,是两种不同的 **编程方式**
  • 03.03 21:25:28
    发表了文章 2023-03-03 21:25:28

    Anaconda+VSCode+QT Designer配置PyQt5环境

    本文使用Anaconda+VSCode配置PyQt5环境,在开始之前新建Anaconda的虚拟环境,如果不需要虚拟环境可以直接使用默认的Base环境。另外针对ui文件转py文件报错ImportError: DLL load failed: 找不到指定的模块给出了解决办法
  • 03.03 21:22:30
    发表了文章 2023-03-03 21:22:30

    函数进阶

    函数根据 **有没有参数** 以及 **有没有返回值**,可以 **相互组合**,一共有 **4 种** 组合形式 1. 无参数,无返回值 2. 无参数,有返回值 3. 有参数,无返回值 4. 有参数,有返回值
  • 03.03 14:48:32
    发表了文章 2023-03-03 14:48:32

    循环

    在程序开发中,一共有三种流程方式: 顺序** —— **从上向下**,顺序执行代码 分支** —— 根据条件判断,决定执行代码的 **分支** 循环** —— 让 **特定代码 重复** 执行
  • 03.03 14:44:57
    发表了文章 2023-03-03 14:44:57

    判断(if)语句

    判断的定义 * 如果 **条件满足**,才能做某件事情, * 如果 **条件不满足**,就做另外一件事情,
  • 03.03 09:46:39
    发表了文章 2023-03-03 09:46:39

    算数运算符

    在 Python 中 `*` 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果。`+`运算符可以让两个字符串相加
  • 03.02 16:11:11
    发表了文章 2023-03-02 16:11:11

    认识 Python

    人生苦短,我用 Python —— Life is short, you need Python
  • 03.02 11:50:21
    发表了文章 2023-03-02 11:50:21

    VSCode配置Anaconda 环境

    ## Anaconda 简介 + 自带Python解释器 + Anaconda 附带了一大批常用数据科学包 + 150 多个科学包及其依赖项 + Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的,包含了虚拟环境管理工具 + 通过虚拟环境可以使不同的Python或者开源库的版本同时存在
  • 03.02 11:19:57
    发表了文章 2023-03-02 11:19:57

    分页

    1. program中注册`builder.Services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();` 2. 控制器中增加依赖
  • 03.02 11:16:56
    发表了文章 2023-03-02 11:16:56

    JWT

    nuget安装`Microsoft.AspNetCore.Authentication.JwtBearer`
  • 03.02 10:59:06
    发表了文章 2023-03-02 10:59:06

    patch使用

    + put:对所有资源进行更新 + patch:对部分资源进行更新 put使用方法和post相同,但是put是幂等的。
  • 03.02 10:42:28
    发表了文章 2023-03-02 10:42:28

    API传参

    在操作方法的参数前面使用Attribute
  • 03.02 10:38:54
    发表了文章 2023-03-02 10:38:54

    Restfule

    + 无状态 + 面向资源,即访问地址时使用的是名词形式 + 使用HTTP动词
  • 03.01 15:12:31
    发表了文章 2023-03-01 15:12:31

    C#/.net程序调用python

    C#的优势在于window下的开发,不仅功能强大而且开发周期短。而python则有众多的第三方库,可以避免自己造轮子,利用C#来做界面,而具体实现使用python来实现可以大大提高开发效率。本文介绍如何使用`pythonnet`来执行python脚本,使用`pythonnet`既可以具有较高的交互性,又可以使用第三方python库,同时可以将程序需要的python环境及第三方库打包到软件中,避免用户进行python的环境配置。

2023年02月

  • 02.23 15:42:17
    发表了文章 2023-02-23 15:42:17

    SignalR服务器端消息推送

    某些场景下,需要服务端向客户端发送请求。.net中采用封装了WebSocet的SignalR进行消息的处理。WebSocket独立于http,但是WebSocket服务器一般都部署在Web服务器上,所以需要借助http完成初始握手,并共享http的端口。
  • 02.23 15:37:58
    发表了文章 2023-02-23 15:37:58

    9.3DDD之集成事件

    和领域事件不同,集成事件主要用于在微服务之间进行事件传递,即可能在多个服务器之间进行通信。本文讲解`RabbitMQ`中间件来完成集成事件的处理。
  • 02.23 15:33:31
    发表了文章 2023-02-23 15:33:31

    9.2领域事件

    领域(近似理解为实现某个功能的多个模型)事件可以切断领域模型之间的强依赖关系,事件发布后,由事件的处理者决定如何响应事件,以便于实现事件发布和事件处理的解耦。
  • 02.23 15:30:21
    发表了文章 2023-02-23 15:30:21

    9.1充血模型和贫血模型

    贫血模型:一个类中只有属性或者成员变量 充血模型:一个类中除了属性和成员变量,还有方法
  • 02.21 14:29:41
    发表了文章 2023-02-21 14:29:41

    MVVMToolkit入门教程

    MVVMLight已经停止维护,可以考虑MVVMToolkit来替代,MVVMToolkit官方文档两个框架的基本使用方法类似,下面介绍一下不同之处(建议查看一下上一篇关于MVVMLight的文章)。
  • 02.21 14:27:12
    发表了文章 2023-02-21 14:27:12

    MvvmLight入门教程

    MvvmLight是一款应用广泛的MVVM框架
  • 02.21 14:07:54
    发表了文章 2023-02-21 14:07:54

    8.5请求数据校验

    为了提高响应速度,一般在前端界面需要进行数据校验,但是在后端也需要对数据进行校验,以防止不正常的数据传入后台。 .net内置在`System.ComponentModel.DataAnnotations`命名空间下定义了很对检验规则`Attribute`,如[Required]表示必须为非空,[EmailAddress]表示必须为邮箱格式,[RegularExpression]可以用正则对数据进行限制,但是这样模型类和检验规则耦合性很强,不推荐使用。
  • 02.21 14:00:14
    发表了文章 2023-02-21 14:00:14

    8.4 托管服务

    有些工作是需要后台运行的,比如每天凌晨备份数据库。ASP.NET Core提供了托管服务来供我们编写后台代码。 托管服务只需要实现`IHostedService`即可,一般在开发时编写继承自`BackgroundService`的类,该类不进实现了`IHostedService`接口,并且处理了任务取消等逻辑,我们只需实现`BackgroundService`中定义的`ExecuteAsync`方法即可。
  • 02.21 13:36:17
    发表了文章 2023-02-21 13:36:17

    8.3JWT提前撤回

    当遇到用户被删除、用户在另一个设备上登陆等场景需要将JWT提前撤回,但是JWT是保存在客户端,无法在服务器中进行删除。 解决思路是在用户表中增加一列JWTVersion,用来存储最后一次发放出去的令牌版本号,每次登陆、发放令牌的时候都让JWTVersion自增,当服务器收到客户端提交的JWT后,将客户端的JWTVersion和服务器的进行比较,如果客户端的值小于服务器中的值则过期
  • 02.20 19:56:49
    发表了文章 2023-02-20 19:56:49

    8.2 JWT(代替Session)

    经典的保持登陆状态的办法是Session,也就是用户登陆后,服务器产生唯一标识SessionId,并把SessionId和登陆的用户信息保存在服务器内存中,通时将SessionId发送给浏览器,当浏览器再次访问的时候,http请求中便携带了SessionId,服务器根据该Id在内存中取到用户信息,实现了登陆功能。
  • 02.20 19:48:02
    发表了文章 2023-02-20 19:48:02

    8.1标识框架

    ASP.NET Core提供了标识框架,采用RBAC(基于角色的访问控制),内置了对用户、角色等表的管理及相关接口,框架中提供了`IdentityUser<TKey>`和`IdentityRole<TTKey>`两个实体类型,Tkey为主键类型。
  • 02.17 13:38:12
    发表了文章 2023-02-17 13:38:12

    7.6中间件

    ASP.NET Core只是完成了HTTP请求调度、报文解析等必要的工作,像检查用户身份、设置缓存报文头等操作都是在中间件中完成,中间件就是ASP.NET Core的一个组件,由前逻辑、next、后逻辑3部分组成,多个中间件组成一个管道,一个系统中可以有多个管道。ASP.NET Core执行的过程就是http请求和响应按照中间件组装的顺序在中间件之间流转的过程。
  • 02.17 13:37:26
    发表了文章 2023-02-17 13:37:26

    7.5筛选器(过滤器)

    筛选器运行开发人员在ASP.NET Core特定的位置执行我们自己的代码,比如在控制器的操作方法之前执行数据检查,或者在ActionResult执行的时候向响应报文头中加入自定义数据。
  • 02.17 13:36:35
    发表了文章 2023-02-17 13:36:35

    7.4缓存

    缓存是一个用来保存数据的区域,从缓存中读取数据要比从数据源读取数据的速度快很多。如果可以从缓存中获取要获取的数据则称之为“缓存命中”,多次请求命中的请求占全部请求的百分比叫做“命中率”,如果数据源中的数据保存到了缓存后,发生了变化则称之为“缓存数据不一致”
  • 02.17 13:35:30
    发表了文章 2023-02-17 13:35:30

    7.3EF Core与ASP.NET Core集成

    7.3EF Core与ASP.NET Core集成
  • 02.17 13:34:35
    发表了文章 2023-02-17 13:34:35

    7.2配置系统与ASP.NET Core集成

    7.2配置系统与ASP.NET Core集成
  • 02.17 13:33:55
    发表了文章 2023-02-17 13:33:55

    7.1ASP.NET Core中的依赖注入

    ASP.Net中Program.cs文件中,第一行var builder = WebApplication.CreateBuilder(args)返回的类型为WebApplicationBuilder类型,在该类型中Services属性为IServiceCollection类型,也就是容器接口,一般把服务都注册到这个Service属性里面
  • 02.17 13:32:58
    发表了文章 2023-02-17 13:32:58

    6.3 ASP.NET Core Web API技术选择

    ASP.NET Core Web API技术选择
  • 02.17 13:31:44
    发表了文章 2023-02-17 13:31:44

    6.2 Restful

    讲解HTTP开发中Restful风格
  • 02.17 13:30:14
    发表了文章 2023-02-17 13:30:14

    6.1 ASP.NET Core Web 入门

    ASP.NET Core中,严格来讲只有一个Asp.net Core MVC一个框架,Asp.net Core MVC既支持基于视图的MVC开发,也支持Web API和Razor Pages开发。
  • 02.16 16:18:36
    发表了文章 2023-02-16 16:18:36

    WPF MVVM系统入门-下

    本文详细讲解WPF,MVVM开发,实现UI与逻辑的解耦。
  • 02.16 16:17:57
    发表了文章 2023-02-16 16:17:57

    WPF MVVM系统入门-上

    本文详细讲解WPF,MVVM开发,实现UI与逻辑的解耦。
  • 02.16 10:42:09
    发表了文章 2023-02-16 10:42:09

    5.3表达式树

    表达式树对应`Expression<TDelegate>`类型,从Lambda表达式生成表达式树
  • 02.16 10:40:44
    发表了文章 2023-02-16 10:40:44

    5.2 EF Core性能优化

    上文讲了实体类的跟踪以便执行SaveChanges操作。但是如果是查询操作,则实体类便不需要进行跟踪。
  • 02.16 10:38:55
    发表了文章 2023-02-16 10:38:55

    5.1EF Core原理

    对普通集合使用where等方法查询出来的返回值为IEnumerable类型 但是对DbSet使用用where等方法出查询出来的返回值为IQueryable类型
  • 发表了文章 2024-05-15

    Blazor系统教程

  • 发表了文章 2023-10-10

    WPF列表性能提高技术

  • 发表了文章 2023-08-30

    QT基础教程之四QMainWindow

  • 发表了文章 2023-03-08

    Blazor_WASM之4:路由

  • 发表了文章 2023-03-07

    Blazor_WASM之3:项目结构

  • 发表了文章 2023-03-06

    Blazor_WASM之1:Blazor概述

  • 发表了文章 2023-03-06

    Blazor_WASM之2:Razor语法

  • 发表了文章 2023-03-03

    变量进阶(理解)

  • 发表了文章 2023-03-03

    高级变量类型

  • 发表了文章 2023-03-03

    函数基础

  • 发表了文章 2023-03-03

    面向对象(OOP)、类的基本概念

  • 发表了文章 2023-03-03

    Anaconda+VSCode+QT Designer配置PyQt5环境

  • 发表了文章 2023-03-03

    函数进阶

  • 发表了文章 2023-03-03

    循环

  • 发表了文章 2023-03-03

    判断(if)语句

  • 发表了文章 2023-03-03

    算数运算符

  • 发表了文章 2023-03-02

    认识 Python

  • 发表了文章 2023-03-02

    VSCode配置Anaconda 环境

  • 发表了文章 2023-03-02

    分页

  • 发表了文章 2023-03-02

    JWT

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息