自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack @ CSDN

全栈工程师,关注.NET/node.js, Angular/React。

  • 博客(174)
  • 收藏
  • 关注

原创 PowerShell执行,遇到xxx.ps1 is not digitally signed

PowerShell执行,遇到xxx.ps1 is not digitally signed问题

2022-07-26 07:41:13 1100 1

原创 Ubuntu 20.04.3 LTS 搭建LAMP+Wordpress环境

Ubuntu 20.04.3 从0开始搭建LAMP环境,WordPress建站

2021-12-03 09:26:19 1380

原创 最简单的判断是否为IE浏览器的方法 - document.documentMode

作为当今最差的浏览器,虽说IE即将推出历史的舞台,但是因为项目需要还是需要支持。那么必须判断是否是IE,如果是IE,需要做些特殊处理。document.documentMode 是IE特有的属性,可以根据这个值判断是否为IE。如:var isIE = document.documentMode !== undefined;确实是简单好用吧 :)基本来说,document.documentMode的值就是IE的版本号,如:7 - The page is displayed in IE7 mod

2021-10-25 09:28:21 692

原创 “Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask“ task could not be loaded from the assembly

VS 错误:The “Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask” task couldnot be loaded from the assembly C:\Program Files (x86)\MicrosoftVisualStudio\2019\Enterprise\MSBuild\Current\Bin\amd64\XamlBuildTask.dll.Could not load file or assembly ‘file

2021-07-09 10:07:37 748

原创 ASP.NET Core MVC 入门到精通 - 1. 开发必备工具 (2021)

环境:.NET 5ASP.NET Core MVC1. .NET 5作为一个资深.NET工程师,说句实话,.NET没落了,在国内更加的没落。之前做过8年node.js/前端,现如今又转回了.NET。也希望.NET能有更好的前景吧。个人觉得.NET还是有一定的市场的(当然,国内算小众了),有几点原因:.NET5开始,真正做到的跨平台(之前叫.NET CORE), 而且把那个’CORE’字也拿掉就,就叫.NET5, 可见微软的宏大目标;开发效率,.NET软件开发,不管是web还是winFo.

2021-06-08 14:03:07 1333 4

原创 ASP.NET Core MVC 入门到精通 - 3. 使用MediatR

ASP.NET Core MVC 入门到精通 - 3. 使用MediatR环境:.NET 5ASP.NET Core MVC (project)1. MediatRMediatR .NET中的简单中介者模式实现,一种进程内消息传递机制(无其他外部依赖)。支持以同步或异步的形式进行请求/响应,命令,查询,通知和事件的消息传递,并通过C#泛型支持消息的智能调度。Simple mediator implementation in .NETIn-process messaging wit.

2021-05-28 14:42:14 5644 2

原创 算法 - 计算汉明距离

算法 - 计算汉明距离1. 题目给出两个整数 x 和 y,计算它们之间的汉明距离。汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。示例:输入: x = 1, y = 8输出: 2解释:1 (0 0 0 1)8 (1 0 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位.

2021-05-27 14:22:56 5669 1

原创 浏览器(Cache)的缓存逻辑(HTTP条件请求)

浏览器(Cache)的缓存逻辑(HTTP条件请求)1. 浏览器缓存一般来说,一个GET请求在目标资源存在的情况下会返回一个状态码为“200 OK”的响应,目标资源的内容将直接存放在响应报文的主体部分。如果资源的内容不会轻易改变,那么我们希望客户端(如浏览器)在本地缓存获取的资源。对于针对同一资源的后续请求来说,如果资源内容不曾改变,那么资源内容就无须再次作为网络荷载予以响应。确定资源是否发生变化可以采用两种策略。第一种就是让资源的提供者记录最后一次更新资源的时间,资源的荷载内容(Payload)和.

2021-05-20 14:12:20 5325

原创 算法: 合并两个有序链表 (Javascript/C#)

1. 题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。e.g输入:l1 = [1,2,5], l2 = [1,3,4]输出:[1,1,2,3,4,5]2. 思路 (迭代)我们可以用迭代的方法来实现上述算法。当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将对应链表中的节点向后移一位。3. 代码3.1. C#/** * public clas

2021-05-20 08:46:52 6297

原创 算法: 合并两个有序链表

1. 题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。e.g输入:l1 = [1,2,5], l2 = [1,3,4]输出:[1,1,2,3,4,5]2. 思路 (迭代)我们可以用迭代的方法来实现上述算法。当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被...

2021-05-20 08:46:00 5125

原创 前端进阶(2)使用fetch/axios时, 如何取消http请求

前端进阶(2)使用fetch/axios时, 如何取消http请求文章目录1. 需求2. Fetch 取消http请求3. axios取消http请求4. jquery 取消http请求5. 总结1. 需求现在前端都是SPA,我们什么时候需要取消HTTP请求呢?当我们从一个页面跳转到另外一个页面时,如果前一个页面的请求还没有返回,那么我们希望取消前一个页面的请求某些操作耗时比较长(不能是保存等操作哦),如果用户不想等待呢,取消了操作,对应我们也需要取消HTTP请求对于原生的XMLHttp.

2021-04-25 15:29:45 6485

原创 [前端进阶](1)Web前端性能优化

前端进阶(1)Web前端性能优化Web前端性能优化, 不仅能够改善站点的用户体验,并且能够节省相当的资源利用。下面将从1)服务器、2)html内容、3)css、 4)javascript、 5)图片等几方面介绍具体的优化操作。文章目录1. 服务器优化1.1. 使用内容分发网络(CDN)1.2. 服务器使用http2.0协议1.3. GZIP压缩1.4. 使用浏览器缓存1.5. 设置ETag2. HTML内容优化2.1. 减少HTTP请求数2.2. 减少DNS查找2.3. 避免重定向 301/30x2.

2021-04-23 15:08:55 6336

原创 前端进阶(1)Web前端性能优化

前端进阶(1)Web前端性能优化Web前端性能优化, 不仅能够改善站点的用户体验,并且能够节省相当的资源利用。下面将从1)服务器、2)html内容、3)css、 4)javascript、 5)图片等几方面介绍具体的优化操作。目录:1. 服务器优化1.1. 使用内容分发网络(CDN)1.2. 服务器使用http2.0协议1.3. GZIP压缩1.4. 使用浏览器缓存1.5...

2021-04-23 15:07:00 11318

原创 2021 Top 100 C#/.NET Interview Questions And Answers

文章目录1. What is the difference between “dispose” and “finalize” variables in C#?2. What does “Jagged Arrays” mean?3. What is a Class and an Object?4. Explain Code compilation in C#5. What is the difference between Virtual method and Abstract method?6. What

2021-04-22 16:09:50 11616

原创 安装umi后,使用umi提示不是内部或者外部命令

问题umi推荐使用yarn安装,安装umi后,使用umi提示不是内部或者外部命令。(‘umi’ is not recognized as an internal or external command,operable program or batch file.)解决根源在于yarn的global bin目录不在path环境变量的中,解决办法:执行yarn global bin, 得到global bin目录把global bin目录添加到环境变量path中测试 umi -v...

2021-04-19 17:05:44 7861

原创 解决不能访问github的问题

问题最近访问GitHub总是不稳定,经常连不上, 出各种错误(OpenSSL SSL_read: Connection was reset, errno 10054, Connection refused …)。原因大概是GitHub的IP经常变化(一天可能变几次),我们本地的DNS解析有问题,解决办法就是查询github的IP,手工写到我们的hosts文件中。查询GitHub最新IP访问 https://github.com.ipaddress.com/IP Address 即为IP地址

2021-04-19 16:49:13 8293

原创 (算法) - 不使用递归,实现斐波那契数列

1. 斐波那契数列斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13 … …通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1敏捷开发时,我们估算Story Point,通常就是使用斐波那契数列。2. 解题思路2.1. 递归F(n) = F(n - 1) + F(n - 2), 很简单,就不谈了。

2021-04-19 16:09:02 7301

转载 2021 .NET/dotnet Core/C# 面试题及参考答案

文章目录1. NET/dotnet core/.NET framework 的关系2. corefx, coreclr 都是什么?3. asp.net core3.1 Kestrel3.2 asp.net core 主要的特性3.3 startup class的作用?3.4 Startup class的config service方法有什么作用?3.5 startup class的configure方法有什么作用?3.6 什么是meta packages?3.7 什么是中间件?3.8 application

2021-04-16 15:03:52 15937

转载 2021 Vue.js 面试题汇总及答案

文章目录1. 基本问题1.1. Vue.js 的特点1.2. Vue.js 双向绑定的原理1.3. Vue.js 3.0 放弃defineProperty, 使用Proxy的原因1.4. Vue 2 中给 data 中的对象属性添加一个新的属性时会发生什么?如何解决?1.5. Computed和Watch的区别1.6. Computed 和 Methods 的区别1.7. 虚拟DOM,diff算法1.8. 为何需要Virtual DOM?1.9. 过滤器 (Filter)1.10. 常见的事件修饰符及其作用

2021-04-13 15:13:58 14787

原创 React 项目使用静态类型检查Flow

文章目录1. react项目安装Flow2. 初始化配置文件3. 代码静态检查4. 常见问题4.1 VSCode 报错:Type annotations can only be used in TypeScript files1. react项目安装Flownpm/yarn安装,可以全局安装,也可项目安装:npm install -g flow-bin2. 初始化配置文件Flow的配置文件,默认为根目录下的.flowconfig。2种方式创建该文件命令npx flow init直接手工创建

2021-04-07 09:57:40 6334

原创 javascript 实现取消promise

Javascript 中,本身promise是不支持取消的,但是有时候,我们有些需求,希望能够取消。我们可以对异步请求进行封装,通过强制调用其reject,达到类似的取消操作。function hello() { let _res, _rej; const promise = new Promise((res, rej) => { _res = res; _rej = rej; setTimeout(() => { res("Done");

2021-04-02 15:31:58 7179

原创 angular绑定(脏检查)方面的性能优化技巧

文章目录1. 为什么要优化2. 编程习惯方面2.1. NgForOf,加入trackBy提升性能2.2. Angular数据绑定的三种方式2.3. 除非需要,都是用单向绑定,减少监控值的个数3. ChangeDetectionStrategy.OnPush 进行性能提升4. 利用ngzone-runOutsideAngular优化5. 手动控制脏检查 ChangeDetectorRef6. 总结环境:Angular: 8+1. 为什么要优化双向绑定是一柄双刃剑,提高开发效率的同时,也牺牲了性

2021-03-30 09:15:55 6869

原创 [node.js] 深入了解express 框架中间件

Node.js技术栈的web框架,以express(v4.x)和koa(2)最为流行。1. 线性中间件先看例子app.use(function (req, res, next) { console.log("Middleware1 start", new Date()); next(); console.log("Middleware1 end", new Date());});app.use(function (req, res, next) { console.log("Mi

2021-03-27 10:34:24 10964

原创 javascript编程,获取 url 中的参数

获取 url 中的参数指定参数名称,返回该参数的值 或者 空字符串不指定参数名称,返回全部的参数对象 或者 {}如果存在多个同名参数,则返回数组代码function getUrlParam(sUrl, sKey) { // 根据?, #, & 分隔 let list = sUrl.split(/\?|&|#/); let counter = {}; console.log(list); for (let i = 0, length = list.length

2021-03-25 14:38:43 6126

原创 javascript编程,实现将 rgb 颜色字符串转换为十六进制的形式

要求:将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffffrgb 中每个 , 后面的空格数量不固定十六进制表达式使用六位小写字母如果输入不符合 rgb 格式,返回原始输入测试用例:rgb2hex("rgb(255, 255, 255) ") //#ffffffrgb2hex("rgb(100, 0, 255) ") //#6400ff异常测试用例rgb2hex("rgb(100 ") //rgb(100r

2021-03-25 10:55:53 6728

原创 Javascript 面试题 - 代码实战

文章目录1. 实现数组去重2. 将arguments转为array3. 删除页面web页面Dom4. 冒泡排序5. 快速排序6. 选择排序1. 实现数组去重var list = [1,2,3,3];var uniqueList = [... new Set(list)];// 另外一种实现var uniqueList2 = Array.from(new Set(list));2. 将arguments转为arrayfunction parseArgs() { console.log(a

2021-03-22 10:59:01 6273

原创 javascript 实现页面元素倒序排列

如下面元素 <ul id="ulList"> <li onclick="console.log('aaaaaaaaaa')">a</li> <li>b</li> <li>c</li> </ul>预期是使a、b、c逆序排序(c/b/a), 同时a上原有的事件不丢失。jquery实现// jqueryvar liList = $('li').toArray

2021-03-19 15:05:30 6856

原创 面试 - 排序算法总结

文章目录冒泡排序(BubbleSort) O(n2)选择排序(SelctionSort)插入排序(Insertion Sort)希尔排序(Shell Sort)快速排序(Quicksort)归并排序(Merge Sort)堆排序(HeapSort)基数排序(RadixSort)参考冒泡排序(BubbleSort) O(n2)基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。选择排序(SelctionSort)在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换;第二

2021-03-18 13:16:59 6076

转载 JavaScript 进阶问题列表 (javascript面试题)

JavaScript 进阶问题列表原文地址: https://github.com/lydiahallie/javascript-questions/blob/master/zh-CN/README-zh_CN.md (github有时比较慢,留个备份)1. 输出是什么?function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21}sayHi()A: Lyd

2021-03-13 09:10:08 9412

原创 CSS3 - Flex Box (弹性布局)

文章目录1. 概要2. justify-content 属性3. align-items 属性4. flex-wrap 属性5. align-content 属性6. 居中7. align-self8. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 概要Flexible Box翻译过来就是弹性盒子、弹性布局,是css3中新增的一种布局方式,是当页面需要

2021-02-02 14:41:11 6226

原创 CSS3 Flex Box 弹性盒子、弹性布局

目录1. 概要2. justify-content 属性3. align-items 属性4. flex-wrap 属性5. align-content 属性6. 居中7. align-self8. 总结1. 概要Flexible Box翻译过来就是弹性盒子、弹性布局,是css3中新增的一种布局方式,是当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性...

2021-02-02 14:40:00 6158

原创 Angular入门到精通系列教程(15)- 目录结构(工程结构)推荐

文章目录1. 概要2. 目录结构(工程结构)推荐2.1. 总的原则2.2. 实例2.3. 共享模块-SharedModule3. 高级应用 - angular库、工作空间(workspace )3.1. 目录结构示意4. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 概要实际的Angular项目,肯定不是一个简单的Hello World程序,会包含很多

2021-01-29 14:47:59 6569

原创 Angular入门到精通系列教程(14)- Angular 编译打包 & Docker发布

文章目录1. 概要2. 编译打包2.1. 基本打包命令2.2. 打包部署到二级目录3. Angular站点的发布3.1. web服务器发布3.2. 使用docker发布4. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 概要当我们完成angular的开发后,如何部署到服务器呢?2. 编译打包2.1. 基本打包命令基于Angular CLI生成的A

2021-01-29 10:48:09 7044

原创 Angular入门到精通系列教程(13)- 路由守卫(Route Guards)

文章目录1. 摘要2. 路由守卫(Route Guards)2.1. 创建路由守卫2.2. 控制路由是否可以激活2.3. 控制路由是否退出(离开)3. 总结1. 摘要2. 路由守卫(Route Guards)2.1. 创建路由守卫2.2. 控制路由是否可以激活2.3. 控制路由是否退出(离开)3. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code

2021-01-25 16:51:18 6491

原创 Angular入门到精通系列教程(12)- 路由(Routing)

文章目录1. 摘要2. 路由(Router)基本用法2.1. 准备2.2. 注册路由2.3. html中的用法2.4. ts 代码中的用法3. 接收参数3.1. 路径中的参数3.2. 参数(QueryParameter)中的参数4. URL路径显示格式5. 部署中遇到的问题6. 总结1. 摘要2. 路由(Router)基本用法2.1. 准备2.2. 注册路由2.3. html中的用法2.4. ts 代码中的用法3. 接收参数3.1. 路径中的参数3.2. 参数(QueryPara

2021-01-25 14:48:40 6931

原创 Angular入门到精通系列教程(11)- 模块(NgModule),延迟加载模块

文章目录1. 摘要2. NgModule举例、说明3. Angular CLI生成模块4. 延迟加载模块5. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 摘要模块(NgModule)是Angular的核心概念之一。模块(NgModule)用于组织业务代码,按照自己的业务场景,把组件、服务、路由打包到模块里面。模块(NgModule)的主要作用:

2021-01-25 10:17:23 6474

原创 Angular入门到精通系列教程(10)- 指令(Directive)

文章目录1. 摘要2. 组件与指令之间的关系2.1. 指令的种类3. Angular 中指令的用途4. 指令举例4.1. 指令功能4.2. Anuglar CLI生成基本文件4.3. Directive指令核心代码4.4. 使用该指令5. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 摘要指令(Directive)在Angular 1.0时代(当时叫A

2021-01-13 15:34:19 6240

原创 Angular入门到精通系列教程(9)- 组件的生命周期(Component Lifecycle Hook)

文章目录1. 摘要2. 生命周期及顺序3. 响应生命周期事件4. 主要生命周期事件4.1. 初始化事件 ngOnInit()4.2. 实例销毁 ngOnDestroy()5. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 摘要当 Angular 实例化组件类并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着变更检测,Angula

2021-01-12 16:34:21 6435

原创 Angular入门到精通系列教程(8)- 父子组件(Component)之间传递数据

文章目录1. 摘要2. 父传子 @Input()2.1. 子组件定义@Input()2.2. 父组件传递变量给子组件3. 子传父 @Output()3.1. 子组件定义@Output3.2. 父组件订阅事件4. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 摘要组件之间传递数据,最主要的就是父子组件之间传递数据, 例如:<parent-comp

2021-01-12 15:27:14 6467

原创 Angular入门到精通系列教程(7)- 组件(@Component)基本知识

文章目录1. 概述2. 创建Component2.1. 组件模板3. 视图封装模式3.1. 特殊的选择器 :host3.2. inline-styles4. 总结环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code1. 概述组件是 Angular 应用的主要构造块。每个组件包括如下部分:一个 HTML 模板,用于声明页面要渲染的内容一个用于定义行为的 Types

2021-01-12 14:29:26 7305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除