技术开发杂谈
文章平均质量分 74
nhn_devlab
NHN中国技术开发中心专注于互联网的核心技术的开发和创新,大规模高性能的计算平台的搭建,及云计算和面向服务的技术研究。中国技术开发中心主要负责NHN互联网基础技术和平台化计算服务,是R&D团队。开发中心现有多个团队,职能涵盖软件系统和服务平台的自主设计,开发,测试和维工作
展开
-
强大的UNIX命令行
我们传统的写程序办法是造单一而功能全面的程序,设法在一个程序里提供能够全面满足需求的功能,这样的做法会造成程序庞大而复杂,可维护性降低。Windows上的程序通常如此,具有全面的功能,基本上不考虑与其他程序的配合,比方说有两个程序都需要分页,他们会各自开发一个分页模块,而不是去寻求共用分页功能。在UNIX世界里的做法与之相反,每个程序只做单一的功能,除此之外不做任何多余的事情。复杂的功能通过多个程序之间配合完成(通过管道)。原创 2010-12-03 13:56:00 · 840 阅读 · 0 评论 -
使用I/O完成端口模型监测磁盘文件状态
众所周知,I/O完成端口(IOCP)是目前性能最好的一种I/O模型。其大体的思路如下:在程序处理的过程中,阻塞类型的操作有很多,如(Socket Send/Recv), 磁盘读写,外部硬件接口(如打印机,扫描仪)等;以往的模型在处理阻塞事件时,为了提高程序在阻塞同时的并发性,经常使用多线程,这样就有很多可调度的线程并行在系统中,OS内核会花费大量的时间在线程的Context切换中,线程本身工作处理的时间会很少(可称工作饱和度很低),极端的情况下线程切换的时间甚至可能会大于本身线程的运行周期。原创 2010-11-25 10:18:00 · 1319 阅读 · 0 评论 -
JDK ObjectOutputStream的 “内存泄漏” 问题
如果一直使用ObjectOutputStream.writeObject() 方法, 内存将会一直增长, 直到耗光所有内存为止. SUN给我们的解决方案是, 调用reset(), 释放占用的内存.实际上这个并不是一个Bug, 而是源于对ObjectOutputStream的工作机制缺乏了解, 使用不当造成的.原创 2010-11-22 14:48:00 · 875 阅读 · 0 评论 -
ACE框架简介以及一个基于ACE的C/S服务程序实例
作者:买乌拉江 前段时间参与一个C/S结构的系统的开发,使用C++,其中server端的系统要实现Linux和windows系统的跨平台。因为系统的结构和业务逻辑都不太复杂,所以开始就决定不使用类似ACE或Boost之类的库,而是自己实现。结果在实现过程中,还是遇到了许多麻烦的地方,例如: a) 跨平台。这一点相对比较容易,主要是针对类似多线程、socket通信等操作,定义统一的接口,使用define实现。基本上,只要定义良好,使用起来就很方便,也不需要多少改动。 b) Socket通信。在socke原创 2011-01-13 09:15:00 · 4273 阅读 · 0 评论 -
Visual Studio Debug 终止时命令行窗口变成 "zombie" 的问题
用Visual Studio 2008 对Console程序进行调试的时候, 如果程序不是正常退出, 而是用Stop Debug命令中止调试时, 命令行窗口会遗留下来, 变成没有主人的孤儿.这个窗口无论如何都关闭不了, 在进程列表里面也找不到认领的进程. 想要注销/关闭/重启电脑都会失败原创 2010-11-16 17:08:00 · 723 阅读 · 0 评论 -
CUBRID 中的线程模型
本文旨在说明CUBRID这一数据库引擎中的线程模型。将分别从客户端和服务器端两个视角描述一个请求是被CUBRID响应的过程。原创 2010-11-15 11:03:00 · 1533 阅读 · 3 评论 -
快速测试一条Select SQL语句是否合法
当用户输入一条select 语句时,有时仅需要关注此SQL语句是否合法(即:执行的结果不重要)。如果涉及的数据表较小,在数据库执行select 语句,能够快速返回; 如果数据表很大,甚至千万条数据,则非常耗时。因此,需要对select 语句进行包装或加工,以达到快速测试的目的。原创 2010-11-12 17:39:00 · 1158 阅读 · 2 评论 -
应用程序从Windows到Mac OS x的迁移
将应用程序从Windows平台移植到Mac OS X时,主要涉及到工程类型,数据类型,进程间通信,多线程同步,操作系统调用API等方面的移植。原创 2010-11-12 17:17:00 · 3535 阅读 · 0 评论 -
Mac 下XPCom开发遇到的问题
一直从事Windows环境下开发,对Mac的了解非常少.近来要做一个Mac环境下的Firefox扩展开发,所以只能赶鸭子上架,边学边做。Firefox扩展开发分为两部分:JavaScript 和 XPCom。网上有太多好的教材可以参考,所以这里只是记录些我在Mac下开发XPCom遇到的小问题。1. 文件格式Firefox 的文件格式是i386,而在支持64位的Mac机器下,很多安装包和编译默认都是生成x86-64格式,导致不能正确解析,所以需要进行确认调整。当然我们xpcom也必须为i386.2原创 2010-12-14 15:50:00 · 849 阅读 · 0 评论 -
AWK简介
作者:赵燕燕 (一)AWK:Linux下有很多基于文本的样式扫描和处理的工具,他们可以实现以文档的列或行为单位进行扫描处理,大大减轻了文本处理的工作量, 这样的命令包括sed, grep, sort以及find等等,awk是其中很优秀的一种。他的功能大大强于sed和grep.它不原创 2011-07-13 13:34:39 · 666 阅读 · 0 评论