搜索到与相关的文章
编程技术

深入理解Apache Mina (2)---- 与IoFilter相关

从名字上看知道IoFilter应该是一个过滤器,不错,它确实是一个过滤器,它和Servlet中的过滤器类似,主要用于拦截和过滤I/O操作中的各种信息。在Mina的官方文档中已经提到了IoFilter的作用:(1)记录事件的日志(这个在本文中关于LoggingFilter的讲述中会提到)(2)测量系统性能(3)信息验证(4)过载控制(5)信息的转换(例如:编码和解码,这个会在关于ProtocolCodecFilter的讲述中会提到)(6)和其他更多的信息还是

系统 2019-08-29 23:01:55 1970

编程技术

程序员的生存法则

前几天,和国内某知名企业的行销一线喝茶聊天,他一直在抱怨自己的上司很差劲,一直允诺追加奖金,但是月底考评结果却给的很差,奖金也没别人的多,所以他想调别的部门。我很是惊诧,这公司是你们家开的?怎么可以想调就调?他笑了笑说,你不懂职场生存法则吗?他的工作需要经常出差,全国各地跑。上次是去江西,他知道部门A的老大老家在江西,就主动去找A部门老大,告之有个出差机会,要不要一起?后来我才明白“要不要一起”的真正用意。如果要,那么就等于我的朋友提供给部门A老大一次公费

系统 2019-08-29 22:36:20 1970

编程技术

互联网产品的灰度发布

在传统软件产品发布过程中(例如微软的Windows7的发布过程中),一般都会经历Pre-Alpha、Alpha、Beta、Releasecandidate(RC)、RTM、GeneralavailabilityorGeneralAcceptance(GA)等几个阶段(参考Softwarereleaselifecycle)。可以看出传统软件的发布阶段是从公司内部->外部小范围测试>外部大范围测试->正式发布,涉及的用户数也是逐步放量的过程。在互联网产品的发布

系统 2019-08-29 22:34:52 1970

编程技术

.NET4.0并行计算技术基础(4)

.NET4.0并行计算技术基础(4)这是一个系列讲座,前面几讲的链接为:.NET4.0并行计算技术基础(1).NET4.0并行计算技术基础(2).NET4.0并行计算技术基础(3)版权声明在第一讲中。================================================19.3让一切“并行”——任务并行库原理及应用19.3.1任务并行库简介任务并行库(TPL:TaskParallelLibrary)是.NET4.0为帮助软件工程师

系统 2019-08-29 22:04:38 1970

编程技术

bootstrap-file-input

github:https://github.com/zhangkaitao/bootstrap-file-input为bootstrap提供统一的文件上传按钮试用了几个类似的,不能满足需求,干脆自己写一个。思路是:利用label完成辅助点击file框,并把file框设置为透明即可,非常简单可完美解决在ie中的“访问限制”问题(即必须是用户点击才能进行文件上传),且无位置偏移问题。使用方式导入js和css即可,会自动查找file标签执行初始化

系统 2019-08-29 22:00:54 1970

编程技术

代码复用应该这样做(3)

但假如被合并的代码所在的类具有某种并列关系,甚至是同一个父类下的多个子类,或者同一接口的多个实现类,则我们可以采用继承的方式解决代码复用的问题。具体做法是这样的,第一步还是整理原有的代码,通过比较,将需要重构的多份原代码中相同的与不同的代码整理出来。在整理过程中,可以将不同的代码,保留在各自的原程序中,而将相同的代码抽取出来成为独立的函数。这些函数就是我们后面需要抽象、合并、复用的代码。下一步呢,就是运用“抽取父类(ExtractSuperclass)”的

系统 2019-08-29 21:59:08 1970

编程技术

一堂如何提高代码质量的培训课(3)

3)职责驱动设计和领域驱动设计前面我提到,当我们尝试写一些复杂功能的时候,我们把功能分解成一个个相对独立的函数。但是,应当将这些函数分配到哪个类中呢?也就是系统中的所有类都应当拥有哪些函数呢?或者说应当表现出哪些行为呢?答案就在这里:以职责为中心,根据职责分配行为。我们在分析系统时,首先是根据客户需求进行用例分析,然后根据用例绘制领域模式和分析模型,整个系统最主要的类就形成了。通过以上分析形成的类,往往和现实世界的对象是对应的。正因为如此,软件世界的这些类

系统 2019-08-29 21:58:56 1970

编程技术

Hibernate级联操作学习之持久化临时对象

在实际程序开发中,经常需要持久化临时对象,比如新建一个学生,将加入到一个存在的班级中(或者新建的一个班级),在这里不妨把引起级联操作的对象称为根对象(本文中所指的就是team对象),而根对象可能出于transient,persistence,detach三态,下面分别讨论首先,建立数据库表:CREATETABLEcertificate(idvarchar(100)NOTNULLdefault'',descriptionvarchar(100)default

系统 2019-08-12 09:30:04 1970

Python

Python多进程编程技术实例分析

本文以实例形式分析了Python多进程编程技术,有助于进一步Python程序设计技巧。分享给大家供大家参考。具体分析如下:一般来说,由于Python的线程有些限制,例如多线程不能充分利用多核CPU等问题,因此在Python中我们更倾向使用多进程。但在做不阻塞的异步UI等场景,我们也会使用多线程。本篇文章主要探讨Python多进程的问题。Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组

系统 2019-09-27 17:56:51 1969

Python

Python selenium使用入门

#版本python==3.7.3selenium==4.0.0a1#seleniumpypi地址https://pypi.org/project/selenium/在目录前提示一下,有时候我们在获取了一组元素,然后进行循环时,会报错'陈旧的元素.....',为了避免这个错误,建议在需要处理一组元素时,我们先算出元素的数量,然后通过range(element_counter),来通过索引值再次搜索需要处理的元素.目录:一、初始化二、元素查找三、select标

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