Juvy

I Believe Persistence.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

摘要: 首先申明:标题中的如果是可以去掉的。想写这篇文章很长时间了,一来是跟大家分享一下,别浪费时间在写代码生成器上面了,什么CodeSmith,XXCodeGenerator等等,都是浮云;二来想跟大家交流交流已达到相互提高的目的。这篇文章先不讲如何实现,主要是讲讲思想,以及在实现过程中可能会碰到的一些问题:1。每个人都写过自己的代码生成器,每个人都曾经为自己的代码生成器自豪过,但是有一个缺点,就是代码生成器都是为自己,或者为自己的团队定制的,换一个人,或者换一个团队环境,你的那个代码生成器可能就废了。2。是否碰到过,每次你的生成的代码都有一些不尽人意的时候(小问题如:一个字符的问题,字段,属性摆放 阅读全文
posted @ 2013-07-23 21:43 Juvy 阅读(5507) 评论(58) 推荐(7) 编辑

2014年8月11日

摘要: 在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流。举例子说明:1. 请求地址:/?id=123&name=bob 服务端方法: void Action(int id, string name) // 所有参数都是简单类型,因而都将来自url2. 请求地... 阅读全文
posted @ 2014-08-11 09:12 Juvy 阅读(31193) 评论(2) 推荐(4) 编辑

2014年8月9日

摘要: ".*"="application/octet-stream"".001"="application/x-001"".301"="application/x-301"".323"="text/h323"".906"="application/x-906"".907"="drawing/907"".a... 阅读全文
posted @ 2014-08-09 20:05 Juvy 阅读(1882) 评论(0) 推荐(0) 编辑

2014年2月20日

摘要: git的优势:1 可以创建分支;2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件。下载:下载网址为:http://git-scm.com/download,根据您的操作系统选择相应的安装宝,下载完后直接按照默认安装即可(本文讲述全部基于Windows操作系统)。概述:git源代码管理器的仓库位置可以基于本地服务器和远程服务器两种方式:本地服务器主要用于管理自己的代码,将本机作为源代码管理服务器;远程服务器则用于将源代码公开,并由多个人来对代码进行编辑,主要用于团队开发中。git源代码的提交流程,可以用下面这张图片来表示:你的本地仓库由 git 维护的三棵“树”组成:1)工作目录 阅读全文
posted @ 2014-02-20 08:41 Juvy 阅读(11489) 评论(0) 推荐(0) 编辑

2014年2月16日

摘要: 1 USE master 2 GO 3 4 DECLARE 5 @DBName sysname, 6 @DestPath varchar(256) 7 DECLARE @DB table( 8 name sysname, 9 physical_name sysname)10 11 12 BEGIN TRY13 14 SELECT15 @DBName = 'TargetDatabaseName', --input database name16 @DestPath = 'D:\SqlData\' --input destin... 阅读全文
posted @ 2014-02-16 10:43 Juvy 阅读(777) 评论(0) 推荐(0) 编辑

2012年12月14日

摘要: 本文主要用于记录一些小知识点,至于为何要这么做,这里可能没说的那么详细,欢迎大家补充!另外这篇文章会一直追加下去,什么时候有了新的东西都会加入。首先给出一句很经典的话:任何一件有几率发生的事情,最后一定会发生!1、【ASP.NET】在调用ComboBox.Items.Add()方法的时候,尽量使用传递string类型的值,即ComboBox.Items.Add(obj.ToString()),否则如果直接调用ComboBox.Items.Add(obj),后台会在每次Add的时候执行两次obj.ToString();2、【ASP.NET】如果确定对象会被装箱的时候,最好手动执行装箱操作,或者手 阅读全文
posted @ 2012-12-14 22:26 Juvy 阅读(344) 评论(0) 推荐(0) 编辑

2012年8月20日

摘要: 本文主要讲述如何在winXp中使用SSL方式的IIS访问1、在iis中网站目录安全新新建证书;2、 下载工具iis60rkt.zip,全部采用默认方式安装即可;3、从CMD命令行进入“\Programs\IIS Resources\SelfSSL“目录,然后运行”SelfSSL“命令,提示Y/N的时候,输入Y,回车;4、在浏览器中输入https://localhost/,或者http://localhost皆可访问。 阅读全文
posted @ 2012-08-20 15:32 Juvy 阅读(847) 评论(0) 推荐(0) 编辑

2012年7月27日

摘要: 1、查看对象内存占用信息 1.1、查看所有对象内存占用信息,包括:内存地址,对象个数,字节大小,对象类型 !dumpheap -stat 1.2、类型过滤 //所有Dictionary类型对象 !dumpheap -type System.Collections.Generic.Dictionary`2+Entry[[System.Int32, mscorlib] 1.3、命名空间过滤 //所有System命名空间的对象 !dumpheap -type System 1.4、对象所占用内存空间大小过滤 //查看指定类型,字节大小>=1000的对象的内存占用信息 !dumpheap... 阅读全文
posted @ 2012-07-27 19:14 Juvy 阅读(362) 评论(0) 推荐(0) 编辑

2012年7月23日

摘要: 缓存主要分类两种类型,不知道还有没有其他类型1、永久有效类型缓存;2、定时清除类型缓存(再次访问的时候重新加载);3、定时刷新类型缓存(这种类型可以包含在第二种类型中);—— 阅读全文
posted @ 2012-07-23 23:54 Juvy 阅读(301) 评论(0) 推荐(0) 编辑

2012年6月20日

摘要: 缓存这个东西可大可小,小到一个静态的字段,大到将整个数据库Cache起来。项目开发过程中缓存的应用到处可见,在这篇博文中笔者就来谈谈自己的项目中关于缓存实现。 最常见的缓存功能,如C#语言中的Dictionary对象,应该至少包含以下几个功能:Init():缓存的初始化;如:Dictionary<int, object> dic = new Dictioinary<int, object>();Add():增加缓存;如:dic.Add(1, new object());Set():设置缓存 ;这里的Set()和Add()是有一点区别的,Add()的时候发现已存在的缓存, 阅读全文
posted @ 2012-06-20 10:04 Juvy 阅读(4714) 评论(21) 推荐(1) 编辑

2012年2月21日

摘要: 这篇文章的出现源于跟同事的一次争吵,其中争吵的主题是关于软件中一些控件的显示风格的问题,主要包含下面这些情况: 1、Lable控件的对齐方式,是否在Label控件的Text最后加上冒号,也就是“:”; 2、ListLiew控件列头文字对齐方式、是否显示网格线; 3、…… 一个项目多个人开发,自然会出现多种不同的风格,但是萝卜白菜,各有所爱,最后做出来的软件是样式万千啊,这样做出来的东西让人用了如何爽的起来啊,用户还不得开口骂人啊? 但是一个软件下来,控件都有几百个,如何一个一个的去改风格啊,到时候软件是改好了,用户不骂人了,估计程序员开骂了,nnd,这是个什么事儿啊? 有时候感觉懒人在这个世. 阅读全文
posted @ 2012-02-21 20:43 Juvy 阅读(2374) 评论(13) 推荐(2) 编辑

2011年12月28日

摘要: 说到日志,大家都清楚,无非就是记录:谁,在什么时候,做了什么/发生了什么错误,是不是觉得很简单。这次我也来做一回轮子,一步步教你如何写自己的日志帮助类。 在开始之前我们需要分析一下日志帮助类(这里主要指文本日志)有哪些地方需要注意的:1)、日志帮助类是用静态类,还是用?2)、日志发生者通过什么方式传入,参数,还是?3)、日志通过什么方式写,同步还是异步?4)、日志文件保存位置和文件大小控制。5)、扩展问题。暂时个人只找到这么多,望大家补充。 下面我就来说自己在这些方面是如何处理的一、日志帮助类是用静态类,还是用? 我的选择是非静态类,即通过实例化的方式获取日志帮助类对象,然后调用方法写日志,. 阅读全文
posted @ 2011-12-28 10:42 Juvy 阅读(2568) 评论(7) 推荐(5) 编辑

2011年12月27日

摘要: 自从上一次写关于ORM的文章已经是几个月前的事情了,在这里先贴一下文章的地址,如果大家感兴趣的话可以去看看。1)、支持差异数据保存的数据库实体类设计——处女作2)、支持差异数据保存的数据库实体类设计(二)(续)3)、支持差异数据保存的数据库实体类设计(三)(续) 4)、SAS框架问世(本文) 一直在埋头完善框架,博文自然就写得少了,今天来展示一下自己的框架的用法,先说说本框架的有哪些优点:1)、支持多数据库的ORM。不仅仅只是一套支持多种数据库的ORM,而是可以在同一个应用程序中连接到多个不同的数据库(数据库类别,或者数据库连接字符串的不同)2)、实体类工具生成3)、IOC依赖注入4)、AO. 阅读全文
posted @ 2011-12-27 17:06 Juvy 阅读(2439) 评论(13) 推荐(2) 编辑

摘要: 自从上一次写关于ORM的文章已经是几个月前的事情了,在这里先贴一下文章的地址,如果大家感兴趣的话可以去看看。1、支持差异数据保存的数据库实体类设计——处女作2、支持差异数据保存的数据库实体类设计(二)(续)3、支持差异数据保存的数据库实体类设计(三)(续) 4、SAS框架问世(本片博客即将登场)由于一直忙于框架的优化,所以就很少写文章了,本文也是在不断的优化自己的ORM过程中诞生的,好了废话不多说了,下面步入正题。一直在使用公司内部使用的一个框架,框架的的数据层可以说是两个类,一个Entity类,一个EntityFactory类,这两个类分别是干吗就不多讲了。在不断编码的过程中总是发现在重复. 阅读全文
posted @ 2011-12-27 15:40 Juvy 阅读(838) 评论(3) 推荐(0) 编辑

2011年12月12日

摘要: 本文出现的源头还得从DbHelper说起,先来说说这个DbHelper的演化(产生)过程:(一)、说起DbHelper大家都非常的熟悉了,就是一个数据库操作帮助类,如果说简单的话,几个静态的方法:1)、public static DataSet ExecNomQuery(parameters....);2)、public static DataTable ExecNomQuery(parameters....);3)、public static bool ExecCommand(parameters....);4)、public static object ExecScalar(paramet 阅读全文
posted @ 2011-12-12 23:04 Juvy 阅读(6152) 评论(49) 推荐(4) 编辑

2011年11月11日

摘要: 本来本文只是本人在百度知道上面的一个提问,但是由于百度知道太恶心了,半天没人给出合适答案,然后自己想回答问题,却发现字数居然限制那么死,所以把那个问题搬家到这里了。问题的意思包括两次创建对象:1、反射创建对象;2、利用反射创建的对象来创建对象;其中第二层次的创建对象可以又会有两种:a)、new的方式构造对象b)、反射创建对象请问在第二层次的new方式创建对象和直接用new方式(即跳过第一层反射操作)创建对象在性能上面又多大的差异?一直没能够等到我需要的答案,只有自己写代码测试了,测试方法还是采用傻瓜式1w,10w,100w,1000w,1ww执行,然后比较执行时间的方式。最后发现: 1、new 阅读全文
posted @ 2011-11-11 13:41 Juvy 阅读(2189) 评论(2) 推荐(1) 编辑

2011年11月3日

摘要: 关于数据类型转换类,我想博客园中的99%的人都写过,不论你用什么编程语言,都应该涉及到数据类型转换,这里我说说我的一些想法,各位如果觉得合适的就采纳,觉得不屑一顾的可以飘过,拍砖的稍微轻一点。先申明一下,本文讲到的数据类型转换,主要指的是.net自带的简单数据类型之间的转换, 如object, string, bool, DateTime, int ,long, double等之间的转换。1、强制转换(XXX)obj,其中obj为要进行数据转换的对象,XXX为数据转换的目标数据类型。 优点:当obj是XXX类型的时候,我觉得转换的性能和效率还是很高的。 缺点:当obj不是XXX类型的时候,.. 阅读全文
posted @ 2011-11-03 19:24 Juvy 阅读(2052) 评论(9) 推荐(2) 编辑

摘要: 自从上次写过几篇自主开发的ORM的的文章后,一直都没有更新博客了,但是完善ORM的工作一直都没有丢下,下面来就来一张框架的更新日志的图片吧:ASP.NET开发技术交流群: 67511751(人员招募中...) 阅读全文
posted @ 2011-11-03 18:54 Juvy 阅读(403) 评论(1) 推荐(0) 编辑

2011年10月18日

摘要: 本文为网上摘抄,原文链接:http://developer.51cto.com/art/200908/144084.htmC#Windows服务程序的快速开发:在很多应用中需要做windows服务来操作数据库等操作,比如(1)一些非常慢的数据库操作,不想一次性去做,想慢慢的通过服务定时去做,比如定时为数据库备份等(2)在.net Remoting中利用windows服务来做Host利用vs.net我们可以在几分钟之内建立其windows服务,非常简单下面说一下C#Windows服务程序的快速开发的步骤C#Windows服务程序的快速开发1. 新建一个项目C#Windows服务程序的快速开发2. 阅读全文
posted @ 2011-10-18 12:31 Juvy 阅读(477) 评论(0) 推荐(0) 编辑

2011年8月31日

摘要: 下面就来介绍一些查询的示例:1。Linq查询var racers = from r in Formula1.GetChampions()where r.Wins > 15 && (r.Country == "Brazil" || r.Country == "Austria") select r;foreach (var r in racers){Responose.Write("{0:A}", r);}使用扩展方法的查询并不是所有的查询都可以用LINQ查询完成。也不是所有的扩展方法都映射到LINQ查询子句上。高级 阅读全文
posted @ 2011-08-31 16:03 Juvy 阅读(459) 评论(0) 推荐(0) 编辑

摘要: 一·前言Linq 英文全称Language Integrated Query,它提供了C#编程语言中的查询语法,可以使用相同的语法访问不同的数据源。并且Linq还提供了不同数据源的抽象层,所以可以使用相同的语法。本次笔记的主要内容如下:● 用List<T>在对象上执行传统查询● 扩展方法● λ表达式● LINQ 查询● 标准查询操作符● 表达式树● LINQ 提供程序一。用List<T>在对象上执行传统查询首先我们来看一个最简单的例子,请看下面的代码: List<string> strList = new List<string>(); 阅读全文
posted @ 2011-08-31 16:02 Juvy 阅读(401) 评论(0) 推荐(0) 编辑

2011年8月30日

摘要: 由于项目需要,最近一直在研究SqlServer2005数据库如何迁移到Oracle(10g)中,这里小结一下研究过程中碰到的一些问题(主要分客户端和服务器)1、服务器:1.1 操作系统:Window Server 2003.(安装好后设置计算机名:Server_Name)1.2 安装Oracle10g服务器端(10201_database_win32.zip,文件大小640M左右),安装过程中全部采用默认设置,并且在安装过程的时候顺便安装默认数据库(数据库名orcl),这样系统会自动安装服务监听相关东西(默认监听端口为1521),否则的话,自己配起来很麻烦,在安装数据库的时候有一点需要注意的是 阅读全文
posted @ 2011-08-30 10:38 Juvy 阅读(403) 评论(0) 推荐(0) 编辑

摘要: 1、在Sql Server2005中建立连接oracle的数据库链接,链接名称=ORCL1;a)链接服务器:写上链接服务器的名字,如:Orcl1b) 服务器类型,选择其他数据源c) 访问接口:选择 Microsoft OLE DB Provider for Oracled) 产品名称:写上 Oraclee) 数据源:写上tnsnames.ora 文件中配置的服务名,如:orcl1_devs_s2f)访问接口字符串:MSDAORAg)在选择安全性选项页,使用此安装上下文建立连接: 1:远程登录:用户名 2:使用密码:密码h) 确定g)直接在Sql Server2005中写查询语句:select 阅读全文
posted @ 2011-08-30 10:37 Juvy 阅读(541) 评论(0) 推荐(0) 编辑

2011年8月26日

摘要: 为了提高代码的执行效率,我们经常采用对象静态化的方法。但是在使用静态对象的时候,特别是一个公共类, 类名为TestClass: 1、程序员A需要一个静态对象,于是在公共类中添加了一句代码public StaticObjectA A = new StaticObjectA(); 2、程序员B需要一个静态对象,于是在公共类中添加了一句代码public StaticObjectB B = new StaticObjectB();....N、程序员N需要一个静态对象,于是在公共类中添加了一句代码public StaticObjectN N= new StaticObjectN);1publicTest 阅读全文
posted @ 2011-08-26 17:03 Juvy 阅读(4556) 评论(3) 推荐(3) 编辑

摘要: Request.Url: {http://localhost/itp/OnlineUser.aspx}属性名属性值类型AbsolutePath/itp/OnlineUser.aspxstringAbsoluteUrihttp://localhost/itp/OnlineUser.aspxstringAuthoritylocalhoststringDnsSafeHostlocalhoststringFragment stringHostlocalhoststringHostNameTypeDnsSystem.UriHostNameTypeIsAbsoluteUriTRUEboolIsDefaul 阅读全文
posted @ 2011-08-26 13:33 Juvy 阅读(473) 评论(0) 推荐(1) 编辑

2011年8月25日

摘要: 查询用户jobselect *--job,last_date,last_sec,next_sec,total_time,interval,whatfrom user_jobs--新建jobdeclare jobno number;begindbms_job.submit(jobno, 'TELVENT.GMS_PROCESS_QUEUE;',SYSDATE, 'SYSDATE+2/1440');commit;end; --运行jobbegindbms_job.run(235);end;--移除jobbegindbms_job.remove(235);end; 阅读全文
posted @ 2011-08-25 15:20 Juvy 阅读(178) 评论(0) 推荐(0) 编辑

2011年8月16日

摘要: 答:不需要。原因很简单:SqlDataAdapter.Fill()方法内部对Connection做了检查,如果Connection为关闭状态,会帮忙打开。代码就不在这里贴出来了,有.net reflector工具的人应该都能够找到。ASP.NET开发技术交流群: 67511751(人员招募中...) 阅读全文
posted @ 2011-08-16 11:31 Juvy 阅读(440) 评论(0) 推荐(0) 编辑

2011年8月14日

摘要: Action表示接受0个或多个输入参数,执行一段代码,但是没有任何返回值; Func表示接受0个或多个输入参数,执行一段代码,同时有返回值; Predicate表示定义一组条件并判断参数是否符合条件; 阅读全文
posted @ 2011-08-14 13:37 Juvy 阅读(328) 评论(0) 推荐(0) 编辑

2011年8月12日

摘要: ORACLE数据库安装起来比较麻烦,卸载也不像微软的产品那样容易。对于ORACLE9的卸载,控制面板里是没有卸载程序的。可以从开始菜单—程序—Oracle Installation Products—Universal Installer 进入安装的界面,界面上有一个卸载安装产品,进入菜单,进行卸载操作。不要认为这样就完了。其实反安装程序一点都不智能,大部分东西都还在机器上呢。接下来你要关闭WINDOWS上的ORACLE相关服务。然后删除ORACLE相关的目录。再到注册表中把ORACLE相关的东西都要删除掉,包括 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,和HKEY 阅读全文
posted @ 2011-08-12 12:58 Juvy 阅读(1702) 评论(5) 推荐(0) 编辑

2011年7月24日

摘要: 一直处于纠结的边缘,左右不是,不知何去何从,想写点东西,有不知道写点什么,总是手高眼底,想一大通,做的极少,最终总是浑浑噩噩的锅,什么也没完成。今天受到路过秋天大哥的鼓励,才让我继续我之前未完成的文章些列,在这里先谢过。在这篇文章主要讲述数据库实体基类对象ObjBase的构建,首先来一张图片,该图片展示了这套数据库实体所需要的所有类结构:FieldType目录:用于存放所有数据库实体属性类型对象(其中FieldTypeBase为实体属性类型基类),里面的具体细节在本系列的第一篇和第二篇文章中都已经讲述过,在这里就不多讲了;DalAgent.cs:该类是一个静态类,主要包含一些对象的数据库操作的 阅读全文
posted @ 2011-07-24 19:52 Juvy 阅读(1487) 评论(3) 推荐(0) 编辑

2011年5月24日

摘要: 首先声明一下,小虾的写文章的水平那是相当的两字——很菜!所以碰到看不明白的文字,请大家留言,我会作特别回答。下面直接入正题。自定义数据库实体类测试版已经出炉(编程语言为C#),支持差异数据保存,0反射,几乎是0查询语句,效率在一定程度上也是很客观的,但是还没有跟原始的DataTable数据绑定进行对比,这个工作留着下一步完成,先说本文重点。1、支持差异数据保存如果想做到这一点, 大家最容易想到的就是添加一个标记,用于记录当前属性的值是否被修改过。先上一段传统的数据库实体类的设计方法:publicclassEntity{publicintIntValue{get;set;}publicintSt 阅读全文
posted @ 2011-05-24 11:47 Juvy 阅读(974) 评论(4) 推荐(2) 编辑

2011年5月23日

摘要: 面向对象开发过程中大家经常碰到的一个东东——数据实体。在实体对象实例的某一个信息被修改后,面临一个数据保存的问题,网上可以搜索到很多不同的保存方法,这里提供小虾(本人)曾经用过的几种常用方法:根据需要,将修改过的属性组合成SQL语句(未修改的属性不作处理),然后执行数据库命令保存数据;提前写好实体对象的SQL语句,如string sql = "UPDATE TableName SET ColumnName1 = {0}, ColumnName2 = {1}, ... WHERE PK_ColumnName = {N}",然后将整个实体对象作为参数传入,将保存实体对象的SQL 阅读全文
posted @ 2011-05-23 17:37 Juvy 阅读(1462) 评论(13) 推荐(2) 编辑

QQ:1054930154; Email:david.telvent@gmail.com; QQ群:67511751