从 React 源码的类型定义中,我学到了什么?
今天看了下React的类型定义,也就是@types/react包下的index.d.ts,发现了一些有趣的写法。这篇文章就分享下这些写法,估计大部分人都不知道:提取可选索引的值首先,我看到了这样一段类型逻辑:这段逻辑就是取索引类型的ref索引的值,但是是通过模式匹配的方式,把提取的类型放到infer
终于有大佬把"计算机底层原理"全部总结出来了
计算机的历史算盘和机械计算机有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆po天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了如果非要追究计算机的鼻祖,那就得讲讲17世纪前欧洲的故事,最早的计算机其实是计算器
一图介绍 JS 原型链的来龙去脉
在面向对象编程中,继承是非常实用也非常核心的功能,这一切都基于面向类语言中的类。然而,javascript和面向类的语言不同,它没有类作为蓝图,javascript中只有对象,但抽象继承思想又是如此
千万不要这样使用@Async注解
在实际的项目中,对于一些用时比较长的代码片段或者函数,我们可以采用异步的方式来执行,这样就不会影响整体的流程了。比如我在一个用户请求中需要上传一些文件,但是上传
Git 不要只会 pull 和 push,试试这 5 条提高效率的命令
前言使用Git作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。本文分享我在开发工作
浅谈数据库连接池为何不采用IO多路复用?
前言这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcatconnectionpool等技术来与DB连接,哪怕整个程序已经变成以Netty为核心。这到底是为什么?常见的误解IO多路复用听上去好像是多个数据可以共享一个IO(sock
有了这篇 Shell 脚本实践指南,同事对我“刮目相看”!
前言由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总
复制粘贴代码,很可能会带来灾难性的后果
很多人都有过复制粘贴代码的经历,但如果你经常盲目地复制粘贴代码,甚至是复制粘贴自己不理解的代码,很可能会带来灾难性的后果。1当你复制粘贴自己不理解的代码时会发生什么产生垃圾这是复制粘贴代码的最大问题。复制粘贴的代码往往包含很多你的程
45 个 Git 经典操作场景,专治不会合代码
git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。
你应该知道的Shell 脚本的经典十三问
经典的Shell十三问1.为何叫做shell?2.Shellprompt(PS1)与CarriageReturn(CR)的关系?3.别人echo,你也echo,是问echo知多少?4.""(双引号)与
满屏的if-else,看我怎么消灭你!
技巧一:提取方法,拆分逻辑技巧二:分支逻辑提前return技巧三:枚举技巧四:函数式接口技巧五:设计模式其他技巧写在最后在实际的业务开发当中,经常会遇到复杂的业务逻辑,可能部分同学实现出来的代码并没有什么问题,但是代码的可读性很差。本篇文章主要总结一下自
优雅地处理重复请求(并发请求)
对于一些用户请求,在某些情况下是可能重复发送的,如果是查询类
自定义注解妙用,一行代码搞定用户操作日志记录
1.简介在使用spring完成项目的时候需要完成记录日志,开始以为Spring的AOP功能,就可以轻松解决,半个小时都不用,可是经过一番了解过后,发现一般的日志记录,只能记录一些简单的操作,例如表名、表名称等记录不到。这个时侯就用到了自定义注解,把想要记录的内容放在注解中,通过切入点来获取到注解参数
openFeign夺命连环9问
1、前言前面介绍了SpringCloud中的灵魂摆渡者Nacos,和它的前辈们相比不仅仅功能强大,而且部署非常简单。今天介绍一款服务调用的组件:OpenFeign,同样是一款超越先辈(Ribbon、Feign)的狠角色。文章目录如下:2、Feign是什么?Feign也是一个狠角色,Feign旨在使得
InnoDB原理篇:如何用好索引
InnoDB中索引分类我们都知道InnoDB索引结构是B+树组织的,但是根据数据存储形式不同可以分为两类,分别是聚簇索引与二级索引。ps:有些同学还听过非聚簇索引和辅助索引,其他它们都是一个意思,本文统一称为二级索引。聚簇索引聚簇索引默认是由主键构成,如果没有定义主键,InnoDB会选择非空的唯一索
如何优雅处理重复请求/并发请求?
前言一些用户请求在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些涉及写入操作,一旦重复了,可能会导致很严重的后果。例如交易接口如果重复请求,可能会重复下单。重复的场景有可能是:黑客拦截了请求,重放;前端/客户端因为某些原因请求重复发送了,或者用户在很短的时间内重复点击了;网关重发;
1w 字的 pandas 核心操作知识大全!
工作中最近常用到pandas做数据处理和分析,特意总结了以下常用内容。pandas常用速查引入依赖#导入模块importpymysqlimportpandasaspdimportnumpyasnpimporttime#数据库fromsqlalchemyimpo
9 个实用 shell 脚本,建议收藏!
今天给大家分享9个实用的Shell脚本,建议收藏!需要的时候可以直接拿出来用!Dos攻击防范(自动屏蔽攻击IP)#!/bin/bashDATE=$(date+%d/%b/%Y:%H:%M)LOG_FILE=/usr/local/nginx/logs/demo2.access.logABNORMAL_
利用注解 + 反射消除重复代码,妙!
1.1案例场景假设银行提供了一些API接口,对参数的序列化有点特殊,不使用JSON,而是需要我们把参数依次拼在一起构成一个大字符串:1)按照银行提供的API文档顺序,将所有的参数构成定长的数据,并且
为什么不建议用try catch处理异常?
文章来源:http://u6.gg/kpz4f软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try{...}catch{...}finally{...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张