
编程思想&算法
此间的年少
三人行必有我师不积跬步无以致千里不积小流无以成江海成临渊羡鱼不若退而结网
展开
-
编码规范 (二)
编码规则规范0、使用h头树型 h头文件树型链接,要添加#pargma once 多使用声明把头文件移入CPP中屏蔽接口显露有用的接口即可,h中只能有声名,不能有定义类或实际代码(实际函数或变量实体class struct的定义可以在内有函数。 全局变量要 在constant.h中声明,随意#include 在Constant.cpp中定义 全局变量仅在此处有,原创 2013-12-03 23:41:45 · 984 阅读 · 0 评论 -
开源OCR引擎Tesseract
知名的开源OCR引擎Tesseract 3.0版本日前发布,可以在项目网站下载:http://code.google.com/p/tesseract-ocr, 新版本支持中文,中文语言包定义http://code.google.com/p/tesseract-ocr/downloads/detail?name=chi_sim.traineddata.gz。Tesseract是Ray Smi转载 2013-09-09 14:16:40 · 1380 阅读 · 0 评论 -
NTP与PTP
2012-02-02 20:40:36| 分类:网络技术 | 标签:ntp |举报|字号 订阅NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步原创 2014-03-21 13:39:27 · 13212 阅读 · 1 评论 -
大数据存储技术
近期由中关村大数据产业联盟举办的“大数据100分”线上研讨会中,南大通用的CTO、资深业界专家武新博士同众多网友分享了底层数据处理技术的发展趋势和正在经历的巨大变革。以下为分享实录: 大数据这个领域过去5年发展很快、热度很高,但是总的来说目前还在起步阶段。本次研讨会我会先谈谈数据,以及大数据对数据处理技术的压力,然后为大家分享一下为什么这几年数据处理技术上的创新很多。转载 2015-03-27 10:27:33 · 4213 阅读 · 0 评论 -
35个非主流开源数据库 你知道吗?
【IT168 评论】 几乎每个Web开发人员都有自己喜欢的数据库,或自己最熟悉的数据库,但最常见的无外乎以下几种: MySQL PostgreSQL MSSQL SQLite MS Access 或是更简单的XML,文本文件等。这些数据库有优秀的文档,背后有强大的社区支持,大部分流行的CMS都使用了其中之一或多个,它们都易于使用,大多转载 2016-06-10 17:09:25 · 6219 阅读 · 0 评论 -
线程间的通信
1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界面线程等。这样,线程与线程间必定有一个信息传递的渠道。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的。线程间的通信涉及到4个问题:(1) 线程间如何传递信息(2) 线程之间转载 2016-03-30 16:05:24 · 731 阅读 · 0 评论 -
多态(Polymorphism)
多态分为编译多态和运行时多态C++为实现RTIT 使用template 和dynamic_cast 和virsual FunctionTemplate是标注一个参数列表,表未template以下的函数或类使用该参数列表的参数如果让你选择一项面向对(Object Oriented,后文简称OO)象最重要的或者最能表现OO特点的技术特征,会是什么? 封装(wrap)、继承转载 2015-10-28 09:39:53 · 669 阅读 · 0 评论 -
浅析深究什么是中间件
本文发布于2009年10月30日 1. 由来 因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么公司,中间件是什么?,金蝶不是做ERP的吗?怎么也做中间件?。这是我以前在金蝶集团时无法想象的问题。因为金蝶,金蝶ERP的品牌以及大众对ERP的了解,是无需我解析什么是ERP,什么是财务软件一类的问题的。 毕竟,中间件在实际的应用转载 2015-10-23 11:03:40 · 613 阅读 · 0 评论 -
面向(过程、对象、组件、服务)编程
软件发展中的几个概念:面向对象编程(Object-Oreinted Programming) 是一种编程范式。指在设计程序时大量运用类实例对象的方式。OOP一旦在项目中被运用,就成了时刻要考虑的东西。面向服务架构(Service-Oreinted Architecture) 是将软件设计成一组可互操作的服务的一套原则或方法论。通常在考虑系统架构时才会触及SOA。基于组件开发(Compo原创 2015-10-23 10:51:06 · 1702 阅读 · 0 评论 -
框架vs.类库
对面向对象开发而言,类库和框架有很多共同之处,但它们确确实实又是不同的。通过比较框架和类库的区别,可以更深入地理解框架的概念和内涵。如图2-14所示,框架是一种介于类库和应用系统之间的概念。图2-14 框架介于类库和应用系统之间类库是类的集合,这些类之间可能是相互独立的。应用开发者希望使用任何一个类时可以直接调用它,而不必再写一个。转载 2015-10-23 09:41:41 · 930 阅读 · 0 评论 -
数据结构 list map set
List,Set,Map是否继承自Collection接口? 答:List,Set是,Map不是。 如图: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable转载 2015-09-18 14:43:13 · 578 阅读 · 0 评论 -
判断socket断开
tcp socket 连接保持 ESTABLISH 状态不变,[喝小酒的网摘]http://blog.const.net.cn/a/17107.htm假如应用程式不使用 tcp 的 keepalive,在网线断开之后,以前建立的 socket 链接仍然会保持在ESTABLISH 状态不会改变。实际上 tcp 协议对这部分是有所处理的,需要服务端程式,在配置 socket 属性时,使原创 2015-01-03 13:05:59 · 1885 阅读 · 0 评论 -
UML九类图
使用Rational Rose创建用例(Use Case)如图:右击browser框中的Use Case View包,弹出快捷菜单;选择New——Use Case项;输入用例的名字;(如出错,可用Rename命令更改)如果文档窗口不可见,选择屏幕上方的View——Documentation菜单;在browser框中选中所需用例;将光标置于文档框中,输入相应文档。 通过上原创 2014-08-11 20:11:41 · 959 阅读 · 0 评论 -
六种类关系以及UML表示法
1. 依赖(Dependency) 依赖是对象间最弱的一种关系,一个对象依赖于另一个对象是指这个对象和它之间存在短期的关系,在这个短暂的关系中,依赖的对象通过调用被依赖对象的方法来获取它提供的服务,或者依此来配置被依赖的对象。 2.关联(Association) 关联是对象间长期的关系。在关联中,一个对象保存对另一个对象原创 2014-08-11 16:32:35 · 816 阅读 · 0 评论 -
ocr tesseract
光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。OCR技术非常专业,一般多是印刷、打印行业的从业人员使用,可以快速的将纸质资料转换为电子资料。关于中文OCR,目前国内水平较高的有清华文通、汉王、尚书,其产品各有千秋,价格不菲。国外OCR发展较早,像一些大公司,如IBM、微软、HP等,即使转载 2013-09-09 14:21:51 · 1096 阅读 · 0 评论 -
大数据量,海量数据处理方法总结
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯这样的一些涉及到海量数据的公司经常会问到。下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。转载 2015-03-27 09:05:09 · 925 阅读 · 0 评论 -
静态库和动态库(com/ole Dcom /com组件和普通dll)编写规范
静态库和动态库 静态库和动态库都可以有类 函数接口和全局变量 静态库 相当于CPP文件一样使用,其中的全局变量为调用它的dll或exe中的全局变量,lib被包含到其中生成一个dll或exe动态库 动态链接库在代码段只有一份,在调用它的进程中产生一份自己的空间,导出的倍份,会拷贝一份到所在进程的空间(只进行一次拷贝)。原创 2013-11-07 14:12:36 · 1272 阅读 · 0 评论 -
编程瑕想:面向结构、面向对象、面向线程-->基于类库重用的面向应用软件开发
面向结构: 面向结构可以称为面向应用,面向一个具体应用 重用方式:lib函数 struct面向对象: 面向对象也可以称为面向类库,类库延伸把应用也称为一个类对象 重用方式: 类对象 dll (com ++)原创 2013-09-02 18:19:43 · 1181 阅读 · 0 评论 -
编码规范 (一)
L式C++编码规范代码排版规范 编码规则规范1、避免使用“魔数” 避免:for (int index=0;index512;++index){ //魔数 推荐用法:int bufsize=512; for (int index=0;indexbufsize;++index){2、注意比较操作符的使用原创 2013-07-30 14:43:22 · 1121 阅读 · 0 评论 -
程序组件模块之间的内存管理
各模块间的内存管理问题关于 调用别人的黑盒时如何控制传入参数的生命周期,以及黑盒返回的数据如何管理生命周期1、各自管理自己使用到的数据,2、生产方管理自己生产的数据容器3、参数自我独立性自我管理自己,传来传去只是参数自身的变形适应 提供容器4、调用方即产生数据并传入到黑盒模块中,皆要当黑盒模块运行结原创 2013-12-06 21:16:01 · 752 阅读 · 0 评论 -
开源ocr库
开源的OCR库,Opensourced OCR library突然想起如何做一个论坛的发帖机,但是现在多数都要图片认证,需要一个OCR库来识别图片。于是在网上找了找,还真是有很多实现:OCRE, OCR Easy, http://lem.eui.upm.es/ocre.htmlClara OCR, http://directory.fsf.org/claraocr.ht转载 2013-09-09 14:29:51 · 4167 阅读 · 0 评论 -
常见压缩算法
再学习了haffman算法之后发现压缩算法很有意思,上网查了点资料,这是做好的一篇(主要是我能理解)。前面几种都能看懂,关键是那个LZ77算法。这个是很强大的压缩算法,zip,rar用得都是这种算法,让我们来感叹下两个犹太人的强大!!! 几个常见的压缩算法(转)(一) 字典算法字典算法是最为简单的压缩算法之一。它是把文本中出现频率比较多的单词或词汇组合做成一个对应的字典列表,并转载 2013-12-19 11:00:05 · 892 阅读 · 0 评论 -
PTN仍需跨越时间同步门槛
中国移动通信集团公司研究院徐荣目前,国内的传输设备生产厂家已开展基于MSTP和基于PTN的高精度时间传送研究和实验,已经实现PTP时间接口、1PPS+TOD时间接口的高精度传送,但面对将来可能的实际应用,仍急需解决通道信透传、功能稳定性等问题。同步网是通信网的一个必不可少的重要组成部分,是保证网络定时性能质量的关键。中国提出的TD-SCDMA标准,由于采用了TDD模式对时钟和时间同步提出了原创 2014-03-20 14:53:54 · 1593 阅读 · 0 评论 -
几款常用光学字符识别(OCR)软件比较
ABBYY FineReaderLEADTOOLSDynamsoft OCR SDKTesseractExperVisionTypeReader只要有扫描仪和光学字符识别(OCR)软件,将扫描文档转换成Word文档是相当容易的。扫描仪将纸质文档转换成扫描图像,而光学字符识别(OCR)软件则将所扫描的转载 2013-09-09 14:46:36 · 10393 阅读 · 0 评论 -
PTN 1588时间同步组网方案剖析
一、基本配置要求在实际组网中,PTN大多为环网结构,因此,可能某些节点的PTN设备需要同时运行TC模式和从时钟模式,对于无需进行时间分配的中间节点,可以采用透明时钟,否则边界时钟模式更适用。边界时钟模式为中国移动集团推荐使用的模式。一般由省公司提供两个时间同步设备(BITS),保证PTN传输系统具有两个时间源注入点,作为时间源的主备用。时间同步设备的卫星接收机采用GPS模块。两个时间同步设转载 2014-03-20 14:59:16 · 4144 阅读 · 0 评论 -
大数据实时处理:百分点实时计算架构和算法
阅读目录c) 简单方案k) 避免锁q) 数据分层w) 模糊化ac) 局部精化ad) 数据建模当今时代,数据不再昂贵,但从海量数据中获取价值变得昂贵,而要及时获取价值则更加昂贵,这正是大数据实时计算越来越流行的原因。以百 分点公司为例,在高峰期每秒钟会有近万HTTP请求发送到百分点服务器上,这些请求包含了用户行为和个性化推荐请求。如何从这些数据中快速挖掘用户兴趣偏 好转载 2015-03-27 09:21:32 · 21360 阅读 · 0 评论 -
Tesseract 3 语言数据的训练方法
需要用到的程序(1) Tesseract 3.00(2) Tesseract 3.00 Bugfix(3) CowBoxer 1.01(4) Universal Extractor 1.61 (非必需)使用 Universal Extractor 将 Tesseract 的安装包解开,再用 Bugfix 里的 tesseract.exe 覆盖原来的主程序转载 2013-11-26 11:32:57 · 869 阅读 · 0 评论 -
三款常见的OCR识别控件功能对比
Atalasoft成立于2000年,是一家来自美国马萨诸塞州的软件公司,其致力于为全球的软件开发公司及开发者提供优秀的商用图像处理软件及开发应用控件。他们的众多客户都是来自"财富"500强的图形软件开发公司,图形引擎开发公司及其他软件开发公司。 旗下产品DotImage OCR是一个光学字符识别模块,使你的程序具备字符识别能力,提供OCR引擎界面。具体功能:全面的可扩展的文件和流转载 2013-11-15 15:02:54 · 20273 阅读 · 1 评论 -
Tesseract-OCR 字符识别---样本训练
Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文)。 Tesseract最初由HP公司开发,后来由Google维护,目前发布在Googel Project上。地址为http://code.google.com/p/tesseract-ocr/。转载 2013-11-14 14:53:27 · 3260 阅读 · 1 评论 -
组件技术介绍
组件(component)技术是各种软件重用方法中最重要的一种方法,也是分布式计算和Web服务的基础。网络应用中的软件组件,又被称为中间件(middleware)。组件技术的应用现在已经十分广泛,从Windows编程中使用的各种控件和公用对话框,到ActiveX控件和DirectX的应用;从微软公司的COM,到Sun公司的JavaBean。其中最流行的组件技术的应用是——客户端的VBX(微软/转载 2014-05-20 12:58:09 · 2575 阅读 · 0 评论 -
操作系统图形界面发展史(1981-2009)
PC机上的第一个图形界面——Xerox Alto(该系统并未商用,主要用于研究和大学),其于1973年被施乐公司Xerox Palo Alto Research Center (PARC)所 设计,从此,开启了计算机图形界面的新纪元,80年代以来,操作系统的界面设计经历了众多变迁,OS/2, Macintosh, Windows, Linux, Symbian OS ,各种操作系统将 GUI转载 2014-03-26 14:23:31 · 2412 阅读 · 0 评论 -
编译器及IDE原理初探
一个IDE包含: 1、汇编器2、编译器3、预编译器4、工程构建工具5、项目管理器原创 2013-07-26 17:39:53 · 1971 阅读 · 0 评论 -
深入了解字符集和编码
一、什么是字符集?什么是编码? 字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。 一组抽象字符的集合就是字符集(Charset)。 字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。 一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。 字符集的子集也是字符转载 2013-11-26 10:08:30 · 822 阅读 · 0 评论 -
EJB DCOM COBRA
---- 90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了3种具有代表性的主流技术,即Microsoft的COM/DCOM技术、Sun公司的Java技术和OMG的COBRA技术。本期访谈,中国科学院软件研究所对象技术研究开发中心李京主任将带我们一起转载 2013-11-18 20:04:22 · 1306 阅读 · 0 评论 -
版本控制软件
版本控制是在软件开发过程中保证技术状态一致的一种手段,它是开发过程中进行全面管理的基础。在《版本控制软件的应用优势》一文中,我们能看到在软件的开发过程中应用版本控制软件所带来的好处,那么有哪些版本控制软件能够满足众开发者的需求呢?今天就为大家介绍几款版本控制软件的功能特点,供大家了解。1、Visual SourceSafe(简称:VSS)VSS是一种版本控制系统,它提供了完善的版本和配置管转载 2013-11-03 15:50:49 · 1436 阅读 · 0 评论 -
IOCP
IOCPIOCP全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用select()或是其它异步方法不同的是,一个套接字[socket]与一个完成端口关联了起来,然后就可继续进行正常的Winsock操作了。然而,当一个事件发生的时候,此完成端口就将被操作系统加入一个队列中。然后应用程转载 2013-11-15 16:05:56 · 1136 阅读 · 0 评论 -
面向对象原理
类的目的是让程序员自由定义类型,类派生出 由于类型要三个方面 1、 类的一般成员2、 类的静态成员,静态成员只能访问静态成员,(一般成员可以访问静态成员)成态成员相当于类中的全局函数3、 类的常成员函数 常成员变量可以被所有一般成员方法访问 常成员专们为定义该类的常对象准备的。原创 2013-08-02 17:59:16 · 1696 阅读 · 0 评论 -
运行库
从字面上看,运行库是程序在运行时所需要的库文件。通常运行库是以DLL形式提供的。Delphi和C++ Builder的运行库为。bpl文件,实际还是一个DLL。运行库中一般包括编程时常用的函数,如字符串操作、文件操作、界面等内容。不同的语言所支持的函数通常是不同的,所以使用的库也是完全不同的,这就是为什么有VB运行库、C运行库、Delphi运行库之分的原因。即使都是C++语言,也可能因为提供的函数原创 2013-08-13 15:31:53 · 1151 阅读 · 0 评论 -
基于对象和面向对象编程范式辨析
本文的目的是想告诉大家,为什么C++的模板这么强大。为什么Ruby的Duck Typing(像鸭子那样编程)这么强大! 关于基于对象和面向对象编程范式,我有着不同于传统的理解。我认为我的理解更能体现出这2个范式的本意。 基于对象,就是使用类封装操作和操作依赖的数据。用类来表示一个概念。类的公共成员,包括函数和数据,就是类的接口,也叫作抽象数据类型(ADT)。 面向对象,就是转载 2013-08-13 16:12:58 · 1188 阅读 · 0 评论 -
软件工程剖析
完整流程:1、构建工具 项目构建工具2、编译工具3、汇编器4、 linker链接器 包含以上所有的是build工具 http://zh.wikipedia.org/wiki/Make#GNU_make原创 2013-08-11 16:55:36 · 563 阅读 · 0 评论