- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 jjson - 支持注释的 json 和 javascript 对象解析之 Python 模块
jjson - 支持注释的 json 和 javascript 对象解析模块by Que's C++ Studio代码请移步 githubTedQue/jjson: python module for parsing json string and javascript object (github.com)主要特性:1. 支持 # 注释,从 # 开始到行尾的字符将被忽略2. 支持 JavaScript 对象解析为 Python 字典缺点:1. 递归实现,解析超大字符串时可能导致栈溢出.
2021-09-23 10:56:44 355
原创 一种 Windows IOCP 整合 OpenSSL 实现方案
TedQue/IOCP_SSL_Demo: IOCP integrate with OpenSSL (github.com)
2021-06-06 23:40:04 1620 1
原创 一种文本编辑器和控制台实现方案
一种文本编辑器和控制台实现方案by Que's C++ Studio 阙荣文 202106020. 需求在所有 Windows 标准控件中, Edit 大概是最复杂者之一.试想一下,实现 Edit 至少需要考虑以下问题: 选择字体绘制字符 响应键盘输入 响应鼠标动作,准确选中指定字符 访问系统剪贴板,支持热键 Ctrl-C, Ctrl-V 等 计算长度宽度以正确设置滚动范围 ...这些还仅仅是一个标准 Edit 控件的最基本功能,其中的大量细节已经有...
2021-06-02 19:31:40 558
原创 xcp - 带有状态显示的 Linux 复制命令
好长时间没有更新了,偶然看到几年前写的一个复制工具,代码惨不忍睹,所以重写了一遍.目的: xcp - 代替 Linux 的 cp 命令,复制大量文件时显示进度实现: 遍历源文件两次,第一次统计,第二次复制本次更新内容: 用统一的编码风格整理代码,减少递归函数使用的栈空间,调整参数处理方式使之同 cp 的习惯用法保持一致附1: xcp.c// #define _FILE_...
2020-01-12 09:46:24 1244
原创 GDB - <<软件调试的艺术>>读书笔记
GDB - > 读书笔记阙荣文 Que's C++ Studio 2017.9.100. gcc -g必须使用 -g 选项编译程序生成"符号表"才能被调试.调试器利用符号表的内容识别函数名,变量名等标识.1. 栈和帧程序运行的大致流程: 加载程序文件,找到入口函数,把函数的地址,参数压入堆栈,开始执行该函数,对所有子函数都执行同样的流程.调试器的工作对象就是这个"栈
2017-09-14 14:43:15 625 1
原创 VIM 笔记
VIM 笔记阙荣文 Que's C++ Studio0. 学会的是解决 VIM 相关问题的方法论而不仅仅是一些知识点.1. 善用 VIM 自带的用户手册 :h关键在于平时就一直使用 VIM,命令用得多了自然就记牢熟练了.2. 基本常识 - 掌握之后可以代替Windows下一般的文本编辑器2.1 VIM 的几种模式: 常规模式/可视模式/命令行模式/插入模
2017-09-13 09:38:00 664
原创 关于 Que's HTTP Server 源代码的问题
1. 原来的下载链接已经用不了,我放到 github 去了: https://github.com/TedQue/QPPHTTPServer 请下载 master 分支, 0.3版的开发已经放弃了.2. 为什么一直不再更新:其实我自己一方面一直觉得实在写得乱七八糟拿不出手,另一方面网友们的期待让我觉得承担不起.总之有点逃避心理.在网上写文章是责任重大的事,我常常想到我自己写的一些事
2017-08-13 12:39:58 858 4
原创 BMP 和 JPEG
站在程序员的角度,小结一下 BMP 和 JPEG 相关的知识,并提供一段把 Windows 屏幕保存为 JPG 文件的代码.
2016-05-29 20:53:47 5225 1
原创 打造windows平台下的PHP开发环境
打造windows平台下的PHP开发环境准备软件1. Web服务器.Que's HTTP Server v0.2优点: 开源,不需要安装,GUI配置,轻量级,需要时启动不需要时退出就像一个文本编辑器那样,非常方便.缺点: 没有经过严格测试,有些功能可能没有实现.总的来说,作为 Que's HTTP Server v0.2 的作者,我认为值得一试.http://blo
2012-07-12 10:43:09 1762
原创 用C++实现HTTP服务器V0.2 - 支持PHP
Q++ HTTP Server v0.20作者: 阙荣文下载源码前言1. 关于版本号就像爱因斯坦曾经说过,知道的越多,不知道的也越多.在改进 Q++ HTTP Server 的过称中,我越来越觉得还需要完成的工作太多,我自己有很多知识也不全面,之前的版本妄称1.5岂不是贻笑大方?然而,无知者无畏,因为我们敢想,敢干,敢犯错误,所以我们才能进步.这个版本就
2012-07-12 10:41:41 13606 18
原创 PHP服务器页面间跳转
在ASP中,我们可以使用Server.Transfer来实现在服务器端重定向,PHP中虽然没有这样的函数,但是要实现类似的跳转也不难:(注意不是用 header ,js 等方法做的客户端跳转)function server_transfer($dest){ global ...; // 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里 incl
2012-05-11 11:07:31 2601
原创 static_cast 和 reinterpret_cast
>作者: 阙荣文(querw@sina.com)C/C++是强类型语言,不同类型之间的相互转换是比较麻烦的.但是在编程实践中,不可避免的要用到类型转换.有2中类型转换:隐式类型转换和强制类型转换.1.隐式类型转换1.1 提升精度,此种是编译器自动完成的,安全的.所以编译的时候不会有任何错误或者警告信息提示.示例: > P147int ival = 3;dou
2012-03-23 15:40:58 10518 6
原创 Windows平台下的读写锁
Windows平台下的读写锁简单介绍Windows平台下的读写锁以及实现.背景介绍Windows在Vista 和 Server2008以后才开始提供读写锁API,即SRW系列函数(InitializeSRWLock, AcquireSRWLockShared, AcquireSRWLockExclusive等).考虑到目前Windows XP的装机量,只能自己实现一个读写锁了.
2012-01-25 01:43:37 13971 16
原创 开放Que's C++ HTTP服务器源代码
本来也没指望能赚到钱,也不是什么多好的代码.就是想看一看到底有没有可能.结果一个询价都没有收到,事实证明程序员很不容易,尤其在中国.独乐乐不如众乐乐,开放源代码,请指教.有不对的,不完善的,效率不够的或者有更好的解决办法的请指明,不要搞人身攻击,满口粗话,这也
2011-08-17 09:56:31 4214 4
原创 关于 wcout 输出中文的问题
关于 wcout 输出中文的问题作者:阙荣文时间:2011/8/161. cout场景1: 在源文件中定义 const char* str = "中文" 在 VC++ 编译器上,由于Windows环境用 GBK编码,所以字符串 "中文" 被保存为 GB
2011-08-16 10:48:47 4525 2
原创 C++ TR1正则库使用示例
C++ TR1正则库使用示例作者: 阙荣文时间: 2011/8/13[背景介绍]要想在程序中使用正则表达式,首先需要有库支持.目前比较有影响的C++正则库主要有GNU Regex Library,它是glibc的一部分.另一个就是PCRE全称是Perl Com
2011-08-13 16:23:50 5649 1
原创 用C++实现HTTP服务器 - 如何控制一个套接字的发送带宽
用C++实现HTTP服务器 - 如何控制一个套接字的发送带宽作者: 阙荣文日期: 2011/7/15目的对HTTP服务器的每一个客户套接字限制发送带宽.前提用IOCP管理套接字,不能阻塞线程影响到别的连接.如何实现思路1. 每次调用 WSASend()的时候,计算一下当前带宽,如
2011-07-15 17:20:07 5394
原创 用C++实现HTTP服务器 - 处理完成端口模型(IOCP)的超时问题
如何处理完成端口模型(IOCP)的超时问题.作者: 阙荣文 2011/7/12前言完成端口(IOCP)是所有Windows I/O模型中最复杂,也是性能最好的一种.在关于IOCP的编程中,难点之一就是超时控制.以下以HTTP服务器程序为例说一说.其实超时控制也不是很难,问题是Windows的IOCP模型本身并没有提供关于超时的支持(也行以后的版本会有?),所以一切
2011-07-12 15:55:16 20077 3
原创 用C++实现HTTP服务器 - Windows平台(开放源代码)
用C++实现HTTP服务器 - Windows平台软件名: Que's HTTP Server (点击下载最新版含源代码)作者: 阙荣文 - Que's C++ Studio 版权说明: 免费,开放源代码,禁止用作商业用途.日期: 2011.7.81
2011-07-08 17:19:47 84338 87
转载 DirectUI 与 QQ界面
今天心血来潮想跟踪一下界面编程, 发现DirectUI现在挺火的.用逻辑窗口代替实际窗口的想法真是非常棒,只是要自绘实现所有的标准控件工程太大了,况且还有想EDIT, ListCtrl之类的麻烦控件.据说QQ就是用DirectUI类似的技术做的界面,具体情况不清楚,腾讯肯定自己实现了一个界面库.网上找到一篇感觉说得还不错,转来转去,都不知道原作者是谁了,很抱歉,本来应该保留署名的,实在找不到.
2010-12-01 18:42:00 24087 2
原创 从程序员的角度看ASCII, GB2312, UNICODE, UTF-8
从程序员的角度看ASCII, GB2312, UNICODE, UTF-8浅谈字符编码是怎么回事,以及和字符编码有关的C编程相关的问题.
2010-11-27 01:34:00 2957
原创 WinSock 下 select() 模型的一个问题
<br />在 Windows Socket 中, 默认 select() 一次只能支持 64个套接字. (Linux 下一个 select() 函数能够管理的套接字多得多. 一般默认就有 4096个. select() 函数接口虽然一样,实现上有巨大差别.) 对于一个服务器程序来说显然太少了. 虽然可以修改FD_SETSIZE的值,但是考虑到栈大小的限制也不宜设置过大的数组长度.<br />自然而然的,会考虑使用多线程. 如果每个线程管理64个套接字,那么多开几个线程就可以突破 select()的限制.
2010-11-21 22:30:00 1887
原创 获取外网IP并发送邮件通知
名称: IP地址通知器 下载最新版 (在使用的过程中,如果您有什么问题,请给我发邮件,或者在这里(csdn我的博客)上留言.)版本: 1.26 正式版作者: 阙荣文 - Que's C++ Studio日期: 2010/11/10版权说明: 版权归作者个人所
2010-11-12 13:10:00 17379 58
原创 UNIX 风格的命名习惯
作者: 阙荣文 (querw) / querw@sina.com 有一个标准的编程风格非常重要,真的非常重要,千万不要不以为然, 尤其是大团队合作. 同时,遵循统一的命名规则, 程序代码看起来也更漂亮,更容易读懂. 主要有2种命名规则,一是Windows风格的匈牙利命名法. 我做了好几年的MFC开发. 我感觉匈法挺好的,不像一些人说的那样, 不可否认微软也出好东西. 匈
2010-04-09 15:55:00 10203
原创 用状态机实现XML解析器 - C++环境
作者: 阙荣文 (querw) 摘要 本文介绍一种文本解析的方法:状态切换法 (状态机), 并给出C/C++下的实现.------------------------------------------------------------------------------------------------------------------------- 这
2010-04-02 09:58:00 4306 1
原创 Godaddy服务器上关于ASP.NET网站建设一些经验 - 防SQL注入攻击(三)
作者: 阙荣文 ( querw ) 什么是SQL注入攻击,有什么危害 先来看一个例子说说SQL注入攻击是怎么回事,有什么危害. 在有用户参与的网站中,所有操作中最重要的就是登录.要求用户输入用户名和密码,然后在数据库里校验输入的有效性. 我相信很多人(反正我以前一直就是怎么写的)写类似下面的代码: (代码1) string strUserName =
2010-03-29 15:52:00 2361
原创 Godaddy服务器上关于ASP.NET网站建设一些经验 - 断点续传下载 (二)
续上一篇 (http://blog.csdn.net/querw/archive/2009/08/24/4477182.aspx) 谈谈在APS.NET中如何控制文件下载.设计目的和要求假设这么一个应用场景: 一个主机,上面存有许多文件资料,有各种文件格式.(PDF, DOC, EXE ... 等等).该主机上运行一个ASP.NET网站, 用户注册,并付费之后允许他/她
2009-08-31 12:12:00 2178
原创 Godaddy服务器上关于ASP.NET网站建设一些经验(一)
最近由于工作需要,建设了一个ASP.NET网站,在美国Godaddy上购买的主机. ( 顺便鄙视一下国内的域名主机服务商,又贵又烂,技术员还经常很随意的修改服务器,造成不可预计的问题.) 说说网站建设和使用过程中的一点经验. ( 商业原因, 网址我不方便透露,抱歉.)我在建设和使用的过程中碰到一些问题, 网上搜了好久,很多都没有好的解决方案, 幸好,目前我的网站运行已经比较完美,所以写点东
2009-08-24 10:24:00 3480
转载 转贴: BT软件的DHT技术基础——Kademlia协议原理简介
源贴地址: http://www.netexpert.cn/viewthread.php?tid=5627&extra=&highlight=&page=1 一、前言Kademlia协议(以下简称Kad)是美国纽约大学的PetarP. Maymounkov和David Mazieres.在2002年发布的一项研究结果《Kademlia: A peerto -peer informati
2006-12-29 16:50:00 4443
转载 转贴: Kademlia: 基于异或运算的P2P信息系统
源贴地址: http://blog.csdn.net/colinchan/archive/2006/05/08/712760.aspxPetar Maymounkov and David Mazi`eresfpetar,dmg@cs.nyu.eduhttp://kademlia.scs.cs.nyu.edu 摘要本文我们将描述一个在容易出错的网络环境中拥有可证实的稳
2006-12-29 15:47:00 1399
转载 转贴: wolfenstein工作室-eMule源代码学习心得
1, eMule源代码学习心得(1):eMule代码的总体风格和其它相关工程eMule的官方首页上写着:2002年05月13日 一个叫做 Merkur 的人,他不满意原始eDonkey2000客户端并且坚信他能够做的更好,所以他开始制作。他聚集了其它开发人员在他的周围,并且eMule工程就此诞生。eMule是一个典型的MFC程序,它的图形界面等,已经和MFC紧紧融合到了一起。因此通常情况下
2006-12-29 14:49:00 2854
原创 转贴:细说 Kademlia 【FreeXploiT整理文】
Kad是Kademlia的简称,eMule的官方网站在2004年2月27日正式发布的 eMule v0.42b中,Kad开始正式内嵌成为eMule的一个功能模块,可以说从这个版本开始eMule便开始支持Kad网络了。Kad的出现,结束了之前edonkey时代,在ed圈里只存在着ED2K一种网络的模式,它通过新的协议开创并形成了自己的kad网络,使之和ED2K网络并驾齐驱,而且它还完全支持两种网络,
2006-12-29 13:55:00 1930
转载 转贴: Kademlia详解
Kademlia详解作者:gale 日期:2006-11-08字体大小: 小 中 大 前两天在网上看到世界知名的电骡服务器Razorback 2被查封、4人被拘禁的消息,深感当前做eMule / BitTorrent等P2P文件交换软件的不易。以分布式哈希表方式(DHT,Distributed Hash Table)来代替集中索引服务器可以说是目前可以
2006-12-29 12:08:00 1563
转载 转载: BitTorrent Trackerless DHT协议规范V1.0试行草案
一直以来我都有一个疑问: 一个新加入的BT客户端如何得到其他BT客户端的IP地址和端口?如果所有的BT客户端地址都保存在BT服务器的话似乎又走CS结构的老路了,而且需要数据库支持.以下这篇文章难道就是答案? BitTorrent Trackerless DHT协议规范V1.0试行草案DHT 协议摘自 BitTorrentDevBitTorrent 使用一个"分布式sloppy哈希表"
2006-12-26 11:25:00 2488
原创 zlib用法简单说明
本文的目的是: 简单说明如何把zlib加入到MFC程序中,提供内存压缩功能.1. 如何获得zlibzlib的主页是:http://www.zlib.net/2. 用VC++6.0打开把下载的源代码解压打开,VC6.0的工程已经建好了,在/projects/visualc6. 双击zlib.dsw, 可以在VC++6.0中看到里面有3个工程: zlib 是库文件(编译设置选中 win
2006-12-21 17:00:00 36438 12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人