- 博客(58)
- 资源 (2)
- 收藏
- 关注
转载 转型:产品团队与架构师zz
转型:产品团队与架构师http://www.programmer.com.cn/905/作者: wuzhimin分类:架构实践添加评论 阅读:526 次 添加评论——金山WPS架构师手记文/杨钢与国外大型软件公司相比,在金山,架构师的发展还处于一个学习阶段,我们也正在实践中摸索适合我们的方法。借此机会,我想和大家分享一下WPS项目中架构师的发展历程和经验教训,共同探讨适合中国
2009-09-12 09:04:00
471
原创 [分享]管理的极限 zz
http://bbs.vsharing.com/Article.aspx?aid=951035 [分享]管理的极限 (入选推荐日志,加10币) zz (一) 小满所在的公司,有一天,突然同时有好几个项目经理离职。最近一段时间,自从空降来的新的技术总监到了后,公司里的气氛怪怪的。 年初的时候,公司的新目标就指出:经过了三年的打拼,公司已经基本上站稳了脚跟。正面临着大发展的好时
2009-09-01 05:21:00
1000
转载 资深设计师的30条忠告 zz
资深设计师的30条忠告 zzhttp://groups.google.com/group/pongba/browse_thread/thread/177efd30eba169ee?hl=zh-CN Dont be too sure when it looks like true. Dig into the domain. 当某个东西看起来是真的时候,别那么确定就相信它
2009-04-10 15:32:00
600
转载 CRC算法与实现
CRC算法与实现作者:bhw98提交者:eastvc 发布日期:2004-1-2 20:57:13原文出处:http://www.youkuaiyun.com/摘要: 本文首先讨论了CRC的代数学算法,然后以常见的CRC-ITU为例,通过硬件电路的实现,引出了比特型算法,最后重点介绍了字节型快速查表算法,给出了相应的C语言实现。关键词: CRC, FCS, 生成多项式, 检错重传引言CRC
2009-03-26 15:52:00
662
转载 A* 算法搜索最短路径
A* 算法求解最短路径 近来不少的朋友问我关于 A* 算法的问题, 目的是写一个搜索最短路径的程序. 这个在鼠标控制精灵运动的游戏中(不算智冠出的那些用鼠标充当键盘方向键的弱智 RPG) 大量使用,尤其是即时战略类的. 但是我个人认为 A* 算法只适合处理静态路径求解,对即时战略游戏中大量对象堵塞过道时,疏通交通很难实现(也不是不能实现, 这需要一个相当好的估价函数,且不能一次搜索路径)
2009-03-26 15:49:00
1714
转载 COM组件设计与应用(四)简单调用组件
COM组件设计与应用(四)简单调用组件作者:杨老师一、前言 同志们、朋友们、各位领导,大家好。 VCKBASE 不得了, 网友众多文章好。 组件设计怎么学? 知识库里闷头找! 摘自---杨老师打油集录 在 VCKBASE 的顶力支持下,在各位网友回帖的鼓
2009-03-23 17:18:00
492
转载 COM组件设计与应用(三)数据类型
COM组件设计与应用(三)数据类型作者:杨老师一、前言 上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要的知识,将来写起程序来才会得心应手也:-) 走入正题之前,请大家牢牢
2009-03-23 17:16:00
382
转载 COM组件设计与应用(二)GUID 和 接口
COM组件设计与应用(二)GUID 和 接口作者:杨老师一、前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Excel 自己去读入、解析、显示 xls 数据呢?二、CLSID 概念 有一个非常
2009-03-23 17:10:00
528
转载 COM 组件设计与应用(一)起源及复合文件
COM 组件设计与应用(一)起源及复合文件作者:杨老师一、前言 公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书籍(注2)。功夫不负有心人,终于买到了我的第
2009-03-23 17:07:00
422
原创 ATL中从IDS载入字符串
1先配置RC中的IDS值:IDS_AUTHOR ....IDS_NAME .... 2定义变量注意其中的pstrAuthor和bstrName分别是用char*和BSTR定义的typedef struct COMPONENT_INFO{ [string] char* pstrAuthor; short sMajor; short sMinor; BSTR
2009-03-23 16:59:00
460
转载 ATL正则表达式库使用
ATL正则表达式库使用作者:firingme转载:http://www.youkuaiyun.com/ATL中,由于ATL Server的需要,需要对Client发送过来的地址、命令等复杂文字字段信息解码,而正则表达式是公认的最强大的文字解析工具,所以,ATL提供了一些用于正则表达式的库方便了我们的工作。1、 CATLRegExp类声明:template class CAtlRegExp;
2009-03-23 16:58:00
490
转载 ATL开发技巧之一(集合对象的实现)
ATL开发技巧之一(集合对象的实现)作者:贾闻强 通常对象集合时要用到枚举器,但枚举器的实现主要是为了集合对象的访问控制,我们可以用CComEnumOnSTL模板去定义自己的枚举器,这样会涉及复杂的复制策略定义及集合方法实现的定义。假如我们不使用枚举器,而仅使用接口数组,集合对象会有一个相对简单许多的实现,本文将探讨这种方法的实现并提供完整的源代码。下载源代码 大小:20K下
2009-03-23 16:57:00
455
转载 ATL布幔之下的秘密(5)
ATL布幔之下的秘密(5)作者:Zeeshan Amjad译者:李马 (home.nuc.edu.cn/~titilima ) 原文出处: http://www.codeproject.com/atl/atl_underthehood_5.asp 下载本文配套源代码http://www.vckbase.com/code/downcode.asp?id=2583介绍 很多人认
2009-03-22 21:32:00
400
原创 ATL布幔之下的秘密(4)
ATL布幔之下的秘密(4)作者:Zeeshan Amjad译者:李马 (home.nuc.edu.cn/~titilima ) 原文出处: http://www.codeproject.com/atl/atl_underthehood_4.asp 介绍 到现在为止,我们还没有讨论过任何有关汇编语言的东西。但是如果我们真的要了解ATL底层内幕的话,就不能回避这一话题,因为ATL使用了一
2009-03-22 21:30:00
515
转载 ATL布幔之下的秘密(3)
ATL布幔之下的秘密(3)作者:Zeeshan Amjad译者:李马 (home.nuc.edu.cn/~titilima ) 原文出处: http://www.codeproject.com/atl/atl_underthehood_3.asp 介绍 如果你是个模板的高手,你就可以将ATL的学习作为一种享受。在这一节中,我将要尝试解释一些ATL使用的模板技术。我不能保证你读完本节后
2009-03-22 21:28:00
427
转载 ATL布幔之下的秘密(2)
ATL布幔之下的秘密(2)作者:Zeeshan Amjad译者:李马 (home.nuc.edu.cn/~titilima ) 原文出处: http://www.codeproject.com/atl/atl_underthehood_2.asp 介绍 在本系列的教程中,我要讨论一些ATL的内部工作方式以及它所使用的技术,这是本系列的第二篇文章。 现在让我们来探
2009-03-22 21:25:00
434
转载 ATL布幔之下的秘密(1)
ATL布幔之下的秘密(1)作者:Zeeshan Amjad译者:李马 (home.nuc.edu.cn/~titilima ) 原文出处: http://www.codeproject.com/atl/atl_underthehood_.asp介绍 在本系列的教程中,我要讨论一些ATL的内部工作方式以及它所使用的技术。 在讨论的开始,让我们先看看一个程序的内
2009-03-22 21:21:00
470
转载 ATL 的对象向导类型
ATL 的对象向导类型对象类型支持的接口备注简单对象没有 Add-in 对象IDSAddIn维护指向Developer Studio IApplication接口的指针Internet 浏览器对象IObjectWithSite维护指向场所(site)的指针ActiveX 服务器组件None支持O
2009-03-22 20:40:00
605
转载 ATL3.0中的窗口类
ATL3.0中的窗口类作者:Michael Park译者:京山游侠原文出处: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvc60/html/atlwindow.asp摘要:讨论Active Template Library (ATL) 3.0中的一些类,这些类围绕着Windows API建立了一个面向对
2009-03-22 20:38:00
670
转载 ATL COM 和 ADO
ATL COM 和 ADO原著:Amit Dey翻译:王先生(MrWang2000)原文出处:ATL COM and ADO 最近我在NIIT.Bangalore做一个在线银行工程。这个工程几乎是用VB编写,仅有一小部分涉及ATL组件,仅仅能教会我们编写分布式应用程序。 我编写的一个中间层组件用到了ATL和ADO来查询后端(SQL Server),部分代码展示在这里。 我假设读者懂(至
2009-03-22 20:36:00
669
转载 Windows窗口框架(API入门一)
#include #include #include //声明函数 //////////////////////////////////////////////////////////////////long WINAPI WndProc //消息处理函数 ( HWND hWn
2009-03-21 18:11:00
627
转载 Windows SDK编程初探
Windows SDK编程初探 要点:程序的主函数,消息处理函数 Windows程序具有相对稳定的结构,也就是说Windows程序是有一定的框架的,程序员要做的事情就是用特定的内容来填充这个框架。 主函数:就像C语言时程序的主函数main()的功能是一样的,他代表了程序的入口。但是这个函数看上去比main()似乎繁的多,如果是第一次看见这
2009-03-21 18:09:00
666
转载 Windows SDK笔记(七):创建MDI窗口
Windows SDK笔记(七):创建MDI窗口作者:冯明德 一、概述MDI窗口包含一个框架窗口和若干子窗口。实际上,框架窗口本身是一个普通主窗口,不过它的客户去被一个特殊窗口覆盖。这个特殊窗口是系统预定义的“窗口类”,类名称为:"MDICLIENT"。它负责各个MDI子窗口的管理。 二、窗口建立1.注册一个MDI框架窗口类,提供MDI框架窗口消息处理函数MDI框架窗口消息
2009-03-21 18:07:00
782
转载 Windows SDK笔记(六):使用对话框资源建立窗口
Windows SDK笔记(六):使用对话框资源建立窗口作者:冯明德Ⅰ.使用对话框资源建立主窗口 一、概述在Charles Petzold的书中,介绍了一种直接利用对话框资源建立主窗口的方法。使用这种方法,可以方便的在主窗口中安排子控件,而代码的其他部分跟用普通窗口时一样。我们知道,对话框是系统预先定义的“窗口类”,它有自己的窗口处理函数,我们自己写的对话框消息处理函数并不是真正的窗口
2009-03-21 18:06:00
789
转载 Windows SDK笔记(五):非模式对话框
Windows SDK笔记(五):非模式对话框作者:冯明德 一、概述使用DialgBox建立的对话框是“模式对话框”,只有关闭对话框后,程序的其他窗口才能进行操作。与此相对应,存在“非模式对话框”,对话框建立后,并不强制要求用户立即反应,而是与其他窗口同时接受用户操作。 二、建立非模式对话框使用CreateDialg建立。可以在WinMain中建立主窗口后建立,对话框句柄保存备用。hD
2009-03-21 18:03:00
710
转载 Windows SDK笔记(四):模式对话框
Windows SDK笔记(四):模式对话框作者:冯明德 一、概述对话框是一种特殊的窗口,它依据对话框模板资源而建立。它与一般的窗口有些不同,很多过程由系统完成了,虽然用户还是要提供一个消息处理函数,但在此消息处理函数中,不需要将不关心的消息交由缺省消息处理函数。实际上,调用缺省处理的过程又系统完成。 二、对话框消息处理函数对话框也需要用户提供一个消息处理函数,但这个处理函数没有普通窗口的
2009-03-21 18:02:00
546
转载 Windows 2000下Api函数的拦截分析
简介: Api拦截并不是一个新的技术,很多商业软件都采用这种技术。对windows的Api函数的拦截,不外乎两种方法,第一种是Mr. Jeffrey Richter 的修改exe文件的模块输入节,种方法,很安全,但很复杂,而且有些exe文件,没有Dll的输入符号的列表,有可能出现拦截不到的情况。第二种方法就是常用的JMP XXX的方法,虽然很古老,却很简单实用。 本文一介绍第二种方法在Wi
2009-03-21 17:58:00
384
转载 SDK 程序使用SkinMagic工具包换皮肤
SDK 程序使用SkinMagic工具包换皮肤作者:武汉理工大学 自动化 林津下载源代码http://www.vckbase.com/code/viewcode.asp?id=2269 在看《Windows 程序设计》的时候,就在用 SkinMagic 换肤,但 SkinMagic 中的 SDK 程序例子只能用文件方式加载皮肤,很不方便,而且还有一些Bug。后来看了下面这篇文章才茅塞顿开
2009-03-21 17:52:00
805
转载 Erlang 的Socket编程
Erlang 的Socket编程介绍英文原文 http://jerith.za.net/writings/erlangsockettut.html我学习 Erlang 已经有一段时间了,想的是做一个网络游戏之类的东西。然而,我没有找到一个适合我水平的像样的 Erlang socket 编程教程。因此我决定自己写一个。我针对的是有一定编程经验的人,不过倒不需要对函数式
2009-02-02 22:22:00
1522
原创 Socket_Kernel_Module 09
4.4简单示例:以下提供的是一个示例代码,该示例代码简单的注册了一个丢弃所有到达的数据包的函数。该代码同时展示了Netfilter的返回值如何被解析。/** 安装一个丢弃所有到达的数据包的Netfilter hook函数的示例代码*/#define __KERNEL__#define MODULE#include ;#include ;#include ;#include ;/
2009-02-01 23:00:00
632
原创 Socket_Kernel_Module 08
4.3 Netfilter总体结构4.3.1 介绍Netfilter是嵌入内核IP协议栈的一系列调用入口,设置在报文处理的路径上。网络报文按照来源和去向,可以分为三类:流入的、流经的和流出的,其中流入和流经的报文需要经过路由才能区分,而流经和流出的报文则需要经过投递,此外,流经的报文还有一个FORWARD的过程,即从一个NIC转到另一个NIC。Netfilter就是根据网络报文的流向,在以
2009-02-01 22:59:00
450
原创 Socket_Kernel_Module 07
4 利用系统提供Module: Netfilter4.1 Netfilter简介参考 http://www.ibm.com/developerworks/cn/linux/l-ntflt/index.htmlNetfilter是从2.4内核引入的,与Linux中的TCP/IP协议族紧密结合,提供了对网络功能的扩展功能。下面分别从报文发送和报文接收两个流程介绍Netfilter,Netf
2009-02-01 22:58:00
516
原创 Socket_Kernel_Module 06
3 利用proc实现内核和应用层交互Linux中Proc被称为虚拟文件系统,位于/proc中,其实就是内存的内容。可以利用Proc实现内核和应用程序的数据交互。对内核,要使用特殊的函数创建、删除proc文件, 参考下面代码: 3.1内核myProc_test.c代码 #include #include #include #include #include #include
2009-02-01 22:56:00
598
原创 Socket_Kernel_Module 05
2.4 随机丢弃IP包 在内核中发送包的最后一个函数/net/core/dev.c的dev_queue_xmit()中(就是2.1简单实例的hook过的函数),可以设定按照一定几率随机丢弃包, 当丢包后,需要kfree_skb(skb)释放包,并且停止进一步下传,即可2.4.1 修改dev_queue_xmit添加int (*myHook_IPDrop)(struct sk_buf
2009-02-01 22:55:00
481
原创 Socket_Kernel_Module 04
2.3 统计SYN包数修改IPHeader是发送方的修改,这里讲修改接收方。由Kernel_TCPIP知道,内核的入口函数为netif_rx(), IP层入口函数为ip_rcv(), tcp层入口函数为tcp_v4_rcv(), 因此统计TCP的SYN包数,就在net/ipv4/tcp_ipv4.c中的tcp_v4_rcv()添加Hook函数即可2.3.1修改tcp_v4_rcvi
2009-02-01 22:54:00
396
原创 Socket_Kernel_Module 03
2.2 修改IPHeader包IP层的最后一个发送函数是ip_output.c中的ip_finish_output(8.11) , 可以在此添加hook函数,这里是修改TOS字段,Type of Services,是表示优先级的,由于现在大部分路由器忽略此字段,因此修改TOS不会对现有网络造成影响 2.2.1修改 ip_output.cint (*myHook_IPTOS)(s
2009-02-01 22:53:00
540
原创 Socket_Kernel_Module 02
2 实现自己Module自己Module就是说,自己在源代码中添加hook函数接口,编译后就相当于在内核开了个后门;然后通过Module实现函数的具体功能,插入到内核中,即使具体功能有变化,只要接口不便,就无需再编译源代码,而且可以卸载Module。当然,也可以直接修改源代码添加功能,不过这需要添加一次就修改编译源代码一次,操作上不实际。 这部分,需要参考"Kernel_TCPIP"作
2009-02-01 22:50:00
513
原创 Socket Kernel Module 01
Socket Kernel Module 0 序言 本文主要介绍Linux下,对网络部分的内核如何安装卸载Module,从而在内核级别获取、拦截、修改网络传输数据。本文分为4部分,第一部分为"环境搭建";第二部分为"实现自己Module";第三部分"利用proc实现内核和应用层交互",第四部分"利用系统提供Module: Netfilter"。采用的Linux版本为2.6,"So
2009-02-01 22:49:00
582
原创 Socket Kernel Source Chapter06 connect
6 connect客户端调用connect,对应到sys_socketcall中会调用sys_connect6.1 sys_connectasmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr, int addrlen){ struct
2009-02-01 22:47:00
863
原创 Socket Kernel Source Chapter05 listen
5 listen对应到sys_socketcall中调用sys_listen(), 5.1 sys_listenasmlinkage long sys_listen(int fd, int backlog){ struct socket *sock; int err, fput_needed; int somaxconn; //fd通过s
2009-02-01 22:45:00
679
Scrum指南 2017版
2018-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人