自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (4)
  • 收藏
  • 关注

原创 Mac上制作Ubuntu USB启动盘

原文首发自个人博客:http://jiangbo.me/blog/2011/11/09/create_ubuntu_usb_startdisk_on_mac/一、下载ubuntu iso镜像二、将iso转换为img文件$ hdiutil convert -format UDRW -o /path/to/generate/img/file /path/to/your/iso/fi

2011-11-09 13:41:18 17076

原创 Velocity源码分析

原文引自http://jiangbo.me/blog/2011/08/19/velocity_overview/一、概述Velocity模板引擎处理机制分为五个基本步骤:引擎初始化,通过设置的引擎属性初始化引擎,包括国际化支持,ResourceLoader设置,字符编码等。获取并解析模板文件,首先通过资源加载器(ResourceLoader)将模板文件加载到内存(转化为Inpu

2011-08-21 17:10:04 2788

原创 Mac配置docbook工具链

《Mac配置docbook工具链》

2011-08-09 18:56:59 957

原创 新站已移至jiangbo.me

新站已移至jiangbo.me,欢迎访问。持续关注,请访问jiangbo.me

2011-07-16 19:34:37 736

原创 Mac OSX安装Git

<br />一、安装Git<br />由于mac git的地址http://code.google.com/p/git-osx-installer/被墙,被迫使用源码安装,源码可以从http://kernel.org/pub/software/scm/git/下载,编译源码需要先安装xcode,参考http://developer.apple.com。<br />编译安装<br />1.解压<br />     tar xjvf git-1.7.4.1.tar.tar.bz2<br />2. 编译<br /

2011-03-15 14:34:00 5455 1

原创 Java基础(1)-泛型

<br /> 一、Basic FAQ:<br />1. What are Java Generics?<br />     Java泛型是什么?<br />     Java Generics ara language feature that allows for definition and use of generic types and methods.<br />     Java泛型指的是一种允许定义通用类型和方法的语言特性。<br />2. What is the primary purpos

2011-03-10 17:50:00 1437

原创 使用memcached进行并发控制

<br />引子<br /><br />一个使用缓存进行并发控制的讨论,让我学习到成本与收益间的平衡,以及何为真正的可用性......<br />防止并发有多种方式,本文只涉及使用缓存memcached控制。<br />并发场景:<br />     用例:SNS系统中具有高级会员资格的人发起活动。<br />     业务规则:1.一个人同时只能创建一个活动。2.具有高级会员资格。<br />     基本流程如下:<br /> <br /> <br /> <br /><br />这个流程中存在明显的并发

2011-02-27 18:57:00 9792

原创 Zero-Copy&sendfile浅析

<br />一、典型IO调用的问题<br />一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:<br /><br />read(file, tmp_buf, len);<br />write(socket, tmp_buf, len);<br /><br />首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socket,在这过程中会出现四次数据 copy,过程如图1所示<br /><br />图1<br /> <br />1。当调用read系

2011-01-17 11:53:00 9644

原创 AWK学习笔记

<br /><br />by BoBo<br /><br />一点历史<br />    AWK上世纪70年代诞生于传奇的Bell实验室,名字取于它的三位发明人,Alfred Aho, Peter Weinberger和 Brian Kernighan名字的首字母。发音类似《The AWK Programing Language》封面上的海雀(一种海鸟)的英文发音(auck[ɔ:k])。AWK最早出现在Unix V7中,Linux诞生后,AWK被LSB纳入其中,这意味者所有的Linux发行版都会提供awk的

2010-12-13 17:18:00 1205

原创 固定SessionID漏洞

by BoBo一个简单的登录控制下面是一个最常用最简单的登录控制流程,通过表单提交用户名密码,servlet判断用户名密码,正确则写一个session,然后跳转到登录后的能够看到的页面登录页面JSP/*省略头部信息*/ 用户名: 密码:SessionTestServletprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, I

2010-12-13 17:14:00 2655

原创 Linux启动过程分析

史前时代:BIOS-计算机的启动过程加电 电源加电,主板芯片组像CPU发粗RESET信号,使CPU恢复到初始状态。当芯片组检测到电源开始稳定供电时会撤去RESET信号(松开重启建类似),这是CPU从0xfff0除开始执行指令。该地址位于BIOS寻址范围内。BIOS厂商通常在该地址放一条跳转指令,跳到真正BIOS启动代码除。自检 BIOS启动代码首先进行POST(Power-On Self Test,上电自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作, 例如内

2010-10-26 17:44:00 1208

原创 在Spring中使用Quartz

<br /> Spring 提供了几个帮助类用于在应用中做调度,包括JDK Timer类和OpenSymphony Quartz Scheduler两种.Quartz基础 <br /> Quartz包括五种主要结构用于实现调度:Job接口JobDetail类Trigger 抽象类Scheduler接口SchedulerFactory 接口<br /> Job接口表示一个作业(job)。一个作业专注做一件事。它的API非常简洁。只有一个execute方法,该方法在作业被执行时有Quartz调度。该方法

2010-10-18 17:17:00 1763

原创 DBunit入门

<br /> 使用DBTestCase子类设置数据库<br />第1步:创建你的数据集文件<br /><br />你的测试需要一些数据来辅助。也就是说你必须创建一个数据集。在大多数情况下你会使用XML数据集。你可以手动从头创建一个flat XML数据集或从你的数据库中导出一些数据。第2步:扩展类的DBTestCase<br />现在您需要创建一个测试类。最简单的使用DBUnit的方法是是你的测试类继承DBTestCase。DBTestCase扩展了JUnit TestCase类。一个getDataSet()

2010-09-06 23:39:00 3279

原创 Linux批量转换文件名编码

<br />今天从网上用wget下了很多的电子书,不过文件名的编码都是GBK,系统默认为UTF-8,可以用convmv来转换文件名编码,例如将GBK编码的文件filename重命名为UTF-8:<br />convmv -f gbk -t utf-8 filename --notest <br />由于需要转换的文件比较多,写了个脚本来实现,主要就是一个文件目录的递归遍历:<br />list_dir(){for file in $1/*doif [ -d $file ]; thenecho

2010-08-01 00:14:00 1439

原创 linux批量重命名方法

<br />经常会遇到需要批量重命名文件的情况,用鼠标太夸张了,简单总结两种比较简单的方法:<br />问题:<br />存在大量html文件,需要重命名为htm文件<br />1.rename<br />通常重命名的命令是mv,Larry Wall写的rename具有更强大的功能。能够用perl的正则语法结构进行文件重命名。NAME rename - renames multiple filesSYNOPSIS rename [ -v ] [ -n ] [ -f ] p

2010-06-28 20:29:00 1629

原创 查询外网IP并发送邮件的脚本

泡论坛时发现的小问题,自己做了下,记录如下:问题:如何查询服务器的外网IP并发送到指定邮箱?

2010-06-21 15:20:00 2364 1

原创 maven报错Requested org.apache.maven.archetypes:maven-archetype-quickstart:jar

今天重新安装maven,打包创建项目,mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 /-DartifactId=simple /-DpackageName=org.sonatype.mavenbook结果报错Build Error:Requested org.apache.maven.archetypes:ma

2010-04-24 19:15:00 2669 1

原创 ubuntu设置ASDL转DHCP的方法

1.sudo   gedit    /etc/network/interfaces auto loiface lo inet loopback#auto dsl-provider#iface dsl-provider inet ppp#pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf#provi

2010-04-24 10:38:00 928

原创 Error: no 'server' JVM at 'C:/Program Files/Java/jre6/bin/server/jvm.dll'

今天第一次使用JBoss,解压运行时出现了如下错误:Error: no server JVM at C:/Program Files/Java/jre6/bin/server/jvm.dll原因是JAVA_HOME设置的不对临时解决办法是重新设置下JAVA_HOME,set JAVA_HOME="C:/Program Files/Java/jdk1.6.0_19"就行了,最好是

2010-04-07 14:48:00 2265

原创 Python简单CGI服务器os.execve(scriptfile,args,os.environ)权限错误

这段时间在学Python,今天开始进入到CGI编程,示例中有个简单CGI Server的例子,代码如下:webserver.py:webdir = "." #html files directoryport = 8000 #server portimport os, sysfrom BaseHTTPServer import HTTPServerfrom CGI

2010-01-01 17:22:00 5834 2

原创 linux锐捷上网-mentohust

今天终于能用linux上网了,自从换了校园网,用上那个该死的锐捷,已经告别可爱的Ubuntu很久了,差了很多资料,一直无法上,无论是锐捷官方客户端xrgsu,还是xsuppclient,或者ruijieclient,都是有错误,最后找到了一个很好用的mentohust(http://code.google.com/p/mentohust/)华科的牛人开发的锐捷客户端,更新的比较及时,很不错,赞一个

2009-11-24 09:19:00 2133

原创 Linux安装Android SDK时出现Failed to fetch URL https://dl-ssl.google.com/android/repository/repository.xml

 今天在ubuntu下使用AVD manager安装Android SDK2.0时,出现:Failed to fetch URL https://dl-ssl.google.com/android/repository/repository.xml按照提示,勾选了settings里面的:Force https://... sources to be fetched using http

2009-11-24 09:13:00 19677 9

原创 Android文档(三)-数据存储

通常的OS是采用一个文件系统来存储文件数据,是文件可以被几个文件共同访问。Android中采用了不同的数据共享方法。在Android中,每个应用的数据文件是私有的,也就是只有自己能够访问,但是Android同时提供了一种机制,使得应用可以将自己的私有文件暴露给外部的其他应用程序,从而实现文件数据的共享。这种机制即Content Providers。

2009-11-22 16:12:00 1062

原创 IAR开发环境中添加头文件

 今天在添加uart驱动时,需要向现有的uC/OS工程文件中添加头文件。1.直接在工程目录下新建一个目录,将uart.c和uart.h添加到该目录下,2.在工程项目上右键->add->add group,添加一个组uC-UART3.在该组上继续右键->add->add file,添加uart.c

2009-11-16 17:43:00 7903 1

原创 Android示例HelloGallery中R.styleable unresolved的解决办法

     今天尝试编译Android SDK中APIDemos中的程序,调试到HelloGallery的时候,在下面这段代码中:public ImageAdapter(Context c) { mContext = c; TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);

2009-11-15 19:05:00 7877 4

原创 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决

今天初次学习Hibernate,按照指导做的时候,出现如下错误: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in

2009-10-03 15:10:00 13982 2

转载 [转贴]提问的智慧

提问的智慧 D.H.Grand[nOBODY/Ginux] 2001在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。  首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不

2009-09-24 09:27:00 1482

原创 浅谈Java垃圾收集

  Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

2009-09-23 16:21:00 871

原创 设计模式学习笔记(3)——适配器模式(Adapter Pattern)

一、 目的:将一个类的接口转换成客户希望的另一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。——GoF《Design Pattern》二、 描述:其实个人觉得Adapter模式在所有的模式当中算是比较简单的那种,也比较容易理解,就像我们日常生活中经常会使用USB转换器,将某种非USB接口的外设转换我们本本上

2009-09-21 17:14:00 1066

原创 设计模式学习笔记(2)——装饰模式(Decorator Pattern)

一.目的装饰模式的目的是动态的为对象添加一些额外职责。就增加功能来说,Decorator模式比继承产生的子类给为灵活。——GoF《Design Pattern》。二.描述举HeadFirst中Starbucks的例子,星巴克中有很多种饮料,每种饮料需要有单独的计算价格cost()的功能,以及能够获得该饮料的具体描述的getDescription()功能。如果通过设置

2009-09-20 17:39:00 1174 1

原创 Struts1.3源码学习笔记(一)——ActionServlet(1)

ActionServlet在Struts中扮演Controler,也可以算是说整个Struts的处理中枢。客户端通过浏览器(或者其他表示层交互手段)想服务端提交一个request,提交的表单数据会被封装在一个ActionForm中,通常需要对每个form定义一个ActionForm,所有的request都会被ActionServlet拦截到,Action根据struts-config.xml文件中

2009-09-15 16:19:00 1729

原创 设计模式学习笔记-(1)Singleton模式

目的:保证一个类仅有一个实例,并为该实例提供也个安全的全局访问点 用途:在很多时候,系统中需要某个类只有一个实例,例如连接数据库时的驱动程序注册,加载属性文件等。 实现的核心是要有一个私有的构造方法,静态实例变量,以及返回该静态变量的公有静态方法作为全局访问接口。 一个最基本的实现: public class Singleton {     private static Singlet

2009-08-28 15:28:00 754

原创 Eclipse中修改Tomcat端口

在Linux中新安装了Oracle,占用了原来Tomcat的8080端口,修改了tomcat中conf目录下的server.xml文件:8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" />将上面的8080改为未被占用的1024以上的端口,我改的

2009-08-26 15:47:00 3493 1

原创 Ubuntu9.04安装Oracle XE

 一直听说Ubuntu上安装Oracle相当麻烦,今天体验了一把,可能比较幸运,没出什么问题,简单记录一下,先声明,我装的是Oracle XE版,也就是官网上所说的快捷版,企业版的安装要麻烦的多,而且好想也不支持Ubuntu。简单来说步骤如下:1.将http://oss.oracle.com/debian unstable non-free添加到软件源中2.添加密钥 sudo ap

2009-08-24 21:26:00 1305 1

原创 Ubuntu中增加交换分区

今天要在Ubuntu中安装Oracle XE,但是检测自己的交换分区只有256M,Oracle需要1G的交换分区,网上查了一下,简单记录,以备后用:1.$dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=10002.$chmod 600 /tmp/tmp.swap3.$mkswap /tmp/tmp.swap5.$sudo swapon /tmp/tmp.s

2009-08-24 20:43:00 1337

原创 解决Ubuntu中Flash乱码

Ubuntu中Flash的中文都是小方框,解决方法如下:1.进入字体配置文件目录:cd /etc/fonts/conf.d/2.备份原有文件:sudo cp 49-sansserif.conf 49-sansserif.conf_backup3.编辑该文件:sudo vim 49-sansserif.conf文件内容如下:  If the font

2009-08-24 09:46:00 1406

原创 安装MySQL时无法启动服务(could not start the service MYSQL .Error:0)

今天写程序时发现连接不上MySQL,检查了一下发现MySQL服务未启动,手动开启也不行,于是重新安装了一下,结果在安装过程中,执行execute时,出现了could not start the service MYSQL .Error:0的错误。网上搜了一下,一般在重装MySQL时会出现这个错误,我的解决的方法是将所有的与MySQL相关的文件全部删除,然后再重装一下,就行了,当然,这个方法很烂很暴

2009-08-22 15:17:00 2455

原创 Android文档(二)-应用基础(1)应用组件(Application Components)

应用基础 Android应用程序由Java语言编写。Java字节码以及应用所需的所有数据资源文件都通过aapt工具打包成Android package,一种被标记问.apk的归档文件。这类文件是在移动设备上发布和安装应用程序的基础;用户下载这种文件到他们的设备上。一个.apk文件中所有的代码被认为是一个应用。 在很多情况下,每个Android应用程序处于自己的生存空间内: 1.默认情况下,每

2009-08-20 16:30:00 1426

转载 [转]Alexandru Popescu谈InfoQ.com网站架构

大家好,我是Ryan Slobojan,坐在我旁边的是InfoQ.com的首席架构师Alexandru Popescu。Alexandru,能否告诉我们InfoQ网站的一些架构信息—它是什么样子的?又是如何构建的? 你可以从两种不同角度审视InfoQ的架构:从我们读者的角度看,InfoQ就像是一个普通的网站;但是对于我们的编辑和在后台工作的人员来说,它则是一个地地道道的CMS(内容管理系统)。

2009-08-19 18:19:00 689

原创 Android文档(一)——什么是Android?

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅 0 2

2009-07-16 16:25:00 1093

DirectX中文编程手册

DirectX的中文编程手册,对初学者有很大帮助,最主要是中文的,哈哈~

2009-10-09

lucene-2.3.2

Lucene 是Apache下著名的搜索引擎框架

2008-07-12

空空如也

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

TA关注的人

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