WELCOME TO MY HOME, PLEASE READING AND SHARING.

每天积累一点点,就能进步一丢丢。

nodejs timeout

说明正常的网络请求无非都是 client —req—> <—res–server,由于业务需要或者xx要求,需要对请求做超时限制。一个请求的timeout可分为三种:1、client requset timeout指的的是客户端请求超时设置,比如5s,意思是client从发起请求开始计时,如果超过5s,server还没有响应header返回,即视为请求超时;2、server response timeout指的

Read More...


说明nodejs作为服务端api开发语言已经不是什么稀奇的事情了,今天分享的不是怎么利用express进行api封装,而是怎么利用middleware中间件对api接口进行签名验证。为什么要做签名验证,原因很简单就是为了安全。 实现大家都知道express route可以很灵活的加入一些中间件包括我们自定义的,今天要实现的数字签名验证需要依赖passport-digital-signature进行二次开发。签名逻辑说明:对每个api请求

Read More...


说明今天谈谈kettle(v7.2)数据同步之增量更新,在实际的业务中经常会遇到增量更新的问题,一般有两种做法:1、先全量删除、后全量插入优点:简单,快速;缺点:修改的增量数据体现不出来,数据体积庞大2、当前数据和历史数据进行一一对比优点:增量数据体积小,更符合业务场景要求缺点:计算成本高、耗费资源 总体实现本例使用的mysql数据库,数据库连接这里不再赘述,参见上一篇说明用到的组件:1、输入:表2、合并记录:用来比较当前和历史数据,生

Read More...


react实现服务器渲染

说明之前我们所有的react spa项目都是前后端分离的客户端渲染,即通过render的方式进行UI呈现,通过ajax或者fetch进行api异步请求数据。 闲暇期间接触到了react服务器渲染方式,决定研究研究。为什么要说服务器端渲染呢?查了些帖子和资料,无非以下几个原因:1、代码复用;2、利于SEO,因为整个html都是由node后台生成好直接输出到前端的。3、提升首屏加载速度 为了更好更快的学习,这里给大家分享一个项目,步骤说明

Read More...


node保存base64编码的图片

说明web开发中经常遇到的一种场景就是保存图片到服务器,这里的服务器可能是专门的图片服务器也可能是api服务器。我们常用的做法就是利用标签为input[type=’file’]的DOM就客户端的file对象拿到服务器进行处理,代码如下:router.post('/uploadfile', multipart(), functio

Read More...


说明上一篇我们介绍了reach页面返回不刷新的问题,但是细心的童鞋发现,当我们有三级页面时1->2->3 ;比如2级页面我们用这个方法缓存住了数据,3->2是没有问题的,但是再从1->2的时候数据应该是从0开始加载,这就不对了。针对这个问题我们该怎么处理呢?也好解决根据this.props.location.action进行判断,1->2action是PUSH 3->2action是POP。到这里相信

Read More...


node-oracle安装 补充说明

说明上一篇我们介绍了oracledb 的安装方法,本篇补充说明先因为oracledb版本升级带来的变更:1、oracle数据版本10g以下不再支持,ORA-: Connections to this server version are no longer supported;2、如果用pm2 启动包含oracledb驱动的项目,需要使用单进程fork模式,用cluster模式驱动会报错3、对于同一版本的centeros 如果

Read More...


说明webpack是大家都知晓的主流打包工具,或者形象的讲是“模块打包机”,看下图想象应该一目了然。很多人都配置配1.x版本的webpack,处于项目框架长久开发或者某些新的功能包对于webpack高版本的要求,比如新版本的react-pdf 2.x,要求webpack>=2.x。这时候你就不得不去升级webpack。抛开这些不说,先看看webpack2.x和webpack1.x的效率对比上图是1.x打包后的文件大小,下图是2.x

Read More...


说明今天谈谈kettle数据同步之数据连接, 实现对于主流的mysql,oracal,sqlserver kettle都是支持连接的,当然连接的前提是必须要有相应的数据驱动,mysql-connector-java-5.1.21-bin.jar;ojdbc6.jar;路径可以是:输入-表输入-新建,在弹出的配置页面填写即可 1、oracle配置实例,连接方式选择jdbc这里需要注意,红色的部分都是必须要填写的。数据库配置的需要要小心坑

Read More...


说明上一篇简单的介绍了kettle,今天我们来个牛刀小试,kettle的核心就两种文件,一个是ktr的转化文件,一个是kjb的作业文件。熟悉kettle的人应该都了解,所有的密码都是用某种算法加密的。今天我们先来一个转化测试实现密码的加密 实现加密离不开机密算法,通过查找资料得知,kettle使用的是Packages.org.pentaho.di.core.encryption.Encr.encryptPassword。一个完整的转化,

Read More...


说明作为全栈开发工程或者DBA,往往会遇到数据同步的问题,有从excel同步到db的,有从mysql同步到oracle的,有从oracle同步到sqlserver的等等,其实我们都统称为异构数据同步,异构有可能是字段的异样,也有可能是数据库厂商的不同。按照传统思路,对于同一厂商的数据同步,可能还稍微简单点,一般都是导出文件,然后再导入文件。对于不同厂商的可能就更加麻烦一些。对于中间有逻辑处理的甚至可能还得写程序进行处理,费时费力。下图是

Read More...


nodejs生成签名

说明为了api数据访问的安全性,我们常用的几种做法:1、参数加密;2、时间戳校验;3、token校验;4、签名校验;相比较而言,签名校验是最安全的方式,比如qq,微信,支付宝的相关数据接口都是采用签名的方式。我们在实际项目中和网易进行对接的过程中也遇到了签名的问题,下面简单分享下nodejs环境下,签名和校验的方法 实现这里我们使用nodejs自带的Crypto加解密算法库;它主要提供了加密、解密、签名、验证等功能。这里我们重点介绍签名

Read More...