C丶C魔女想睡觉
码龄13年
关注
提问 私信
  • 博客:23,550
    社区:1
    23,551
    总访问量
  • 14
    原创
  • 443,635
    排名
  • 13
    粉丝
  • 0
    铁粉

个人简介:菜鸟一枚

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2011-11-03
博客简介:

wukai1211的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得6次评论
  • 获得64次收藏
创作历程
  • 1篇
    2022年
  • 15篇
    2021年
  • 12篇
    2020年
成就勋章
TA的专栏
  • 高级课程
    10篇
  • .NET学习笔记
    15篇
  • Http
    1篇
  • dotnet
    1篇
  • CSS
    1篇
  • 架构
    1篇
  • Linux
    1篇
  • 计算机基础知识
    1篇
  • 微服务
    1篇
  • Docker
    1篇
  • C#基础语法学习笔记
    10篇
  • 设计模式
  • 学习记录
    2篇
  • C#基础
    2篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    架构
  • 微软技术
    c#.netasp.net
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C# Autofac学习笔记

一、为什么使用 Autofac?Autofac 是. NET 领域最为流行的 IoC 框架之一,传说是速度最快的一个。1.1、性能有人专门做了测试:1.2、优点1)与 C# 语言联系很紧密。C# 里的很多编程方式都可以为 Autofac 使用,例如可以使用 Lambda 表达式注册组件。2)较低的学习曲线。学习它非常的简单,只要你理解了 IoC 和 DI 的概念以及在何时需要使用它们。3)支持 JSON/XML 配置。4)自动装配。5)与 Asp.Net MVC 集成。
转载
发布博客 2022.04.28 ·
735 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

为什么HTTP Upgrade的时候,需要Connection: upgrade

很久之前,在看HTTP头部的时候,发现WebSocket等协议的Upgrade请求,需要同时带上Connection和Upgrade头部。但是,如果是仅仅Upgrade的话,Connection头部不就是多余的设计了么?比如一个典型的WebSocket升级请求如下: 123456 GET /chat HTTP/1.1Host: example.com:8000Upgrade: websocketConnection: UpgradeSec-WebS
转载
发布博客 2021.12.23 ·
5688 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

在 .NET Core 中使用 ViewConfig 调试配置

介绍.NET Core 中的配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileConfig 这些,然后从键值对中读取配置信息。在我们的程序中,我们有时需要知道一个配置是由哪一个Provider执行的,以及配置冲突导致我们的设置没有生效,在本文中,我们在.NET Core 程序中使用了ViewConfig组件来调试配置。安装通过Nuget搜索ViewConfig,然...
原创
发布博客 2021.04.09 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSS浮动(float,clear)通俗详解

很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程。 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家。写在前面的话: 由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解。 如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你。 小菜水平有限,本文仅仅是入门教程,不当之处请谅解! 本文以div元素布局为例。...
转载
发布博客 2021.03.28 ·
347 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

架构图怎么画

一、前言很多程序员画架构图头疼,不知道画什么、怎么画!分享、评审、述职、答辩,只要你在程序员这个行业,就几乎离不开要画图。一提到画图很多人就想站会起来喊,”内卷 “、” 内卷啦“、”PPT 工程师“,但程序代码本身就是一种数学逻辑的具体实现,如果没有一些图表配合文字的阐述,讲真很难让所有人都能在共同的共识下进行交流。这不像是文科,” 八表流云澄夜色,九霄华月动春城 “ 上来就能联想到它是在描述啥。但是偏理科代码逻辑或架构设计,只能把抽象的内容用图表的形式展现出来,让大家在同一的共识下共同协同
转载
发布博客 2021.03.23 ·
1360 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux的进程、线程、文件描述符是什么

说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别。Linux 中的进程就是一个数据结构,看明白就可以理解文件描述符、重定向、管道命令的底层工作原理,最后我们从操作系统的角度看看为什么说线程和进程基本没有区别。一、进程是什么首先,抽象地来说,我们的计算机就是这个东西:这个大的矩形表示计算机的内存空间,其中的小矩形代表进程,左下角的圆形表示磁盘,右下角的图形表示一些输入输出设备,比如鼠标键盘显示器等等。另外,注意到.
转载
发布博客 2021.03.23 ·
282 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

不伦不类的微服务改造:分布式单体

昨晚睡觉前,顺手撸了几个群聊的聊天记录。发现一个很有意思的名词“分布式单体”,顺藤摸瓜看了一下之前的聊天记录,由于内容骂骂咧咧,我就不贴出来了。。。大致内容就是某公司在做微服务改造,但改的不伦不类,形式上像微服务,而本质上依然是单体,甚至连单体都不如。这样的改造现象,其实在国内还是蛮多见的。下面就来聊聊这个有趣的话题:分布式单体。各位看官,看看你们公司是不是也犯了这样的错误?分布式单体为什么不好先思考一个问题:从单体改造到微服务的时候,你们是不是按这样的步骤来的?确定业务领域,拆分存储,定义
转载
发布博客 2021.03.12 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Task.CompletedTask和Task.Result小记

在任何返回Task的方法中,如果可以在不进行异步的情况下计算结果,则最好避免使用Task.Run。例如,一个简短的计算函数,或者测试中返回了一个预先计算过的结果,则无需使用Task.Run。例如,定义了一个返回Task的接口方法,但是在实现中,并没有特别耗时的代码public interface IComputer { Task Do(); Task<string> DoString();}一般我们会这样实现。即使实现中代码很简短。..
转载
发布博客 2021.03.11 ·
553 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Task.Yield()和Task.CompletedTask有什么不同

有时候我们在代码中要执行一些非常耗时的操作,我们不希望这些操作阻塞调用线程(主线程)的执行,因为调用线程(主线程)可能还有更重要的工作要做,我们希望将这些非常耗时的操作由另外一个线程去执行,这个时候就可以用到await Task.Yield(),它借助了C# 5.0中的异步函数关键字await async,将await关键字之后的代码交由线程池中的另一个线程执行(前提是项目的SynchronizationContext.Current为null)。那么有同学可能会纳闷,await Task.Yield(
转载
发布博客 2021.03.11 ·
3325 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

理解ValueTask和ValueTask<TResult>

本文译自微软开发博客《Understanding the Whys, Whats, and Whens of ValueTask》一文,仅在知乎平台发布。转载请注明原文链接、本文链接和译者(知乎用户@叶影)。 本文不是对原文内容的严格翻译,例如会适当略过一些背景介绍的段落、无关紧要的片段、过渡性的语句;此外还会在尽可能保证理解正确的基础上意译部分内容,如有不当,希望读者不吝赐教。 原文评论区有一些精彩的读者提问和作者回答(比如文末话题的进一步深入:“IAsycEnumerable异步完成的场景下为什..
转载
发布博客 2021.03.11 ·
737 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

在.NET Core中使用Channel(三)——理解反压力(Understanding Back Pressure)

到目前为止,我们一直在使用所谓的“Unbounded”通道。你会注意到,当我们创建通道时,我们这样做:var myChannel = Channel.CreateUnbounded<int>();但实际上,我们可以这样做:var myChannel = Channel.CreateBounded<int>(1000);这与创建容量有限的列表或数组等其他集合类型并无太大差别。在我们的示例中,我们创建了一个最多容纳1000项的Channel。但为什么要限制自己呢?这就
翻译
发布博客 2021.03.09 ·
660 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在.NET Core中使用Channel(二)——高级用法

在我们之前的文章中,看了一些非常简单的例子来说明Channel是如何工作的,我们看到了一些非常漂亮的特性,但大多数情况下它与其他某某Queue实现非常相似。让我们进入一些更高级的话题。我说的是高级,但其中很多都非常简单。读/写分离如果你曾经在两个类之间共享队列,你就会知道任何一个类都可以读/写,即使它们本不应该这样做。例如:class MyProducer{ private readonly Queue<int> _queue; public MyProd
翻译
发布博客 2021.03.09 ·
987 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

在.NET Core中使用Channel(一)——初步了解

我最近一直在熟悉.net Core中引入的新Channel<T>类型。我想在它第一次发布的时候我了解过它,但是有关文章非常非常少,我不能理解它们与其他队列有什么不同。在使用了一段时间后,我终于看到了它们的吸引力和真正的力量。最值得注意的是大型异步后台操作,这些操作几乎需要双向通信来同步它们正在做的事情。这句话有点拗口,但希望在本系列文章结束时,你会清楚什么时候应该使用Channel<T>,什么时候应该使用一些更基本的东西,比如Queue<T>。Channel是什
翻译
发布博客 2021.03.09 ·
1198 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

计算机网络复习笔记

目录目录目录 1 计算机网络概述 1.1 网络概念 1.2 数据交换方式 1.3 网络分类 1.4 网络的性能指标 1.5 网络体系结构 1. 概念 2. OSI参考模型 1 物理层 2 数据链路层 3 网络层 4 传输层 5 会话层 6 表示层 7 应用层 通信过程 数据封装 网络排错 3. TCP/IP参考模型 4. 5层参考模型 5层结构 数据封装.
转载
发布博客 2021.03.04 ·
904 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

API Gateway 网关

API Gateway的作用API Gateway的架构API Gateway:网关,统一应用请求接口.API 网关在微服务们的最前端,让 API 网关变成由应用所发起的每个请求的入口,简化客户端实现和微服务应用程序间的沟通方式。 API Gateway两种方式: 单节点API Gateway BFF (Backends for frontends) Gateway 请求路由,版本控制:API Gateway 是微服务的入口,可以根据不同的请求路由到不同的服务上. ...
原创
发布博客 2021.03.04 ·
513 阅读 ·
0 点赞 ·
3 评论 ·
0 收藏

Docker 常用命令

Docker 常用命令,还有谁不会?1、Docker容器信息##查看docker容器版本docker version##查看docker容器信息docker info##查看docker容器帮助docker --help复制代码2、镜像操作提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。2.1、镜像查看##列出本地imagesdocker images##含中间映像层docker images -a复制代码##只显示镜像IDdocker im
转载
发布博客 2021.03.03 ·
124 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

C#表达式目录树二

文章目录一个需求的探讨表达式目录树的解析通过表达式目录树构造sql表达式的链接一个需求的探讨我们平时封装的数据库查询方法Find<T>(int id)我们都把条件定死了,而不是动态的查询条件,不是不写,而是实现不了,写不出来,因为一个表的字段可能是Id,name等等不同的字段,而字段的值也可能是int,string,datetime等不同的数据类型,而操作符又可能是大于,小于,等于,包含这些,更有可能条件是一个条件,两个条件,三个条件等等,这些导致了我们没法写一个通用find封装,而只能根据
原创
发布博客 2020.07.29 ·
409 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

C#表达式目录树一

文章目录什么是表达式目录树Expression表达式目录树的本质表达式目录树的拼装拼装示例一拼装示例二拼装示例三什么是表达式目录树Expression表达式目录树的本质以前我们写Linq查询条件像这样: new List<int>().Where(i => i > 10);我们AsQueryable()一下: new List<int>().AsQueryable().Where(i => i > 10);我们查看AsQueryable的w
原创
发布博客 2020.07.27 ·
1092 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

c#linq

文章目录扩展方法linq的简单演化Linq To Object常见的使用示例Linq To SQL总结扩展方法扩展方法的具体定义我就不写自行去搜索,我简单说一下扩展方法,定义一个扩展方法就在一个静态类中,定义一个静态方法,方法的第一个参数就是你需要扩展类型,之后你可以可以在这个类型的实例直接调用这个方法:比如我们为string增加一个截断的如果超过多长就截取后面加…的扩展方法。 public static class ExtendMethod { public static s
原创
发布博客 2020.07.22 ·
192 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C#Lambda表达式

文章目录Lambda表达式lambda表达式的演化lambda多播委托Lambda表达式说起lambda表达式,其实本质就是匿名函数一种效简化代码,一种方便的写法。下面我们通过代码的演化来增强对lamdaba表达式的理解。lambda表达式的演化在.NetFramework1.0我们的委托实例是这么写的:public delegate void NoReturnNoPara(); //.NetFramework1.0 1.1NoReturnNoPara method = new NoRet
原创
发布博客 2020.07.22 ·
615 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多