让协作“飞”起来

没有人是一座孤岛,可以自全。每个人都是大陆的一片,整体的一部分 —— 约翰.多恩(John Donne) 作为一个前端开发工程师,我们不是孤军奋战,也同样需要和其他岗位相互协作。在协作的过程中,肯定会遇到一些影响效率的问题,针对这些问题,你们有没有制定出一系列的提效方案?这就是今天我要给大家分享的内 ... »

webpack + ts 配置路径别名总结

webpack + ts 配置路径别名总结 自我体验加总结:在配置脚手架时,定制别名很有必要,可以使得代码更优雅,可读性更强。但在使用ts的时候,即便项目能够运行,vscode 确时长会提示 can’t find module xxx。总结下来,如果想要完全解决这个问题需要考虑以下两方面: 概述 语 ... »

做个越战越勇的人_二零二零年终总结

做个越战越勇的人 写在前面 我是B1ngDa0,以后就在勇敢号上乘风破浪啦。 以前的Github+hexo博客懒得打理了,就放博客园吧,空了有实战项目经验了就复现在这里发发文章吧。 年末了,恰巧又是入职奇安信 A-TEAM 一年,以后年末,生活和工作就一起总结了 开始了 19年12月前我是一名飞行安 ... »

基于Java反射的定时任务设计

一、使用场景 1、不需要立即执行、立即得到结果返回。 2、如果执行失败、需要有失败补偿机制。 3、和业务代码解耦,适用于不同的务场景。 4、调用接口的入参、出参 统计,方便查询。 二、执行顺序 1、业务逻辑中,需要调用外部接口时,将参数组装好,往任务表中插入一条任务记录。(主要包括 任务类型、需要执 ... »

高并发系统之大忌-慢查询

最近又遇到了一次慢查把db(mariadb10)几乎打挂的案例,作为一个核心支付系统的技术负责人,真是每日如履薄冰。因为之前支付系统经常出问题,现在各个BG对支付系统都盯得很紧。这次要不是我及时让DB给暴力清理数据,没准又提一个P2故障; 抱怨归抱怨,事后复盘,一丝都不能马虎。首先,描述一下故障的全 ... »

koa2,koa-jwt中token验证实战详解

用户身份验证通常有两种方式,一种是基于cookie的认证方式,另一种是基于token的认证方式。当前常见的无疑是基于token的认证方式。以下所提到的koa均为koa2版本。 token认证的优点是无状态机制,在此基础之上,可以实现天然的跨域和前后端分离等。 token认证的缺点是服务器每次都需要对 ... »

我工作这十年-中国在崛起

是我工作这十年-世界在变化的姊妹篇。 中国移动网络发展 刚毕业(2008)的时候,中国刚开始推行3g,联通和电信靠这个噱头抢了好多移动用户,甚至一些门户都用3g作为域名,h5编程开始兴起。那时候,手机有100M流量,简直就是巨量了。要知道,当时的宽带,普通家庭最大带宽也就1Mb。想想当初,每月30M ... »

我工作这十年-世界在编号

深夜放毒,如有错误,还请大家见谅。 苹果公司 刚2008年毕业时,iphone4刚出道,那时的iphone真正属于贵族手机,相比现在还是5000多的价位,当时4000的价位真是没的说。苹果公司这十年给人的感觉就是平稳发展,波澜不惊。当然,十年前的掌舵人还是乔布斯,现在却已经物是人非了。苹果在这十年, ... »

从Flux到Redux详解单项数据流

从Flux到Redux是状态管理工具的演变过程,但两者还是有细微的区别的。但是最核心的都还是观察者模式的应用。 一、Flux 1. Flux的处理逻辑 通俗来讲,应用的状态被放到了store中,组件是store状态的一个映射,用户通过事件触发action,再通过Dispatcher根据不同的acti ... »

一个隐藏在支付系统很长时间的雷

这个案例是最近刚发生不久的,只是这个雷的历史实在是久远。 公司在3月底因为一次腾讯云专线故障,整个支付系统在高峰期停止服务将近10分钟。而且当时为了快速解决问题止损,重启了支付服务,事后也就没有了现场。我们支付组在技术架构上原先对专线故障的场景做了降级预案,但故障时预案并没有生效,所以这次我们需要排 ... »

生如逆旅,一苇以航

写在前面 心心念的五一假期终于到了,考虑再三,我去了腾格里沙漠,毕竟去过两次库不齐沙漠,还没去过腾格里,就当是一种新的体验了。 腾格里沙漠徒步,主要围绕五湖展开 ,下面是依次经过的五湖: 太阳湖 --月亮湖-- 星星湖--敖包湖--金沙湖 ,蒙语中对五湖这样叫法,依次为 哈日阿其太--哈勒特日--沙 ... »

java日志规约及配置示例终极总结

目录 1、什么是日志? 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到了测试、生产环境呢?你有可能会说可以 ... »

Typescript高级类型与泛型难点详解

最近做的TS分享,到了高级类型这一块。通过琢磨和实验还是挖掘出了一些深层的东西,在此处做一下记录,也分享给各位热爱前端的小伙伴。 其实在学习TS之前就要明确以下几点: 1. typescript 是javascript的超集,这点是官方文档最先说明的,但是具体怎么理解就千差万别了。其实通俗的来说,t ... »

日志终极总结

目录 什么是日志 常用日志框架 日志级别详解 日志的记录时机 日志使用规约 logback 配置示例 loh4j2 配置示例 1、什么是日志? ​ 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea ... »

maven的版本统一管理实战

为什么要使用maven的统一版本管理? 在进行项目开发的时候,我们使用maven来做项目的构建和管理。为了方便项目中各个模块之间的复用,项目通常会有多个模块构成。不同的模块,会各自应用自己需要的jar包依赖,就会导致不同的模块引用了不同版本的jar包依赖,从而出现兼容性问题。还有为了方便版本的统一升 ... »

Typescript 3.x 中常见的几种函数重载方法与应用示例

所谓的重载,其实就是使用相同的函数名,传入不同数量的参数或不同类型的参数,以此创建出多个方法。 1. 最常见的,也就是根据定义傻瓜式地判断参数类型与数量 2. 其次就是使用常规的重载签名 使用重载签名进行重载,好处在于可以对传入的参数进行限制,只有当签名存在对应类型或数量的参数时,才不会报错。 此处 ... »

利用过滤器和反射技术对string类型的入参进行统一trim

【原创】 背景 最近做的一些项目都是后台管理系统,主要是对表单数据的增删改查操作,其中有些表单项是字符串类型的,对于这些类型的表单项就需要在保存或编辑之前要进行.trim()处理,刚开始感觉没什么,遇到了就手动进行.trim()一下,感觉很正常,因为Java本身就提供了这么一个字符串处理的方法,感觉 ... »

typescript中抽象类与接口详细对比与应用场景介绍

现如今,TS正在逐渐成为前端OO编程的不二之选,以下是我在学习过程中对抽象类和接口做的横向对比。 1. 抽象类当做父类,被继承。且抽象类的派生类的构造函数中必须调用super();接口可以当做“子类”继承其他类 抽象类派生: 接口继承类: 当类被接口继承时,通常是需要为这个类的子类添加约束。例如下面 ... »