编程技术

六步使用ICallbackEventHandler实现无刷新回调

AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。第一步,在VS2

系统 2019-08-29 22:38:57 2029

编程技术

WCF RIA Services 版本问题坑了我

我们准备用WCFRIA做Silverlight的通信层,结果因为我的机器安装的是4.0,经过无数次测试,还去老外论坛问了,也没得到结果,因为这么久测试都是无法穿越,我就跟BOSS说无法穿越复杂的实体类型,结果老板今天叫另外一个同事测,一测试就可以通过,我回来研究了一下,怎么弄都还是不行。我开始怀疑是不是我的WCFRIA版本问题。我下载了最新的Sp1(SP2还只是PreView版),一安装上去,什么问题都没了,我的个汗啊,微软坑人噻。我把这个东东公布出来,希

系统 2019-08-29 22:34:05 2029

编程技术

ibatis 学习笔记 批量处理 存储过程

Java代码/**在项目中,遇到这样的一个问题,当某一模块需要插入,更新一批大的数据量时,*此处大的含义是:更新到的数据记录比较多*用ibatis实现一条一条的插入,更新,如此循环下去。速度很慢*分析:*这些操作有个共同点:*PreparedStatement对象和已映射的语句完全一致(简单点说:就是操作不断重复)*由于事物是交给spring管理了,所以每做一次操作都会起一个事物,久而久之导致*性能问题。**batch批处理就适合那些查询,插入,更新,删除

系统 2019-08-29 22:22:18 2029

编程技术

irrlicht引擎源码剖析1 - 引擎概览

irrlicht是跨平台,支持多种图形库的开源3d引擎。irrlicht的设计很好的体现了接口和实现分离的原则,整个框架设计精巧清晰,是学习3d引擎设计的不错的教材。先看下名字空间的划分,可以看到irr具有非常清晰的结构:irrEverythingintheIrrlichtEnginecanbefoundinthisnamespaceirr::coreInthisnamespacecanbefoundbasicclasseslikevectors,plan

系统 2019-08-29 22:21:25 2029

编程技术

Struts

框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序。您只要细心地研究真实的应用程序,就会发现程序大致上由两类性质不同的组件组成,一类与程序要处理的具体事务密切相关,我们不妨把它们叫做业务组件;另一类是应用服务。比如说:一个税务征管系统和一个图书管理系统会在处理它们的业务方面存在很大的差异,这些直接处理业务的组件由于业务性质的不同不大可能在不同的系统中重用,而另一些组件如决定程序流向的控制、输入的校验、错误处理及标签库等这些只

系统 2019-08-29 22:18:52 2029

编程技术

使用异步 I/O 大大提高应用程序的性能

级别:中级M.TimJones(mtj@mtjones.com),顾问工程师,Emulex2006年9月28日Linux®中最常用的输入/输出(I/O)模型是同步I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待I/O请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步I/O(AIO)应用程序接口(A

系统 2019-08-12 09:30:23 2029

编程技术

Glassfish与服务器推送技术

“服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语,它的别名叫“Comet”(彗星)。它是继“Ajax”之后又一个倍受追捧的Web技术。“服务器推送技术”最近的流行跟“Ajax”有着密切的关系。随着Web技术的流行,越来越多的应用从原有的C/S的模式下转变为B/S的模式,享受着Web技术所带来的各种优势(例如,跨平台,免客户端维护,跨越防火墙,扩展性好等等)。但是基于浏览器的应用,也有它不足的地方。最主要的地方在于界面的

系统 2019-08-12 09:30:22 2029

编程技术

数组定义

给出下面codepackagescjp;publicclassDemo179{staticbyte[]array1,array2[];staticbytearray3[][];staticbyte[][]array4;publicstaticvoidmain(String[]args){array1=array2;}}会报错,为什么?这是因为array2事实上是byte[][]二维数组.而不是byte[].这个要注意.数组定义

系统 2019-08-12 09:29:50 2029

Python

Python将视频或者动态图gif逐帧保存为图片

本文是基于opencv将视频和动态图gif保存为图像帧。可以根据输入视频格式的不同,修改第21行。对动图的处理不同于视频,PIL库包含对图像序列的基本支持。当打开gif图像时,自动加载第一帧。当图像读取完成时,抛出EOFError异常。我们可以使用seek()与tell()函数完成图像帧的读取。本代码的前部分是对文件的读取。数据集文件结构如下:|——datasets|——action1action1_1.gifaction1_2.gif......|——a

系统 2019-09-27 17:57:27 2028

Python

使用python socket分发大文件的实现方法

思路:使用socket传输文件过程中,如果单次传输每次只能发送一部分数据,如果针对大文件,一次传输肯定是不行的,所以需要我们在传输的时候提前把传输内容的大小先发送给客户端,在客户端循环接收数据即可。代码部分:一、服务器#!/usr/bin/envpython#-*-coding:utf-8-*-#environment:2.7importos,json,time,socketsk=socket.socket()ip_port=('127.0.0.1',96

系统 2019-09-27 17:57:21 2028

Python

python数据持久存储 pickle模块的基本使用方法解析

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。基本接口:pickle.dump(obj,file,[,protocol])注解:将对象obj保存到文件file中去。protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的

系统 2019-09-27 17:56:17 2028

Python

Python 生成器 generator初步认识

生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的

系统 2019-09-27 17:56:10 2028

Python

python的pytest框架之命令行参数详解(下)

前言上篇说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则!pytest执行用例命令行参数--collect-only:罗列出所有当前目录下所有的测试模块,测试类及测试函数--tb=style:屏蔽测试用例执行输出的回溯信息,可以简化用例失败时的输出信息。style可以是on,line,short,具体区别请自行体验--lf:当一次用例执行完成后,如果其中存在失败的测试用例,那么我们可以使用此命

系统 2019-09-27 17:54:48 2028

Python

详解Python用三种方式统计词频的方法

三种方法:①直接使用dict②使用defaultdict③使用Counterps:`int()`函数默认返回0①dicttext="I'mahandsomeboy!"frequency={}forwordintext.split():ifwordnotinfrequency:frequency[word]=1else:frequency[word]+=1②defaultdictimportcollectionsfrequency=collections.d

系统 2019-09-27 17:54:44 2028