-
NodeJS常用 API 整理
一、Debug 调试方法Node 的调试方法有很多,主要分为安装 node-inspect 包调试、用 Chrome DevTools 调试和 IDE 调试,可以在官网的 Docs Debugging Guide 查看安装方法。下面介绍使用 Chrome DevTools 调试的方法,首先安装 Chrome Extension NIM,打开 Inspect 入口页面 chrom...
-
从3.0到4.0,Ant Design最大的变化是什么?
Ant Design 是蚂蚁金服推出的一套企业级 UI 设计语言和 React 组件库,从 2015 年推出开始便受到广泛的关注与使用,目前在 GitHub 上已收获超过 5.7 万个 star。近日,Ant Design 发布了 4.0 版本,带来了一些重大更新。前端之巅采访了 Ant Design 团队的核心作者之一的蒋吉麟,聊了聊 4.0 版本更新背后的一些故事。 Ant...
-
这句简单的sql,如何加索引?颠覆了我多年的认知
不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。select * from test where a=? and b>? order by c limit 0,100结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和explain关键字来进行验证。结果真是颠覆了xjjdog多年的...
-
如何设计QQ、微信、微博等,第三方账号登陆?(附表设计)
前言:多账户登陆1. 创业初期用户名密码注册登陆手机号注册登陆2. 数据库设计3. 引入第三方账户方案4. 数据库设计5. 总结前言:多账户登陆互联网应用当中,我们的应用会使用多个第三方账号进行登录,比如:网易、微信、QQ等,我们把此称为多账户统一登陆。通过这篇文章, 我想阐释多账户登陆的技术方案细节,以及相应的表设计,流程设计。我这里不会有具体代码实现细节,只要方案做的对,有...
-
学会使用 Spring Boot 的异步调用
一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来...
-
SQL Server 数据库高级查询语句
首先要介绍的就是分组查询。比如我们有一个销售订单,这个订单里包含了地域,人员等多个不同的字段信息,我们需要按照地域进行分组查询每个地域的总销售额。或者要按照人员查询每个人的销售总额等信息,那么就需要用到这个分组查询的功能。分组查询 GROUP BY使用 GROUP BY 根据一个或者多个列对结果进行分类汇总,通常和统计函数一起使用,常用的统计类函数有:COUNT(统计组中项数)...
-
吐血推荐珍藏的IDEA插件
之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说要再推荐一些IDEA插件。作为一名职业Java程序员/业余js开发者,我平时还是用IDEA比较多,所以也确实珍藏了一些IDEA插件。今天就一并分享给大家。在最开始,我还是想先介绍一下IDEA中如何安装插件,首先打开Preferences(菜单栏打开或者使用快捷键Command+,)在Windows...
-
四个最佳实践,引导你写出高质量JavaScript模块
使用 ES2015 模块,您可以将应用程序代码分成可重用的、封装的、专注于单一任务的模块。这很好,但是如何构造模块呢?一个模块应该有多少个函数和类?这篇文章介绍了有关如何更好地组织 JavaScript 模块的4种最佳实践。1.优先使用命名导出当我开始使用 JavaScript 模块时,我使用默认的语法来导出模块定义的单个块,不管是类还是函数。例如,这是一个将模块 Greete...
-
Vue 中使用lodash对事件进行防抖和节流
有些浏览器事件可以在短时间内快速触发多次,比如调整窗口大小或向下滚动页面。例如,监听页面窗口滚动事件,并且用户持续快速地向下滚动页面,那么滚动事件可能在 3 秒内触发数千次,这可能会导致一些严重的性能问题。如果在面试中讨论构建应用程序,出现滚动、窗口大小调整或按下键等事件请务必提及 防抖(Debouncing) 和 函数节流(Throttling)来提升页面速度和性能。这两兄弟...
-
在vue中使用jquery
首先默认你已经有了一个vue程序,如果你想在vue中使用jquery,那么请继续阅读。当然,加入你没有一个vue程序,这里也给出创建一个vue程序的命令。当然,你肯定装了vue-cli,不然你不会点进这篇博客vue init webpack vue-demo01项目的目录类似如下:对了,这个demo里使用了element-ui安装方式:npm i element-ui -S配置...
-
程序员专用开发字体
JetBrains推出了一种新字体,即JetBrains Mono,它是专为开发人员设计的。 下载地址:https://www.jetbrains.com/lp/mono/或者https://download.csdn.net/download/billyhe1983/12108637安装步骤: 依次安装上述几个文件即可,然后重启idea,setting——> fo...
-
Spring Cloud Gateway 实现Token校验
在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,...
-
2020年,浏览器插件Flash将被HTML5取代,之后是不是IE浏览器了?
Flash死亡,Adobe推荐大家拥抱HTML5。其实Flash本身也是支持手机端的。一、Flash宣告死亡Adoebe官方网站发布了公告,2020年12月30日起终止支援Flash。目前Chrome、Edge等浏览器都会有提醒。用户默认不开启Flash,如果页面视频采用Flash进行播放,都会收到如下提示:==默认被阻止====阻止了Flash====需要手动开启,才能打开F...
-
微软发布紧急安全更新:修复SMBv3协议漏洞
在本月的补丁星期二活动日上,微软对所有受支持的Windows 10系统发布了累积更新,并对Edge、Internet Explorer和其他组件进行了安全改进。在活动日期间,网络上意外曝光了存在于SMBv3协议中全新蠕虫漏洞,为此今天微软发布了紧急更新对其进行了修复。手动下载地址:https://www.catalog.update.microsoft.com/Search.a...
-
什么才是真正的架构设计?
一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上...
-
Discuz! Q 第一个内测版发布了
Discuz! Q 第一个内测版发布了 下载地址:https://www.dnspod.cn/promo/discuzq 大周末的,研发团队为我熬了一夜,就不多废话了,直入正题 Discuz! Q alpha v0.3.200315 发布 在我的上一个版本 Discuz! Q alpha v0.2.200305 发布到官方内测站之后,团队决定把我的下一个内测版本 提供给大家,原...
-
听说Redis都会遇到并发、雪崩等难题?我用10分钟就解决了
一、Redis雪崩、穿透、并发等5大难题解决方案缓存雪崩数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。比如一个雪崩的简单过程:1、redis集群大面积故障2、缓存失效,但依然大量请求访问缓存服务redis3、redis大量失效后,大量请求转向到mysql数据库4、mysql的调用量暴增,很快就扛不住了,...