10年的时候,也是因为域名到期,就把之前的cn域名换成了一个小众me的域名,用了两年,从搜索引擎不太容易搜索到,大鹏这个名字用的实在是太多了,近期me的域名也要到期了,选择了一个beardnote.com的组合域名,中文就叫胡子笔记。

胡子是借我的小名同音取的,小名就不告诉人了,比较好玩的名字。

现在博客托管在点点上面,可以专业作为一个网络笔记来使用了,反正没有空间、流量限制。 再次推荐一下点点,值得想做个人博客,而又懒于管理的人使用! 点点还可以绑定域名,而且目前还不用备案的。

每一行代码都是青春的流逝 每一行代码都是电脑的辐射 每一行代码都是手指的笔迹

一大清早就听见下面垃圾车队出发的声音,吵得要命,再接着卫生管理者的大骂声,震耳欲聋啊!实在是睡不下去了!呵呵!

最近把主系统改用linux了,使用的是linux deepin的版本,的确就像是linux deepin说的那样,免除新手痛苦、节约老手时间!在很多操作上面都已经很简单方便了!

作为一个码农和一个软件爱好者,不得不承认,linux下面有很多软件是比不上windows的,我的win系统是win8预览版,装啦100多个软件,不包含游戏,在linux的可选就相当的少了!

针对自己必需的软件,在linux也足够我使用了.

娱乐办公类

QQ:webqq或者采用wineqq2012

音乐:本地使用深度音乐,深度音乐相当的给力,在线的选择就很多了,我主要使用的是虾米的air版本.

下载:使用wine迅雷,或者浏览器下载,命令行的wget也是很不错的选择,wget -c还支持断点续传的.

浏览器:主要是chrome,还有火狐也在使用.

办公:libreoffice或者在线的,等待wps4linux.

编辑器:自带的gnote,推荐用sublime text2,跨平台,我在win下面的主要编辑器



开发工具类:

eclipse:自己装插件,可以定制自己使用各种开发工具,java.php.web等等等!

tomcat:本身就跨平台

mysql:同上

uml:eclipse插件

git:本来就是为linux服务的.

特别一提的是,我喜欢用ms project去整理一些事情,在linux还有grant project可以替代的.

个人用的笔记软件主要是wiz,wiz的linux版本太简陋,可以用wine来使用windows的版本.



还有好多,不说了,要上班去了!

来公司了,补充下自己使用的软件。

http://pan.baidu.com/netdisk/singlepublic?fid=874434_2892209213

之前就知道ANT这个小蚂蚁,一直没有用过,这两天,下了点功夫,写了一个ANT的脚本。功能还行,可以完成同步svn代码、编译代码、打包代码、上传、部署的功能。

直接上干货,看代码。

[code]

#JDK home

jdk.home=/opt/Java/jdk1.6.0_33

#webapp name

webapp.name=pmeapp

project.name=pmeapp

#svn

svn.url=http://127.0.0.1:9344/svn/pmeapp/trunk

svn.uname=dapeng

svn.pwd=dapengpwd

#war

war.exclude=

war.exclude.classes=

#ftp

ftp.server=127.0.0.1

ftp.password=dapengpwd

ftp.userid=dapeng

ftp.path=/opt/ftp/

#ssh

ssh.host=127.0.0.1

ssh.path=/opt/tomcat6/webapps

ssh.pwd=dapengpwd

ssh.uname=dapeng

#ssh

ssh.path.webapp=/opt/tomcat6/webapps

ssh.server.bin=/opt/tomcat6/bin

ssh.cmd.sshClean=rm -rf /opt/tomcat6/webapps/${webapp.name}/

ssh.server.start=/opt/tomcat6/bin/startup.sh

ssh.server.stop=/opt/tomcat6/bin/shutdown.sh

[/code]

另外一个是关键中的核心

[sourcecode]

<project basedir=’.’ default=’usage’ name=’${project.name}’>

<!– =================================================================== –>

<!– 下句是import进ant属性配置文件,properties文件里存放基本的配置变量. –>

<!– 该变量可以在build.xml中直接引用. –>

<!– =================================================================== –>

<property file=’ant.properties’/>

<!– =================================================================== –>

<!– 以下的几个属性是系统自带的,初始了tstamp之后,它们就有值了 –>

<!– ${DSTAMP} ${TSTAMP} ${TODAY} –>

<tstamp/>

<property name=’war.name’ value=’${webapp.name}’ />

<!– =================================================================== –>

<!– Init –>

<!– =================================================================== –>

<target name=’init’>

<echo message=’————————————-‘/>

<echo message=’start ant build ${project.name} – ${DSTAMP}${TSTAMP}’/>

<property name=’debug’ value=’off’/>

<property name=’optimize’ value=’on’/>

<property name=’deprecation’ value=’on’/>

<!– java源文件路径 –>

<property name=’src.dir’ value=’${basedir}/src’/>

<!– jar包路径 –>

<property name=’lib.dir’ value=’${basedir}/WebRoot/WEB-INF/lib’/>

<!– webapp路径 –>

<property name=’webapp.dir’ value=’${basedir}/WebRoot’/>

<!– 准备源文件路径 –>

<property name=’build.src’ value=’${basedir}/AntBuild/build’/>

<!– 编译源文件路径 –>

<property name=’build.dest’ value=’${basedir}/AntBuild/bin’/>

<!– 准备webapp文件路径 –>

<property name=’buildwar.dest’ value=’${basedir}/AntBuild/warsrc’/>

<!– 打包war文件路径 –>

<property name=’war.dest’ value=’${basedir}/AntBuild/war’/>

<!– jre lib路径 –>

<property name=’jre.lib’ value=’${jdk.home}/jre/lib’/>

<!– 引用svn task文件,使用svn任务可以使用–>

<typedef resource=’org/tigris/subversion/svnant/svnantlib.xml’ />

<!– 设置svn相关属性 –>

<svnSetting id=’svn.setting’ svnkit=’true’ username=’${svn.uname}’ password=’${svn.pwd}’ javahl=’false’ />

<!– classpath –>

<path id=’classpath’>

<!–web.lib–>

<fileset dir=’e:/lib’>

<include name=’/*.jar’/>

</fileset>

<fileset dir=’${jre.lib}’>

<include name=’
/.jar’/>

</fileset>

<fileset dir=’${lib.dir}’>

<include name=’**/
.jar’/>

</fileset>

<!–<pathelement location=’lib/‘/>–>

</path>

</target>

<!– =================================================================== –>

<!– checkout –>

<!– =================================================================== –>

<target name=’checkout’ depends=’init’>

<echo message=’————————————-‘/>

<echo message=’start checkout ${project.name} – ${DSTAMP}${TSTAMP}’/>

<svn refid=’svn.setting’>

<checkout url=’${svn.url}’ revision=’HEAD’ destPath=’.’ />

</svn>

</target>

<!– =================================================================== –>

<!– 编译源文件–>

<!– =================================================================== –>

<target name=’build’ depends=’checkout’>

<echo message=’————————————-‘/>

<echo message=’start build ${project.name} – ${DSTAMP}${TSTAMP}’/>

<mkdir dir=’${buildwar.dest}/WEB-INF/classes’/>

<delete>

<fileset dir=’${buildwar.dest}/WEB-INF/classes’ includes=’/.‘/>

</delete>

<javac srcdir=’${src.dir}’ destdir=’${buildwar.dest}/WEB-INF/classes’ debug=’${debug}’ optimize=’${optimize}’ includeantruntime=’on’>

<classpath refid=’classpath’/>

</javac>

<copy todir=’${buildwar.dest}/WEB-INF/classes’>

<fileset dir=’${src.dir}’>

<include name=’
/.‘/>

<exclude name=’/*.java’/>

</fileset>

</copy>

</target>

<!– =================================================================== –>

<!– 打war包–>

<!– =================================================================== –>

<target name=’war’ depends=’build’>

<echo message=’————————————-‘/>

<echo message=’start war ${project.name} – ${DSTAMP}${TSTAMP}’/>

<delete>

<fileset dir=’.’ includes=’
/*.war’/>

</delete>

<!–needxmlfile 设为false才不会报错 web.xml不存在 ant会报错–>

<war destfile=’${war.name}.war’ needxmlfile=’false’>

<!– <lib dir=’${basedir}/WebRoot/WEB-INF/lib’/> –>

<classes dir=’${buildwar.dest}/WEB-INF/classes’ excludes=’${war.exclude.classes}’/>

<fileset dir=’${webapp.dir}’ excludes=’${war.exclude}’/>

</war>

</target>

<!– =================================================================== –>

上传本地文件到远程服务器,执行远程命令

<!– =================================================================== –>

<target name=’ssh’ depends=’war’>

<echo message=’————————————-‘/>

<echo message=’start ssh ${project.name} – ${DSTAMP}${TSTAMP}’/>

<!–上传–>

<scp file=’${basedir}/${war.name}.war’ todir=’${ssh.uname}:${ssh.pwd}@${ssh.host}:${ssh.path}’ trust=’true’/>

</target>

<!– =================================================================== –>

<!– 停止服务器–>

<!– =================================================================== –>

<target name=’stop’ depends=’ssh’>

<echo message=’————————————-‘/>

<echo message=’stop server – ${DSTAMP}${TSTAMP}’/>

<sshexec host=’${ssh.host}’ username=’${ssh.uname}’ password=’${ssh.pwd}’ port=’22’ trust=’true’ verbose=’true’ command=’${ssh.server.stop}’/>

</target>

<!– =================================================================== –>

<!– 启动服务器–>

<!– =================================================================== –>

<target name=’start’ depends=’stop’>

<echo message=’————————————-‘/>

<echo message=’start server – ${DSTAMP}${TSTAMP}’/>

<sshexec host=’${ssh.host}’ username=’${ssh.uname}’ password=’${ssh.pwd}’ port=’22’ trust=’true’ verbose=’true’ command=’${ssh.server.start}’/>

</target>

<!– =================================================================== –>

<!– 清除临时文件–>

<!– =================================================================== –>

<target name=’clean’ depends=’init’>

<echo message=’————————————-‘/>

<echo message=’start clean ${project.name} – ${DSTAMP}${TSTAMP}’/>

<delete includeemptydirs=’true’>

<fileset dir=’${basedir}’ excludes=’ant.properties,build.xml’/>

</delete>

</target>

</project>

[/sourcecode]

注释写的还算详细哈!

ANT的配置网上一大堆,google一下就知道了(有时宁愿用有道,也不愿意用百度)。

想起之前svn下载、编译、上传、部署全部手动操作,唉!

现在,一个命令搞定,好舒服!

构建工具,还有另外一种选择,使用MAVEN,MAVEN更是一种更优秀的构建工具,也推荐学习一下的。

多学习一种是好事哈!不能总用过myeclipse就行吧!目前我的系统采用的是linuxdeepin,基本都能满足我的日常使用了,下次有机会再介绍我的linux经历史了。

分享了几篇bootstrap的文章,再来分享一个bootstrap的axure原型设计组件。

axure是一个原型设计工具,可以有多优秀的组件可以使用,这里推荐下bootstrap组件,目前bootstrap的组件还不是很多,不过,也占据了大部分可以使用的。

中午我抽空就用axure做了一个,采用的是bootstrap组件,算是我博客主题升级前的一些准备吧!

http://lh6.ggpht.com/-eLqMZTbWgR8/UBdtM1K37KI/AAAAAAAAAI4/IpswxskwrzA/thumb_D06ADFE83736FF6D43A7C8A0EF38405369E296DE.png?imgmax=800

demo地址:http://dapeng.me/demo/201207/axure-bootstrap/dapeng.me.html

bootstrap组件下载地址:http://l3.yunpan.cn/lk/08f2nhl0ve

程序猿们都是些机械手,让制造东西很容易,如果需要把东西艺术一下,很太难为程序猿们了!

Twitter Bootstrap在很大的程度上面解放了程序猿对页面的制作,前提就是web使用Twitter Bootstrap来制作的。

Twitter Bootstrap很推荐每个程序员都来掌握一下,其中难度也没多少,如果说有难度,也就是一点点的E文吧!不过现在这点难度也解决了,已经有朋友将Twitter Bootstrap翻译成中文了,感谢这位朋友啊!

Bootstrap 是基于 HTML,CSS,JavaScript 的简洁灵活的流行前端框架及交互组件集,由微博的先驱 Twitter 在2011年8月开源的整套前端解决解决方案。Bootstrap 有非常完备和详尽的使用帮助文档,热心的 @TV来客开发者 翻译成了中文,讨厌英文的朋友有福了。

 

  Bootstrap 的口号是 Designed for everyone, everywhere.(适用于任何场景,适用于每一个人),主要有以下特色:

  适应各种技术水平

  Bootstrap适应不同技术水平的从业者,无论是设计师还是程序员,大牛还是菜鸟。既能用来开发简单的小东西,也能构造复杂的应用。

  跨设备,跨浏览器

  最初设想中的Bootstrap只支持现代浏览器,不过新版本已经能支持所有主流浏览器(甚至包括IE7)。从Bootstrap 2开始,提供对平板和智能手机的支持。

  12列栅格布局

  栅格系统不是万能的,不过在应用的核心层有一个稳定和灵活的栅格系统确实可以让开发变得更简单。可以选用内置的栅格或是自己手写。

  响应式设计

  从Bootstrap 2开始,提供完整的响应式特性。所有的组件都能根据分辨率和设备灵活缩放,从而提供一致性的用户体验。

  样式化的文档

  与其他前端工具箱不同,Bootstrap优先设计了一个样式化的使用指南,不仅用来介绍特性,更用以展示最佳实践,应用以及代码实例。

  不断完善的库

  尽管只有10kb(gzip压缩后),Bootstrap却仍是最完备的前端工具箱之一,提供了几十个全功能的随时可用的组件。

  定制的jQuery插件

  一个出色的组件设计岂能没有易用易扩展的人机界面?Bootstrap为此提供了定制的jQuery内置插件。

  用LESS构建

  当传统的枯燥CSS写法止步不前时,LESS横空出世了。LESS中使用变量,嵌套,操作,混合编码,让CSS编写更快更灵活。

 

  Twitter Bootstrap 中文帮助文档http://wrongwaycn.github.com/bootstrap/docs/index.html

原文网址:http://www.cnblogs.com/lhb25/archive/2012/07/26/bootstrap-documentation.html

使用mysql时,发生的错误 Table is marked as crashed and should be repaired。

解决办法:用“REPAIR TABLE tablename;”命令修复。简单好用!还有其他办法,就不多说了。

原因:有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说 法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能 导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。

来一曲古风版的最炫民族风,民族乐器演奏出来果然不一般啊!


作为一个通用的框架,不仅仅需要最小可用,还需要一些完整的功能,这篇文章说了一些常用的通用功能,我建议再补充一些。

a、权限控制

 作为系统,就有人去用,有人的地方就需要进行控制,能用什么,该用什么,都要进行管理,这就是权限控制。权限是个很复杂的东西,场景不一样,权限控制也就不一样,我一直赞成使用的是RBAC,使用资源、角色、用户做最小角色控制,以后需要其他功能,RBAC也容易进行扩展。

b、日志记录

安全是现在系统必须注意的问题,而系统很作的操作,都很敏感,你做了,我就得记住。

其他的功能,看看下面的文章!

公司的JAVA框架应具备的通用功能

以前在学校的时候自己以为是不是每个做JAVA开发的公司每次做项目的时候都要搭建一个SSH框架呢,工作之后才发现每个公司都有自己的一套框架,要不是在SSH基础上,要不是在SSI基础上进行了符合自己公司需求的封装,并且随着自己公司的框架被应用到各个实际系统的过程中,这个框架会越来越成熟,会使该公司的开发效率越来越高。

 

根据笔者接触过的几个公司的框架,笔者发现要想实现高效的开发,每个公司的Java框架应该具备如下的特点:

1.具有灵活的分页功能。

分页功能是每个项目中必须要实现的功能,而恰恰这个功能是比较费时费力的,如果在框架中实现这一功能,将在每个项目中大大减少分页的重复性工作。

2.可以方便的实现文件的上传与下载、数据的导入和导出的功能

文件的上传于下载、数据的导入和导出在大部门项目中也会遇到,但是这两个功能可能会因为项目的不同导致实现上有一点区别,我们框架中要做的就是应该抽出其中共有的东西,定义为抽象的东西,以便不同的项目、不同的需求都能很容易的实现该功能。

3.方便的事务管理功能。

事务管理一般来说都定义在业务逻辑层。我们框架中应该实现对业务逻辑对象事务的简单配置甚至是零配置。笔者接触过的两个框架中,一个需要在配置完一个业务逻辑对象时,在事务管理的配置文件中加上一句简单的配置即可,另一个是框架中实现了几个基本的业务逻辑对象,并对这几个对象实现了事务管理的配置,开发的时候定义的业务逻辑对象都是继承自这几个基本对象,也就省去了事务管理的配置。

4.具有异常处理框架。

基本上每个项目的异常处理都应该可以使用公司的框架定义的异常处理框架,并不会因为项目的不同而要求的异常处理也不一样。

5.具有自己的一套页面组件。

项目开发都是团队的开发,要想保证每个开发人员的界面风格统一,最好的办法就是定义一套公司自己的页面组建。这样既能保证开发效率,也能做到界面的统一。freemark就是不错的选择,其支持自定义宏,公司框架中可以定义一套自己的页面组建宏,供开发人员调用即可。

6.具有数据校验框架。

每个项目在数据校验时都可能会用到大量的正则表达式,那么在公司的框架中将这些正则表达式封装起来,提供统一的调用接口将是不错的选择。

7.简单的实现菜单的配置。

一个好的框架应该提供对菜单、二级菜单等的简单配置、管理。还是上文提到的两个框架,一个是通过XML配置文件实现了对系统中一级菜单、二级菜单、三级菜单的管理,而另个框架要实现相同的需求却要在数据库中进行繁琐的配置,显然第一个框架的实现方案更可取、更高效。

原文网址:http://hp.dewen.org/?p=974