arttle Land
归档
关于
文章归档
七月
2023
2023-07-06
【译】做好工作:Doing a Job
工作方法
管理方法
十一月
2022
2022-11-22
Linux 下共享代理到局域网
Linux
iptables
ipset
路由
redsocks
五月
2022
2022-05-02
SSH 配置端口转发
SSH
端口转发
SOCKS
三月
2022
2022-03-19
在 Vim 中复制、剪切和粘贴
Vim
剪切板
寄存器
快捷键
2022-03-06
iPhone 各机型的 iOS 和 Safari 版本
iOS
版本
iPhone
Safari
十一月
2020
2020-11-22
JavaScript 字符串转数字
JavaScript
字符串
Number
类型转换
九月
2020
2020-09-04
Vim 使用系统剪切板
Vim
剪切板
寄存器
七月
2020
2020-07-04
4K 设备配置指南
网络
视频
HDMI
六月
2020
2020-06-26
Bash 转义和引号的使用
Bash
xargs
grep
sed
转义
2020-06-25
状态码很重要
HTTP
Web
状态码
REST
2020-06-06
对 tail -f 使用管道
TTY
Unix
管道
awk
grep
sed
二月
2020
2020-02-10
Vue 服务器端渲染(SSR)源码分析
SSR
Vue
一月
2020
2020-01-27
Chrome 80 跨域 Cookie 变化的影响和应对方案
Chrome
Cookie
SameSite
Secure
跨域
十二月
2019
2019-12-26
从当前位置打开 Terminal
Terminal
Shell
i3wm
2019-12-24
X11 多显示器配置:玩转 XRandR
Mac
X11
XRandR
HDMI
2019-12-15
编写跨时区的 JavaScript 代码
JavaScript
Date
时区
2019-12-12
Vim 下大小写敏感的搜索/替换
Vim
大小写敏感
搜索
替换
2019-12-07
VT 下的键盘映射设置
ArchLinux
keycode
TTY
X11
vconsole
十月
2019
2019-10-20
使用模逆元计算组合问题
模逆元
欧拉定理
费马小定理
扩展欧几里得算法
2019-10-19
ArchLinux 休眠到交换文件
ArchLinux
交换文件
休眠
2019-10-13
ArchLinux 下的屏幕背光恢复
ArchLinux
Mac
systemd
屏幕背光
九月
2019
2019-09-21
龙胆虎威中的四加仑水迷题(Die Hard 3)
线性组合
最大公约数
数论
离散数学
八月
2019
2019-08-12
TypeScript 来做依赖注入的限制
TypeScript
依赖注入
装饰器
2019-08-08
ArchLinux 键盘映射:交换 CapsLock 和 Ctrl
ArchLinux
hwdb
scancode
keycode
Xmodmap
MacBook
七月
2019
2019-07-16
AMD 模块化最佳实践
AMD
JavaScript
异步
模块化
五月
2019
2019-05-27
Angular DI 是怎么工作的?
TypeScript
依赖注入
反射
装饰器
2019-05-01
Linux 下 MacBook 触摸板设置
Linux
MacBook
xinput
X11
触摸板
i3wm
四月
2019
2019-04-30
安装 AUR 软件包
ArchLinux
AUR
编译
2019-04-26
在 MacBookPro 上安装 ArchLinux
ArchLinux
MacBook
WiFi
声卡驱动
屏幕背光
键盘背光
i3wm
三月
2019
2019-03-27
从 SPA 到 PWA
Web
PWA
SPA
2019-03-21
在 ES Module 中引用 CommonJS:esModuleInterop
CommonJS
ESM
ES6
allowSyntheticDefaultImports
esModuleInterop
2019-03-14
『开发者体验』骗局(译)
Web
性能
2019-03-05
如何在 TypeScript 中继承 Error
TypeScript
Error
继承
2019-03-01
在 Bash 中进行 encodeURIComponent/decodeURIComponent
Bash
encodeURIComponent
sed
一月
2019
2019-01-16
事件循环是如何影响页面渲染的?
JavaScript
Microtask
setTimeout
requestAnimationFrame
Promise
十二月
2018
2018-12-05
如何调试 Vim 脚本
Vim
调试
日志
十月
2018
2018-10-23
Bash 条件判断
Bash
Shell
变量
运算符
2018-10-14
ES6 Symbol 到底有什么用?
ES6
Symbol
迭代器
2018-10-14
所以 JS 是怎样一门语言?
JavaScript
Node.js
浏览器
九月
2018
2018-09-29
ES6 迭代器:Iterator, Iterable 和 Generator
ES6
JavaScript
生成器
迭代器
六月
2018
2018-06-29
JavaScript 中数字的底层表示
JavaScript
Number
浮点数
二进制
运算符
2018-06-23
iOS UIWebView 的 Bug 集锦
iOS
动画
UIWebView
scroll
2018-06-20
设置和获取 radio input 的状态:checked, prop, attr, val
DOM
JavaScript
radio
checked
五月
2018
2018-05-30
正确使用 HTML5 标签:img, picture, figure 的响应式设计
HTML
响应式
媒体查询
图片
2018-05-17
点击态样式:focus, active, hover 的区别与兼容性
focus
hover
active
CSS
2018-05-15
在 HTML 和 CSS 中转义特殊字符
HTML
CSS
转义
四月
2018
2018-04-22
获取 DOM 元素的绝对位置
DOM
HTML
CSS
2018-04-07
JavaScript 中常见的反模式
AMD
JavaScript
注释
重构
模块化
全局变量
设计模式
三月
2018
2018-03-25
HTTPS 交互过程分析
HTTPS
TCP
TLS
ALPN
SNI
2018-03-13
从 Git 中移除某些历史 Commit
Git
Git-Workflow
2018-03-12
安全地回滚远程分支
Git
Github
Git-Workflow
二月
2018
2018-02-09
为何要避免全局变量
封装
测试
模块化
全局变量
2018-02-07
适当地引入防卫性编程
JavaScript
封装
接口
重构
一月
2018
2018-01-31
树莓派搭建 HomeKit 服务
GPIO
Node.js
UART
HomeKit
Raspberry
2018-01-29
AIY Voice Kit 初体验
Raspberry
GPIO
UART
2018-01-06
Vim 中配置 C++ 编码风格检查
cpplint
Syntastic
C++
Vim
十二月
2017
2017-12-24
Deep Linking:从浏览器调起 APP
URI-Scheme
Universal-Links
Intent
iOS
Android
2017-12-03
怎样合理地设计你的网站 URL
HTTP
URL
路由
2017-12-01
如何编写 Commit Message
Git-Workflow
Git
重构
十一月
2017
2017-11-30
基于 Git/npm 的开发流程实践
Git-Workflow
Git
Github
NPM
测试
编译
版本
2017-11-24
保存和恢复 TMUX 工作区 —— The Easy Way
Bash
Session
Tmux
十月
2017
2017-10-30
CLI 测试:文件与标准输出
BDD
Mocha
Node.js
测试
Ramdisk
2017-10-28
客户端渲染有哪些坑?
MVVM
异步渲染
路由
兼容性
pushState
popstate
八月
2017
2017-08-22
利用 Plex 和 Syncthing 搭建媒体中心
ArchLinux
SSH
systemd
多媒体
2017-08-15
浏览器的 16ms 渲染帧
DOM
JavaScript
异步
性能
重绘
浏览器渲染
六月
2017
2017-06-27
注意那些 Promise 反模式
JavaScript
Promise
异步
回调函数
设计模式
2017-06-26
Promise 回调的执行时机分析
JavaScript
Promise
异步
2017-06-23
Vim、Tmux、系统共用剪切板
SSH
Tmux
Vim
剪切板
寄存器
2017-06-01
在 CentOS 6 上编译 Vim 8
CentOS
Vim
编译
五月
2017
2017-05-31
Git 配置:使用 Vim 来做 diff
Git
Tmux
Vim
Diff
2017-05-25
为 JS 代码生成 Markdown 文档
AMD
ES6
Markdown
注释
ESLint
JSDoc
2017-05-23
百分号编码与 encodeURIComponent
encodeURIComponent
UTF-8
URL
GB2312
2017-05-05
内联和外链脚本的性能实验
Chrome
DNS
HTTP
JavaScript
inline
性能
缓存
四月
2017
2017-04-22
Fetch API 入门:替代繁琐的 AJAX
CORS
Cookie
跨域
Service-Worker
2017-04-10
Service Worker 更新机制
Chrome
HTTP
缓存
进程
浏览器
Service-Worker
PWA
2017-04-09
立即使用 Service Worker!
AppCache
Chrome
JavaScript
PWA
Safari
缓存
Service-Worker
2017-04-08
Service Worker 调试技巧
Chrome
PWA
事件
测试
缓存
Service-Worker
2017-04-04
使用 HTTP 缓存:Etag, Last-Modified 与 Cache-Control
Chrome
HTTP
Node.js
性能
缓存
浏览器
2017-04-04
合理使用 HTTP 缓存
HTTP
缓存
网络
浏览器
2017-04-03
Shell 中的变量作用域
Shell
进程
作用域
三月
2017
2017-03-12
Vim 中使用 Eslint 检查代码风格
JavaScript
Vim
代码风格
快捷键
ESLint
2017-03-12
浏览器前进/后退缓存(BF Cache)
Chrome
Firefox
JavaScript
DOM
XHR
缓存
二月
2017
2017-02-12
国内主要视频网站的嵌入方式
Flash
iframe
视频
HTML5
2017-02-08
Web Components 可用性调研
ShadowDOM
CustomElement
组件化
HTML5
2017-02-04
在 Vim 中执行 Shell 命令
Shell
Tmux
Vim
进程
快捷键
一月
2017
2017-01-30
Vim 中的变量赋值、引用与作用域
Vim
作用域
寄存器
环境变量
变量
2017-01-29
获取 DOM 内容的 API 接口
DOM
HTML
jQuery
innerHTML
textContent
重排
2017-01-28
PWA 初探:基本特性与标准现状
Android
Chrome
PWA
缓存
Service-Worker
2017-01-16
在 DOM 中动态执行脚本
DOM
HTML
JavaScript
jQuery
innerHTML
2017-01-16
动态插入外部样式表
DOM
HTML
事件
异步
CSS
innerHTML
2017-01-14
Raspberry Pi 3 的 GPIO 串口配置
Raspberry
GPIO
UART
十二月
2016
2016-12-30
重定向 CORS 跨域请求
Chrome
HTTP
Safari
iOS
CORS
跨域
XHR
2016-12-30
CORS 跨域中的 preflight 请求
跨域
CORS
AJAX
HTTP
XHR
2016-12-28
CORS 跨域发送 Cookie
AJAX
Cookie
XHR
CORS
跨域
2016-12-22
Electron 中的 IPC
Github
IPC
Node.js
事件
Electron
2016-12-20
使用 rem 提供一致的字体大小
CSS
Chrome
字体
font-size
十一月
2016
2016-11-26
CSS/JS 阻塞 DOM 解析和渲染
CSS
DOM
JavaScript
性能
浏览器渲染
2016-11-26
异步渲染的下载和阻塞行为
CSS
DOM
DOM解析
异步
浏览器渲染
2016-11-19
JavaScript 依赖注入实现
AngularJS
JavaScript
defineProperty
容器
依赖注入
2016-11-13
jQuery获取元素内容
DOM
HTML
iframe
jQuery
2016-11-12
什么时候应该使用依赖注入
AMD
AngularJS
JavaScript
接口
测试
依赖注入
十月
2016
2016-10-25
没有 Root 权限 Oh My Zsh 使用攻略
Bash
Linux
Mac
Zsh
SSH
Shell
Unix
2016-10-14
在 Vim 中进行文件目录操作
Vim
剪切板
寄存器
快捷键
2016-10-12
编写浏览器和Node.js通用的JavaScript模块
浏览器
AMD
CommonJS
JavaScript
Node.js
模块化
2016-10-09
JS实现无限划动的图片全屏浏览
Android
jQuery
事件
滑动窗口
全屏
2016-10-08
谨慎使用代码注释
封装
接口
算法
注释
重构
2016-10-07
Express.js 性能优化
Express.js
Chrome
HTTP
缓存
性能
九月
2016
2016-09-29
常用 MongoDB 命令手册
JavaScript
MongoDB
数据库
2016-09-28
Mongoose 中实现虚拟字段查询
MongoDB
mongoose
Schema
2016-09-27
Mac 下编写中文 Beamer
Mac
字体
LaTeX
XeTeX
中文
2016-09-26
实现 Mongoose Schema 间继承
JavaScript
mongoose
继承
数据库
原型继承
Schema
2016-09-23
保存和恢复 TMUX 工作区 —— The Hard Way
Bash
Session
Tmux
2016-09-22
为Express.js编写一个Logger
Express.js
JSON
JavaScript
Node.js
2016-09-21
Makefile构建前端项目
Shell
Linux
Makefile
Unix
awk
grep
sed
2016-09-19
前端为什么需要构建工具?
Makefile
Gulp
CommonJS
Grunt
JavaScript
测试
模块化
2016-09-14
SSH 配置自动登录
Linux
RSA
SSH
Shell
TCP
Unix
X11
2016-09-12
全屏预览图片的动画和自适应布局
CSS
HTML
JavaScript
innerHeight
jQuery
scrollTop
事件
兼容性
动画
横屏
2016-09-09
CSS 实现 sticky 在底部的页脚
页脚
CSS
HTML
2016-09-07
使用pm2管理Node.js应用
HTTP
JavaScript
Node.js
SMTP
事件
模板
进程
2016-09-06
Git 工作流:日志与回滚
Git-Workflow
Git
Github
2016-09-05
Git 工作流:操作远程仓库
Git-Workflow
Git
Github
2016-09-02
Git 工作流:分支管理
Git-Workflow
Git
Github
2016-09-01
Git 工作流:代码提交
Git-Workflow
Git
Github
八月
2016
2016-08-29
Git 工作流:初始化一个 Git 仓库
Git-Workflow
Git
Github
2016-08-22
Vim 查找/替换/输入非可见字符
Unix
Vim
Windows
字符编码
2016-08-18
Karma 测试异步加载的 JavaScript
JavaScript
Karma
测试
AMD
异步
2016-08-15
利用 Sinon 测试 AJAX 请求
AJAX
BDD
DOM
HTTP
Mocha
Mock
Promise
XHR
jQuery
异步
测试
2016-08-10
是时候熟悉一下 Promise 异步编程范式了!
mongoose
JavaScript
MongoDB
Node.js
Promise
回调函数
2016-08-08
在 Vim 中优雅地查找和替换
Vim
字符串
快捷键
正则表达式
2016-08-05
Vim 中为 Markdown 配置回车展开
Markdown
Vim
Jekyll
2016-08-04
使用 systemd 管理 Node.js 应用
MongoDB
Node.js
Redis
systemd
2016-08-02
ES6生成器:可迭代协议与迭代器协议
JavaScript
迭代器
生成器
ES6
2016-08-01
在Node.js测试中Mock文件系统
NPM
Node.js
测试
Mock
七月
2016
2016-07-29
在 mongoose 中填充外键
JavaScript
MongoDB
NoSQL
引用
数组
集合
数据库
mongoose
2016-07-28
使用 Supertest 测试 Express.js 应用
Node.js
缓存
工厂方法
Mocha
Express.js
测试
2016-07-27
利用 Sinonjs 构建测试桩:Spies and Stubs
事件
异常
类型检查
测试
Mocha
测试桩
Mock
2016-07-26
ES5 属性配置:writable,set/get,freeze,seal
JavaScript
封装
defineProperty
2016-07-25
Vim 寄存器完全手册
Linux
Vim
寄存器
2016-07-18
正则表达式参考手册(JavaScript 版本)
字符串
正则表达式
2016-07-12
Mocha 下测试异步代码
JavaScript
NPM
Promise
回调函数
Chai
Mocha
测试
BDD
异步
2016-07-04
jQuery 利用 FormData 上传文件
FormData
HTML
HTTP
IE
JavaScript
jQuery
表单
异步
六月
2016
2016-06-23
利用 Mocha 进行 BDD 风格测试
Mocha
JavaScript
NPM
Node.js
Chai
测试
BDD
2016-06-20
极简的 Git 服务器:git-daemon
Git
Github
IP
Linux
SSH
Ubuntu
ArchLinux
2016-06-13
ArchLinux TTY 中文字体渲染
ArchLinux
Shell
Linux
Windows
字体
2016-06-08
各种 Shell 的配置方法
Shell
Bash
Linux
Terminal
2016-06-06
解决 Mac 邮件正文变成 HTML 附件的问题
Mac
Windows
IMAP
2016-06-03
用 jQuery 实现实时的表单验证
CSS
HTML
jQuery
事件
表单
五月
2016
2016-05-18
Web 性能优化:异步加载脚本
async
defer
JavaScript
异步
性能
浏览器渲染
2016-05-14
兼容所有浏览器的 DOM 载入事件
Chrome
DOM
HTML
JavaScript
jQuery
事件
Firefox
Safari
IE
2016-05-11
overflow 与布局上下文(BFC)
CSS
HTML
float
overflow
BFC
2016-05-07
从MVC数据同步到AngularJS双向绑定
AngularJS
MVC
Unix
WPF
事件
数据绑定
MVVM
2016-05-01
OSX/iOS进行Safari联调破解Wifi密码
Safari
iframe
DOM
JavaScript
WiFi
iOS
路由
四月
2016
2016-04-30
跟踪 Github 项目的持续集成状态
持续集成
Github
NPM
Mocha
测试
2016-04-25
怎样实现一个 CommonJS 框架?
JavaScript
CommonJS
模块化
2016-04-24
视口的宽高与滚动高度
DOM
scrollHeight
scrollTop
clientHeight
innerHeight
outerHeight
offsetHeight
2016-04-21
使用 viewport 设置宽度和缩放
媒体查询
响应式
viewport
CSS
2016-04-18
通过设定解析线路让百度收录Github Pages
Git
Github
HTML
HTTP
网络
搜索引擎
2016-04-14
为Iframe注入脚本的不同方式比较
DOM
HTML
JavaScript
jQuery
iframe
2016-04-11
HTTP 表单编码 enctype
HTML
HTTP
JSON
XML
表单
2016-04-07
jQuery2.2 iframe 脚本注入的上下文 Bug
DOM
JavaScript
jQuery
作用域
iframe
2016-04-05
Socket.IO 订阅 Redis Channel
Node.js
Redis
Socket.IO
NPM
三月
2016
2016-03-30
Github Pages (Jekyll) 自动生成文章标签
Bash
Github
Vim
grep
awk
sed
JSON
Jekyll
2016-03-22
寻找并删除 Git 记录中的大文件
Shell
Git
Github
awk
grep
2016-03-10
CSS 控制表格样式
CSS
Chrome
HTML
伪类
选择器
2016-03-06
CSS3 实现导航栏
CSS
HTML
float
inline
inline-block
搜索引擎
2016-03-04
玩转超链接的样式
CSS
HTML
inline-block
white-space
伪类
字体
盒模型
选择器
二月
2016
2016-02-27
那些 CSS 背景图的技巧
CSS
HTML
float
搜索引擎
2016-02-26
PKU 网关 Chrome 插件 PKUWebmaster 升级到 2.0 啦!
Chrome
Github
HTML
JavaScript
PKU
2016-02-25
JavaScript实现函数式继承
JavaScript
封装
继承
闭包
作用域
原型继承
函数式编程
2016-02-23
用正则表达式分析 URL
JavaScript
字符串
正则表达式
转义
2016-02-17
JavaScript 实现原型继承
原型继承
JavaScript
作用域
继承
2016-02-15
JavaScript 实现类的继承
JavaScript
继承
原型继承
构造函数
2016-02-09
函数式JavaScript编程
JavaScript
函数式编程
级联调用
回调函数
柯里化
Lambda
2016-02-05
JavaScript的作用域与闭包
JavaScript
封装
闭包
作用域
原型继承
变量提升
一月
2016
2016-01-28
利用浮动和清除浮动进行布局
float
overflow
CSS
HTML
2016-01-24
CSS 外边距合并
CSS
HTML
inline-block
2016-01-22
DOCTYPE的作用:文档类型与浏览器模式
DOCTYPE
HTML
DTD
XML
SGML
2016-01-01
jQuery社会化分享:支持微信、微博、Github...
CSS
Github
HTML
JavaScript
jQuery
微信
二维码
十二月
2015
2015-12-21
在 Vim 中全文检索
Vim
Vundle
grep
快捷键
2015-12-03
那些鲜为人知的 Vim 小技巧
Vim
Bash
HTML
存器
快捷键
十一月
2015
2015-11-29
如何使用 CSS 截断文本?
CSS
HTML
盒模型
text-overflow
overflow
line-clamp
优雅降级
inline
2015-11-22
打造前端开发的 Vim 环境
CSS
HTML
JavaScript
Vim
YCM
Syntastic
2015-11-20
用 Cron 定时任务更新壁纸
HTML
Linux
Unix
Vim
awk
crontab
grep
sed
2015-11-17
Vim 多文件编辑:缓冲区
Bash
Linux
Vim
内存
2015-11-14
Vim 多文件编辑:窗口
Bash
Linux
Vim
快捷键
2015-11-12
Vim 多文件编辑:标签页
Vim
Bash
Linux
快捷键
2015-11-09
熟悉 Bash 快捷键来提高效率
Bash
GNU
Linux
快捷键
2015-11-07
Vim 中如何快速移动光标?
Bash
Linux
Unix
Vim
宏
快捷键
2015-11-06
优雅地使用命令行:Tmux 终端复用
Bash
GNU
Linux
Node.js
Session
Tmux
Vim
快捷键
2015-11-04
如何用Vim搭建IDE?
Vim
Bash
Git
Linux
NERDCommenter
Tmux
Vundle
YCM
剪切板
快捷键
十月
2015
2015-10-11
C++11新特性:右值引用与move语义
C++
引用
拷贝构造函数
赋值运算符
构造函数
析构函数
2015-10-10
Web 开发中跨域的几种解决方案
DOM
HTML
HTTP
JavaScript
jQuery
iframe
JSON
跨域
CORS
2015-10-09
C++11新特性:Lambda表达式
C++
Lambda
函数对象
闭包
作用域
2015-10-08
C++11有哪些新特性?
C++
函数指针
智能指针
正则表达式
Lambda
构造函数
闭包
哈希表
Boost
2015-10-06
Web 性能优化:prefetch, prerender
DNS
HTML
HTTP
JavaScript
TCP
性能
2015-10-05
C++手稿:哪些变量会自动初始化?
C++
构造函数
动态内存
静态变量
全局变量
2015-10-04
C++运算符优先级与结合性
C++
运算符
类型转换
2015-10-03
C++模板的偏特化与全特化
C++
模板
特化
编译
2015-10-02
用Grub Rescue手动引导来启动内核
Bash
GNU
Grub
Linux
Ubuntu
Windows
操作系统
2015-10-01
原生 JavaScript 的 DOM 操作汇总
JavaScript
DOM
HTML
jQuery
innerHTML
九月
2015
2015-09-30
C++手稿:静态和全局变量的作用域
静态变量
全局变量
C++
编译
作用域
2015-09-29
用C++实现一个简单的哈希表
C++
封装
数组
算法
链表
二叉树
哈希表
智能指针
2015-09-28
冒泡排序和插入排序
C++
STL
排序
数组
算法
快速排序
插入排序
冒泡排序
2015-09-27
快速排序的时间和空间复杂度
C++
STL
分治
排序
数组
算法
快速排序
插入排序
冒泡排序
2015-09-26
C++手稿:数组传参与降级行为总结
C++
内存
常量
引用
指针
数组
运算符
函数指针
类型转换
2015-09-25
Effective C++ 55:熟悉一下 Boost
Effective-C++
Boost
C++
2015-09-24
Effective C++ 54:熟悉一下标准库,比如 TR1
Effective-C++
C++
STL
Boost
TR1
2015-09-23
Effective C++ 53:注意编译警告
Effective-C++
C++
编译警告
虚函数
名称隐藏
2015-09-22
Effective C++ 52:写了 placement new 就要写 placement delete
Effective-C++
C++
异常
指针
动态内存
名称隐藏
构造函数
2015-09-21
JavaScript 内置对象与原型链结构
Chrome
JavaScript
原型继承
原型链
2015-09-20
Effective C++ 51:写 new 和 delete 时请遵循惯例
Effective-C++
C++
异常
指针
数组
动态内存
析构函数
2015-09-19
Effective C++ 50:为什么需要自定义 new 和 delete?
Effective-C++
C++
动态内存
字节对齐
2015-09-18
如何检查 JavaScript 变量类型?
JavaScript
构造函数
继承
原型链
类型检查
类型转换
iframe
2015-09-17
Effective C++ 49:new handler 的行为
Effective-C++
C++
RAII
异常
动态内存
2015-09-16
Effective C++ 48:了解模板元编程
Effective-C++
C++
模板
traits
编译
模板元编程
2015-09-15
Effective C++ 47:使用 Traits 类提供类型信息
Effective-C++
C++
容器
迭代器
traits
模板
特化
2015-09-14
Effective C++ 46:需要类型转换时,应当在类模板中定义非成员函数
Effective-C++
C++
类型转换
运算符重载
inline
模板
成员函数
2015-09-13
Effective C++ 45:使用成员函数模板来接受所有兼容的类型
Effective-C++
C++
模板
构造函数
类型转换
赋值运算符
拷贝构造函数
2015-09-12
Effective C++ 44:将参数无关代码重构到模板外去
Effective-C++
C++
内存
多态
模板
2015-09-11
CSS 选择器总结
CSS
DOM
HTML
伪类
选择器
2015-09-10
Effective C++ 43:访问模板基类中的名称
Effective-C++
C++
模板
继承
特化
继承
作用域
2015-09-09
Effective C++ 42:typename 的两种用法
Effective-C++
C++
模板
编译
模板方法
traits
2015-09-08
Effective C++ 41:隐式接口与编译期多态
Effective-C++
C++
多态
函数重载
模板
编译
2015-09-07
Effective C++ 40:明智地使用多继承
Effective-C++
C++
多继承
接口类
名称隐藏
对象组合
2015-09-06
Effective C++ 39:明智地使用 private 继承
Effective-C++
C++
继承
虚函数
对象组合
2015-09-05
Effective C++ 38:通过组合表示"拥有"或"以...实现"的关系
Effective-C++
C++
对象组合
继承
2015-09-04
Effective C++ 37:不要重写父类函数的默认参数
Effective-C++
C++
动态绑定
虚函数
默认参数
2015-09-03
Effective C++ 36:不要重写继承来的非虚函数
Effective-C++
C++
虚函数
继承
名称隐藏
2015-09-02
Effective C++ 35:考虑虚函数的其他替代设计
Effective-C++
C++
策略模式
模板方法
虚函数
函数指针
2015-09-01
Effective C++ 34:区分接口继承和实现继承
Effective-C++
C++
接口
继承
实现
八月
2015
2015-08-31
Effective C++ 33:避免隐藏继承来的名称
Effective-C++
C++
继承
作用域
名称隐藏
转发函数
2015-08-30
Effective C++ 32:确保public继承是"is a"的关系
Effective-C++
C++
封装
继承
2015-08-29
Effective C++ 31:最小化文件之间的编译依赖
Effective-C++
C++
编译依赖
接口类
虚函数
2015-08-28
Effective C++ 30:理解 inline 函数的里里外外
Effective-C++
C++
inline
宏
模板
2015-08-27
Effective C++ 29:追求异常安全的代码
Effective-C++
C++
内存
异常
指针
线程
智能指针
2015-08-26
Effective C++ 28:不要返回对象内部的句柄
Effective-C++
C++
内存
封装
引用
2015-08-25
Effective C++ 27:最小化类型转换
Effective-C++
C++
类型转换
运算符重载
类型检查
2015-08-24
Effective C++ 26:尽量推迟变量定义
Effective-C++
C++
作用域
构造函数
析构函数
2015-08-23
Effective C++ 25:考虑实现一个不抛异常的 swap
Effective-C++
C++
STL
异常
模板
特化
作用域
函数重载
2015-08-22
Effective C++ 24:用非成员函数来支持所有元的类型转换
Effective-C++
C++
运算符
类型转换
运算符重载
2015-08-21
JavaScript显式类型转换与隐式类型转换
JavaScript
接口
弱类型
构造函数
类型转换
2015-08-20
Effective C++ 23:非成员非友元函数好于成员函数
Effective-C++
C++
多态
封装
虚函数
成员函数
2015-08-19
Effective C++ 22:数据成员应声明为私有
Effective-C++
C++
内存
封装
接口
继承
2015-08-18
Effective C++ 21:需要返回对象时,不要返回引用
Effective-C++
C++
引用
指针
动态内存
拷贝构造函数
2015-08-17
Web前端编码汇总:escape, encodeURI, encodeURIComponent
JavaScript
UTF-8
字符串
字符编码
转义
2015-08-16
HTML5本地存储:SessionStorage, LocalStorage, Cookie
Cookie
DOM
HTTP
JavaScript
LocalStorage
Session
jQuery
2015-08-15
如何理解HTTP响应的状态码?
Cookie
Git
HTML
HTTP
Session
WebSocket
表单
搜索引擎
缓存
2015-08-14
事件处理中的this:attachEvent, addEventListener, onclick
DOM
HTML
JavaScript
jQuery
事件
2015-08-13
Effective C++ 20:传递常量引用比传值更好
Effective-C++
C++
引用
常量
2015-08-12
Effective C++ 19:把类的设计视作类型设计
Effective-C++
C++
接口
类型
设计
2015-08-11
减少页面重排与重绘(Reflow & Repaint)
CSS
DOM
JavaScript
重排
重绘
2015-08-10
Cookie/Session 的机制与安全
Cookie
HTTP
Node.js
Session
内存数据库
Redis
表单
数据库
2015-08-09
Effective C++ 18:让接口容易被正确使用,不易被误用
Effective-C++
C++
封装
接口
类型检查
2015-08-08
Effective C++ 17:在单独的语句中将 new 的对象放入智能指针
Effective-C++
C++
异常
指针
动态内存
智能指针
2015-08-07
Effective C++ 16:使用同样的形式来new和delete
Effective-C++
C++
指针
数组
动态内存
2015-08-06
jQuery中$()函数有几种用法
DOM
HTML
JavaScript
jQuery
事件
选择器
链式调用
2015-08-05
Effective C++ 15:资源管理类需要提供对原始资源的访问
Effective-C++
C++
封装
智能指针
类型转换
2015-08-04
Effective C++ 14:资源管理类要特别注意拷贝行为
Effective-C++
C++
RAII
智能指针
构造函数
拷贝构造函数
2015-08-03
表单提交:button input submit 的区别
HTML
JavaScript
jQuery
事件
表单
2015-08-02
Effective C++ 13:使用对象来管理资源
Effective-C++
C++
RAII
内存
作用域
智能指针
析构函数
2015-08-01
Effective C++ 12:完整地拷贝对象
Effective-C++
C++
继承
拷贝构造函数
构造函数
赋值运算符
七月
2015
2015-07-31
DOM 事件与 jQuery 源码:捕获与冒泡
DOM
HTML
JavaScript
jQuery
事件
2015-07-30
Effective C++ 11:赋值运算符的自赋值问题
Effective-C++
C++
引用
指针
赋值运算符
2015-07-28
Effective C++ 10:赋值运算符要返回自己的引用
Effective-C++
C++
引用
运算符
赋值运算符
2015-07-27
Effective C++ 9:在析构/构造时不要调用虚函数
Effective-C++
C++
虚函数
析构函数
构造函数
2015-07-26
Effective C++ 8:析构函数不要抛出异常
Effective-C++
C++
内存
异常
数组
析构函数
2015-07-25
博客迁移:Shell脚本批量文件处理
Bash
Github
HTML
HTTP
Linux
Makefile
UTF-8
awk
sed
搜索引擎
2015-07-24
Effective C++ 7:将多态基类的析构函数声明为虚函数
Effective-C++
C++
多态
虚函数
字节对齐
析构函数
2015-07-23
Effective C++ 6:禁用那些不需要的缺省方法
Effective-C++
C++
继承
构造函数
析构函数
赋值运算符
运算符重载
拷贝构造函数
2015-07-23
Effective C++ 5:那些被C++默默地声明和调用的函数
Effective-C++
C++
构造函数
析构函数
赋值运算符
拷贝构造函数
2015-07-22
进程的地址空间:TEXT,DATA,BSS,HEAP,STACK
栈空间
堆空间
内存
全局变量
动态内存
虚拟内存
静态变量
2015-07-22
Effective C++ 4:确保变量的初始化
Effective-C++
C++
全局变量
静态变量
初始化
2015-07-21
Effective C++ 3:尽量使用常量
Effective-C++
C++
宏
常量
2015-07-20
Effective C++ 2:避免使用define
Effective-C++
C++
宏
常量
编译
2015-07-19
Effective C++ 1:将C++视作一系列的语言
Effective-C++
C++
2015-07-18
在 VIM 下写 C++ 能有多爽?
C++
NERDCommenter
Vim
YCM
快捷键
代码风格
2015-07-17
感受Vim的强大:进阶技巧
Bash
Markdown
Unix
Vim
宏
寄存器
快捷键
2015-07-16
CSS 选择器优先级
CSS
HTML
伪类
选择器
2015-07-07
C++手稿:函数与参数
C++
编译
函数重载
可变参数
默认参数
2015-07-05
C++手稿:指针与引用
C++
STL
内存
引用
指针
数组
函数指针
智能指针
析构函数
栈空间
2015-07-03
C++手稿:STL中的函数对象与函数指针
C++
STL
指针
模板
运算符
函数对象
函数指针
2015-07-01
C++手稿:STL小记
C++
STL
栈
容器
排序
数组
模板
算法
链表
集合
二叉树
运算符
迭代器
平衡二叉树
六月
2015
2015-06-30
C++手稿:std::string
C++
字符串
2015-06-29
C++手稿:封装与继承
C++
封装
继承
作用域
多继承
名称隐藏
对象组合
构造函数
析构函数
2015-06-28
C++手稿:虚函数与多态
C++
多态
引用
指针
继承
虚函数
成员函数
构造函数
析构函数
2015-06-26
jQuery事件:bind、delegate、on的区别
AngularJS
DOM
HTML
JavaScript
jQuery
事件
2015-06-25
C++手稿:运算符重载
C++
引用
运算符
成员函数
构造函数
链式调用
赋值运算符
运算符重载
2015-06-24
C++手稿:类的静态和常量成员
C++
常量
类型转换
静态变量
赋值运算符
2015-06-22
C++手稿:对象的生命周期,构造与析构
C++
栈
内存
指针
构造函数
析构函数
类型转换
赋值运算符
拷贝构造函数
2015-06-17
inline元素的对齐问题
CSS
HTML
inline
inline-block
盒模型
2015-06-12
CSS Line Box:溢出与折行
CSS
DOM
HTML
inline
inline-block
overflow
text-overflow
white-space
盒模型
2015-06-10
AngularJS 路由:ng-route 与 ui-router
AngularJS
HTML
JavaScript
MVC
模板
路由
2015-06-07
AngularJS 模块化与依赖注入
AngularJS
HTML
JavaScript
MVC
模块化
依赖注入
工厂方法
构造函数
2015-06-06
AngularJS 数据绑定与 $digest 循环
AngularJS
DOM
HTML
HTTP
JavaScript
MVC
WebSocket
事件
回调函数
数据绑定
2015-06-05
AngularJS Resource:与 RESTful API 交互
AngularJS
HTML
HTTP
JavaScript
数组
2015-06-05
AngularJS HTTP Service
AJAX
AngularJS
HTTP
JavaScript
Promise
链式调用
2015-06-04
AngularJS 表单(ng-form)验证
AngularJS
CSS
DOM
HTML
JavaScript
MVC
模板
表单
模块化
数据绑定
正则表达式
五月
2015
2015-05-31
AngularJS 初始化过程
AngularJS
DOM
HTML
JavaScript
MVC
模板
模块化
依赖注入
异步
2015-05-30
Accessing the System Clipboard with JavaScript
Chrome
DOM
Flash
HTML
Java
JavaScript
Linux
float
inline
剪切板
2015-05-29
常见包管理与构建工具列表
NPM
Bower
Grunt
Makefile
Gem
Bundle
2015-05-28
CSS Display 属性与盒模型
CSS
Chrome
HTML
inline
inline-block
盒模型
IE
2015-05-17
常见 Linux 命令
Bash
C++
Linux
Socket
awk
grep
kill
sed
内存
磁盘
路由
进程
正则表达式
2015-05-16
Gnuplot 笔记
Bash
Linux
Windows
X11
sed
异常
运算符
LaTeX
2015-05-15
Django 搭建过程记录
Bash
Django
Github
Python
SQL
数据库
2015-05-14
C# 学习笔记
.NET
C#
WPF
Windows
异常
引用
接口
进程
字符串
数据绑定
类型转换
2015-05-12
Windows/Linux远程桌面
Bash
IP
Linux
MAC
Windows
网络
磁盘挂载
远程桌面
2015-05-11
中文乱码辨识
UTF-8
字符串
字符编码
2015-05-11
Ubuntu 学习笔记
ArchLinux
Bash
Grub
LAN
Linux
UTF-8
Ubuntu
X11
磁盘
操作系统
2015-05-03
MySQL 学习笔记
Bash
Django
MySQL
SQL
数据库
2015-05-02
TEX 学习笔记
Bash
LaTeX
Linux
Makefile
Markdown
UTF-8
Vim
Windows
字体
编译
快捷键
2015-05-02
Linux/Windows 时间不一致问题
Bash
Linux
UTC
Windows
时钟
四月
2015
2015-04-23
LAMP 搭建
Apache
Linux
PHP
数据库
2015-04-13
优秀的代码 vs. 糟糕的代码
Java
JavaScript
Linux
Windows
字符串
模块化
正则表达式
二月
2015
2015-02-24
API 服务器搭建笔记:CentOS + Node.js + MongoDB
CentOS
MongoDB
Node.js
NoSQL
Redis
十月
2014
2014-10-17
聊天服务器:Ejabberd 安装与离线转发模块的实现
CentOS
HTTP
Node.js
XMPP
2014-10-09
记一次 RedHat 网络配置,回顾 KISS 原则
RedHat
CentOS
DHCP
IP
SSH
TCP
网络
路由
2014-10-08
用 Linux 做 WiFi 热点
Linux
iptables
dnsmasq
WiFi
路由
2014-10-02
DHCP 服务器架设
CentOS
DHCP
DNS
IP
TCP
网络
路由
2014-10-01
读 HTTP 协议 RFC-2616
HTML
HTTP
TCP
网络
缓存
九月
2014
2014-09-27
读 TCP 协议 RFC-793
IP
Socket
TCP
反码
接口
网络
路由
进程
多路复用
操作系统
电路交换
2014-09-21
读 IP 协议 RFC-791
IP
TCP
网络
路由
服务质量
2014-09-08
Linux 远程登录:SSH 的使用
SSH
Socket
X11
磁盘挂载
远程桌面
Linux
八月
2014
2014-08-21
iOS 开发基础:迅速掌握 Objective C
Objective-C
封装
Category
Protocol
异常处理
七月
2014
2014-07-20
PLC 中的文本语言
PLC
SFC
反码
溢出
作用域
运算符
2014-07-18
PLC 中的 SFC 元素
PLC
SFC
引用
接口
作用域
2014-07-06
PLC 中的配置元素
PLC
接口
作用域
全局变量
六月
2014
2014-06-22
PLC 程序组织单元
PLC
常量
引用
接口
数组
字符串
全局变量
类型转换
2014-06-18
PLC 中的变量语法与使用
PLC
引用
数组
作用域
全局变量
2014-06-11
PLC 中的字符与直接量
PLC
事件
溢出
编译
字符串
2014-06-09
PLC 中的数据类型
PLC
数组
字符串
函数重载
2014-06-01
PLC 概述
PLC
SFC
接口
全局变量
五月
2014
2014-05-27
Android App 启动过程分析
Android
Linux
事件
进程
操作系统
2014-05-25
iOS 软键盘弹出和隐藏
Objective-C
iOS
事件
2014-05-13
SQL 命令手册
MySQL
SQL
引用
排序
字符串
数据库
2014-05-12
关系数据模型
数据库
2014-05-11
概念建模与数据库设计
SQL
排序
磁盘
集合
数据库
2014-05-05
2014 阿里C++工程师面试小记
C++
Web
STL
指针
链表
虚函数
运算符
智能指针
2014-05-03
《计算机网络》笔记 - 网络安全
AES
BB84
DES
DNS
PEM
RSA
网络
密码
四月
2014
2014-04-27
《计算机网络》笔记 - 应用层
DNS
Web
POP3
RAID
SMTP
UDP
XML
网络
IMAP
2014-04-21
《计算机网络》笔记 - 传输层
IP
LAN
MAC
TCP
UDP
WAN
网络
路由
2014-04-17
《计算机网络》笔记 - 网络层
DHCP
Dijkstra
IP
LAN
TCP
UDP
WAN
网络
路由
拥塞控制
服务质量
2014-04-11
《计算机网络》笔记 - 介质访问控制子层
IP
LAN
MAC
WAN
蓝牙
路由
多路复用
2014-04-07
《计算机网络》笔记:数据链路层
IP
TCP
网络
路由
检错码
纠错码
滑动窗口
2014-04-05
《计算机网络》笔记:物理层
ADSL
DMA
网络
补码
多路复用
电话网络
电路交换
香农定理
2014-04-03
《计算机网络》笔记 - 概述
ALOHA
IP
LAN
TCP
WAN
栈
接口
网络
蓝牙
路由
多路复用
操作系统
电话网络
2014-04-01
算法导论笔记 - 图算法
Dijkstra
排序
算法
队列
最小生成树
单源最短路径
广度优先搜索
深度优先搜索
三月
2014
2014-03-30
算法导论笔记 - 高级数据结构
B树
指针
磁盘
算法
红黑树
2014-03-20
算法导论笔记 - 高级设计和分析技术
分治
算法
贪心
动态规划
2014-03-14
算法导论笔记 - 数据结构
栈
指针
数组
算法
链表
队列
二叉树
哈希表
字符串
红黑树
线段树
全局变量
2014-03-10
算法导论笔记 - 排序和顺序统计量
排序
数组
算法
队列
二叉树
2014-03-05
算法导论笔记 - 基础知识
分治
排序
数组
算法
归并排序
插入排序
2014-03-01
Computer Organization and Design 笔记 - Multicores, Multiprocessors, and Clusters
操作系统
多处理器
并行
线程
二月
2014
2014-02-23
Computer Organization and Design 笔记 - Storage and Other I/O Topics
操作系统
RAID
2014-02-21
Computer Organization and Design 笔记 - Exploiting Memory Hierarchy
操作系统
空间局部性
时间局部性
缓存
虚拟内存
页表
2014-02-17
Computer Organization and Design 笔记 - The Processor
操作系统
流水线
数据冲突
异常
精确中断
并行
超标量
2014-02-12
Computer Organization and Design 笔记 - Arithmetic for Computers
操作系统
加法器
乘法器
中断
异常
2014-02-05
Computer Organization and Design 笔记 - Instructions
操作系统
存储程序
字节序
补码
反码
寄存器
过程调用
2014-02-02
Computer Organization and Design 笔记 - Abstractions
操作系统
编译
汇编
一月
2014
2014-01-08
Modern Operating Systems 笔记 - Linux
操作系统
Unix
Linux
GNU
Socket
2014-01-03
Modern Operating Systems 笔记 - File System
操作系统
文件系统
2014-01-01
Makefile 基础概念扫盲
Bash
C++
Makefile
Unix
编译
十二月
2013
2013-12-28
Modern Operating Systems 笔记 - Input/Output
操作系统
DMA
内存映射
中断
Unix
2013-12-17
Modern Operating Systems 笔记 - Memory Management
操作系统
虚拟内存
页表
LTB
2013-12-12
Modern Operating Systems 笔记 - Deadlocks
操作系统
算法
死锁
2013-12-03
Modern Operating Systems 笔记 - Scheduling
操作系统
Round-Robin算法
Multiple-Queues
十一月
2013
2013-11-25
Modern Operating Systems 笔记 - Interprocess Communication
操作系统
IPC
中断
互斥量
信号量
2013-11-21
Modern Operating Systems 笔记 - Threads
fork
pthread
sed
线程
内核空间
操作系统
用户空间
进程
2013-11-17
Modern Operating Systems 笔记 - Processes
操作系统
进程
Unix
Windows
fork
kill
sed
2013-11-11
Modern Operating Systems 笔记 - Introduction
Unix
Windows
操作系统
2013-11-08
Vim 初级:配置和使用
Vim
Bash
Unix
sed
编译
2013-11-07
安装 Arch Linux
ArchLinux
Linux
镜像
磁盘
网络
操作系统
2013-11-05
搜索引擎搭建:Heritrix + Lucene
搜索引擎
倒排索引
PageRank
Web
十月
2013
2013-10-27
Linux 下的触摸板设置
ArchLinux
Linux
X11
触摸板
2013-10-26
Makefile 批量更新缩略图
Linux
Makefile
Unix
2013-10-18
在 Github 上搭建自己的博客
Github
博客
Markdown