- 博客(96)
- 资源 (6)
- 收藏
- 关注
原创 解决auto在CSS3动画中无非使用的问题
本文通过一个弹出框高度由0逐渐变到指定的高度的例子,来说明如何解决auto在CSS3动画中无法使用的问题。
2025-01-02 15:44:05
686
原创 多行文字溢出或缩略显示的解决方案
在前端开发过程中,我们总是会面对在有限的空间内,显示大量文本信息的需求,这就需要我们对溢出的文本信息进行处理。本文提出一种基于原生JS的解决方案。
2024-12-23 16:59:55
596
原创 JavaScript中的Lexical Environment
本文主要介绍JavaScript中的一个重要概念Lexical Environment,它可以帮助我们解释我们为什么可以通过嵌套方法,共享数据,以及为什么可以在函数中定义一个和全局变量同名的变量,并且不会影响到全局变量。
2024-03-22 14:13:18
756
原创 JavaScript中的Hoisting
下面的代码并不会报错,可以正常执行。var a = 0;代码最后执行结果是打印undefined。我们讨论一下代码背后的原因。首先, 创建JS Engine会创建GEC;然后, 代码在GEC中执行。此时,a的值就是undefined,所以打印出来的也是undefined。我们打开浏览器通过断点执行,可以看到同样的执行结果。因为a变量在最高的代码层级上,通过var被定义,所以在创建GEC的时候,会先将它赋值为undefined,后面根据代码的执行,再进行其它赋值。
2024-03-14 15:46:09
398
原创 Javascript的Execution Context
本文主要通过一个实例,来理解什么是Javascript中的Execution Context,以及在JavaScript执行过程中,Execution Context是如何工作的。
2024-03-14 14:33:59
1132
1
原创 EF Core中带过滤器参数的Include方法
本文主要介绍EF Core 5.0中一个新特性,就是Include方法支持带过滤器的委托参数,并且说明一下该特性在实际使用中的一个大坑,希望读者在未来的开发中避免踩坑。
2023-10-26 22:15:01
1761
原创 一个Entity Framework Core的性能优化案例
本文提供一个EF Core的优化案例,主要介绍一些EF Core常用的优化方法,以及在优化过程中,出现性能反复的时候的解决方法,并澄清一些对优化概念的误解,例如AsNoTracking并不包治百病。
2023-10-25 17:59:31
1362
原创 EF Core 批量插入操作原理分析
本文主要讨论EF Core 在批量添加操作的基本原理和优化方式,基本原理主要针对EF Core 6.0 和7.0两个版本。
2023-10-18 18:05:02
1329
原创 EF Core 7.0 新特性之批量修改
EF Core 7.0 提供了一个可以将LINQ查询和批量修改相结合的方法ExecuteUpdate。由于数据修改是以批量更新的方式完成,所以可以减少数据库的往返次数。本文将主要介绍ExecuteUpdate的使用方法。
2023-10-16 18:08:13
2737
原创 EF Core中的拆分查询策略
从EF Core 5.0中,引入了拆分查询策略,该策略可以显著的提升多表查询的效率。本文主要介绍该策略的使用场景和基本使用方法。
2023-10-13 12:35:32
893
原创 解决ASP.NET Core的中间件无法读取Response.Body的问题
本文主要介绍如何在ASP.NET Core的中间件中,读取Response.Body的方法,以便于我们实现更多的定制化开发。本文介绍的方法适用于.Net 3.1 和 .Net 6。
2023-10-04 12:35:41
2292
2
原创 C#中的IQueryable vs IEnumerable (二)
IQueryable 的主要作用是通过其扩展方法和调用过程中使用的委托参数,将这些内容转换成表达式目录树。第三方的ORM框架可以在此基础上进行SQL语句的转换。
2023-09-11 18:28:20
1100
1
原创 C# Linq源码分析之Take(五)
本文在的基础上继续从源码角度分析Take的优化方法,主要分析Where.Select.Take的使用案例。
2023-09-06 15:31:36
972
原创 C# Linq源码分析之Take(四)
本文主要对Take的优化方法进行源码分析,分析Take在配合Select,Where等常用的Linq扩展方法使用时候,如何实现优化处理。本文涉及到Select, Where和Take和三个方法的源码分析,其中Select, Where, Take更详尽的源码分析,请参考我之前写的文章。
2023-08-28 14:25:28
1167
原创 C# Linq源码分析之Take (三)
本文在前两篇Take源码分析的基础上,着重分析Range参数中有倒数的情况,即分析TakeRangeFromEndIterator的源码实现。
2023-08-18 17:33:55
531
原创 C# Linq源码分析之Take (一)
新的Take重载方法不再接收整数参数,而是接收一个Range类型的参数。它可以从序列中返回指定范围的连续元素。注意:该方法只能在.Net 6 或更高版本中使用,我们之前用的.Net 4.7, 4.8或.Net Core 3.1中,都不支持该方法。
2023-08-14 15:26:06
1047
原创 C# 中使用ValueTask优化异步方法
我们在开发过程中,经常使用async的异步方法,但是有些时候,异步的方法中,可能包含一些同步的处理。本文主要介绍通过ValueTask这个struct,优化异步处理的方法性能。
2023-08-01 14:22:34
694
原创 C#中 使用yield return 优化大数组或集合的访问
我们在开发过程中,经常需要在一个很大的数组或集合中搜索元素,以满足业务需求。本文主要介绍通过使用yield return的方式,避免将大量数据全部加载进入内存,再进行处理。从而提高程序的性能。
2023-07-31 13:58:10
466
原创 浅谈C#中await运算符在不同类型应用中的不同行为
C#中的await运算符,因其不会阻塞主线程,可以给用户更好的操作体验,所以广泛的应用于各种C#的应用中。本文主要分析其在Console程序,Winform程序和WebApi程序中,其工作行为的异同点,来更好的使用该运算符。
2023-07-24 18:04:58
516
原创 如何在SQL Server中实现Ungroup操作
我们经常在SQL Server中使用group by语句配合聚合函数,对已有的数据进行分组统计。本文主要介绍一种分组的逆向操作,通过一个递归公式,实现ungroup操作。
2023-06-30 12:17:27
1439
1
原创 一道SQL Server窗口函数的面试题
本文介绍一道和SQL Server窗口函数相关的面试题,主要涉及窗口函数的原理和Framing参数的设置。
2023-06-20 12:51:15
1295
原创 SQL Server 中count方法和case when语句配合使用中的问题
我们在使用SQL Server生成报表统计数据的时候,经常使用sum,count等聚合函数,有时候还会配合case when语句一边执行过滤操作,一边进行聚合。本文介绍一个在使用中的常见的错误和解决方法。
2023-06-14 13:07:49
1783
原创 基于原生Javascript的放大镜插件的设计和实现
本文主要介绍一个前端放大镜插件的设计和实现,该插件可以将图片的指定区域进行局部放大,插件运行不依赖任何第三方库,可以在Chrome或Edge的常见版本上运行。
2023-03-24 17:00:08
939
原创 基于原生Javascript的Carousel设计及实现
本文主要介绍一个无缝轮播图的基本设计原理和实现方式,该轮播图不依赖任何第三方插件或组件库,可以在常用的Chrome或Edge浏览器上正常运行。
2023-03-24 11:01:25
879
1
原创 一道关于Vue的数据绑定和依赖收集的面试题
分享一道Vue的面试题,该题涉及Vue的响应式数据绑定和依赖收集,希望可以加深大家对Vue原理的理解
2022-12-12 17:29:47
2056
1
原创 JS中数组和树型数据的相互转化
在前后端分离的开发工作中,我们经常从后端的WebAPI中获取到1维数据,前端需要将这些数据转换为树型结构。例如多级菜单数据,我们需要通过id和pid等栏位,将1维数组数据转换成一个树型结构,然后再进行页面渲染。本文主要介绍两个JS方法,方便我们将数组转换成树,或将树形结构转换成1维数组。
2022-10-31 15:55:30
1052
原创 draggable 和 sortable的JS原生实现
本文主要利用html 5的draggable原生特性,实现一个可拖拽的效果。我们可以创建包含多个页面节点的容器,每个容器可以包含多个节点。通过拖拽,可以移动一个容器内的节点到其他容器,每个容器内的节点和以通过拖拽改变排列顺序。
2022-10-24 09:13:10
1449
原创 Vuex 4.x 模拟实现
本文参照vuex 4的基本功能,模拟实现了其主要功能,并提供了关键的代码。本文是在Vue 3.0上通过其Composition API模拟Vuex 4.0的基本功能。
2022-09-08 17:23:00
420
原创 解决结构赋值中函数的this指向问题
我们在开发中经常使用解构赋值,这样可以使我们的代码显得更加精简,清晰,但是它同样面临this指向出错的问题。
2022-09-02 16:01:24
724
原创 介绍一种在Vue 3.0 下封装第三方插件的方法
Vue在升级到3.0之后,我们不能再按照2.0的方式,在其原型链上封装第三方的插件对象。本文仿照Vuex的使用方法,结合Vue3.0的Composition API,实现一种在Vue 3.0下封装第三方插件的方法。
2022-08-28 12:06:45
1227
原创 一种文件切片上传策略
本文介绍一种文件切片上传策略,以应对项目开发中的可能遇到的大文件上传的需求。客户端采用Vue 3.0,服务器端提供Express和Asp.Net Core两种实现。
2022-08-23 17:25:28
644
原创 SQL Server中的STRING_SPLIT函数的实现
SQL Server在2016版本中支持了STRING_SPLIT方法,可以将字符串按照分隔符,切割成一个数据表,使用非常方便。但是SQL Server 2016之前的版本没有这个方法。本文通过SQL Server的自定义方法实现该方法。
2022-07-20 15:49:40
3146
原创 C# LINQ源码分析之ToList()
在开发过程中,LINQ的ToList()方法经常被使用,帮助我们将将迭代器转换为具体的List对象。为了更好的了解该方法的工作原理,我们从源码的角度对其进行分析。
2022-07-12 17:32:24
5762
1
原创 C# LINQ源码分析之Count
LINQ代码库中的Count方法作为数据统计的关键方法,经常被使用。在统计数据时候,Count方法是否每次都要遍历整个序列来获取序列元素个数,Count方法内容是否存在优化机制。为了更好的了解该方法的工作原理,我们从源码的角度对其进行分析。......
2022-07-04 16:07:05
3791
1
原创 SQL Server - Window Function - 解决连续N条记录过滤问题
我们在开发应用系统处理各种报表的时候,有时候会遇到统计连续几天温度低于0度,一天内连续登录系统多次的类似需求。本文主要介绍如何利用SQL Server中的窗口函数,来解决这些复杂的查询问题。本文将通过两个实例来进行具体阐述。建表语句如下:登录记录表包含登录Id,用户名和登录日期,其中login_id 是主键。数据初始化代码见附录。我们需要统计在一天内连续登录三次或三次以上的人员的用户名和日期。连续即登录Id连续。代码如下:避免嵌套查询,定义一个 DIPICATE_3的CTE。该CTE主要是生成一个标记
2022-06-19 17:59:00
326
原创 SQL Server - Window Function - 分析函数
本文主要介绍分析窗口函数的使用方法,通过获取相邻两个股票交易日收盘价例子,来介绍分析窗口函数在获取相邻值的用法。
2022-06-09 15:34:46
723
介绍一个无缝轮播图的基本设计原理和实现方式,该轮播图不依赖任何第三方插件或组件库,可以在常用的Chrome或Edge浏览
2023-03-24
ExpressionTreeApp-updated.zip
2021-02-02
POWERPOINT 更好的表达您的POINT
2018-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人