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

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

styled-components学习记录

一、styled-components有什么用? 我们常常会思考,如何以一种更优雅、更灵活的方式来为React组件编写样式?因而styled-components应运而生。 使用styled-components,它可以带来如下这些好处: 自动提取关键的CSS:...

VSCode Snippets 食用指南

我们在写代码的过程中,常常会遇到一些固定的代码结构,形如输入一串console.log或者输入for的结构甚至是编写redux的reducers等等。反复写这些代码结构,不仅枯燥无聊,也会觉得效率不够高。那么有没有什么办法可以解决这个问题呢?让写代码的过程更畅快点呢? VSCode

《人月神话》学习笔记(一):焦油坑

一、何谓焦油坑 “无论你是谁,无论你是否强大,只要陷入焦油坑,就难以自拔,束缚到底” 史前史中,任何巨型猛兽,陷入了焦油坑就会越挣扎越被焦油紧紧缠住。如同大型软件系统的开发,各种团队无论大小、人员是否精干,在面对一个大型系统处理各种相互纠缠和累积一起的问题时,就会很容易使得团队的行动速度变得越来越慢。通过焦油坑这么一个比喻,试...

【译】明智地使用 React.memo()

原文:Use React.memo() wisely 用户都喜欢快速响应的用户界面(UI),少于100毫秒的UI响应延迟会让用户感觉比较快,而100~300毫秒的延迟就已经能够被察觉了。为了提高UI的性能,React提...

Enzyme学习记录

Enzyme是由Airbnb所推出的React测试工具,它模拟了jQuery的API,提供了一系列简洁易用的功能,这将使得我们进行React组件测试时非常地得心应手。 一、渲染形式 在开始介绍Enzyme

Chrome Extension 开发总结(二):通信机制

一、前言 在Chrome Extension中,存在多种类型的脚本,它们具有不一样的API访问权限、域访问权限和DOM访问权限,因此他们能够各司其职,完成不一样的角色职责。有时候,当当前的脚本不支持某一特定的权限时,与具备相应权限的脚本进行通信,就尤为重要。所以本文主要介绍Chrome Extension...

深入理解 linear-gradient()

一、开言 相信大家都用过linear-gradient这个CSS3带来的特性,用来实现线性渐变效果。我们都知道它的语法是: linear-gradient([<angle> | to <side-or-corner>]?, <color-stop-list>)

Git打标签功能详解

打标签功能对于标记发布节点尤其有用,这篇文章将总结git中打标签功能的详细用法 一、列出标签 列出标签功能可以查看已有的git标签,使用git tag命令即可: $ git tag v0.1 v1.3

【译文】SSL/TLS会话的流量分析

一、前言 本文主要探讨当我们使用SSL/TLS时,在协议级别发生了什么。为了便于分析,我将会使用一个基于OpenSSL所实现的非阻塞式TCP客户端。 我们首先要记住,SSL/TLS能让应用像底层基础设施(指的是网络和主机)一样安...

Dart学习笔记(八):异步支持与async/await

Dart中有类似于Javascript的async/await语法,用以支持异步场景。在Dart里,很多库方法会返回Future或者Stream对象,这些方法是异步的。对于这些方法,它们会在调用完后就返回了,这种情况下,如何获得调用结果呢?方法有两种:

Jest中提供的工具(jest-platform)总结

Jest中有一些独立的包,我们可以使用这些包来使用一些Jest的特性。这些可能对于开发一些工具,做一些自动化流程时是非常有帮助的 一、jest-changed-files 用来识别git/hg仓库文件变更的工具,暴露了两个方法: getChangedFilesFor...

Dart学习笔记(七):库

在Dart中,可以使用import和library创建模块化的可分享代码。Dart库具有如下一些基本概念: 在库里面,以_开头的标识符仅在库内部可见 每个Dart程序都是一个库,即使没有使用library命名,也是一个库 ...