Geolocation 的正确使用姿势

May 26, 2020JavaScriptWeb API

之前在实习过程中,接触过有关地理定位的需求,业务场景是通过 H5 页面获取用户的所处位置,很自然想到了 Web API 中的 navigator.geolocation.

Koa 源码剖析 & 实现

May 19, 2020NodeJS

Koa 作为搭建 NodeJS 服务时最常用的 web 框架,其源码并不复杂,但却实现了两个核心要点:中间件(Middleware)流程控制,又称“洋葱式模型”。将 request(IncomingMessage object)和 response(ServerResponse object)挂载到上下文(ctx)中。

基于 Travis CI + PM2 实现 NodeJS 应用的持续集成和部署

May 13, 2020运维NodeJS

何况,在标准的开发流程中,我们还需引入 单元测试、覆盖率报告、代码风格检测 ……,并将应用部署到 不同环境的服务器(开发、测试、生产)中,这无疑是一项繁琐的工作,本着 不想当运维的前端不是一个好全栈 的核心思想,我迫切需要解放我的双手。

关于 Font 的疑问解答和新特性解析

May 08, 2020体验交互Font

以前从没去系统了解过网页字体,但它却时时刻刻在影响用户的体验,作为前端的一部分,其重要性不言而喻,在此,记录我对字体的一些疑问和新特性解析。

一次 node_modules 安装失败的排查之旅

April 28, 2020NodeJS

前段时间,我更换了博客的主题,博客是使用 Gatsby 搭建的,它基于 React ,利用 Markdown 搭配 GraphQL,可帮助开发者快速构建博客站点。但在我安装依赖包时却掉入了天坑,此文用于记录我的脱坑过程。

Proxy 对象转 Primitive

April 10, 2020ECMAScript

Proxy 对象的 get(),和 Object.defineProperty(obj, propertyName, {get: ...}) 的作用非常相似,但 Proxy 不需要指明 propertyName,只通过 get() 就可以包揽所有情况。

仅需几行代码,为网站添加黑暗模式

March 08, 2020体验交互

在上一年,黑暗模式的概念席卷而来,随着系统级别的支持,其他主流应用程序的适配也陆续展开,它们大多提供了相应的入口,让用户可以切换整个主题,以此获得最舒适的体验。

你所不知道的 toString()

November 19, 2019JavaScript

最近在看 Lodash 的源码,其精简的语法和巧妙的设计,值得大家去细品 。其中有一个工具函数叫 getTag,旨在获取对象的类型标记(Tag),即我们所熟知的,利用 Object.prototype.toString.call() 去做类型检测。

利用 Redis 解决 NodeJS 中 Session 存储问题

August 22, 2019NodeJS

Redis 是一个基于内存的键值数据库,它由 C 语言实现的,与 Nginx / NodeJS 工作原理近似,同样以单线程异步的方式工作,先读写内存再异步同步到磁盘,读写速度上比 MongoDB 有巨大的提升。

2019 上半年前端实习面经

August 09, 2019面试

坐标杭州,我在上半年陆续找过一些前端实习,记录面经于此,供大家分享,现正在准备秋招。

ES6 核心特性解析

May 31, 2019ECMAScript

此文用来记录 ES6 的核心特性,以及一些容易被遗落的知识点。

Session 和 Cookie 深度实践

May 23, 2019NodeJS

很多人都已经看过 Session 和 Cookie 相关的入门文章,却只限于纸上谈兵,不懂得实际运用,本文从最小项目入手,结合前端跨域、HTTP 等知识点,做一次深入实践。