自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

让梦想从这里起飞……

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累

  • 博客(34)
  • 资源 (20)
  • 收藏
  • 关注

原创 链表在linux中的实现

摘要在看《linux内核源代码情景分析》1.4节的时候,里面有提到链表在C语言中的实现,刚开始看的时候觉得这样的实现方式真的很巧妙,于是深入地了解一番。如果没有了解过linux中关于链表的实现,那么我们所写的代码很有可能就是一种数据结构对应一个链表的形式...文章已经生成为pdf文档,下面是下载地址:链表在linux中的实现.pdf

2013-07-17 22:58:29 987

原创 使用Vim+Cscope看Linux源码

1 安装cscope略2 建立cscope索引数据库2.1 生成索引数据库的文件列表可以用find命令生成,把一些不需要建立索引的目录剔除掉,如:DIR_LINUX=/usr/src/kernels/linux/CSCOPE_FILES=./cscope.filesfind $DIR_LINUX -path $DIR_LINUX/arch ! -path $DIR_LI

2013-06-12 17:36:27 1960

原创 VIM使用技巧

1 多文件编辑vim a b c ##编辑文件列表a,b,c:args a b c ##编辑文件列表a,b,c:args ##查看文件列表,并显示当前编辑文件:next ##跳转至文件列表中的下一个文件:previous ##跳转至文件列表中的上一个文件:first  ##跳转至文件列表中的第一个文件:last ##跳转至文件列表中的最后一个文件:edit

2013-06-12 15:55:19 1410

原创 gdb调试时的问题Missing separate debuginfos, use: debuginfo-install glibc-XXX

在CentOS6.3使用gdb进行调试的时候,会弹出如标题的提示。但是直接按提示使用debuginfo-install去安装的时候会报如下的错误:Could not find debuginfo pkg for dependency package glibc-2.12-1.47.el6.x86_64Could not find debuginfo pkg for dependency

2013-06-03 15:39:08 11837 1

原创 Linux软件安装经验总结

Linux软件安装,可以分为源代码安装方式、RPM安装包安装、yum/apt-get等方式安装软件。其中yum/apt-get方式是最简单的,本文章就不对其进行解释了。1 源代码安装源代码安装即从源代码编译->安装的一个过程。这个过程一般都是使用make工具来实现的。1.1 编译编译过程不需要root权限,直接执行make命令进行编译,具体看软件的安装说明。下面是命令范例:$

2013-06-02 15:35:32 2732

翻译 非常Linux——rsync之一

概述rsync是什么?它是一个快速的、多功能远程(本地)文件复制工具语法本地文件复制语法:rsync [OPTION...] SRC... [DEST]通过访问远程shell复制文件语法(ssh):Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]Push: rsync [OPTION...] SRC... [USER@]HO

2013-03-12 00:16:00 4072

翻译 非常Linux——翻译cpio指令man

NAME       cpio - 用于复制文件到一个压缩文档或从压缩文档解压SYNOPSIS       Copy-out 模式       在copy-out模式中,cpio复制文件到一个压缩文档。它从标准输入中读取文件名List或一个文件名每行,并写入到标准输出(一般是重定向至一个文件)。一种典型的生成文件名List的方法是使用find指令。

2013-03-06 21:23:19 2011

原创 非常Linux——sudoers文件的写法

概述sudoers文件的作用是控制用户可以执行哪些指令。它是Linux系统管理员的重要一课喔。文件的组成sudoers文件由三部分组成:sudoers的默认配置,主要设置sudo的一些缺省值(本文不会对这些默认配置进行介绍,若有兴趣可以自己man 5 sudoers然后搜defaults)alias(别名),可以看作是变量的定义啦,本文也会全面的说说别名的定义。

2013-03-03 01:07:27 16579

原创 非常Linux——file命令与magic file

//本文基于CentOS6.3 distributionfile命令的作用是用于检验文件的类型,并打印至终端。file命令检验文件类型按以下顺序来完成:检验文件系统(Filesystem)中支持的文件类型。检验magic file规则。检验文件内容的语言和字符集。检验文件系统(Filesystem)中支持的文件类型文件系统支持的文件类型指的是通过ls -l中第一个字符表示的

2013-02-07 10:45:05 11335

原创 subversion的使用总结

对于开发人员来说,subversion的使用无非就是对subversion的命令行的使用,只要学会了subversion命令行,subversion就会成为我们身上的一把刀!为了能更清晰地说明subversion命令行的使用,现在我们假设这样的一个场景:subversion是安装在ubuntu系统上。subversion的版本库的目录位置为/home/test/svn/repo

2012-08-28 16:03:28 6849

原创 MySQL用户管理

1.MySQL的用户管理MySQL的用户信息都保存在数据库mysql的user表中,因此MySQL的用户操作实际上就是对mysql.user表的增删查改的操作,下图中展示了mysql.user的表结构:从图中可以看到,在该表中可以设置用户的所有信息,包括用户名,密码,权限等等。Notice:password字段是通过PASSWORD('')函数生成的。除了修改user表的方式来操作

2012-06-09 20:37:50 4864

原创 MySQL字符集的设置

Notice:文章基于ubuntu系统而写1.关于MySQL字符集MySQL的字符集支持(Character Set Support)有两个方面:  字符集(Character set)和排序方式(Collation)。MySQL对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。MySQ

2012-06-09 18:25:55 41497 2

转载 JSP中include静态文件HTML出乱码解决方案

转载自:点击打开链接第一种情况可以修改被include的文件:1.当jsp include动态文件时(jsp文件)可以在被include的jsp文件头部加上代码:   <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>   可以解决。2.当js

2012-06-07 10:08:47 10531 1

原创 ubuntu下安装oracle sql developer及中文乱码解决

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html下载rpm版本sudo alien sqldeveloper-3.1.07.42-1.noarch.rpmsudo gedit /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.co

2012-05-21 20:32:42 3834

原创 Maven灵活构建

Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。Maven属性事实上有六种类型的Maven属性:内置属性:主要有两个常用内置属性——${basedir}表示项目根目录,即包含pom.xml文件的目录;${version}表示项目版本。POM属性:pom中对应元素的值。例如${project.artifactId}对应了元素的值。具体有哪些POM属性可

2012-05-10 00:13:39 11005 1

原创 Maven对Web的支持

一个典型的Web项目在Maven下的目录结构如下:从图中可以看出Maven Web的目录结构与一般的Maven目录结构的区别是:在src/main/中多了一个webapp的目录,该目录下存放的就是WEB-INF的内容。Maven Web除了目录结构不一样外,还需要把pom.xml的配置为war。大家都知道web的打包方式是war。如何使用jetty-maven-plugin进行调试

2012-05-09 16:54:53 5976

原创 Maven单元测试

1.maven-surefire-plugin简介Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUnit或者TestNG的测试用例。这个插件就是maven-surefire-plugin,也可以称为测试运行器(Test Runner),它能兼容JUnit 3、JUnit 4以及TestNG。在默认情况下,maven-surefire-plu

2012-05-09 15:17:51 59027 5

原创 maven central中国镜像

maven-net-cn one of the central mirrors in China http://maven.net.cn/content/groups/public/ central上面的现在好像不能用了,还有其他的:http://www.mvnsearch.org/maven2/

2012-05-09 14:03:58 6617

转载 如何添加或删除ubuntu用户和组

在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user1一、创建用户:1、使用命令 useradd例:useradd user1——创建用户user1    useradd –e 12/30/2009 use

2012-05-01 14:16:15 154240 4

转载 Subversion的权限控制

1,认证(Authentication)和授权(Authorization)这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限,在Subversion 1.3之后,svnserve和Apac

2012-04-30 21:31:24 4689

原创 ubuntu下subversion的安装

安装安装subversionsudo apt-get install subversion为subversion添加用户组sudo addgroup subverion为用户组subversion添加用户sudo usermod -G subversion -a tim让subversion用户组下的用户可以执行svn命令sudo chown root:subversion

2012-04-30 21:17:35 2026

原创 为ubuntu创建开机启动脚本

ubuntu的开启启动脚本是放在/etc/init.d目录下,下面在该目录下创建一个简单的脚本verbosestartup.sh:#!/bin/bashecho "verbose start up"只是简单地把脚本放到该目录下还不可以,还需要执行下面的命令应用该脚本:sudo update-rc.d verbosestartup.sh defaults

2012-04-30 21:09:58 2738

原创 Subversion与Apache整合的必要性

提问:Subversion本身就是一个服务器软件,它本身就已经可以向外提供服务了,那么还有必要与Apache整合吗?回答:如果Subversion的使用对象只是开发人员,那么便没必要与Apache整合了。但是如果Subversion的使用对象不只是开发人员,那么就有必要通过Apache提供网页浏览/操作版本库的用户界面。

2012-04-29 23:10:46 901

原创 Android应用开发——Animation Drawable

Animation Drawable可以让你把一系列的图片像幻灯片一样一张一张地显示在屏幕上。Drawable Animation的基类是AnimationDrawable.非常值得注意的一点是,虽然Animation Drawable的效果看起来像动画一样,但在实际的代码处理中应该将其视为Drawable,而事实上它继承于Drawable,其XML配置文件也是放置在res/drawable目

2012-04-28 17:24:46 2006

原创 Anroid应用开发——Property Animation与View Animation的区别

区别一:需要的Anroid API level不一样Property Animation需要Android API level 11的支持,而View Animation则是更早期的版本。区别二:适用范围不一样Property Animation适用于所有的Object对象,而View Animation则只能应用于View对象。区别三:XML声明结构、存放目录不一样Prope

2012-04-28 16:30:43 5167

原创 Android开发应用——View Animation

View Animation系统是为了完成View的动画效果而产生的。View Animation系统主要完成位置,大小,旋转,透明度变化的简单动画。可以通过两种途径来使用View Animation系统:通过XML声明方式。通过硬代码方式,使用AnimationSet或Animation的子类方式。可以通过设置Animation的startOffset来控制Anima

2012-04-28 16:11:01 3672

原创 Android应用开发——Property Animation

声明:下面的内容需要Android API level 11的支持Property Animation是如何运作的首先,来看一下两个不一样的Property Animation场景:场景一(Linear Animation):Animation要求一个物体A的x属性在40ms内匀速地从0px变化到40px。帧的刷新率默认为10ms/帧。场景二(Not-Linear Animat

2012-04-28 15:18:13 12213 1

原创 Android应用开发——*.9.png及制作

你是否曾经对res/drawable目录下的*.9.png文件感觉到迷惑呢?下面的内容说的就是这么一些事儿。*.9.png对应着android中类NinePatchDrawable,它是一个Drawable对象。它是一张可伸展的bitmap图片。当*.9.png用于背景图片时,android会自动地根据其上的View的大小来调整*.9.png的大小。比如说,一个按钮的背景图片会随着按钮

2012-04-27 15:47:19 2586 1

原创 Android应用开发——Drawable

Android提供了一个自定义的2D图形库,它可以绘制形状和图片。在android.graphics.drawable包中可以找到普通类来绘制2D图形。Drawable子类中包含了许多特定类型的图形,像BitmapDrawable,ShapeDrawable,PictureDrawable,LayerDrawable等等。当然,也可以通过继承这些类来实现自己的Drawable对象。有三

2012-04-27 14:41:37 2944

原创 如何实现Android SurfaceView

SurfaceView是View的继承结构中一个比较特殊的子类,它的作用是提供一个第二线程来完成图形的绘制。因此应用程序不需要等待View的图形绘制,第二线程会异步完成图形的绘制。SurfaceView实现的步骤:继续SurfaceView并实现SurfaceHolder.Callback接口,该接口提供了SurfaceView创建、属性发生变化、销毁的时间点,那么你可以在适当的时

2012-04-27 13:35:07 2356

原创 Android应用开发——创建一个带动画效果的View

备注:源自Android Samples——Snake要使View具有动画效果,步骤如下:在View中添加一个Handler,该Handler负责处理View的刷新请求,Handler在处理这个请求的时候,会先执行View的数据更新。在View数据更新完(update()方法)后,向Handler发送延时刷新View请求,那么又回到了步骤一,这就形成一个循环,产生动画效果代

2012-04-26 14:37:34 2353

原创 《Spring In action》学习笔记——AOP(面向切面编程)

1.AOP术语通知(Advice):切面的功能被称为Advice(通知),它定义了切面是什么及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。它应用在某个方法被调用之前?之后?之前和之后?或是只在方法抛出一个异常时?连接点(Joinpoint):Joinpoint是在程序执行过程中能够插入切面的一个点。这个点可以是方法被调用时、异常被抛出时、甚至字段

2012-04-22 23:18:38 8489

原创 《Spring In action》学习笔记——依赖注入

索引1.基本Bean配置   1.1Bean容器   1.2Bean工厂-BeanFactory   1.3应用上下文-ApplicationContext   1.4Bean生命周期   1.5Bean的创建        1.5.1通过构造函数注入        1.5.2通过setter方法注入        1.5.3注入集合        1.5.

2012-04-20 14:35:35 3715

原创 在ubuntu上安装maven3

到maven官网下载maven最新的安装包apache-maven-3.0.4-bin.tar.gz,并解压至/usr/local/目录,或可选地修改maven的使用用户:sudo chown -R user:group apache-maven-3.0.4添加M2_HOME环境变量:在/etc/environment或~/.bashrc文件中添加export M2_HOME=/usr/local

2012-04-10 11:49:44 12890 1

模拟RHCE教室及考试环境

今天收到RHCE的证书,内心自然欣喜了一会了。为了纪念这一历史时刻,我决定把自己平时练习用的RHCE教室环境、考试环境的部署方案共享出来,让你只使用一台物理机就拥有“整个教室”(有点夸张)啦,原理当然就是建立多台虚拟机啦。该方案包含了DNS、LDAP、ISCSI、FTP、HTTP、NFS的服务部署。 在建虚拟机时,我使用了LVM的镜像特性,这样,实际上只需要安装一台虚拟机vm,其余虚拟机通过镜像vm,就可以快速建立多台虚拟机了。另外,值得一提的是LDAP服务器了,在CentOS中使用的是slapd这个软件,配置有点复杂啦,当时把ldap部署起来,足足折腾了2、3天。

2014-01-11

链表在linux中的实现

在看《linux内核源代码情景分析》1.4节的时候,里面有提到链表在C语言中的实现,刚开始看的时候觉得这样的实现方式真的很巧妙,于是深入地了解一番。本文就是针对linux链表的实现进行详细的描述和解析的

2013-07-17

jdk1.6.0.15源代码

方便各位找不到java源代码的朋友,这是从sun-java6-source_6-15-1_all.deb安装得到的源码。

2012-05-14

Maven超级POM文件

Maven超级POM的内容。把它放在网上共享是因为想省去找他的时间,如果不想下载,大家可以在Maven安装目录下的lib/maven-model-builder-3.0.4.jar的/org/apache/maven/model/下找到这个文件。

2012-05-11

shell脚本编程

linux下的shell脚本编程教程,有需要就下吧

2012-04-29

Android应用开发揭秘-源码

《Android应用开发揭秘》一书例子中的源码,需要的下

2012-04-29

git使用教程(中文)

主要介绍如何使用git进行分布式版本控制,懂的下,不懂的下了也没用

2012-04-29

Android应用开发揭秘(完整版)

《Android应用开发揭秘》是一本适合Android初学者的应用开发书籍。

2012-04-29

Java EE 6 API Specifications

j2e的API规范,有时间有兴趣的朋友可以下载来看看

2012-04-28

DHTML手册(英文)

没什么好说的,懂的就下,不懂的下了也没用…

2012-04-28

css3.0与css2.0详尽手册

所有需要的css资源都能在这个包中找到,囊括了css3.0和css2.0的内容。

2012-04-28

敏捷软件开发:原则、模式与实践(全)

敏捷软件开发:原则、模式与实践(全)一书的PDF版本,非常不错的,值得推荐

2012-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除