Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

学画画

偶然心血来潮,花了20分钟跟视频学着画了一鸟。

相比以前,对画画没有任何概念,这次试学一下,感觉还不错。
现在再看,发现也比例不好,有些位置画的不像。
希望下次有机会再学学,这副画放这表示小小的纪念。
1.


2.


Category:

JSON-RPC协议与网络传输

通常据说的JSON-RPC协议指的是数据格式协议,
对于数据包的传输,可以使用不同的网络连接协议实现,
最基本的只使用tcp传输,所有传递的数据包以 json格式为准。
对于无法识别成json格式的数据包,像其他的类似软件一样认为协议错误。

另外,其他的像http,websocket这些通用协议,都可以作为JSON-RPC的传输层使用。
RPC的概念是一个远程过程调用,想当于通过网络执行一段远程服务器上的代码。
那么这段代码可以理解成普通编程语言中的函数,
它有函数名字和函数参数,这样程序的其他位置可以通过名字与参数调用。
JSON-RPC协议也是如此,给远程服务器一段功能代码一个名字与输入参数,
然后通过网络发起这段功能代码的调用,执行并返回结果。

所以,JSON-RPC协议标准,每次调用都需要提供一个方法名,一组方法参数。

libaria2功能介绍

libaria2是linux aria2命令行下载工具的封闭api,
这样在使用aria2的时候不需要修改其代码了。

在之前编写karia2(aria2的GUI界面前端)的时候,
需要在控制代码中包含大量的aria2源代码头文件,
维护起来非常复杂,虽然这有个好处是能了解aria2源代码的组件结构。
编写早期的karia2的过程中,基本上实现了libaria2的功能,
并且比现在的libaria2功能还要多。因为当时直接include进来aria2的源代码,
可以获取到所有程序运行状态信息。

现在karia2作为aria2的前端,以多种不同方式支持aria2的运行管理。
包括直接使用aria2源代码的方式,使用libaria2的方式,
使用aria2 RPC的方式。
所有这些方式,使用相同的管理架构进行下载的管理,并与用户界面交互信息。

Category:

关于Qt的应用与定制

很长时间没有写Qt的代码了,这几天又写了一些Qt的代码,
对Qt的的应用,特别是界面部分类的应用,有了一点新的认识。
Qt开发库已经非常成熟强大,不过,对于像软件的写界面部分,
自带的都是比较中规中矩的外观形状。
即使Qt的定制性非常强,如果希望能调整成需要的效果,
还是需要做些扩展功能。
现在开始使用Qt5开发应用,也就使用了Qt5的一些特性,
但本次讲解不以这个Qt5的特性为主,还是以基础的通过窗口类为主。
在本次编写代码过程中,总结出了几个比较实用的窗口定制成果,
1、配置对话框的列表栏
这个涉及到QListWidget类,其实是想把列表栏的图标选项调整高些,
而不是默认的QListWidget行距和默认选中模式。
其实这个很简单, 只需要几行代码,
// 设置listWidget中的项目选中区域
this->uiwin.listWidget->setIconSize(QSize(32,32));

Category:

本人使用gentoo linux系统的阶段结束了

本人从2005年开始选择并使用gentoo linux,
主要用作个人电脑桌面系统使用。
当时选择这个系统的原因在于,这种完全定制化系统的理念吸引着我,
并且系统能不断跟进最新的软件包,并且是滚动式的升级,没有什么发布版本的概念。
当时还是使用的台式机,使用的过程伴随着系统的不断升级与配置调整。
后来2009年换了笔记本电脑,也是第一时间安装上了gentoo linux。
直到现在,笔记本电脑上依旧是那时安装的gentoo linux作为首先的linux系统。

随着电脑的老化,已经不太容易支持长时间的软件编译,个人能花在这上面的时间也变少了,
逐步把我的linux桌面切换到arch linux发行版本上。
这个过程从2010年开始,gentoo作为首选系统,再附带安装一个arch linux系统。
有时间的时候用用gentoo,在没有时间的时候,就用arch linux。

Category:

linux 下一代文件系统btrfs简介

Btrfs被称为下一代文件系统。相对于ext2/ext3/ext4这系列特性已经非常稳定的文件系统来说,
btrfs具有很多先进的文件系统设计特性。
最近内核的每个新版本发布,都有btrfs的影子,开发活跃,令人很期待。
btrfs具体有哪些特性让人如此期待?它内部是如何实现的?
适用什么样的场景?怎么使用btrfs命令管理btrfs文件系统?
本文以当前最新的3.11内核的btrfs版本研究btrfs文件系统的功能特性。
1、btrfs发展史
B-tree 文件系统,通常念成Butter FS,Better FS或者 B-tree FS。
采用GPL协议。
由Oracle于2007年发起并进行的COW(写入时复制)文件系统。
btrfs的目标是取代ext2/ext3文件系统,改善现有功能限制并提供更多优秀特性。
2、btrfs特性简介
软件raid实现
类似lvm的卷管理
透明压缩zlib,lzo,(snappy,lz4)
可读/写快照
高磁盘空间利用率的小文件打包
高磁盘空间利用率的索引目录
动态inode分配

Category:

当前项目中传统简单的fastdfs存储架构总结

目前我们的图片存储系统,大概每个月使用1T的存储空间。
再加上图片处理后的图片,可能还会扩大2,3倍的存储容量。
之前使用NAS存储,已经无法满足这样的存储需求。
在上半年考虑使用分布式文件系统,经过调研,选用了开源的fastdfs。
由于初次使用,并没有使用太复杂的架构模式,而使用比较传统的使用模式。
先说下硬件情况,
现有同机房的4台fastdfs存储服务器,每台服务器使用6块2T的sata硬件做成raid5,大概可用存储容量为10多G。

在设计时,考虑足够的容灾要求,把4台服务器做成两组group1,group2。
这样,这个集群的容量为20G,远比使用NAS来的简单许多。
另外,由于在测试使用fastdht组件时遇到了问题,目前没有使用自带的文件去重功能。准备在研究出来原因之前,使用代码级别的去重,在使用异步去重计算的辅助情况下,去重效果理论上与fastdfs自带的排重功能一致。

目前项目上线2个月,已经存储了2T的图片文件。
目前的架构:
M1/group1/tracker1 ===== M2/group1/tracker2
M3/group2 ===== M4/group2

Category:

Couchbase 2.2.0 发布

发布公告,

提升XDCR跨机房复制性能。
提升数据清理性能。
添加只读管理员用户功能。
添加服务恢复工具。
非root用户安装和启动。
命令行重置管理员密码功能。

详见:
http://blog.couchbase.com/announcing-couchbase-server-22-0

Category:

对raid基本磁盘阵列的理解

RAID是英文Redundant Array of Independent Disks(独立磁盘冗余阵列),简称磁盘阵列。
常用的raid级别有,raid0,raid1,raid5,raid6,raid10。
下面就这几个常见raid级别说明一下我的理解。
1、raid0 条带存储
这种级别没有数据冗余,所有阵列中的磁盘参数数据存储。
分数据存储实现并行存储,理论上,N块磁盘的raid0存储速度为一块磁盘存储速度的N倍。
并行存储是把写入的数据按段分隔,每个磁盘存储不同的数据段。
这种级别的问题无修复机制,一块磁盘块,整个阵列无法读写。
好处在于,能完全利用磁盘空间,提高IO速度,能提供所有raidx级别中最快的IO速度。
速度S: N*
容量C: N*
2、raid1 镜像存储
这个级别包含完整的数据冗余,不同的磁盘两两互备。
由于可在原磁盘繁忙时到副本磁盘上读取,可以提高IO速度。
由于数据存储完整两份,成本是所有级别中最高的,可靠性也是最高的。
速度S: N/2+

Category:

PostgreSQL 9.3 正式版发布

我们非常高兴的宣布 PostgreSQL 9.3 正式版发布了,该版本包含可写的外部数据封装、数据页 checksums、快速的故障转移以及 streaming-only remastering 等等。
外部数据封装可写使得系统间支持双路数据交换。今天非常复杂的 IT 环境涉及到多个数据库和半结构化的数据源,而 PG 可帮你将它们集成在一起。该项目同时发布了 postgres_fdw ,这是一个高性能的支持读写的联合驱动程序。
此外,该版本提升了可靠性和可用性,实现了快速的故障转移;数据页的 checksum。此外在复杂的复制环境中,可在故障发生时迅速转移主数据节点。
在针对开发者方面改进包括:

  • 额外的 JSON 构建和解析方法
  • 自动可更新的视图
  • 并行 pg_dump 用于加速大数据库的备份
  • LATERAL JOINs

详细介绍请看发行说明

Category:

页面

订阅 www.qtchina.tk RSS


Main menu 2

by Dr. Radut