温智全的博客

Elvin wen's Blog

“Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。”

概述

UNIX的两个重要分支:System VBSD UNIXLinux属于BSD分支。

Linux版本号的命名规则:Linux的内核版本由3部分组成。版本号的第二位数字,可以确定Linux内核版本的类型,第二位数字是偶数的为稳定版本。

Linux里一切皆文件。

阅读全文 »

“Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。”

Sunday算法简介

字符串查找算法中,最著名的两个是KMP算法(Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情况下均具有线性的查找时间。但是在实用上,KMP算法并不比c库函数strstr()快多少,而BM算法则往往比KMP算法快上3-5倍(未经验证)。而Sunday算法比BM还要快,而且更易理解。Sunday算法的核心思想是:在匹配过程中,模式串并不被要求一定要按从左向右进行比较还是从右向左进行比较,它在发现不匹配时,算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。

阅读全文 »

“IDEA是jetbrains公司开发的Java开发IDE,功能齐全。使用IDEA搭建SSM开发环境简单有效。”

概述

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

Spring MVC属于SpringFrameWork的后续产品,已经融合
在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

MyBatis本是apache的一个开源项目iBatis, 2010年这个项目
由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github。

阅读全文 »

“排序算法可以说是数据结构与算法当中最为基础的部分”

概述

排序算法可以说是数据结构与算法当中最为基础的部分,针对的是数组这一数据结构。将数组中的无序数据元素通过算法整理为有序的数据元素即为排序。

阅读全文 »

“单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。”

概述

单例模式(singleton)是一种常用的设计模式,其定义是单例对象的类只能允许创建一个实例,而可以被多次调用。

单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。

阅读全文 »

“jekyll 是一款简单的博客系统,静态网站生成器。”

概述

jekyll是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如Disqus。最关键的是jekyll可以免费部署在Github上,而且可以绑定自己的域名。

阅读全文 »

“LNMP开发环境是PHP语言开发网站的主流环境。”

概述

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

阅读全文 »

“Sublime Text是一个轻便的文本编辑器”

概述

Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器。它是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,代码段等。还可自定义键绑定,菜单和工具栏。它的主要功能包括:拼写检查,书签,Goto 功能,即时项目切换,多选择,多窗口等等。它是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。它还具有大量的可扩展插件,极大地丰富了这款编辑器的功能。

阅读全文 »

“jekyll 是一款简单的博客系统,静态网站生成器。”

概述

jekyll 是一款简单的博客系统,静态网站生成器。她有一个模版目录,存放整个静态网站的模版文件,可以通过Liquid处理模版文件,把使用标记语言TextileMarkdown编写的内容文件,按照模版格式,转换成最终的静态网站页面。大名鼎鼎的GitHub Pages就是通过它实现的。搭建好我们的博客系统之后,我们还可以把它放到github的pages上进行展示。

阅读全文 »