学习Perl笔记(一)

Perl闻名已久,这次终于下定决心好好学习一番。前两天从晓攀那里搜刮了一堆Perl的文档,不过仔细一看全是动辄三、四百页的大块头,感觉还真不适合像我这样想最短时间内能够了解这门语言的人看。我比较喜欢简短精炼的教程,比如我是通过A Byte of Python入门学习Python,通过A Byte of Vim入门学习Vim,通过Shell十三问对Shell的熟悉与理解更上一层楼的。

所幸地是,像我这样的人不在少数,我从StackOverflow网站的一个回答上找到一些教程,从中我挑了Learning Perl the Hard Way作为入门读物(从主页上下载了PDF版本,好像更新日期是2003年,不知道是不是过旧了?)。

查看全文

WordPress 使用阿里云 OSS 作为图床

我一般很少在博客中放置图片,主要原因是没有一个合适的图床。昨天浏览阿里云论坛的时候,无意间看到有oss4wordpress的插件,欣喜之下就决定试试,试用下来效果还是不错的。

独乐乐不如众乐乐,我把昨天折腾的过程记录下来给有需要的人。

OSS 收费情况

OSS 对于新开通的用户有半年的试用时间,试用期间的服务套餐为:

查看全文

博客侧栏显示文章目录

有些博客文章很长,像我又不喜欢给文章分页,这样一篇博客读下来鼠标要拖很久,读者比较难定位到关心的内容。解决这个问题有很多措施,一种是在文章拖到底部的时候显示一个返回顶部的按钮(做法参考博客添加回到顶部按钮),另外一种是做一个文章目录,这样就比较直观了。

TOC+插件

我之前用Table of Contents Plus插件来实现这个功能,这个插件设置还很多,我之所以选择它,是因为这个插件提供一个文章目录小工具,可以放到侧栏。其它同类的插件或者实现,都是把目录显示在文章内部,比如开头或者结尾,但是在阅读过程中,这其实还是跟没有一样。

查看全文

CPU Topology

如果你也是对/proc/cpuinfo文件里面的内容不甚了解,请跟我一起来学习下CPU的拓扑结构 (CPU Topology)。我们先从一些简单的概念开始。

NUNA与SMP

NUMA(Non-Uniform Memory Access,非一致性内存访问)和SMP(Symmetric Multi-Processor,对称多处理器系统)是两种不同的CPU硬件体系架构。

SMP的主要特征是共享,所有的CPU共享使用全部资源,例如内存、总线和I/O,多个CPU对称工作,彼此之间没有主次之分,平等地访问共享的资源,这样势必引入资源的竞争问题,从而导致它的扩展内力非常有限。

NUMA技术将CPU划分成不同的组(Node),每个Node由多个CPU组成,并且有独立的本地内存、I/O等资源。Node之间通过互联模块连接和沟通,因此除了本地内存外,每个CPU仍可以访问远端Node的内存,只不过效率会比访问本地内存差一些,我们用Node之间的距离(Distance,抽象的概念)来定义各个Node之间互访资源的开销。

查看全文

学习 Linux 命令(三)

本文是学习Linux命令 (Learn linux command)系列文章的第三篇,在这里会介绍一些让大家平时都会经常用到的命令。注意,命令出现的顺序与重要程度无关。

1. ls - list directory contents

ls命令是用得比较多的一个命令,它用于列出某个目录下面的文件或者子目录及它们的属性(大小、创建时间、所属用户等信息)。

ls命令的参数比较多,这里只介绍一些实用的。

a. 通过-a选项列出目录下面的隐藏文件(即以.号开头的文件),例如:

# ls -a ~
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc .tcshrc  .viminfo

其中.和..表示当前目录与上一级目录,如果不想显示可以使用-A选项。

# ls -A ~
.bash_history  .bash_logout  .bash_profile  .bashrc .cshrc .tcshrc  .viminfo

查看全文