DOCTYPE的作用:文档类型与浏览器模式

DOCTYPE HTML DTD XML SGML

DTD(document type definition,文档类型定义)是一系列的语法规则, 用来定义XML或(X)HTML的文件类型。浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。

事实上DTD可以定义所有SGML语族的文档类型,但由于太过繁琐, XML Schema反而更加流行。

多数HTML编辑器都会为我们添加一行DOCTYPE声明,但DOCTYPE却是我们最容易忽略的部分。 下面我们会看到,DOCTYPE声明并不是可有可无的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

那些 JavaScript 的优秀特性

DOM JavaScript Lambda Promise 继承 闭包 作用域 弱类型 原型链 ES6

说起编程语言,理科生们最初接触的应当是C++。那是P校的必修课。 事实上第一个让我认真去用的语言是.NET C#, 我学习了几乎所有的语言特性、窗口控件以及WPF样式字典。 这样便可以成为一个C#伪专家,去解答别人关于C#的各种问题 :)

此后由于各种原因去学习JavaScript、Python、Ruby,逐渐地发现成功使用一门语言的关键不在于熟悉所有语言特性,而是学着只用那些优雅的、表达力强的语言特性来完成整个工程。

那么JavaScript能否进化为一个只包含有点的语言呢? 在这一点上标准化协会其实也无能为力,去除任何语言特性都会造成依赖于该特性的工程失效。 我们可以使用JSLint等工具来提示我们,确保项目中没有使用那些糟糕的语言特性。

Online Judge Toolkit 发布啦

C++ Github Makefile 数组 算法 链表 队列 二叉树 运算符重载

IT公司的校招笔试通常是一些算法类的题目,近年来基本都是在线OJ的形式。 于是有一个本地的OJ工具能有很大帮助,比如数组、字典的cout/cin, 常见算法的C++实现等。现在Harttle整理了一个OJ工具库:oj.h, 近日已完成工具文档,欢迎试用和贡献代码!

基本使用

从Github下载工具库:https://github.com/harttle/oj.h

代码仓库中的main.cpp便是一个使用示例。

引入其中的oj.h并使用oj命名空间即可。比如下面的数组输入输出:

#include "oj.h"
using namespace oj;

int main() {
    vector<int> v;
    // input: 2 1 3 4
    cin >> v;
    // output: [2,1,3,4]
    cout << v << endl;
    return 0;
}

jQuery社会化分享:支持微信、微博、Github...

CSS Github HTML JavaScript jQuery 微信 二维码

一个既美观有支持微信的社会化分享工具:harttle/social-share。 支持微信(二维码)、微博、Github、Google+、LinkedIn、Twitter、Facebook、RSS…, 支持四种大小设置。

  • 在线Demo: https://harttle.land/social-share/

  • 文档: https://github.com/harttle/social-share

最近在天码营和本博客中添加社会化分享,调研和尝试了不少第三方工具。 国内最方便的应当是jiathis,然而并不美观。国外的工具基本都没有微信(二维码)的支持。 于是诞生了 harttle/social-share

用Ag/Ack在Vim中搜索项目代码

Vim-Practice Vim Vundle grep 快捷键

Ag(The Silver Searcher)和Ack都是 CLI 的全局搜索工具,其中Ag更快一些,而Ack也比Vim自带的grep快很多。这些工具的Vim插件可以通过Vim Quickfix窗口来提供代码搜索的结果。 本文便来详细介绍如何在Vim中使用Ag全局搜索。

那么什么是Quickfix窗口呢? Quickfix是Vim的一个特殊编辑模式,该模式的提出最初是受启发于Aztec C编译器: 把编译错误写入一个文件中,然后从这个文件一一跳转到对应出错的源文件。

如何使用 CSS 截断文本?

CSS HTML 盒模型 text-overflow overflow line-clamp 优雅降级 inline

在很多UI设计中会限制文本长度,这时需要我们适当地截断文本显示省略号。 同时响应式布局也要求动态的文本长度,在大屏幕中显示较长文本,而在小屏幕中显示较少文本。 显然用CSS比JS能够更简洁地完成这项工作。 下文介绍了对单行/多行文本如何进行截断,以及何种情况下截断不起作用。先看图:

@2x

导航: 上一页 下一页

加载中...

🔝