当前位置:  编程技术>综合
本页文章导读:
    ▪ubuntu安装软件提示“无法打开锁文件 /var/lib/dpkg/lock ”问题解决      用apt-get 安装 make提示“无法打开锁文件 /var/lib/dpkg/lock ”# apt-get install vimE: 无法打开锁文件 /var/lib/dpkg/lock - open (2: 没有那个文件或目录)E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否.........
    ▪mybatis和ibatis的比较      前些时候一直在用ibatis做项目觉得用起来还是很舒服的至少来说用起来灵活不想hibernate那么死还经常出一些搞得人恶心的问题而且开发包还很多,hibernate我觉得还垃圾一点不好用。心血来潮在.........
    ▪TopCoder Component Development Tutorial(组件开发说明书)      【写在前面】     想研究TopCoder整点小外快,翻来找去只找到 @Xviewee 在2008年翻译的文章,由于年代久远,我对TopCoder组件开发说明书更新到最新版,看他的原文点这里,首先对他的.........

[1]ubuntu安装软件提示“无法打开锁文件 /var/lib/dpkg/lock ”问题解决
    来源: 互联网  发布时间: 2013-11-19

用apt-get 安装 make提示“无法打开锁文件 /var/lib/dpkg/lock ”

# apt-get install vim

E: 无法打开锁文件 /var/lib/dpkg/lock - open (2: 没有那个文件或目录)
E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?

出现这样的问题往往是因为无删除了这写文件!!

解决方法:

建一个空文件并复制到相应的地方:

touch lock

copy lock /var/lib/dpkg


再次apt-get install vim

又提示:E: 无法打开文件 /var/lib/dpkg/status - open 

在touch一个status文件,再复制到相应的文件中即可。





作者:muge0913 发表于2013-1-13 22:49:53 原文链接
阅读:0 评论:0 查看评论

    
[2]mybatis和ibatis的比较
    来源: 互联网  发布时间: 2013-11-19

前些时候一直在用ibatis做项目觉得用起来还是很舒服的至少来说用起来灵活不想hibernate那么死还经常出一些搞得人恶心的问题而且开发包还很多,hibernate我觉得还垃圾一点不好用。心血来潮在网上看了一下其实自己早就out了,人家ibatis都到3点几了而且还改了名字叫做mybatis。这个版本和之前的ibatis已经出现了很多的差别。下面是我自己学习的时候总结的。

1.以前用的parameterClass在mybatis中已经永不了了,mybatis里应该使用parameterType。另外resultMap里面也不能继续使用了改成了type

2.dynamic标签不能使用了,下面的配置在mybatis里是错的

<sql id="sqlwhere">	
	<dynamic>
		<isGreaterThan prepend="and" property="FPARENTID" compareValue="-1">
			A.FPARENTID = #FPARENTID#
		</isGreaterThan>
		<isNotEmpty prepend="and" property="LOGINTOPIMAGE">
			A.LOGINTOPIMAGE like #LOGINTOPIMAGE#
		</isNotEmpty>
		<isGreaterThan prepend="and" property="FID" compareValue="-1">
			A.FID = #FID#
		</isGreaterThan>
		<isNotEmpty prepend="and" property="FNAME">
			A.FNAME like #FNAME#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGINMIDDLEIMAGE">
			A.LOGINMIDDLEIMAGE like #LOGINMIDDLEIMAGE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="VERSIONNUMBER">
			A.VERSIONNUMBER like #VERSIONNUMBER#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="MAJORTITLE">
			A.MAJORTITLE like #MAJORTITLE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGINTITLE">
			A.LOGINTITLE like #LOGINTITLE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="MAJORMIDDLEIMAGE">
			A.MAJORMIDDLEIMAGE like #MAJORMIDDLEIMAGE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGINBOTTOMIMAGE">
			A.LOGINBOTTOMIMAGE like #LOGINBOTTOMIMAGE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="MAJORTOPIMAGE">
			A.MAJORTOPIMAGE like #MAJORTOPIMAGE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.LOGO like #LOGO#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.ADDRESS like #ADDRESS#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.FAX like #FAX#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.PHONE like #PHONE#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.ZIP like #ZIP#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="LOGO">
			A.EMAIL like #EMAIL#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="containIds">
			A.FID NOT IN ($containIds$)
		</isNotEmpty>
	</dynamic>
</sql>


3.数据类型的声明和ibatis有了很大的差别,ibatis可以像下面这样写

 insert into M_HEALTHSPECIALYTYPE(FCODE,FCHARGE,FTYPECONTENT,FID,FMARK) 
 values (#FCODE:VARCHAR2#,#FCHARGE:VARCHAR2#,#FTYPECONTENT:VARCHAR2#,#FID#,#FMARK:VARCHAR2#)


在mybatis的话一般是这样弄的

insert into M_HEALTHSPECIALYTYPE(FCODE,FCHARGE,FTYPECONTENT,FID,FMARK) 
     values (#{FCODE,jdbcType=VARCHAR},#{FCHARGE,jdbcType=VARCHAR},#{FTYPECONTENT,jdbcType=VARCHAR},#{FID},#{FMARK,jdbcType=VARCHAR})  


4.mybatis现在已经没有SqlMapClient了,使用的则是SqlSession.在原来的基础上加了像selectMap,selectList,selectOne这样的方法,使用更方便了

5.加了一个叫映射器的新东西,只需要写出接口而不需要实现类就能够操作数据如

import java.util.List;

import org.lxh.vo.HealthspecialytypeInfo;

public interface HealthMapper {
  public List<HealthspecialytypeInfo> getRecordByList(HealthspecialytypeInfo info);
}


在映射文件里要记得namespace写成接口的类全名,sql语句的id写成接口里的方法名就可以了

<select id="getRecordByList" parameterType="org.lxh.vo.HealthspecialytypeInfo" resultMap="resultMap"> 
		select * from M_HEALTHSPECIALYTYPE where FCODE in
		<foreach item="item" index="index" collection="list"
	      open="(" separator="," close=")">
	      #{item}
	    </foreach>
	</select>


调用的时候就像下面

HealthMapper m=ses.getMapper(HealthMapper.class);
List<HealthspecialytypeInfo> record=m.getRecordByList(h);


就这样就可以直接进行数据的操作了,的确智能了很多

5.需要注意的是spring3.0一下的版本并不支持mybatis,下面是官方文档的描述

从spring3之后mybatis已经可以和spring整合了,最值得高兴的是mybatis网站也提供了整合的用户指导,写的很具体直接就可以拿来用。还有一些特色的功能如直接批量插入数据,hibernate还是那死样子,在这里力挺mybatis。更多的东西大家去看开发文档,我就不多说了。

 

我自己也写了个整合的小例子,大家去我的资源里下载就好了。

作者:chenwill3 发表于2013-1-13 22:31:57 原文链接
阅读:47 评论:0 查看评论

    
[3]TopCoder Component Development Tutorial(组件开发说明书)
    来源: 互联网  发布时间: 2013-11-19
【写在前面】
    想研究TopCoder整点小外快,翻来找去只找到 @Xviewee 在2008年翻译的文章,由于年代久远,我对TopCoder组件开发说明书更新到最新版,看他的原文点这里,首先对他的工作表示感谢!
    TopCoder Component Development Tutorial 英文版原文看这里。
    如果发现本文有任何错漏敬请告知,感激不尽。
    本人小菜,想着能在TopCoder上攒经验顺带挣些小钱,若能有大神可以指导一二,带一带上路,感激不尽。
    此外,如果有志同道合的朋友们可以一起交流开发经验,那是再好不过了,一起争取早日进步嘛。
    最后说一句,转载请注明,谢谢。

1  简介(Introduction) 1.1   TopCoder组件开发

   TopCoder使用包括 C#、Java、C++、Ruby、Flex、JavaScript 在内的多种语言,尽管这语言有较大差别,但开发过程都差不多。本指南将由始至终涵盖整个开发过程。在不同语言差别较大的地方,会分别给出相应的说明。

1.2   开发流程

总体上说,TopCoder组件的开发流程比较简单。你的任务就是按照组件设计文档开发组件并交由评审团(DesignReview Board)进行审查。通过审查称为优胜者之后,你还需要根据审查团提出的整改要求对组件进行修正,最后通过终审(Final Review)就行了。

TopCoder 提供了很多关于设计和开发流程的文档(对于某些简单直接的组件,设计这一步骤会被省略,此时你获得的会是需求说明书而不是设计文档。),你需要仔细阅读软件开发文档。包括成员指南(Member Guide)、开发设计(DevelopmentDesign)、审查记分表(Review Scorecard),这些文档告诉你到底要提交些什么。

1.3   所需软件

你可以在任何环境下编写你的代码,但是我们依靠特定的技术构建组件并对其打包;另外,我们还需要每种语言的公共库,具体包的列表如下,除此之外还有一个UML公用工具。

1、C#:

(1)  Microsoft .NETFramework v3.5:如果你喜欢用C#进行开发, 你可能已经安装了此工具。

(2)  NUnit:这个框架可以让你简单快速的测试你的代码,有关测试的内容后面会详细描述。

(3)  MSBuild:微软和VS的构建工具,有关构建的内容后面会详细描述。

(4)  TC CodeDocumenter:一个编写API文档命令行工具,类似 JavaDoc。

(5)  NCover:代码覆盖工具。

2、Java:

(1)   SunJAVA SE 5.0+:Java开发要注意使用最新的JDK。

(2)   Ant:一种执行可定制、可扩展构建脚本的工具,你需要用它编译工程和向 TopCoder 提交代码,后面会细说构建脚本的内容。

(3)   JUnit:用于单元测试,具体内容后面说。

(4)   SunJAVA EE:只有少数组件需要用到这个包,具体看需求文档。

(5)   Checkstyle:一种格式检查工具,提交之前最好用他来检查一下你的代码。

(6)   Cobertura:Java代码覆盖分析工具,用来检查你的代码被单元测试覆盖的百分比。

    确保系统环境符合MSBuild/Ant 的需求,注意xUnit的安装位置,随后的构建脚本配置里面会说明。

1.4   注册

参加开发竞赛之前,你必须在 TopCoder公司网站上注册。注册之后,你不仅可以提交你的设计和开发作品, 而且可以参加其他 TopCoder 竞赛,包括算法(algorithms),概念模型(conceptualization),规格说明书(specification),架构(architecture),应用装配(application assembly)以及测试(testing)还有马拉松赛(marathon),点击这里注册。

2  挑选项目(Picking A Project)

项目选题是竞赛取胜的第一步,你可以在这里找到所有开放的程序开发竞赛。该页面中,你可以看到项目的开放情况、注册、提交的截止日期。这些日期非常重要,你必须在注册截止日期(Registration End)前确定你对哪个组件感兴趣,并在提交截止日期(Submitby)前提交你的作品,包括测试文件和文档。

作品第一名获得奖金,第二名获得一半奖金,评分标准分值名为“DR point”,有关他的更多内容看这里。

2.1   项目细节

    点开你感兴趣的项目,你会看到有关这个项目的更多细节。包括项目信息、文档链接、论坛链接、报酬信息以及综合时间点。

2.2   决定是否参加

找到感兴趣的项目之后,第一步你要详细查看项目设计文档,最简明的文档就是需求规格说明书(Requirements Specification),它包含这个项目会用到的各种技术的信息(如SSL,LDAP,ODBC 等)。如果你依然兴趣不减,可以继续阅读组件说明书(Component Specification),它包含了实现这个组件的更多细节信息。当然,还有其它一些文档,但是这两个文档对决定一个项目是否适合你是最重要的。

选择一个项目之前,请确保你有足够的时间完成它。项目期间,你是否有其他的安排和工作要做?另外,项目可能会用到一些你并不熟悉的技术。你知道在C#中怎样使用数据库连接吗?你知道怎样使用java.lang.ref 类库吗?你充分了解完成这个组件所需要的网络协议吗?最好重新阅读一下组件说明书的1.2、1.3 节和第二节,确保你对所用到的技术比较了解。

2.3   项目注册

    现在,你发现你可以胜任并有时间去完成某个项目,就可以注册了。点击项目细节页面的注册链接进行注册。


    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题 iis7站长之家
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3