Yeoman's Blog

聊聊浏览器HTTP缓存机制

1. 何为缓存缓存就是对已有资源的重复利用,到达减少网络请求,I/O操作的优化目的。缓存在软件架构中的很多节点都会涉及,而对于前端(非Node.js)而言,我们最关心的,当然是浏览器的HTTP缓存策略,比如我们经常看到的304 Not Modified以及200 (from memory cache),200 (from disk cache)。 网上关于浏览器HTTP缓存的文章非常多,......

egg-sequelize以及事务相关

emmm,其实有一些标题党。这篇文章主要是记录一下事务的一些核心概念,为了强行和Eggj.js搭上一点边,也顺便聊下egg-sequelize的简单使用体验。 0. 写在前面Egg.js目前我还是停留在使用阶段,感觉在实践上更深入一些后,再去看源码相关效果会好一些。(懒 最近正好在看Mysql的东西,也对egg-sequelize有一些简单的实践,就以这篇文章记录一下。 1. egg-seq......

Vue源码学习-结合EventLoop看nextTick

1. 背景Vue中的$nextTick函数算是一个我们开发中出场率比较高的API了,作用是在这个回调中可以保证UI是更新完成之后的内容。 而Event Loop的知识用在工程中的实践并不多见,在$nextTick中这算是一个典型的例子,因此我觉得结合事件循环来看这块儿的源码是非常合适的。 另一方面,这个函数和Node.js中的process.nextTick是同名的。我也一直没去梳理过Nod......

Vue源码学习-从keep-alive的bug讲起

背景嗯,这个月的主题是Vue。想着正好趁着这个时间好好撸一撸Vue源码,说到源码阅读,先聊聊我觉得读源码几种比较好的方式吧。 1.1 系统性阅读通常一个成熟的框架源码代码量都是比较多的,也有比较多的复杂模块,这时候我们要找到一条主线,先不要去阅读细节的代码。然后庖丁解牛,逐个模块击破。比如我们先大致捋一捋Vue源码的主线,看过一些Vue源码的同学对于下面这张图应该都比较熟悉: Vue的源码......

Vue源码学习-聊聊Vue实例是怎么来的

1. 前言生命周期这个概念贯穿了我们整个Vue组件从创建到销毁,并且我们在开发中也经常需要用到几个核心的生命周期钩子函数,beforeCreated(),created(),beforeMounted(),mounted(),destroyed()等等。因此我觉得顺着这个脉络来梳理Vue源码的整体脉络是比较合适的。先来一张官方文档的图: 本文的目的是理清组件构造部分源码的脉络,涉及到某些......

聊聊个人任务管理

背景Q2季度事情非常多而杂,尤其端午那段时间整个人的状态非常混乱。感觉急需一个科学合理的个人任务管理工具。于是在工作节奏缓过来之后,看了一些这方面的文章,然后发现了一个科技类博主JailbreakHum的知乎Live,Live有两期,分成入门和进阶,仔细听完之后比较认同作者看问题看本质的思维方式。 这篇文章主要就是记录下Live的听后感以及自己的一些实践。 Why?个人任务管理应该是一个私人......

结合CSS2.1规范看BFC和Positioning

1. 写在前面做前端开发已经有一段时间了,想着可以开始对一些CSS知识做一些总结了。CSS2.1中,我认为最基础也最重要的概念,莫过于定位和布局了,CSS已经给人一种比较玄学的感觉,本文尝试结合W3C规范中的一些重要概念来做一些总结。 2. CSS控制盒在讲CSS的定位之前,需要先了解CSS的两种基本元素,Block-level elements-块级元素和 Inline-level ele......

从0.1+0.2=0.30000000000000004再看JS中的Number类型.md

写在前面今天在看《JavaScript高级程序设计》的时候,注意到书中特意提到了0.1+0.2=0.30000000000000004这样一个浮点数计算错误的问题,觉得很有意思。平时在工作中对于浮点数了解地并不多,正好最近小组同学也遇到了这个问题,准备来总结下这个看似简单的Number基础类型,其实并不简单。这篇博客意在从这个奇怪的计算结果去学习总结浮点数的相关知识。 两个既定的事实 在JS......

Sassv3.5文档一览

背景因为nek-ui 2.0 要完全重构掉CSS部分,因此决定重新调研一下现在比较好的CSS预处理方案。参考了一下element-ui,发现element-ui在新版本已经从postcss+postcss-salad的方案迁移到了node-sass+sass-loader的方案。看了一些Sass的写法,发现有些语法已经看不懂了,于是决定系统性地过下Sass官方文档,学习下Sass的一些新特性......

记Chrome的性能分析工具实践

业务场景事情的起因是我们WMS系统内有一个批量打印的功能,今天仓库反应第一次打印的速度大概是2s,但是之后每次都越来越慢,到后面页面基本就直接卡死了。 从这个表现来看,这个问题基本可以定位成性能问题,而不是可以被try…catch到的异常。 想到的解决方案有两种: 一行行review这部分相关的代码,console+debugger来逐步排查问题。 使用Chrome自带的性能分析工具来定位......