步、步、为营_社区达人页

个人头像照片
步、步、为营
已加入开发者社区1066

勋章 更多

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

成就

已发布67篇文章
12条评论
已回答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

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