- 博客(35)
- 资源 (75)
- 收藏
- 关注
原创 C++运算符的优先顺序
c++运算符的优先顺序序号运算符关联性1::从左向右2() [] - > .从左向右3! ~ + (unary) - (unary) ++ - - & (unary)
2013-05-30 14:05:18 1072
原创 C++const用法总结
一、关于一般常量声明或定义的格式如下:const = ; [1] const = ; [2][1]和[2]的定义是完全等价的。例如:整形int(或其他内置类型:float,double,char)const int bufSize = 512;或者int const bufSize = 512;因为常量在定义后就不能被修改,所以定义时必须初始化。b
2013-05-30 13:46:33 734
原创 T4模版在代码生成中的应用心得
转眼之间,我用T4模版已经三年多的时间。三年来,经过几个项目的磨合,在使用上偶有心得,在这里把一些问题一一罗列出来。 2010年9月,我第一次接触EntityFramework3.5,深深的被它类powerdesigner打动,开始琢磨它的使用。当时项目中,有位大拿,老琢磨EF、域模型以及MVC的搭配,对EF进行扩展等等。当时没有新项目,就做各种mode,挺好玩的。
2013-05-28 11:30:53 1177
原创 T4模版生成SpringMVC构造REST代码:小结
《 T4模版生成SpringMVC构造REST代码》的源代码:http://download.csdn.net/detail/lxhjh/5459731 REST接口测试工具:1、执行程序:http://download.csdn.net/detail/lxhjh/5459939
2013-05-27 16:20:07 1137
原创 T4模版生成SpringMVC构造REST代码:第九篇 用T4模版生成控制层代码
第一步,在“解决方案JavaGenerate”中添加类库,用于存放控制层的模版及相应文件,我们命名这个类库为JavaControllers。注意框架选择。第二步,增加t4空模版,在解决方案管理器中,选择JavaRequertModels项目,点击右键,选择“添加 ”--〉“新建项”,选择"Blank T4 Template",输入名称“JavaControllers.tt",然后点击"添加
2013-05-27 15:03:33 1087
原创 T4模版生成SpringMVC构造REST代码:第八篇 用T4模版生成请求实体类代码
目前的SpringMVC,还不支持泛型输入参数,所以我们不得不再添加一层“请求实体类”。通过这类model,Json解析器把传入的json字符串转换成相应的请求实体类,然后控制层的action(方法)使用它作为输入参数进行相应的功能处理。第一步,在“解决方案JavaGenerate”中添加类库,用于存放请求实体类的模版及相应文件,我们命名这个类库为JavaRequertModels。注意框架选
2013-05-27 13:54:19 1232
原创 T4模版生成SpringMVC构造REST代码:第七篇 用T4模版生成MyBatis映射文件代码
按照开发层次来说,《用T4模版生成MyBatis映射文件代码》应该在前面介绍,但为了能够给大家简单介绍T4模版的使用,我把复杂的映射文件放在后面,以免大家产生畏难情绪而不使用俯在微软上的东东。通过前面几篇文章,大家可以看到,我们使用的T4模版以及EF使非常简单的: 1、T4模版,就一对特殊运算符,其余的就是基本的时基础的语法了。 2、EF,我们使用
2013-05-27 10:32:48 1736 1
原创 T4模版生成SpringMVC构造REST代码:第六篇 用T4模版生成ServiceImpl服务实现层代码
第一步、在“解决方案JavaGenerate”中添加类库,用于存放ServiceImpl的模版及相应文件,我们命名这个类库为JavaServiceImpls。点击“解决方案JavaGenerate”,右键,选择“添加 ”--〉“新建项目”,再选择"类库",名称中输入JavaServiceImpls。返回后,在“解决方案JavaGenerate”中增加了一个叫JavaServiceImpls的项
2013-05-24 18:18:10 1287
原创 T4模版生成SpringMVC构造REST代码:第五篇 用T4模版生成Service服务层接口代码
第一步、在“解决方案JavaGenerate”中添加类库,用于存放Service的模版及相应文件,我们命名这个类库为JavaServices。点击“解决方案JavaGenerate”,右键,选择“添加 ”--〉“新建项目”,再选择"类库",名称中输入JavaServices。返回后,在“解决方案JavaGenerate”中增加了一个叫JavaServices的项目,且自带了一个class.cs
2013-05-24 17:56:40 1476
原创 T4模版生成SpringMVC构造REST代码:第四篇 用T4模版生成Dao数据持久层接口代码
T4模版生成代码的基础前面三篇基本介绍了,下面开始《用T4模版生成Dao数据持久层接口代码》工作。第一步、在“解决方案JavaGenerate”中添加类库,用于存放dao的模版及相应文件,我们命名这个类库为JavaDaos。 点击“解决方案JavaGenerate”,右键,选择“添加 ”--〉“新建项目”,再选择"类库",名称中输入JavaModels。返回后,在“解决方案Jav
2013-05-24 17:37:59 1502
原创 T4模版生成SpringMVC构造REST代码:第三篇 用T4模版生成POCO类代码
用T4模版生成POCO类代码,简单,但要求数据库定义一定要有规律,否则就没有实际意义了。这里,我们做如下规定: 1、数据库的表名,全部小写,各个单词之间以“_”(下划线)分割,且第一个单词为前缀。 2、表中各个字段,全部小写,各个单词之间以“_”(下划线)分割,表最好能够有create_time,create_by,update_time,update_time,
2013-05-24 16:14:30 2393
原创 T4模版生成SpringMVC构造REST代码:第二篇 用T4模版的准备工作
我们要用T4模版来生成代码,很多人就会到网上找Blog,可以非常遗憾的说,vs的码农们非常的保守,没有好的文章。大部分文章都把人带到沟里面去,本来很简单的东西,都写成一朵乱七八糟的花。 T4模版,微软附带很久了,由于微软的技术点太多,所以T4的用处、用法也非常的多;我们主要生成java的代码,那么,就用其中一点点就行了。 为了不把大家带到沟里去,我七篇文章来慢慢说明用T4
2013-05-24 10:25:28 1459
原创 T4模版生成SpringMVC构造REST代码:第一篇 SpringMVC构造REST结构分析
通过《SpringMVC构造REST接口》系列,我们可以看到SpringMVC实现REST其实非常的简单,它就四个部分: 1、环境配置,基本死的,任谁来配,也就基本那样,没有多少变化。这个部分,每次做项目,直接拷贝就OK。 2、 数据持久层,除了一些特别业务的查询,大部分是数据库的CURD;以及框架的选择不同,实现的不同而已。 3、服务层,具体
2013-05-24 08:25:52 1925
原创 SpringMVC构建REST接口:第七篇 控制层实现
SpringMVC构建REST接口的控制层,是整个接口的最顶层,也就是直接暴露给用户。 在这层,对调用者身份以及对传入的参数进行验证,以及返回参数的组织。 我喜欢对象,不喜欢以一个个的参数,再说我们用jackjson自动进行对象实例和Json的转换,所以我们需要输入输出参数的对象集。 由于目前SpringMVC对控制层的方法参数不支持泛型,所以我们需要在com
2013-05-23 14:52:58 4108 2
原创 SpringMVC构建REST接口:第六篇 服务层实现
服务层,是控制层和数据库持久层之间的纽带,对数据进行具体的处理。在这一层,最基本的要求就是对数据库的CURD处理以及事物处理。一、服务层接口编写 在com.jiahe.rest.demo2.service中增加接口DishesCookService.java,然后把com.jiahe.rest.demo2.dao.DishesCookMapper.java中定义的接口拷贝过来,
2013-05-23 12:46:55 3988 1
原创 SpringMVC构建REST接口:第五篇 myBatis数据层实现
myBatis数据层实现,利用SpringMVC其实就是编制三种文件。这三种文件是: 1、对象的实体类:编制之后存放在com.jiahe.rest.demo2.models中,或者com.jiahe.rest.demo2.vo 2、编制myBatis的SQL映射文件:编制之后存放在com.jiahe.rest.demo2.dao中 3、编制dao的接
2013-05-23 11:12:39 3174
原创 SpringMVC构建REST接口:第四篇 第一个REST风格的接口
这一篇,我们实现第一个REST风格的接口,获得服务器当前的时间。第一步,在com.jiahe.rest.demo2.controller中,建立一个class,名称为CurDateTimeController. 第二步,在类上面进行注解 @Controller //这个类是一个控制器类
2013-05-22 14:55:51 7863 1
原创 SpringMVC构建REST接口:第三篇 设置文档结构及配置文件
这一篇,我们对项目的文档结构及所需要的配置文件进行设置,对于REST的实现,还是属于准备阶段。 一、设置项目的文档结构 第一步,在src\main\java下,添加包(package)com.jiahe.rest.demo2 第二步,在资源管理器中,在src\main\java\com\jiahe\rest文件夹下依次建立
2013-05-22 13:56:02 4436 2
原创 QT5 第二章、windows下Qt5.0.2-Helloworld发布
创建好的项目,总是要部署发布的,Qt5的发布怎样呢,我经历了一个恐怖的过程,下面我把我的过程写出。第一步,debug构建工程。点击绿色的运行按钮,获得如下图哦,有文件输出到”E:\Learn\2013\BolgQT\1\1-1\build-HelloWorld-“,那么我就去看看,如下图两个文件夹,依次打开。”HelloWorld“,是源文件;”build-HelloWor
2013-05-22 13:09:42 8595 2
原创 SpringMVC构建REST接口:第二篇 配置Maven的pom.xml文件
Maven通过项目中的pom.xml文件,对项目引用的jar、测试、环境、构建生成等进行配置。一、一个pom.xml文件通常包括三个部分:头部、依赖部、构建生成部。为了对pom.xml更好的操作,建议使用Eclipse 4.3以上版本。1、头部设置maven识别的项目信息,如groupId、artifactId、packaging、version、name、url、developers
2013-05-22 11:28:42 5964 1
原创 SpringMVC构建REST接口:第一篇 使用Eclipse构建Maven的SpringMVC项目
1、建立Maven项目1.1 选择建立Maven Project选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project,如图1-1。点击next。图1-11.2 选择项目路径Use default Workspace location默认工作空间,图1-2。图1-2
2013-05-21 16:35:35 6373 5
原创 Effective C++读书笔记 第九部分 杂项讨论
条款53: 不要轻忽编译器的警告条款54: 让自己熟悉包括TR1在内的标准程序库本条款告诉程序员:1.C++标准程序库的主要机能由STL、iostreams、locales组成,并包括C99标准程序库。2.TR1添加了智能指针、一般化函数指针、hash-based容器、正则表达式,以及另外10个组件的支持。3.TR1自身只是一个规范。为获得tr1提供的好处,你需要一份实物。一个
2013-05-21 14:39:18 757
原创 Effective C++读书笔记 第八部分 定制new和delete
条款49: 了解new-handler 的行为(1) set_new_handler 允许客户指定一个函数,在内存分配无法获得满足时被调用。(2) No-throw new 是一个颇为局限的工具,因为它只适用于内存分配;后继的构造函数调用还是可能抛出bad_alloc异常。条款50: 了解new 和delete 的合理替换时机有许多理由需要写个自定的口new 和delete ,包括
2013-05-21 14:02:42 901
原创 Effective C++读书笔记 第七部分 模板与泛型编程
条款41:了解隐式接口和编译期多态(1) class和templates都支持接口(interfaces)和多态(polymorphism)。(2) 对classes而言接口是显式的(explicit),以函数签名为中心。多态则是通过virtual函数发生于运行期。(3) 对template参数而言,接口是隐式的(implicit),奠基于有效表达式;多态则是通过template具现化
2013-05-21 13:59:02 728
原创 Effective C++读书笔记 第六部分 继承与面向对象设计
如果你了解C++各种特性的意义,你会发现,你对OOP的看法改变了。它不再是一项用来划分语言特性的仪典,而是可以让你通过它说出你对软件系统的想法。一旦你知道该通过它说些什么,移转至C++世界也就不再是可怕的高要求了。 条款32:确定你的public继承塑模出is-a关系 以C++进行面向对象编程,最重要的一个规则是:public inheritance(公有继承)意味is-a(是一种)
2013-05-21 13:30:44 865
原创 Effective C++读书笔记 第五部分 实现(Implementations)
大多数情况下,适当提出你的类定义以及函数声明,是花费最多心力的两件事。尽管如此,还是有很多东西需要小心:太快定义变量可能造成效率上的拖延;过度使用转型(casts)可能导致代码变慢又难维护,又招来微妙难解的错误;返回对象“内部数据之号码牌(handls)”可能会破坏封装并留给客户虚吊号码牌;为考虑异常带来的冲击则可能导致资源泄漏和数据败坏;过度热心地inlining可能引起代码膨胀;过度耦合则可能
2013-05-21 12:56:33 719
原创 Effective C++读书笔记 第四部分 设计与声明
所谓软件设计,是“令软件做出你希望它做的事情”的步骤和做法,通常以颇为一般性的构想开始,最终变成十足的细节,以允许特殊接口的开发。条款18:让接口容易被正确使用,不易被误用理想上,如果客户企图使用某个接口而却没有获得他所预期的行为,这个代码不该通过编译;如果代码通过了编译,它的作为就该是客户所想要的。 欲开发一个“容易被正确使用,不容易被误用”的接口,首先必须考虑客户可能做
2013-05-21 12:39:54 706
原创 Effective C++读书笔记 第三部分 资源管理
所谓资源就是,一旦用了它,将来必须还给系统。C++程序中最常使用的资源就好似动态分配内存(如果你new了,却忘了delete,会导致内存泄露),但内存只是你必须管理的众多资源之一。其它常见的有文件描述符(file descriptors)、互斥器(mutex)、图形界面中的字形和画刷。数据库连接以及网络sockets。当你不使用它们时,记得还给系统。 当你考虑到异常、函数内多重回传
2013-05-21 12:26:41 793
原创 Effective C++读书笔记 第二部分 构造/析构/赋值运算
条款05: 了解C++ 默默编写并调用哪些函数本条款告诉程序员,编译器自动为你做了哪些事情。用户定义一个empty class (空类),当C++ 处理过它之后,如果你自己没声明,编译器就会为它声明(编译器版本的)一个copy 构造函数、一个copy assignment操作符和一个析构函数。此外如果你没有声明任何构造函数,编译器也会为你声明一个default 构造函数。所有这些函数都是p
2013-05-21 11:42:40 823
原创 Effective C++读书笔记 第一部分 让自己习惯C++
条款01:视C++为一个语言联邦本条款提示读者,C++已经不是一门很单一的语言,而应该将之视为一个由相关语言组成的联邦。从语言形式上看,它是一个多重范型编程语言(multiparadigm programminglanguage) ,一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional) 、泛型形式(generic)
2013-05-21 09:47:39 806
转载 MAVEN常用命令
Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=p
2013-05-16 15:28:38 849
原创 Qt事物管理
今天看书到数据库章节,演示了数据库的连接,数据的增、删、改、查,都非常的简单,没有特殊的地方。QSqlQuery封装的很好,与.NET中封装的各种Helper差不多,很方便使用;同时是桌面开发,一个应用程序在其生命周期一个数据库连接,和Delphi的DataModel一样。综合这些,非常亲切,认为Qt的数据库:简单、方便。悲惨的命运来了,当我演示到数据库事物的时候。一、经验的数据库事物
2013-05-15 11:48:50 960
原创 Qt中特殊Tab键事件的实现
在Qt中,可以使用 void QWidget::keyPressEvent ( QKeyEvent * k )来进行键盘响应,例如:void Widget::keyPressEvent(QKeyEvent *event){ if ((event->key()==Qt::Key_Enter)||(event->key()==Qt::Key_Return)){ //回车(小键
2013-05-09 14:50:25 3207
原创 QT信号与槽
信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。概述信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C++语言,因此要正确的
2013-05-09 12:30:57 880
转载 学习C++的50条忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而
2013-05-08 08:53:23 595
Kubernetes权威指南:从Docker到Kubernetes实践全接触(第2版)
2017-09-27
Pro ASP.NET MVC 5
2014-11-11
整理目前最全面的axure原型库(网页、手机客户端、iphone)程序文件
2014-06-12
Thinking in C++.pdf(英文)
2013-05-22
Spring_3.x企业应用开发实战.pdf
2013-03-20
深入 Python 3.pdf
2013-03-13
Python 3程序开发指南(第二版) 中文版电子书
2013-03-13
C++ GUI Programming with Qt 4, Second Edition.chm
2013-03-08
Android 4.0设计规范【中文翻译版PDF】
2013-03-05
PDF编辑 PDF-Tools 4.0206
2013-03-05
PDF编辑 PDFEditor_2.2.1.1119_XiaZaiBa
2013-03-05
深入理解Java虚拟机:JVM高级特性与最佳实践.周志明.高清扫描版.pdf
2013-03-05
Java23种设计模式(总结)
2013-03-05
WPF 4.5 经典实例 (英文版)
2013-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人