愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

浏览器缓存技术总结

一、浏览器缓存技术 浏览器中,为了加快一些不常变内容的访问速度,会将其缓存在本地中,当下次再次访问时,就直接加载这些资源,从而加速访问。这种技术称之为浏览器缓存。 判断浏览器加载的一个资源,是否是使用缓存,可以使用开发者工具查看Network,存在缓存中的资源,其Size会显示为from disk cache或者fro...

深入解析Vue依赖收集原理

一、先谈观察者模式 观察者模式是一种实现一对多关系解耦的行为设计模式。它主要涉及两个角色:观察目标、观察者。如图: 它的特点:观察者

每天一个JavaScript设计模式:抽象工厂模式

一、场景 抽象工厂模式是一种创建型模式,抽象工厂模式创建的是类簇,而非是具体某一个类的实例。 抽象工厂模式适用于系统里有多于一个的产品族,而只需要用到某一族的类的场景 ...

每天一个JavaScript设计模式:工厂方法模式

一、适用场景 简单工厂模式虽然能够解决创建同类对象的问题,但是却存在以下问题: 1)当需要添加新的类时,就需要修改工厂方法,这违背了开闭原则(OCP, 对扩展开放、对源码修改封闭) 2)不适用创建多类对象 于是,工厂方法模式便是为了解决以上问题的另一种

每天一个JavaScript设计模式:简单工厂模式

一、适用场景 简单工厂模式是一种创建型模式,适用于创建同一类对象。 假如存在以下需求: 编写一系列的弹出框,包括:警告框(alert)、输入框(promt)、确认框(confirm) 我们自然可以编写Alert()、

httpProxy模块学习记录

node-http-proxy是一个支持websocket的HTTP可编程代理库,适用于实现反向代理和负载平衡一类的组件。 一、安装 使用npm安装如下: npm install http-proxy 二、核心概念...

《深入浅出NodeJS》读书笔记之集群的稳定

在搭建好集群之后,我们就可以充分利用多核CPU资源了,但是在用于实际生产环境之前,我们仍然需要考虑一些问题,典型的问题如下: 性能问题 多个工作进程的存活状态管理 工作进程的平滑重启 配置或静态数据的动态重新载入 我们至少需要解决上述问题,集群的稳定性才能有所保障。 一、进程事件...

《深入浅出NodeJS》读书笔记之集群

一、单线程模型的优缺点与服务模型 1、Node与单线程模型 NodeJS基于Chrome V8引擎构建,因此JavaScript将会运行在单个进程的单个线程上。如此的优点在于: 1)程序状态是单一的,没有多线程的锁和线程同步问题 2)较少的上下文切换,可以提高CPU的使用率 但是单进...

Grid布局学习总结

Grid布局是CSS中除了flex布局外的另一强大的布局系统,相比flex,Grid布局更适合二维布局 一、基本概念 1、网格容器:声明display: grid的元素,所有网格项的直接父级元素 2、网格项:网格容器的直接子元素

Socket.IO学习笔记

Socket.io是一个事件驱动的即时双向通信支持库,使用它可以很方便地开发出可靠的、快速的即时应用 一、起步:编写一个聊天应用 1、基本结构 以下示例,采用Koa2作为WEB服务的框架,所以首先需要安装Koa并加入依赖: npm install koa -S

Egg学习笔记(五):MySQL

在Web应用中,MySQL是最为常用的关系型数据库之一,Egg中则提供了egg-mysql用以驱动MySQL数据库的使用 一、安装与配置 和其他插件一样,首先需要通过npm引入,然后在config/plugin.js里进行配置: npm install egg...

Egg学习笔记(四):HttpClient

Egg基于urllib内置实现了HttpClient,因此在应用里可以很方便地发起HTTP请求 1、使用HttpClient 框架初始化时,会将HttpClient实例化到app.httpClient,故可以通过app.htt...

Egg学习笔记(三):Service/插件/模板

一、Service Service是在复杂业务场景下对业务逻辑的一个封装抽象,这种抽象的好处在于: 使Controller中的逻辑更加简洁 使Service可被多个Controller重复调用,提高可复用性 便于编写测试用例,做单元测试 编写Service,可以在app/service

Egg学习笔记(二):环境/中间件/Router/Controller

一、运行环境与配置 在Egg中,指定运行环境的方式有两种: 通过config/env文件指定,文件的内容即为运行环境 通过EGG_SERVER_ENV环境变量,这是比较常用的方式,如在生产环境启应用,可以这么启: E...