自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 问答 (3)
  • 收藏
  • 关注

超轻量 pthread 集结点实现

          我需要的 pthread 线程集结点功能,使用同一集结点的线程将通过 rend_wait 函数等待,当集结点到达指定数量的线程后同时激发继续执行。使用 pthread 的 mutex 和 cond 超轻量实现。下面 rend.h 是集结点实现,rendezvous.c 是测试应用。 /* * rend.h * * Created on: 2009-11-1...

2009-11-16 20:53:16 143

htmlparser 中修改 HTML 内容的方法

          htmlparser(HTML Parser)是 sourceforge.net 上的一个成熟的 java 项目。它可以解析 HTML 页面,用来抽取或修改其内容,通过过滤器、访问者来访问程序关心的标签(Tag)。 htmlparser 写道HTML Parser is a Java library used to parse HTML in either a ...

2009-08-24 16:03:55 378

启用 IHS GZip 压缩提高网络 IO 性能

          默认安装配置下 IHS 并未启用 GZip 压缩选项,我们也可以通过 IHS 本身的 httpd.conf 文件配置和通过 HttpWatch、Fiddler 等工具查看前端 HTTP 响应内容来确认 IHS GZip 压缩是否启用、正确。一般情况下应该考虑启用 Web 服务器上 GZip 压缩,这样可以有效缩短客户端到 Web 服务器间的网络 RTT 指标,尤其是在中低速网络...

2009-08-16 02:17:49 494

Easymock & DbUnit 入门介绍

          下面内容是昨天应甲方要求给项目组做的 Easymock 和 DbUnit 工具入门介绍及实践方面交流的文字部分。贴在这里一方面作以记录,另一方面为也有此需要的兄弟提供些素材。(我也参考&引用了不少,呵呵时间紧。) 单元测试与 mock 测试方法          单元测试是对应用中的某一个模块(class)的功能(method)进行验证。在单元测试中,我们常...

2009-07-18 14:00:27 184

JRE Hack 浅度研究

          很多时候对应用软件代码层面的性能调优受到很多主观、客观条件的影响,本文所述的 JRE Hack就是在这样的背景下展开的。当前的应用中需要记录大量的调试信息,程序直接采用了 System.out.println方法来将这些内容输出到日志文件中(WebSphere 的 outputStreamRedirect 默认配置到了${SERVER_LOG_ROOT}/Syste...

2009-06-14 01:12:19 181

活用 LoadRunner 对应用接口 Profiling

          在二年前开始使用 LoadRunner 工具,那时还是 8.0 版 Mercury 的产品,一年前开始使用 HP 的 LoadRunner 9.0,很好很实用的工具。用了这么长时间也没写过与它有关的东西,主要是觉得真是没什么可写的,仅仅是一个负载生成工具,为了在性能测试中生成需要的压力而已,能够很灵活的开发基于 C 或其它语言(如 C#)程序脚本,当然了为了使用它的一些自动指标...

2009-06-06 14:17:46 133

记一次 java class loader 引发的严重内存泄露

          本周负责对一个 Web 应用进行故障分析,最终发现应用停止响应故障是由于在特定情况下 java class loader 所引发的严重内存泄露造成的,在此作以记录。          该 Web 应用故障表现为运行一段时间后,会出现服务停止响应的情况,间隔时间也很随机。在对其 javacore 分析后发现,停止响应的原因在于 jvm heap 耗尽,导致 web con...

2009-05-29 03:21:12 966

几个常见的 Socket 连接错误及原因

          下面列出了几个在客户与服务进程连接中常见的几个 Socket 错误,并分析了原因。后续再逐渐补充吧。 ECONNABORTED          该错误被描述为“software caused connection abort”,即“软件引起的连接中止”。原因在于当服务和客户进程在完成用于 TCP 连接的“三次握手”后,客户 TCP 却发送了一个 RST (复位)分...

2009-05-11 21:54:29 2176

RLIMIT_*

用于取得 *nix 平台上的 RLIMITs 值,我猜应该是完整列表吧。参考了 apue2e。 #if defined(SOLARIS)#define _XOPEN_SOURCE 500 /* Single UNIX Specification, Version 2 for Solaris 9 */#define CMSG_LEN(x) _CMSG_DATA_ALIGN(size...

2009-04-27 19:57:16 190

原创 Linux 创建多进程 & 线程时的进程栈段处理(学习记录)

          最近有日子没写博客了,这段时间有点事忙活一阵子,好在已经接近尾声。也该轮到投些时间好好研究下真刀真枪的东西,干些有意义的事。这两天抽时间继续往下看了看 Linux 内核和 Unix 编程的书,边看边琢磨,想到个关于进程在 fork 子进程或 pthread 出 lwp 时父亲进程的栈段是如何处理的问题,结合 Linux 内核的说明对这个问题有了明确的理解,在此做个笔记。大家也一...

2009-04-21 21:48:17 154

提高 .NET 应用 XML 处理性能的几点开发经验

          把这二周做的一个 .NET 应用性能优化的实践经验分享出来,记录的同时也请大家踊跃发言,分享更多。由于业务特点、整体架构设计和外围系统等因素,这个应用的性能瓶颈主要是由于 XML 相关处理造成的,其中包括大 XML 数据(50M 以上)的解析和查询、从外围系统下载 XML 数据、B/S 结构中的并发处理快速响应要求等。通过本次实践,对 .NET Framework 提供的 XM...

2009-03-21 12:52:56 140

Flex 3 RIA 应用 + WCF 服务开发注意事项(2009-5-20 updated)

           这两天应需要研究了下 WCF 服务和 Flex 3 RIA 相关的开发技术,并上手写了一些代码,发现之前的考虑有不少细节问题需要注意、解决,打算用这篇持续更新的文章来做以记录,将通过 Flex 3 RIA 应用来使用 WCF 服务过程中发现的问题和解决方法以注意事项的形式记录清楚。正所谓吃一堑长一智,也请大家多多分享,一起补充。 WCF 服务使用的 SOAP 版本...

2009-03-17 22:41:56 183

使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践)

          做过应用诊断与优化的朋友都知道内存泄漏和带来的危害,对这种情况的分析和定位一般会比较困难,尤其在 .NET/Java 应用中,隐式的堆内存管理以及托管对象间纷繁复杂的引用关系,使分析和定位问题更加复杂。本文以我的了解,尽量说明了:  一种对 .NET/Java 托管内存类应用的内存泄漏分析和诊断方法;使用 .Net Memory Profiler 工具对一个真实 ...

2009-03-06 00:59:43 809

使用开源免费工具检查 Web 应用潜在的安全缺陷

          这几天应工作的需要,一直在调查、研究一些开源、免费的 Web 应用安全缺陷检测软件。经过试用,感觉这方面的工具很多,但和 Rational AppScan 这种商用软件相比都不够强大、全面(当然,可比性也不大),各个工具都覆盖了一些方面的问题,但又都不全面,可能这也就是开源社区“产品”的特点和优势吧,呵呵。在这里把觉得比较好的三款工具实践过程在这里做个简单记录、分享。 ...

2009-02-24 21:57:42 264

Linux 引导加载学习笔记

          本文以是我的学习记录,其中一些文字和图片来自参考资料所列文档,感谢作者对其知识和分享!           最近在自学 Linux kernel 方面的东西,这两天了粗浅的研究了下 kernel boot 过程,在此记录。这里所指 Linux 引导加载未涉及虚拟化环境,即系统未运行在 hypervisor 之上。           Linux 通过执行不同阶段的引导...

2009-02-16 23:23:47 192

gen_server tasting 之超简单名称服务(再续)

          前几天写了篇《gen_server tasting 之超简单名称服务(续)》东西,亲身体验了 erlang otp 的强悍威力。这周正好有时间对 vsns/erlang 做个性能测试,验证传说中的 erlang 强大威力,其中包括了容错测试用例,关注在大并发压力下(13000tps)时,服务 oops 后通过 supervisor restart 时对整体性能的影响。在最后...

2009-02-12 15:32:44 132

gen_server tasting 之超简单名称服务(续)

          前几天写了篇《gen_server tasting 之超简单名称服务》东西,亲身体验了 erlang otp 的强悍威力。不过正所谓“超简单”,那个版本还是很初级的,所以这两天边继续研究边动手,开发迭代版本的名称服务。 在这个版本中,需要提供如下功能: 使用 otp 的 supervisor 监控树,保证服务可靠性。添加日志功能,通过定制 sasl alarm_...

2009-02-07 17:28:48 177

gen_server tasting 之超简单名称服务

          年假不能白休,时间不能浪费,看了 erlang 程序设计的 gen_server 章节,为了更好的理解、掌握于是上手写一个名称(键值)服务器。这个 lzy_name_svc 服务器是基于 otp gen_server 写成的,在底层键值被保存在了 erlang 的进程字典里,并且用于存储字典的进程是可以替换的,可以通过 lzy_name_svc:start/1 启动服务时指定,...

2009-02-01 23:37:22 147

原创 名副其实技术博客的必备条件

真正成为名副其实的技术博客必须具有以下所列的一些重要因素: 经常更新的文章;蕴含丰富的知识;相关主题的帖子;对重要技术或概念的深入剖析;以及独特的观点或风格。// 2009.01.30 添加 //// “合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。” --《老子》 做技术要切忌浮躁、好高骛远。自勉! // 2009.02.06...

2009-01-21 10:38:34 125

几个常见的 Web 应用安全缺陷及样例(续)

          前些日子写了一篇《几个常见的 Web 应用安全缺陷及样例》东西,这两天正好有空同事希望能够做一个 IBM Rational AppScan 的实践和 Web 应用安全方面的交流,本来之前对这方面关注、研究的不多,既然现在有这个机会,就索性好好利用下,再研究研究。由于行业的原因平时接触的 MIS 较多,所以这次 SQL 注入类缺陷想得多些。 SQL Injection...

2009-01-14 15:39:14 392

无奈的 fwebsense released

         被公司配的 Websense 搞得很伤心,但凡是人民群众热切需要的就是公司 Websense 策略拦截的。无奈写了这个 Firefox 扩展,用于自动帮我关闭被过滤页面的标签页(Tab browser),免得我一个一个关。  希望公司以开放的精神善待员工,另外更重要的是鄙视利用公司网络资源乱搞的同事,别把风水都带坏了,呵呵。 fwebsense_0.1...

2009-01-05 10:40:20 111

当心跨页面状态传递设计中潜在的内存溢出

          前两周做的一个 Web 应用系统项目中,遇到了一个由于跨页面状态传递机制设计不合理,造成内存泄露的小问题 。有这里做以记录,欢迎大家一同探讨,同时在本文的后面探讨了解决方案,并详细探讨了一个自定义 Session 实现并提供了完整代码 。 闭话少絮,描述问题请先看图。   上面的序列图中描述的一个这样特点的业务: 对于客户端用户来讲...

2008-12-31 22:55:33 113

几个常见的 Web 应用安全缺陷及样例

          前两周在做一个项目,接近尾声时对应用系统进行了安全缺陷检查,主要是通过 IBM Rational AppScan 工具(之前是 WatchFire 的产品)自动进行的。通过对结果的整理、研究对 Web 应用的安全检测和漏洞防范有了新的理解和认识。在这里分享一下,实际上一些概念也比较常见了,其中还结合了几个实际的样例代码,希望大家能够有所交流、提高。 SQL Inject...

2008-12-31 14:39:23 513

使用 .NET 调用有自定义 Handler 验证的 XFire Web 服务

          定义和使用 Web 服务都不是一件费力的事情,尤其在当前框架和工具的支持下更加容易。一般来说,常见情况下我们都会使用同一个开发语言、框架和工具来开发 Web 服务和调用服务的客户端。但是由于技术或非技术上的原因,又需要我们在不同的平台上发布、订阅彼此的 Web 服务。就在昨天,应同事的需要,就在 .NET 平台上使用 C# 编写一段调用部署在 XFire 上的 Web 服务的客...

2008-12-12 16:35:16 136

关于 RIA/Ajax 应用性能优化的一些思考

本文以现有理解写成,做为记录和基础。           在做客户端/服务器性能优化的项目里,往往主要的调优对象是服务端,因为在这种分散请求、集中处理的总体架构中,决大部分情况下服务端性能的高低,就决定了客户端体验的好坏,也就是我们比较关心的吞吐量和响应时间的关系。但是,随着接触此类项目的增多,发现在 B/S (B/S/S 也好)中采用 RIA/Ajax 做为客户端时,一些瓶颈明显是存...

2008-12-09 12:28:36 133

使用 PerformaSure 监控 Apusic

          Quest PerformaSure 是一种多层 J2EE 应用性能诊断工具。可对 J2EE 分布式系统进行全面的分析,包括 J2EE 应用服务器、Web 服务器、数据库服务器和主机资源负载等。在 PerformaSure 官方文档中列出了支持的中间件产品,包括WebSphere、WebLogic、JBoss等等,支持还是比较全的,在企业应用里都是主流、常见的产品。昨天一个事...

2008-12-02 10:44:36 175

自己闲暇时间搞的 gbconv 0.1 released

http://code.google.com/p/gbconv/ The http proxy server convert text/html content encoding from gb* to utf-8. It is base on webrick/httpproxy and ruby.The gbconv is running on windows platf...

2008-12-01 20:36:51 120

win32-process(0.6.0) Process::kill 方法发送POSIX信号的问题

这两天在写一个工具,今天下午被win32-process(0.6.0)包的Process::kill方法浪费了2小时。 trap("INT") do puts "got signal INT"endputs "Sup"getsProcess.kill("INT", Process.pid); 这段代码举个例子,目的很简单,就是想接收和发送一个POS...

2008-11-30 16:58:13 234

原创 Keep smiling and never give up

My love, you are strong and you will do well in life,I love you and my children deeply,Today and tomorrow, let each day grow and grow,Keep smiling and never give up, even when things get you dow...

2008-07-20 21:46:37 503

rubyscript2exe-0.5.3 生成 native image 的问题

IBM Performance Tester 7.0.2 无法录制 rubyscript2exe-0.5.3 生成的 Socket Client 应用的 Socket 通信     上周五作了一份 IBM Performance Tester 实践的工具导入培训,其中为了演示基于 Socket API 协议的应用测试过程,用 Ruby 写了一个 Socket Client 应用,Serve...

2008-06-23 11:55:07 118

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除