• img元素下方空白的来源

    开发中经常会遇到图片元素img下方多余的空白,到底是怎么回事呢?要弄明白这个问题首先要弄明白CSS对于 display: inline 元素的 vertical-align 各个值的含义。vertical-align 的默认值是 baseline,这是一个西文排版才有的概念:  可以看到,出现在baseline下面的是 p 啊,q 啊, g 啊这些字母下面的那个尾巴。对比一下 vertical-align 的另外两个常见值,top 和 bottom:  ...
    CSS
  • Git修正错误

    人非圣贤孰能。所以每个VCS都提供一个功能来修复错误,直到Git控制的某一点上。 Git提供了一个功能,可用于撤消对本地存储库所做的修改。假设用户意外地对本地存储库进行了一些更改,然后想要撤消这些更改。 在这种情况下,恢复操作起着重要的作用。恢复未提交的更改假设我们不小心修改了本地存储库中的一个文件,此时想撤销这些修改。为了处理这种情况,我们可以使用git checkout命令。可以使用此命令来还原文件的内容。为了更好的演示,我们首先在 sample/src 目录下创建一个文...
    Git
  • Git入门文档

    假如只能阅读一章来学习 Git,那么本教程绝对是一个不二的选择。本章内容涵盖你在使用 Git 完成各种工作中将要使用的各种基本命令。 在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。 本章也将演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览项目的历史版本以及不同提交(commits)间的差异、如何向远程仓库推送(push)以及如何从远程仓库拉取(pul...
    Git
  • 八个贴士,让你在2018年开发更好的Node.js应用

    八个贴士,让你在2018年开发更好的Node.js应用

    在这篇文章中,我们收集了一些,我们认为在2018年里,作为一位Node.js开发者所需要的贴士。你可随意挑选,作用在新的一年的实践中。Tip #1: 使用 async - awaitAsync - await 在Node.js 8 中震撼登场了。它改变了我们处理同步事件的方式,并简化了我们先前所写的那些繁杂的代码。如果你还没有使用async - await,参考我们的介绍 。使用它,可以帮助你更新以往对 async progr...
  • HTTP之多事务的连接方式

    HTTP是一个应用层协议,基于TCP/IP。HTTP的连接其实就是TCP连接,从头到尾都是。只不过在其中传递的数据包不是任意的二进制,而是HTTP规定好的数据包。数据的发送也不是任意的,而是一个请求一个响应(请求和响应一对构成一个事务)。我们关心连接的使用方式,是因为它事关多事务情况下的性能。而在http中,处理多事务的连接有4种方式:并行连接Keep-Alive持久连接管线(pipeline)。我们拿一个简单的文件作为多事务的案例(文件名为1.html):<html> <bo...
  • HTTP之响应状态码

    状态码是一个三位的数字,用来告知客户端请求的处理结果。三位数字的第一位是一个分类,指明状态码的类型,以此数字把状态码分为5类:1xx: 信息类 。2xx: 成功。请求被成功的接受或者理解,或者执行。我们常见的200 OK就是这个分类内的。3xx: 重定向 - 为完成请求,需要进一步的行动。我们常见的301 Redirect就是这个分类内的。4xx: 客户端错误。客户端提交的数据错误,不能被理解或者接受等等。我们常见的404 Not Found 就是这个分类内的。5xx: 服务器错误。错误发生了,...
  • webpack的核心对象

    webpack中的核心对象我们不会讲所有 webpack 中的对象都拿出来讲解,而是整理了一些比较核心的概念。我们可以先看看下面的类图:下面的论述将会逐一讲述类图中的对象,首先我们先来看一下最顶层的类 Tapable。TapableTapable 提供了 webpack 中基于任务点的架构基础,它将提供任务点注册的方法以及触发的方法。一个简单的例子,使用 plugin 方法来注册一个任务点,然后使用 applyPlugins 方法触发:...
  • webpack的基本架构和构建流程

    webpack的基本架构webpack 的基本架构,是基于一种类似事件的方式。下面的代码中,对象可以使用 plugin 函数来注册一个事件,暂时可以理解为我们熟悉的 addEventListener。但为了区分概念,后续的讨论中会将事件名称为 任务点,比如下面有四个任务点 compilation,optimize, compile, before-resolve:compiler.plugin("compilation", (...