自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 03 服务端重构总结

花费了差不多1个多月的时间,任天赋、王帅琪和我三人功共同完成了隐私信息管理系统的前后端代码的重构工作。其中,王帅琪独立完成了前端代码的重构工作,任天赋负责服务端代码中大部分“写”的操作以及与第三方平台对接的代码工作,我负责的是服务端代码中绝大部分与前端对接的“读”的操作以及与隐私合规平台预设规则对接的代码工作。下面谈一谈我在进行重构过程中的体会和看法。重构的原因之所以进行重构,是因为之前的...

2019-06-27 18:35:15 789

原创 持续集成02 Travis CI

Travis CI是市场份额最大的持续集成工具,它对于开源项目是免费的,但是对私人项目和公司项目则是收费的。Travis CI提供的是持续集成服务,它绑定Github上的项目,只要有新的diamante,就会自动抓取,然后提供一个运行环境,执行测试,完成构建,然后部署到服务器。使用准备Travis CI只支持Github,不支持其他代码托管项目,所以使用Travis CI的前提是:代码位...

2019-06-27 10:54:11 453

原创 持续集成01 入门

持续集成的概念Continuous Intergration(CI),指的是开发代码频繁地合并进主干,式中保持可发布状态的这个过程。优点:快速发现错误防止分支大幅度偏离主干让产品可以快速迭代,同时还能保持高质量CI的核心措施:代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成与持续集成相关的还有两个概念,持续交付和持续部署(CD)持续交付和持续部署持续...

2019-06-27 10:53:40 261

原创 NGINX01 Nginx快速基础知识

Nginx是一个强大的轻量级的高性能网页服务器、反向代理服务器和电子邮件代理服务器。作为负载均衡服务器,Nginx可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。

2019-06-23 21:00:55 340

原创 算法练习07 数字组合总和

题目给定一个不含重复数字的数组arr,指定个数n,给出目标和sum,判断是否含有由n个不同数字相加得到sum的情况分析题目和LeetCode的39题和40题相似,我这个代码自我验证是对的,也不知道是否有问题。先把《算法图解》入门看完,再刷LeetCode,刷到的时候回来重新看一下吧。我现在的思路是,基线条件就是n === 1,这个时候的返回条件就是当前循环中的arr[i]与sum是否相等...

2019-06-23 10:02:24 776

原创 HTML+CSS33 关于居中的总结

准备工作HTML结构:<div class="container"> <span class="text">你好</span></div>公共样式:.container { width: 300px; height: 300px; background: royalblue;}.text { background:...

2019-06-20 19:44:22 224

原创 Vue提高20 日期选择器插件

以前收藏了一篇自己动手实现日期选择器的插件,最近没什么事,就想着仿照ElementUI的DatePicker,自己也写了一个简易的日期选择器,本以为不会很麻烦,实际动手才发现有很多问题需要解决。并且在写完之后,才发现可扩展性很差,距离ElementUI的水平差的很远,下一步就是把ElementUI的源码学习一下,看清楚自己的差距。结构我将这个日期选择做成了Vue的插件的形式,有三个文件:- ...

2019-06-18 16:58:47 6533

原创 浏览器渲染优化

第一课 关键渲染路径Web网页应该尽量避免不稳定性。多数设备刷新屏幕的频率为每秒60帧,即60fps渲染流程生成DOM树,(Parse HTML)生成CSS树合并成为渲染树(Recalculate Styles),计算样式计算布局,生成盒模型(Layour/Reflow)将页面由矢量转为光栅(Paint)处理复合层(compositive layer)注意,复合层上方的元素...

2019-06-17 23:19:59 630

原创 零散专题32 生成PDF

生成pdf的方案(1)JSPDF(前端生成 )优点:不需要服务端安装无头浏览器,使用CSS方便控制样式,生成的PDF文字可复制缺点:对中文支持不好(2)PDFKit( 服务端生成)优点:服务端直接解决,生成的PDF文字可复制,通过引入字体,可支持中文缺点:样式控制复杂(3)node-html-pdf(服务端生成)优点:服务端通过控制HTML模板生成PDF,支持中文,样式控...

2019-06-13 16:58:11 644

原创 Vue基础20 换行的处理

Vue中的数据使用{{}}插值插入DOM中,如果数据中含有标签或者换行符\n时,是无法正常被解析为HTML标签的,而是解析为纯文字的要想正常换行有一下几个解决方法:v-html使用v-html会将数据内容作为HTML标签插入到DOM中,这时候就可以用<br>来代替\n进行换行,这个时候就可以换行成功了white-space使用v-html要注意防范XSS攻击,我们也可以直接使...

2019-06-12 17:31:24 12352

原创 Egg06 参数校验和异常处理

参数校验手动校验之前的参数都是在Controller的入口处,手动的进行校验:async index() { const {ctx } = this const { query } = ctx.request try { const { type } = query // 缺少参数,没法查 if (!type) { const errMsg =...

2019-06-12 16:20:39 2833

原创 Egg05 Session

Session是Web应用在Cookie基础上的封装,主要目的就是进行用户身份识别。关于Session为什么要有SessionHTTP是无状态的协议,但是在很多情况下服务端需要记录用户的状态,典型的场景比如用户登录、购物车等。所以服务端需要某种机制来识别具体的用户,这种机制就是Session。当用户购物时,服务端并不知道是那个用户操作的,所以需要为特定的用户创建特定的Session,来标识...

2019-06-11 19:37:57 988

原创 网络基础16 携带Cookie跨域

普通的AJAX请求(非跨域的情况)是默认携带cookie的,但是在跨域时则是不携带cookie的。跨域时携带cookie的方法有三种:Nginx反向代理JSONPCORS对Cookie跨域的理解假设服务端的域名是a.com,发送跨域请求的前端的域名是b.com,那么在b.com想a.com发送跨域请求时,是可以携带cookie的,但是这个cookie必须是域名为a.com下的cook...

2019-06-11 16:47:21 1425

原创 Vue提高19 插件

插件和组件的区别(1)组件分为全局注册和局部注册,全局注册使用Vue.component('componetName', component)实现,全局注册后可以在Vue系统中任意使用,局部注册的组件每次使用都需要import,然后在组件的componentes中注册,它的目的是复用模板和逻辑,影响的范围大多数是组件自身范围内(2)插件的范围和能力比组件更大,插件内可以包含多个组件,可以在插件...

2019-06-11 15:08:28 183

原创 零散专题31 JS中的日期对象

最近做一个重构的业务,使用到了Mongo数据库,在接口中需要返回数据的的更新时间。之前数据库中都使用了时间戳记录时间,返给前端的数据直接使用时间戳进行格式化,并且查询条件也是由时间戳进行比对。没想到,做数据写入接口的同事,将这个字段由时间戳改为了使用Mongo自带的标准的日期格式:ISODate("2016-01-01T00:00:00Z")突然发现自己一时间对JS中的日期对象、对时间的各种表...

2019-06-03 23:24:25 197

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除