WELCOME TO MY HOME, PLEASE READING AND SHARING.

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

说明有一天登录到自己的博客,打开发现所有的图片都加载不出来了。图片原来都寄存在七牛云上,刚开始由于七牛是免费的且速度较快,就放在上面了。但是最终还是被坑了,后来通过填写工单的方式,才得知原来的都是测试域名,现在都回收了,不再使用。也就是外联都失效了,从七牛官网上也下载不了,原来的图片七零八碎的也都不知道在哪。抓狂。后边也感谢七牛工程师,将原来的测试域名暂时给我激活,3天期限。要么从官网下载下来放到别的地方,要么填写一个自己已经备案的cd

Read More...


说明webpack是大家都知晓的主流打包工具,或者形象的讲是“模块打包机”,在之前的博客中也总结了1.x–>2.x的核心步骤。今天要介绍的如何提升前端项目的打包效率,缩短打包时间,进而缩短项目部署的时间。大家都知道,随着项目原来越大,需要解析和处理的文件也越来越多,构建是文件读写和计算密集型的操作,这时候webpack的处理效率会越来越慢。运行在nodejs的webpack是单线程模式,也就说它不能同时处理好几件事,所以这也就说慢

Read More...


git常用命令

说明在我们程序猿的开发工作中,代码管理并不可少,之前介绍了本地svn环境的搭建。当然除了svn外,主流的还有git,关于git的安装大家可自行去官网或者论坛里寻找,这里要介绍的是git的一些常用的操作命令: 初始化仓库先在git上new一个project,复制git地址留着备用 1、创建一个空的代码库,本地没有任何代码 git clone git@git.jd.com:uname/test.gitcd testtouch

Read More...


说明最近项目中遇到了一个实例,需要将字符串中的特定字符,替代成img标签,即表情以html的方式展示在前端。数据返回的字符串形如aaaa#E-s01ffff#E-s02ddd#E-s21其中#E-s01为要替换的表情字符,需要替换为<\img style=”width:25px;height:25px” src=”http://xxx.example.com/im_smart/images/express/base/s21.png

Read More...


nodejs hapi(三) view template

说明上一篇我们介绍了hapi server的会话,本篇view模版。同express一样,hapi也支持多种模版引擎,eg:jade、ejs、html等。配置方式略有不同,下面具体介绍 实现 express 12app.set('views', __dirname + '/views'); //指定views文件路径app.set('view engine', 'ej

Read More...


nodejs hapi(二) server session

说明上一篇我们搭建了基本的hapi server,从本篇开始我们将“添砖增瓦”,今天我们讨论是server session会话的问题。作为web server,session保持是必须要有的基础功能,用来验证用户请求的合法性。在express中我们可以用express-session 插件,app.use(session({…options}))来实现。hapi也是类似,可以用hapi-server-session,但具体引用并不像ex

Read More...


nodejs hapi(一) server

说明最近偶遇nodejs一个框架hapi,经过各种搜贴发现相关的信息很少,据说是国内不太流行,毕竟express还是大腿。具体和express和koa的比较,可以参考diff。这里我们不做好坏对比,我们的原则就是能满足实现的frame很多,具体如何选择具体分析。官方的文案demo比较碎,很不适合初学者上手。这里我们就来个深度的get start server本节将实现hapi server。之后所有的分享均基于hapi v17.step

Read More...


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...