摘要:
编写网络包(存储在堆上)转换程序时,在hp-ux机器上运行时会遇到si_code: 1 - BUS_ADRALN - Invalid address alignment. Please refer to the following link that helps in handling unal... 阅读全文
摘要:
在开发高性能服务器中,定时器总是不可或缺的。 常见的定时器实现三种,分别是:排序链表,最小堆,时间轮。 之前用的定时器是基于最小堆的,在定时器数量不多时可以使用, 目前公司用的框架中的定时器是基于简单时间轮的,但是为了支持大范围的时间,每个齿轮的所维护的链表为有序链表,每次插入时先mod出s... 阅读全文
摘要:
开始用mongodb建立一套监控体系,安装解压即可。附上编写的mongodb启动管理脚本。建议 mkdir sbin 目录,放到sbin目录下。废话少说,代码如下:#!/bin/bashMONGODIR=$HOME/local/mongodbMONGOD=$MONGODIR/bin/mongodDB... 阅读全文
摘要:
项目中用到了java的反射,可以大大减少代码量。但是反射的性能却不容乐观,做了个简单的测试,如下。 public void noreflect() { Person p = new Person(); for(int i=0; i<10000000; ++i){ Person.setName(p, "name"); Person.setAge(p, "22"); } } @Test public void reflect(){ Person p = new Person(... 阅读全文
摘要:
到新公司三个月了,上个月做的是Beacon项目,详细的设计思想还没有写文档。这两周开始搞Hadoop,开始阅读相关论文。开始编写MR程序。开始写java,大学时用java较多,工作后就一直在用c/c++/php/shell/js 等。并不排斥语言,各有各的优劣。只是需要从底层的角度去理解各程序的运行态。 Hadoop的原理架构方面的文章等再深入了解之后再写。先写下上周做的RTB日志分析MR程序的设计,懒得画图,仅用文字表述。需求: 1. 读入RTB log日志,对log日志进行分析 按照特定格式输出,并对某些字段做 异常 检测。日志为json格式,顺序无关。默认输入格式不可靠(必... 阅读全文
摘要:
1. 今天在centos6.4系统上编译so,当so引用其他so或者 .a 静态库时, 会出现如下错误(以前未遇到过,与编译器相关,有的编译器编译时会自动将fPIC选项加上):/usr/bin/ld: /home/gavin/local/json/lib/libjson.a(json_object.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC解决: 重新编译第三方库, 在configure文件中找到相关CPPFLA 阅读全文
摘要:
转眼间已经毕业两年半了,来盛大也已经三年半的时光了。几多欢喜几多愁,时光荏苒,不变的是这棵依旧萌动的心。 2010年8月我只身一人来到上海,来到了这家当时令很多同学都艳羡的公司(盛大给实习生的待遇几乎是当时实习生待遇最高的),从事c++后端服务的研发,开始了全新的工作生涯。经过一个多月的学习之后,便开始了真实的项目。 2010年10月,我参与了工作后第一个正式的项目---基于现有网络库开发一个Linux平台下的verifyserver。这个项目计划由三个人完成---一个老员工,我,邦邦(一个研究生实习生),我和邦邦只负责异步日志等边缘模块开发,宗指导想让我们练练手,但高高不同意,... 阅读全文
摘要:
注:该文章最初写于2011年5月,应老师邀请投稿于学院电子期刊。今摘录如下:前言:三年前的今天,我徜徉在美丽的明远湖畔,一丝丝茫然,更多几分畅想。三年后的今天,我坐在上海盛大在线研发部的一个小小位置上,开始了自己的编程生涯。比别人要早些踏出校门,多了几分忙碌,少了些许安逸。回想大学生活,好像不曾有过安逸的时光。有时也会想念明远湖畔那静谧的风景,怀念图书馆中静静读书时的味道。面试经历及现状:2010年6月,我的简历被推荐到盛大在线HR的桌前,接着我接到了电话,接着坐在了我所在部门的经理面前,开始了我至今为止第一次也是唯一一次招聘面试。面试的过程很简单,问的题目有一半我不知道。现在想来,或许是当时 阅读全文
摘要:
对软件测试的认识: 软件测试要求开发人员避免测试自己开发的程序。从心理学角度讲,这是很有道理的。特别是一个相对复杂的系统,开发人员在刚刚开发完成的时候,尚沉浸于对自己设计的回味之中。此时去测试的话往往会侧重于程序本身的功能通过性测试。很难发现错误。 测试是为发现错误而执行程序的错误。一个人发现别人身上的不足很容易,但发现自己身上的错误便不那么容易了。所谓“吾能指人之失而不能见己之失,吾能指人之小失而不能见己之大失”者是也。一个软件开发人员需要养成一种习惯,正视自己开发的软件,特别是刚刚完成的软件。要看到它的不足,知道他能做什么,不能做什么。在不能做的时候是如何处理的。对边界条件是否做了严格的. 阅读全文
摘要:
需求场景:1. 页面内有多级iframe嵌套。2. iframe内部某些按钮点击后需要弹出浮层。3. 浮层需要将整个浏览器窗口遮罩,且浮层位于浏览窗口中部。效果如下:解决思路:顶层页面内预留用于显示浮层的div(命名为popdiv),且该div内有一预留的iframe,该iframe用于加载浮层内容,命名为popiframe提供可以直接访问浮层内容的url连接iframe触发显示浮层事件时,通过window.top 设置顶层窗口的popiframe.src。通过计算浮层内容的长宽及当前窗口的长宽设置popdiv的位置,使其在窗口中央显示。实现:顶层页面相关html代码:<div id=& 阅读全文