Yeoman's Blog

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?个人任务管理应该是一个私人......

Sassv3.5文档一览

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

Lodop打印方案汇总

目前WMS以及考拉小店系统内的打印方案用的都是客户端打印的方案,借助了Lodop打印控件来完成打印操作。 背景Q:为什么需要借助Lodop,而不直接用window.print()?A:我们的业务场景有几点是window.print()无法满足的,比如: 需要无预览界面直接打印 window.print()是采取截屏打印的策略,而我们的业务场景都是大多都是需要自定义HTML模版进行打印。 ......

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

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

记Chrome的性能分析工具实践

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

记组件库工程搭建

最近团队内准备维护一套vue的组件库,为了和nek-ui保持一样的交互设计。在搭建一个vue的组件库(nek-vue)的工程,其中有一个平时业务工程中不会遇到的需求,就是组件的按需引入。 需求:组件按需引入功能点拆分:JavaScript和CSS分别需要按需引入,也就意味着每一个组件必须单独打包成对应的脚本和CSS JavaScript打包对于开发环境来讲,webpack的entry可以配成......