自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(852)
  • 资源 (26)
  • 收藏
  • 关注

原创 结构化、半结构化和非结构化数据,TS结构类型

比如,如果字段不固定,利用关系型数据库也是比较困难的,有人会说,需要的时候加个字段就可以了,这样的方法也不是不可以,但在实际运用中每次都进行反复的表结构变更是非常痛苦的,这也容易导致后台接口从数据库取数据出错。从上面的例子中,属性的顺序是不重要的,不同的半结构化数据的属性的个数是不一定一样的。:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。:指非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、E-mail等;

2024-05-22 10:27:40 465

转载 Spring Authorization Server的使用

既然涉及到签名,就涉及到签名算法,对称加密还是非对称加密,那么就需要加密的 密钥或者公私钥对。不存在签名的JWT是不安全的,存在签名的JWT是不可窜改的。,目前已经到了 0.1.2 的版本,不过该项目还是一个实验性的项目,不可在生产环境中使用,此处来使用项目搭建一个简单的授权服务器。没有用户的参与,一般可以用于内部系统之间的访问,或者系统间不需要用户的参与。的创建,这个张三是授权服务器的用户,此处即QQ服务器的用户。此模式下,没有用户的参与,只有客户端和授权服务器之间的参与。

2024-05-21 18:10:02

转载 Java日志通关(二) - Slf4j+Logback 整合及排包

从前边的版本兼容性我们可以知道:如果使用JDK 8,建议选择Slf4j 2.0 + Logback 1.3;如果使用JDK 11及以上,建议选择Slf4j 2.0 + Logback 1.5;但还没完,Spring Boot的日志系统[8]对Slf4j和Logback又有额外的版本要求。我们放在下一节讨论这个问题。三、适配 Spring BootSpring Boot通过spring-boot-starter-logging[9]包直接依赖了Logback(然后再间接依赖了 Slf4j),它通过。

2024-05-17 17:24:01 16

原创 spring 约定优于配置 spring boot约定大于配置

就会自动的帮我们导入 SpringMVC 的相关依赖(包括 Json 支持的 Jackson 和数据校验的 Hibernate Validator)和一个内置的 Tomcat 容器,这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。当你觉得不合适的时候,可以用更少的改动,满足你的需要。约定优于配置,也有很多人解读为:约定大于配置,约定好于配置,习惯大于配置等。约定优于配置也就是说:系统,类库,框架应该提供有合理的默认值,而非要求提供不必要的配置。

2024-05-15 14:00:36 246

转载 oauth2.0授权码模式详解

项目结构如下:AuthzController:获取授权码 (resource owner)TokenController:获得令牌 (authorization server)ResourceController:资源服务 (resource server)ClientController:客户端 (client)前三个Controller相前于服务端 最后一个为客户端。

2024-05-15 10:12:46 21

原创 基于JWT实现的Token认证方案

服务器的受保护路由将检查授权头中是否存在有效的JWT,如果存在,则允许用户访问受保护的资源。4、JWT的最大缺点是服务器不保存会话状态,所以在使用期间不可能取消令牌或更改令牌的权限。签名用于验证消息在整个过程中没有更改,并且对于使用私钥进行签名的令牌,它还可以验证JWT的发送者是它所说的真实身份。一旦用户登录,每个后续请求将包括JWT,从而允许用户访问该令牌允许的路由,服务和资源。请注意:使用签名的Token,Token中包含的所有信息都将向用户或其他方公开,即使他们无法更改它。

2024-04-29 16:32:49 903

转载 Spring Aware接口执行时机源码深度解读

Spring中有这样一种标记接口的存在Aware,只要是spring管理的bean实现了Aware接口,那么spring就会在bean创建的某个时机将相应的资源注入到该spring bean中,比如ApplicationContextAware, 会将spring 应用上下文ApplicationContext自动注入到bean中。

2024-04-25 17:14:49 30

原创 ResourceBundleMessageSource 和 ReloadableResourceBundleMessageSource的区别

3).小结:ResourceBundleMessageSource从classloader中加载资源文件,可以找到,ReloadableResourceBundleMessageSource加载时,默认使用DefaultResourceLoader,他会先判断资源path是否带有classpath:前缀,如果有,用 ClassPathResource去加载资源文件,如果没有试着用文件协议的url去访问,再没有就在contextPath即WEB-INF下查找。

2024-04-17 15:15:50 276

转载 Spring Cloud LoadBalancer

本模式中,在向前发送请求之前更新所选服务实例(如果原始请求cookie中的服务实例不可用,则该服务实例可能与原始请求cookie中的服务实例不同)非常有用。定期的验证这些服务实例是否存活,然后只返回健康的服务实例,除非一个健康的服务实例都没有,那么它就会返回所有获取到的服务实例。来修改该名称),如果找到一个hint请求头,就会用该请求头的hint值来筛选服务实例。设置的hint值来筛选请求实例。在这种模式中,可以设置LoadBalancer优先选择先前选择过的服务实例(如果该实例可用的话)。

2024-04-10 11:08:12 94

转载 mybatis-plus的使用

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。

2024-04-08 14:43:37 34

转载 JVM 原理三:编译期常量与运行期常量的区别及数组创建本质分析

我们用的final是一个字面量“hello world”,这次我们改一下使用UUID为常量赋值,注意:UUID是多少只有在运行期间才会被确定。对于数组来说,JavaDoc经常讲构成数组的元素称为Component,实际上就是将数组降低一个维度后的类型。newarray : 表示创建一个指定的原始类型(如int、float、char等)的数组,并将其压入栈顶。这时的程序运行时,会导致主动使用这个常量所在的类,显然会导致这个类被初始化。当一个常量的值并非编译期可以确定的,那么其值就不会被放到调用类的常量池中,

2024-04-08 08:55:41 20

转载 表单身份验证概述

在上一篇教程中 ,我们讨论了ASP.NET 提供的各种类型的身份验证、授权和用户帐户。在本教程中,我们将从讨论转向实现,特别地,我们将探讨表单身份验证的实现。我们在本教程中开始构建的Web应用程序将在后续的教程中逐步完善,从简单的表单身份验证到成员资格和角色。本文首先深入探讨表单身份验证流程,我们在前一教程中就接触过该主题。然后,我们将创建一个ASP.NET网站,通过它来阐述表单身份验证的各个概念。

2024-03-29 16:43:07 31

转载 Spring-Security-OAuth2架构及源码浅析

Spring Security OAuth2架构Spring Security OAuth2是一个基于OAuth2封装的一个类库,它提供了构建和Client三种Spring应用程序角色所需要的功能。需要与和提供的功能协同工作,在使用构建和Client的情况下,的整体架构图如下:1.资源拥有者通过UserAgent访问client,在授权允许访问授权端点的情况下,会创建OAuth2认证的REST请求,指示UserAgent重定向到的授权端点。2.UserAgent访问的授权端点的authorize。

2024-03-25 10:44:13 70

转载 Java 在Java 9中什么时候使用Stream的ofNullable()方法

在本文中,我们介绍了Java 9中Stream的ofNullable()方法的使用情况。在上面的代码中,我们首先将列表转换为Stream,然后使用flatMap()方法将每个元素转换为一个Stream,如果元素为null,则转换为空Stream。它的作用是创建一个单一元素的Stream,如果提供的元素为非空,则返回一个包含该元素的Stream,如果提供的元素为空,则返回一个空Stream。这样,我们就可以在处理可能包含空值的情况下使用Stream的ofNullable()方法来简化数据处理的过程。

2024-03-13 11:42:46 84

转载 【SpringBoot】Maven 版本管理与 flatten-maven-plugin 插件的使用及分析

默认只有打包的时候(package、install、deploy)会将 .flattened-pom.xml 做为当前项目的 pom 文件,但是打包类型 pom 的 pom.xml 中的占位符是不会被替换的。But,在大多数互联网公司中,几乎每个项目都处在版本快速迭代中,甚至一两周更新一个小版本,一个月更新一个大版本。我们可以在 spring-boot 和 spring-cloud-alibaba 的开源项目中看到,其就是利用 revision 占位符来进行统一版本管理的。2.1 先看一下自己构建的项目。

2024-03-12 14:02:55 1169

原创 Java泛型使用及局限

(1)在方法返回值类型前面声明的泛型形参类型,只能在当前方法中使用,用于表示形参的类型或返回值类型,或方法局部变量的类型,和别的方法无关。【修饰符】 返回值类型 方法名(【数据形参列表】)【throws 异常列表】{}T是elements对象的类型,要求Collection集合的元素类型必须是T或T的父类。super T>,在实现Comparable接口,可以指定Comparable为T或T的父类。

2024-03-11 11:05:32 580

转载 Spring Bean 注册顺序优先级总结

@Bean 方法参数注入@Configurationpublic class MytestConfigure { @Bean public BeanA beanA(BeanB demoB){ System.out.println("bean A init"); return new BeanA(); } //注参数List也一样,同上。 @Bean public BeanA2 beanA2(List beanB

2024-03-05 15:51:04 221

原创 spring事务方法调用不生效的场景

日常开发中,我们经常使用到spring事务。最近一位朋友去美团面试,被问了这么一道面试题:Spring 事务在哪几种情况下会不生效?今天田螺哥跟大家聊聊,spring事务不生效的15种场景。

2024-02-29 15:42:06 774

转载 Junit4&Junit5对比

Junit5在Junit4的基础上,增加了一些新的特性。增加了基于lambda的支持,同时简化了一些测试手法的编写,如重复性测试,参数化测试等等。Junit5中的@Test是import org.junit.jupiter.api.Test;被注解的(静态)方法将在当前类中的所有 @Test 方法前执行一次。被注解的(静态)方法将在当前类中的所有 @Test 方法后执行一次。被注解的方法将在当前类中的每个 @Test 方法前执行。被注解的方法将在当前类中的每个 @Test 方法后执行。

2024-02-28 15:58:19 146

转载 spring-boot-starter-test的junit-vintage-engine和junit-jupiter-engine之间的区别

如果你的 Spring 项目使用的新的 Spring Boot 版本的话,你应该默认使用了 JUnit 5 的引擎,因此为了兼容性,你需要在 spring-boot-starter-test 这个 POM 引用的时候将 JUnit 4 的引擎去除掉。org.junit.jupiter.api.Test 和 org.junit.Test 同时存在,如果不小心引入了org.junit.Test ,那么就会发生这个spring 属性注入为null的情况。​ 区别:自己写的以前单元测试,是public。

2024-02-28 15:33:23 140

转载 Mybatis-Plus:通用枚举-配置typeEnumsPackage

生成的sql语句为:INSERT INTO tb_user ( id, user_name, password, name, age, email, sex ) VALUES (?生成的sql语句为:SELECT id,user_name,password,name,age,email,sex FROM tb_user WHERE (sex =?为tb_user表增加sex字段,用于表示用户的性别,1表示是男生,2表示是女生。WOMAN(2, "女");// 设置貂蝉为女生。MAN(1, "男"),

2024-02-22 15:40:01 242

转载 Leaf(世界上没有两片完全相同的树叶)

Leaf中workId是基于ZooKeeper的顺序Id来生成的,每个应用在使用Leaf-snowflake时,启动时都会都在Zookeeper中生成一个顺序Id,相当于一台机器对应一个顺序节点,也就是一个workId。通常在用号段模式的时候,取号段的时机是在前一个号段消耗完的时候进行的,可刚刚才取了一个ID,数据库中却已经更新了max_id,也就是说leaf已经多获取了一个号段,这是什么操作?当前号段已消耗10%时,还没能拿到下一个号段,则会另启一个更新线程去更新下一个号段。留个悬念啊........

2024-02-22 10:41:19 24

转载 webpack模块化原理-commonjs/webpack模块化原理-ES module

我们都知道,webpack作为一个构建工具,解决了前端代码缺少模块化能力的问题。我们写的代码,经过webpack构建和包装之后,能够在浏览器以模块化的方式运行。这些能力,都是因为webpack对我们的代码进行了一层包装,本文就以webpack生成的代码入手,分析webpack是如何实现模块化的。PS: webpack的模块不仅指js,包括css、图片等资源都可以以模块看待,但本文只关注js。

2024-02-04 10:28:11 103

转载 前端模块化——彻底搞懂AMD、CMD、UMD、ESM和CommonJS

UMD是AMD和CommonJS的一个糅合。AMD是浏览器优先,异步加载;CommonJS是服务器优先,同步加载。既然要通用,怎么办呢?那就先判断是否支持node.js的模块,存在就使用node.js;再判断是否支持AMD(define是否存在),存在则使用AMD的方式加载。这就是所谓的UMD。

2024-02-04 09:32:43 375

转载 Ts中内置类型

OmitThisParameter 从 T函数类型中移除this参数 如果不存在 返回T 存在这创建一个不带此参数的新函数类型。Extract<T,U> 从T中提取可以分配给U的属性构造成一个新的联合类型 和Exclude相反。Exclude<T,U> 从T中排除可分配给U的的类型,返回联合类型。Parameters 从 函数类型T中使用的参数类型 构造元组类型。ReturnType 构造一个由函数类型 T返回类型组成的类型。ts内置了一些类型,这些类型可以进行其他类型的类型转化。

2024-01-31 15:17:40 82

原创 typescript 的基本用法说明

function test3({ a = 1, b = 2 } = {}): void {} // 双重默认值 右边是没传参的默认值 左边是传参了但是某个字段没定义的默认值。function test2([first, second]: [number, number]) {} // 参数结构定义类型 前一个是参数 后一个是类型。let masef:<T>(arr:Array<T>):T = testmm//具体实现。

2024-01-31 15:12:04 423

转载 Markdown基础语法

接着一个方括号,里面放上图片代替文字接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的’title’属性的文字。支持HTML元素,不在Markdown涵盖范围内的标签,都可以直接在文档里面使用HTML编写。Markdown段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加回车。Markdown还没有指定图片的高度与宽度,如果你需要的话,你可以使用普通的标签。另外区块是可以嵌套的,一个>符号代表最外层,两个>符号是第一层嵌套,以此类推。| rejected。

2024-01-25 16:50:56 84

转载 Vue装饰器中的vue-property-decorator 和 vux-class使用详解,vuex-class的使用方法 ts+vuex

这篇文章主要介绍了Vue装饰器中的vue-property-decorator 和 vux-class使用详解,通过示例代码给大家介绍的非常详细,对vue-property-decorator 和 vux-class的使用感兴趣的朋友一起看看吧−。

2024-01-22 11:26:48 181

转载 Vue2.0+ ts(TypeScript)常用装饰器

当前值:{{ newVal }} 原来值:{{ oldVal }}

2024-01-22 11:06:04 237

转载 从java注解漫谈到typescript装饰器——注解与装饰

这里的format可以作为装饰器函数的工厂函数,因为format函数返回的是一个装饰器函数,上述的方法定义了元数据Sysmbol("format"),用Sysmbol的原因是为了防止元数据中的字段重复,而format定义了取元数据中相应字段的功能。通过注解添加元数据,然后在装饰器中获取这些元数据,完成对类、类的方法等等的修改,可以在装饰器中添加元数据的支持,比如可以可以在装饰器工厂函数以及装饰器函数中添加元数据支持等。注意:当我们声明一个类时,装饰器就会被调用,而不是等到类实例化的时候。

2024-01-19 16:41:08 53

转载 fiddler配置及使用教程

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)

2023-12-23 10:27:00 530

转载 SpringBoot接口参数统一校验

即接口中有BindingResult参数,就必须使用要有上方7,8,9行代码进行异常处理,否则程序会正常执行。同一个实体在不同的操作中的校验方式是不同的,这就要用到分组校验。比如实体User在新增操作时,id是没有的,但是在更新操作时id又必须存在。@Digits(integer,fraction) 限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction。@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式。

2023-12-15 15:19:56 264

原创 validation-api与hibernate-validator;@Validated与@Valid工作原理

Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。@Validated:提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制,这个网上也有资料,不详述。在检验Controller的入参是否符合规范时,使用@Validated或者@Valid在基本验证功能上没有太多区别。

2023-12-15 14:37:15 879

转载 @Digits长度限制与mysql数据库中decimal长度限制不一致问题

在 MySQL 数据库中,decimal(24,2) 中的 24 和 2 分别代表了 DECIMAL 数据类型的总位数和小数位数的含义。因此,decimal(24,2) 数据类型可以存储总共 24 位数,其中 2 位用于小数部分,剩余 22 位用于整数部分。对于 decimal(24,2),可以存储像 12345.67 这样的数字,其中整数部分占 5 位,小数部分占 2 位。对于 decimal(24,2),可以存储像 0.01 这样的数字,其中整数部分占 1 位,小数部分占 2 位。

2023-12-15 14:14:43 306

转载 Java的日志框架之Logback

在Java的日志系统里面,有两个概念,一个叫做日志框架,如我们熟悉的Logback, Log4j, Log4j2, JDK自带的java.util.logging等;一个叫做日志门面,如Slf4j(Simple Logging Facade For Java)。门面可以理解为一个统一的记录日志的接口,但后面具体产生日志写到文件等等的工作是由不同的日志框架来实现,有的需要在slf4j提供的api到日志框架中增加一个适配器,有的像logback直接实现了slf4j,不用另外适配,如下图:");

2023-12-14 09:46:53 38

转载 线程操纵术之更优雅的并行策略

首先解决第一个问题,理论上都是可以并行的,为什么实际会无法并行呢?尝试在源码中找到答案。2.2.2.1 parallelStream源码浅析源码注释中有个迷惑的说法:Returns a possibly parallel这是怎么回事呢?以下情况下是可能无法并行执行的原因:1.数据量较小的这个判断在java.util.stream.AbstractPipeline类的sourceStageSpliterator方法中进行。

2023-12-06 09:18:20 51

原创 windows中.msc文件所在位置及说明

devmgmt.msc:设备管理器程序,当需要更改硬件设置或升级硬件驱动程序的时候就可以运行它,可以直接打开“设备管理器”对话框,管理计算机中的硬件设备,且用这种方法打开显然比在“系统属性”对话框中打开方便多了。gpedit.msc:组策略,可以进行“计算机配置”和“用户配置”,对操作系统熟练后,且此命令会比较多,初学者可以打开看看以熟悉其中的项目,在不清楚具体功能的情况下不建议随意更改设置,以免损坏系统。可点击“文件”菜单中的“添加/删除管理单元”操作管理当前系统中已经安装的MSC文件。

2023-12-05 09:31:04 145

原创 Redis 数据恢复方式说明

a、内存资源风险:持久化过程中,“写时复制”会重新分配整个实例80%的内存副本,大约1.6GB内存,如果此时父进程又有大量新key写入,很快机器内存就会被吃光,如果机器开启了Swap机制,那么Redis会有一部分数据被换到磁盘上,当Redis访问这部分在磁盘上的数据时,性能会急剧下降,已经达不到高性能的标准(可以理解为武功被废)。这样,重写日志也不会丢失最新的操作。和 AOF 相比,RDB 记录的是某一时刻的数据,并不是操作,所以,在做数据恢复时,我们可以直接把 RDB 文件读入内存,很快地完成恢复。

2023-11-30 17:07:34 245

原创 CloseableHttpClient,HttpClient4使用配置

logAction : "接口调用") + "请求耗时:{},发起时间:{},结束时间:{},请求数据:{}", cost, startDate, endDate, data);//此处也可以EntityUtils.consume(entity);// 设置最大路由[ 设置每个路由基础的连接],该值默认为2,并发比较差。//最后别忘了关闭应该关闭的资源,适当的释放资源。logger.info("初始化HttpClient结束");// 初始化httpClient。// 设置连接池管理。

2023-11-18 14:48:23 119

原创 ‘parent.relativePath‘ of POM...please verify your project structure

在根POM中的parent的中节点加上MAVEN构建jar包时候查找顺序:relativePath元素中的地址>本地仓库>远程仓库。设定一个空值将始终从仓库中获取,不从本地路径获取。从父级仓库查找依赖版本。

2023-11-17 15:27:49 453

mysql.data版本集合

mysql.data版本集合,用于解决 给定关键字不在字典中 的问题。

2023-03-24

jndi-jar.zip

jdni的两个jar包:fscontext.jar,providerutil.jar。主要用于jdni的开发。

2020-07-23

Daemon tool pro虚拟光驱清除工具及强力清除工具

Daemon tool pro虚拟光驱清除工具及强力清除工具,两个工具肯定能清理。

2018-03-29

淘宝IP地址解析

淘宝IP地址解析淘宝IP地址解析

2017-06-29

castle-AOP

castle的AOP例子

2017-05-11

hibernate-validator-4.2.0.Final-dist

hibernate-validator-4.2.0.Final-dist

2017-01-05

Apache Shiro源码

Apache Shiro 源码 ,Apache Shiro 身份认证例子-源码 .

2016-12-15

Apache Shiro web

Apache Shiro,拷贝到Tomcat下运行,默认用户名/口令:admin/admin

2016-12-15

jdk动态代理和cglib

使用Java的动态代理有一个局限性就是代理的类必须要实现接口,CGLib采用非常底层的字节码生成。

2016-11-04

rest webservice开发接口所jar(javax.ws.rs.jar)

est 开发webservice必备的jar包,rest开发webservice是一个http协议轻量级组件,简单,上手快,调用方便

2016-09-30

exe4j 64位 生成exe工具

exe4j 64位 生成exe工具。

2015-12-21

C#双向链表的实现

C#双向链表的实现

2015-09-28

hammock-master

hammock-master,RESTful,.NET环境下我们想调用其它开放平台的服务接口,不需要自己去实现底层,开源的库用起来会很方便

2015-06-07

instantclient

64位oracle数据库安装32位plsql解决方法 解压缩放到你的相关地址下:比如E:\tools下 然后将你下列路径下的两个文件拷贝出来放到E:\tools\instantclient_10_2_4 a. path: G:\oracle\product\10.2.0\client_3\oui\lib\win32 filename:msvcr71.dll b. path: G:\oracle\product\10.2.0\client_3\NETWORK\ADMIN filename: tnsnames.ora

2014-10-22

Oracle odbc数据源驱动

Oracle odbc数据源驱动

2013-10-15

VC++ OLE DB 编程指导

VC+++OLE+DB+编程指导.rar

2013-10-15

wince json序列化

wince json序列化List<T> list = Json.Converter.Deserialize<List<T>>(json);

2013-05-15

cocowatcher

自动检测并启动程序,通过cocowather文件配置即可,并附件上源代码。

2013-04-24

CPU进程数执行检查

CPU进程数执行检查

2013-01-06

C#高质量仿腾讯截图程序

C#高质量仿腾讯截图程序

2012-12-10

WCFSample基于net.tcp

WCFSample基于net.tcp的WCF配置实例解析 本文主要通过文件配置来讲解如何编写一个基于net.tcp的Windows Form小程序。 使用的工具 涉及的工具有: SvcUtil.exe WCF Service Configuration Editor

2012-12-09

WCFCallBackDaemon

WCFCallBackDaemon由于WCF中提供了CallbackContract属性,所以在双工通信中,我们可以很方便的和Server进行通信

2012-12-09

C#开发EXCEL报表

开发EXCEL报表格式,直接生成EXCEL报表形式。poi生成EXCEL报表格式。

2010-06-23

ibatis架构,ibatis

ibatis架构,ibatis是一个轻量级的系统架构,在现多少系统中运用。

2010-06-23

ActiveSyncsetupchs

ActiveSyncsetupchs ActiveSyncsetupchsActiveSyncsetupchsActiveSyncsetupchs

2010-04-29

多文件falsh_upload

flash+asp.net的多文件上传的好资料

2008-11-20

空空如也

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

TA关注的人

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