Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

Webpack4不求人(4)——编写自定义Loader

2020年3月11日 · 427 字 · 3 分钟

在前面的内容中,我们学习了Webpack的基本知识、常用脚手架和性能优化,虽然说大部分的开发场景社区已经又成熟的模块给我们使用,但是遇到特殊情况还是需要自己有独立开发的能力,因此今天我们一起来学习如何编写自定义Loader。 基本Loader Webpack中loader是一个CommonJs风格的函数,接收输入的源码,通过同步或异步的方式替换源码后进行输出。 module.exports = function(source, sourceMap, meta) { } source是输入的内容 sourceMap是可选的 meta是模块的元数据,也是可选的 需要注意的是,该导出函数必须使用function,不能使用箭头函数,因为loader编写过程中会经常使用到this访问选项和其他方法。

Webpack4不求人(3) ——性能优化

2020年3月6日 · 335 字 · 2 分钟

限定Webpack处理文件范围 项目比较小的情况下Webpack的性能问题几乎可以忽略,但是一旦项目复杂度上升,Webpack会有额外的性能损失需要我们进行优化。 通过前面内容的学习我们可以知道Webpack主要干下面这些事情: 通过entry指定的入口脚本进行依赖解析。 找到文件后通过配置的loader对其进行处理。 因此,我们可以从这方面入手进行优化,减少Webpack搜索文件的范围,减少不必要的处理。

Webpack4不求人(2) ——手把手搭建TypeScript+React16+ReactRouter5同构应用脚手架

2020年3月2日 · 658 字 · 4 分钟

同构应用 使用同一份应用代码,同时提供浏览器环境和服务器环境下的应用,解决传统浏览器单页应用的两个顽固问题: 不利于SEO,浏览器环境代码是在客户端渲染,大部分爬虫都只能爬到一个空白的入口文件 代码在浏览器渲染,低端机可能会卡顿 接下来我们一起从零开始搭建基于Webpack的React同构应用脚手架。

Shell脚本快速入门(2)

2020年2月11日 · 774 字 · 4 分钟

今天我们来学习Shell的运算符和流程控制。 运算符 Shell和其他编程语言一样支持多种运算符,包括: 算术运算符 关系运算符 逻辑运算符 字符串运算符 文件测试运算符 下面我们一起来看看。

Shell脚本快速入门(1)

2020年2月10日 · 195 字 · 1 分钟

Shell 是一个用 C 语言编写的程序,用户可以通过Shell脚本语言来进行程序开发。与其他脚本语言不同,Shell脚本所需的解释器一般是内置在操作系统的,而像Node.js、PHP等脚本语言需要手动安装解释器程序才可以。 接下来将和大家一起来学习Shell脚本编程。

Java中加载文件的几种方式

2020年2月1日 · 115 字 · 1 分钟

在Java程序中加载外部文件有多中方式,每种方式也存在区别,本文将理清这些加载方式之间的区别。 文件IO方式 package org.xialei.example.resource; import java.

kafka二进制协议简要分析

2020年1月17日 · 671 字 · 4 分钟

最近分享了《应用层私有协议的设计和实战》,对应用层私有协议设计做了一些介绍,同时也对协议设计中常用的数据类型做了比较形象的讲解,今天我们来研究一下kafka的二进制协议。 数据类型 kafka二进制协议定义了许多的数据类型,包含常用的数字、字符串,也包含了数组等类型。 本文主要讨论不可变长数据类型,可变长度(如Google Protocol Buffers)不在讨论范围内。

Javascript事件系统

2019年12月30日 · 450 字 · 3 分钟

本文内容 事件基础 事件监听方式 事件默认行为 事件冒泡与事件捕获 事件绑定与事件委托 事件基础 注意:本文不会深入探究Javascript的事件循环。

Webpack4不求人系列(1)

2019年12月19日 · 817 字 · 4 分钟

Webpack是一个现在Javascript应用程序的模块化打包器,在Webpack中JS/CSS/图片等资源都被视为JS模块,简化了编程。当Webpack构建时,会递归形成一个模块依赖关系图,然后将所有的模块打包为一个或多个bundle。 本文内容 简介 常用loader && plugin 传统网站的webpack配置 简介 要系统地学习Webpack,需要先了解Webpack的四个核心概念:

MySQL中的CHAR和VARCHAR到底支持多长?

2019年11月14日 · 185 字 · 1 分钟

最近在研究MySQL的数据类型,我们知道,选择合适的数据类型和数据长度对MySQL的性能影响是不可忽视的,小字段意味着可以MySQL可以读取更多的记录,从而加快查询速度。 网上该问题的答案有很多版本,还是通过实践得出的结论比较靠谱。 先说结论(MySQL版本5.7.27) CHAR最大255字符,字符集对CHAR没有影响,CHAR()括号内填写最大字符数255 VARCHAR最大65535字节,字符集对VARCHAR有影响 UTF8字符集,每个字符大小3字节,所以65535/3 = 21845,最大支持21845字符,因此VARCHAR()括号中最大填写21845字符 GBK字符集,每个字符大小2字节,所以65535/2 = 32767.