Qt 资源文件释放
Qt是一个跨平台的GUI开发库,集成了对应平台的API的库      前几天由于项目跨平台需求,我对Linux的库又不熟悉,于是打算利用Qt的跨平台的特性进行开发,项目中需要释放资源,从而减少网络下载。      于是我发现QResource中并没有关于释放资源文件的函数,由于QFile中可以直接获取资源URL,于是打算用QIO读取出QFile的数据,但是发现并不行。读取的数据不是读取不完整就是坏数据或者崩溃。   

基于PostgreSQL的内存计算引擎
背景介绍身处大数据时代,在数据库领域,我们要分析处理的数据越来越多,我们分析处理数据的速度也要越来越快,但是传统数据库基于磁盘的计算模型,已经难以满足我们的需求。幸运的是随着硬件的发展,内存设备的性能在不断提高,而价格却在不断下降。内存计算技术将带着我们“飞”起来!内存计算(In-Memory Computing),实质上是 CPU 直接从内存而非硬盘上读取数据,并对数据进行计算、分析。在数据库上引入内存计算技术,意味着去除磁盘 IO 的消耗,利用内存随机访问的特性可以制定更高效的算法等等。这都

QT Socket简单编程
socket简介在LINUX下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人往往容易犯这样那样的错误。QT中提供的SOCKET完全使用了类的封装机制,使用户不需要接触底层的各种结构体操作。而且它采用QT本身的signal-slot机制,使编写的程序更容易理解。这是文档 。个人觉得,QT的文档除了缺少一些例子,其他还是不错的。QT5中相比于QT4应该更新了一些socket的应用,QT4相比于QT3也更新了不

多线程和异步编程示例和实践
本文中,分享两则我们在做多线程和异步编程中实际踩过的坑,实际生产环境遇到的问题,以及解决办法。1. HttpClient业务场景:使用HttpClient实现第三方业务推送,当第三方的Http服务器不通、或者返回很慢时线程数暴涨Asp.Net\Asp.Net MVC场景下,并发多线程导致的线程阻塞:HttpClient.PostAysnc/GetAsync.Result第一种线程数暴涨的问题,很容易理解,线程执行的慢,线程创建的速度快,一直在执行,导致线程不断创建线程、线程数不断暴涨。根本原因是

数据结构
数据结构是一门计算机语言学的基础学科,它不属于任何一门语言,其体现的是几乎所有标准语言的算法的思想。 上面的概念有一些模糊,我们现在来具体说一说,相信你门的数据结构使用的是一门具体的语言比如C/C++语言来说明,那是为了辅助的学习数据结构,而数据结构本身不属于任何语言(相信你把书上的程序敲到电脑里面是不能通过的吧,其只是描述了过程,要调试程序,还需要修改和增加一些东西)。你们的书上开始应该在讲究数据的物理存储结构/逻辑存储结构等概念,说明数据结构首先就是“数据的结构”,在内存上的存储方式,就是物

贝叶斯推理原理
贝叶斯推理是一种精确的数据预测方式。在数据没有期望的那么多,但却想毫无遗漏地,全面地获取预测信息时非常有用。提及贝叶斯推理时,人们时常会带着一种敬仰的心情。其实并非想象中那么富有魔力,或是神秘。尽管贝叶斯推理背后的数学越来越缜密和复杂,但其背后概念还是非常容易理解。简言之,贝叶斯推理有助于大家得到更有力的结论,将其置于已知的答案中。贝叶斯推理理念源自托马斯贝叶斯。三百年前,他是一位从不循规蹈矩的教会长老院牧师。贝叶斯写过两本书,一本关于神学,一本关于概率。他的工作就包括今天著名的贝叶斯定理雏形,

Md5的算法解析
 MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。  MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。  MD5的典型应用是对一段Message(字