自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux C++程序进行性能分析工具gprof使用入门

性能分析工具软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键。这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是要重点测试版本的性能表现和稳定性的。对于软件测试过程中发现的性能问题,如何定位有很多的方法。基本的方法可能是开发者对代码进行review,或者是使用一些工具对代码进行性能分析。常见的性能分析tuni

2013-10-09 10:23:03 18476 4

转载 用 OProfile 彻底了解性能

developerWorks 中国Linux文档库用 OProfile 彻底了解性能识别现实系统中的性能瓶颈PrPrasanna S. Panchamukhi, 开发工程师, Linux Technology Center, IBM India Software Labs简介: 由于在硬件和软件之间有一些意料之外的交互

2013-10-08 11:23:41 1931

原创 Ubuntu 13.04 小米2S连接Eclipse真机调试

最近想继续将自己以前的一些Android程序代码进行改进和优化,遂将以前的代码在windows下导入eclipse工程,谁知导入后便eclipse假死,甚至windows资源管理器也动弹不得,诡异的是cpu使用率和内存占用还绰绰有余。无奈干脆到linux下面来搞。于是开始搭建Ubuntu13.04系统下的android开发调试环境。在搭建过程中遇到一些问题,做个积累,也希望能够对后来者有所帮助。

2013-09-17 00:14:10 7546

原创 工作一年的一些感受

2012年7月离开学校至今已经整整工作一年了,之前工作一直比较忙,很久都没有更新博客了。今天就先谈谈自己工作这一年的一些个人体会吧。整理整理心情,总结过去的一些问题和想法。总的来说,工作的这一年,从技术上面的提升不是预期那么多,可能跟自己的职位有关,学习掌握了一些新的语言,一些理念,一些方法。个人软素质方面暴露出的问题还是挺多的,需要加强。技术能力技术能力本身不重要,学习新技术

2013-09-15 19:07:03 1327

原创 Python开发中的一些小的tips记录

最近开始学习python语言的开发,并在一个实际的小工具中使用Python语言编写。其中遇到的一些小问题解决办法做一个记录。关于import在python中常常需要引入开发者自己开发一些模块或者说第三方模块的问题。比如在同一个目录比如test1下有两个py文件,test1.py,test2目录下面有test2.py。如果过test1.py需要用到test2.py中的某些定义类型或者方法,就

2013-03-24 15:52:03 1749

原创 boost c++ lib on linux(5) - 小练习——获取网页内容并提取有用信息

2013年来啦,新年伊始,写一篇博客,把之前学习boost的一个小练习晒晒。上班路上还自行车一直是我比较困扰和蛋疼的事,每次骑到公司,附近的还车点都满了,又不知道附近哪里还有空位,只能盲目的寻找,不知屌丝的狼狈你可懂。于是开始想办法怎么弄到自行车还车点的信息,好在杭州官方有在线查询的网站,就想分析一下,找到请求信息的url。PS:网站设计的相对简陋,被我找到请求的url了。喏,Look!(ur

2013-01-04 20:26:38 2788

原创 2013年新年目标

技术:1、Python语言、Ruby语言深入2、C++ Linux开发3、ISearch源代码学习、应用开发、性能优化4、Linux学习,内核,性能诊断技术读书:1、《深入理解Linux内核》2、《UNIX环境高级编程》3、《黑客与画家》

2013-01-02 14:37:47 1332 1

原创 gdb调试工具使用(1)

今天开始学习在linux下面进行c++代码的调试方法的学习。使用GDB调试c++代码是unix环境c++编程的基本技能。对于长期在windows平台下面从事c++编程的程序员来说,在linux环境下面进行gdb调试确实有点难为人,但是gdb本身是一个功能强大的代码调试工具,只要多使用,熟悉了基本的命令使用方法和windows平台下IDE的调试相关功能有个很好的影射,那么在linux下面进行c++开

2012-11-17 16:58:46 6173

原创 boost c++ lib on linux(4) - thread同步条件变量学习——生产者消费者队列

利用最近一周晚上下班回来的闲散时间继续学习boost线程库的使用。在我的上一篇文章《boost c++ lib on linux(3) - thread库的使用初学》中记录了boost线程库的基本使用方法和编译链接,参杂了一些线程互斥变量,本地存储的类的使用。本文记录了本周我学习线程同步条件变量的使用实例,主要实现了生产者消费者模型的队列使用过程,通过多线程条件变量实现生产者消费者模型队列。这

2012-11-10 14:33:45 3129 2

原创 boost c++ lib on linux(3) - thread库的使用初学

今天学习了一下boost thread库的使用,只是粗浅的学习了怎么使用boost thread的库函数构建多线程的c++程序,了解了基本的thread创建,线程同步以及线程本地存储的使用。都在一个代码实例中进行了 验证。其中还有一个条件变量的使用在不好在一个代码中实现,以后有时间在编写验证一下。源代码/*******************************************

2012-10-14 15:57:08 2945

原创 STL vector使用bind2nd函数查找和删除元素

在小需求代码review中看到有对vector对象调用find_if函数,并通过bind2nd来帮顶一个自定义的一个比较器,用于在vector中查找符合特定条件的元素同过find_if返回元素的迭代器。于是上网找了一下关于find_if和bind2nd的用法,学习一下。bind2nd和bind1ndbind2nd和bind1nd是用于将二元运算转换为一元运算子,二者不同在于将要比较的值最为

2012-10-11 20:24:49 2742

原创 Automake使用第三方库的方法

初学automake,只是使用简单的helloworld程序走了一遍流程,现在有个项目需要,自己试着使用automake自己编译了一下,主要遇到的问题是有第三方的库,例如pthread,alog,anet等库的时候就不知所措了,不知道在哪里添加相应的配置信息才能在自动生成的makefile文件中加入第三方库的引用信息,使得编译的时候能够让编译器找到库文件。我的配置是这样的:在Makefil

2012-09-11 17:31:26 3490

原创 boost c++ lib on linux(2) - lexical_cast字符串数值转换

在c语言中字符串数字之间有很多转换函数,这些函数名称和使用时很难记住,在boost  c++中,提供了一个统一的字符转和数值之间的相互转换的工具lexical_cast,来统一操作,方便程序员快速实现字符串和数字之间的转换。代码实例:/*************************************************************************

2012-08-19 15:16:28 1511

原创 boost c++ lib on linux (1) - regex example with binary boost lib Regex

在上一篇boost学习文章《boost c++ library on linux初体验》中,主要讲了boost的非二进制库的使用,并实现了一个helloworld程序,此外还简单介绍了boost库的基本使用方法以及我在搭建自己的boost c++ on linux的编程环境过程中所遇到的问题和解决方案。在本篇文章中,简要记录一下boost c++官网Getting started文档中的boo

2012-07-23 22:04:15 2195

原创 boost c++ library on linux 初体验

最近开始学习boost c++ library,并且打算用业余的时间长期坚持下去。再一个就是通过学习boost库练习在linux下面进行c++编程。今天记录一下boost的入门吧。首先,入门最好的材料就是boost官方网站上面的文档,在什么平台上,怎么开始都说的很清楚,而且很有条理,过程清晰。boost的库的压缩包直接可以从boost的官网上下载得到,下载后直接用unzip命令解压到/us

2012-07-22 22:42:35 5868

原创 离开幼稚园

年轻人不要试图最求安全感,特别是年轻的时候,周遭环境从来都不会有绝对的安全感,如果你觉得安全了,很有可能开始暗藏着危机。真正的安全感,来自你对自己的信心,是你每个阶段性的目标的实现,而真正的归属感,在于你内心深处,对自己命运的把控,因为你对强大的对手永远是自己。——李嘉诚踏入社会,我被时间推向远方,离开幼稚园,走向那朦胧的理想安全感,过去的三年甚至更久,我一直被它所牵绊着。李嘉

2012-07-18 21:41:00 830

原创 淘宝广告搜索平台部面试

2011-9-16 淘宝广告搜索平台部面试一共两个人面,先项目介绍,介绍介绍着就就问问题开干。1、  在白板上写个tcp服务端程序的大致框架。2、  问:除了你写的多线程和多进程的方法,还有什么方式实现服务端的高并发,提高性能?3、  阻塞和非阻塞

2011-09-19 21:42:42 1088

转载 STL内部实现总结

原文地址:http://kb.cnblogs.com/a/1626891/STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string.二 : 关联容器,     有set, multiset, ma

2011-09-14 21:25:12 1749

转载 排序算法总结

原文地址:http://www.cnblogs.com/pangxiaodong/archive/2011/08/19/2145260.html1. 简述    本文主要说明一些常用的内部排序算法的分类、复杂性和稳定性。主要基于现在的理解和学习,详细准确的复杂

2011-09-14 20:38:09 989

原创 腾讯SOSO面试总结-细节决定成败

今天腾讯soso面试,表现不太好,记录下来,总结经验。题目:1、给定一个数组a[N]数组大小为N,数组中有M个元素,编程实现插入一个整数b的函数,如果数组空间不够则将最小的数淘汰掉2、求字符串之间的最大匹配,最长公共连续字串3、数组的最大子段和

2011-09-07 22:08:33 1019

原创 电话处女面-阿里巴巴测试开发&腾讯深圳客户端研发

阿里巴巴测试研发工程师内推电面:面试了大概20分钟,很好奇为什么没问测试相关的问题,一开始就对我项目经历中的Android移动开发发问,问整个系统的功能,客户端Android的程序实现细节,方法。最后向引导他问我c++网络编程的项目去,貌似对方不感兴趣。没问算法,数据结构,编

2011-08-23 21:46:40 1928 1

原创 POJ 2948 - 典型动态规划

题目:http://poj.org/problem?id=2948 解决方法:动态规划。另dp[i][j]表示子矩阵 0-i行,0-j列的最优方案的值,则状态转移方程为:dp[i][j] = max(dp[i][j-1] + sumNor[i][j], dp[i-1][j]+sumWes[i][j])。意思是,当前格子i,j有两种决策,第一,选择向北的传送带;第二,选择向西的传送带。选

2011-06-09 21:20:00 1581

转载 宏与内联函数(面试常考)

<br />原文地址:http://blog.csdn.net/fisher_jiang/archive/2008/05/23/2472210.aspx<br /> <br />第一部分:宏<br />为什么要使用宏呢?<br />因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间

2011-05-19 21:53:00 733

原创 Windows 7 环境下基于原始套接字和ICMP的路由探测开发的问题【1】

<br />在Windows XP环境下开发的路由探测程序搬到Windows 7下面编译运行发现在recvfrom()调用后并没有收到应有的ICMP响应报文,问题困扰了我大概1天的时间,最后发现把代码放到XP下面编译可以,运行结果正确,到了Windows 7下面就是不行。通过Google得知,在Windows 7平台下,安全策略要比Windows XP严格许多,默认情况下,Windows 7的防火墙屏蔽了ICMP回显报文,也就是说,防火墙阻止了ICMP报文,所以在调用recvfrom函数的时候总是SOCKE

2011-01-09 20:25:00 2277

原创 Hadoop笔记【1】

 What's Hadoop<br />一个支持数据密集型分布式系统的软件框架,使用java编程语言。能够支持成千上万个节点和海量数据处理的集群计算。<br />Hadoop Homepage:http://hadoop.apache.org/<br />Hadoop 中文资料:http://hadoop.apache.org/common/docs/r0.18.2/cn/index.html<br /> Linux安装下载hadoop最新的release版本(hadoop-0.21.0)安装jdk,配置好

2011-01-02 22:03:00 1092

原创 年终总结2010

<br />抓住2010年的尾巴,来总结一下自己这一年来的混迹于IT界(虽然本人现在还只是小硕,姑且这么说吧,怎么说我也干IT学IT4年多了)的所见所闻and~所感吧。<br /> <br />话说2010年的1月份到2月份,我正在为实验室做一个路由测量的程序。2010年,我的IT路,就从这里开始。初次体会ICT的工作和学习生活,感觉比较的新鲜,同样带着点少许的紧张。这个路由测量程序是去年12月份开始做的,年底的时候提交了个比较初级的版本,前前后后改了几次bug。总之,这次算是真刀真枪的做了一个能用的东西。

2010-12-19 23:52:00 813

原创 使用subversion实现虚拟机中linux和windows宿主机代码共享管理

近来使用虚拟机学习linux编程,想在编程的时候边学习边使用PPT做笔记,于是使用VMWare Workstation虚拟了一个xubuntu的linux系统,学习linux下面的系统和网络编程。期间想把代码弄出来保存好,一免将来虚拟机没了,代码无处寻,也免得平时使用U盘在系统和宿主系统之间拷贝,于是想到一个办法,使用svn代码管理软件,在linux下面建立一个svn服务器,管理代码,在windows下面使用SVN客户端checkout即可。xubuntu下面安装svn和配置svn服务器:安装:sudo a

2010-11-17 21:44:00 3149

原创 Jetty+Dojo+Tomcat的Comet学习笔记-Web聊天系统【ChatRoom】

<br />这两天写了一个简单的基于jetty comet包和dojo的web聊天系统,作为comet学习的一个小练习吧,简单介绍一下。<br /> <br />具体的编程环境的配置在上一篇文章中已经介绍,不再赘述。【Jetty + Dojo + Tomcat 的Comet学习笔记 - HelloWorld】<br /> 服务端<br />服务器端主要有两个类:ChatService和ConfigurationServlet。<br />其中ChatService继承自BayeuxService,用来实现对

2010-10-27 21:36:00 5764 10

原创 Jetty+Dojo+Tomcat的Comet学习笔记-HelloWorld

编程环境及配置:Eclipse3.3 + tomcat 6.0 + dojo + jetty 6.1.9主要讲讲jetty。“Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。”Jetty里面含有实现comet技术的包。通过在Ecli

2010-10-15 11:21:00 10749 12

原创 C++中使用初始化列表比在构造函数中对成员变量赋值更高效

<br />今天看到一个面试题,问:为山么在C++中使用初始化列表比在构造函数中对成员变量赋值更高效?<br /> <br />记得在看Scott Meyers的《Effective C++》中有讲到过这个问题,时间久了就想不起来的,真是悲剧,遂翻出来看看,Blog一下,以长记性。<br /> <br />考虑一个表示通讯录的类实体,可能会有如下的一个类:<br />class ABEntry { ABEntry(const std::string &name, const std::string

2010-10-07 22:28:00 2983

原创 Android中ListView使用- 网络图片的异步加载

最近自己在试着使用Android开发一个新浪微薄的手机客户端,学习Android 的应用开发,来做点笔记吧。主要讲讲ListView的使用过程中的一些问题。我从新浪服务器获取数据,有文本有图片,通过图片的URL来载入图片,但是在Android的SDK中ListView默认的是不能支持通过URL来载入网络图片的,需要自己重写其中的SDK的默写类中的方法。我们知道,ListView一般是配合ListActivity使用的,在使用时需要传入SimpleAdatper对象来和数据进行绑定,我通过阅读SimpleAd

2010-09-24 21:59:00 10848 10

原创 Android向Http服务器发送Http请求异常-UnknowHostException

<br /> public static String httpRequest(String url){ HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, 30000); HttpConnectionParams.setSoTimeout(httpParams,

2010-09-18 15:36:00 9185 4

原创 TC_SRM471 Div2 500

Problem Statement    Elly is great fan of consistency. She would like to have order in even the simplest things in life – like listening to music. She has chosen several songs from which she wants to compose a playlist. The names of these songs are gi

2010-07-03 20:25:00 850

原创 Huffman编码优先队列实现

#include #include #include #include #include #define MAX_SIZE 26using namespace std;struct stNode{ char ch; int frequence; stNode * left; stNode * right;};struct CMP{ bool

2010-05-22 17:23:00 987

转载 VS2008中 ATL CLR MFC Win32 区别

ATL用于编写COM程序,CLR是.NET的公共语言运行库,MFC是指MFC类库,MFC程序是用这些类库做出的程序,WIN32常规就是不用MFC,使用API函数编的程序。MFC、ATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用。当然关于C++开发的库不止这3个,不过这3个是微软推荐。从编程所处层次而言,WIN32为最底层,其次是MFC.然后是CLR.W

2010-05-17 16:55:00 1386

原创 初学ajax-Demo

Ajax:Asynchornize Javascript and XML.常用场合是,客户端和服务器进行少量的数据交互。客户端不需要刷新整个页面,只是将部分的数据通过和服务器进行交互后更新。自己看了教程后写了一个小例子。university.jsp:<%@ page language="java" contentType="text/html; charset=GB2312"

2010-05-16 19:24:00 984

原创 Visual Studio 2008动态链接库编程

Visual studio 2008动态链接库的编程。 首先,新建动态链接库工程选择Win32 Project,点Ok。 Application Type选择Dll, Application options选择Empty project,Finish。 第二,新建dll.cpp文件,在文件中定义动态链接库导出函数,代码如下:_declspec(dll

2010-05-15 10:38:00 3208

原创 n的全排列递归算法

void Dfs(int a[], int end, int start){ if (start == end-1) { for (int j = 0; j<end; j++) printf("%d ",a[j]); printf("/n"); return; } for (int j = start; j<end ; j++) { int te

2010-05-13 23:22:00 998

原创 学着培养自己的思想和思维

今天,跟着实验室的几位师兄师姐还有头儿,和中国移动研究院的高官、研究所的客座博导进行了一天的交流。感受颇多,觉得自己思想太贫乏了。领略了大牛人物的风采,同时也感觉自己还缺乏独立思考的能力和自己的思想和观点。 总结一下,其实是自己在平常的学习和生活中不习惯于多动脑筋,思考问题的深度和广度都不够。不会主动的去思考问题,发现问题和去解决问题。虽然说和这些博导大牛们相比,我还缺乏很多的经验和阅历。

2010-05-13 19:27:00 891

原创 开源BT客户端程序arctic代码阅读笔记

arctic 是一个基于C++的libtorrent的BT客户端开源项目,arctic的界面比较简单,它主要关注的是低内存的消耗和性能的提升。项目使用了boost C++库,LibTorrent库,zlib库。主要研究的核心是LibTorrent库。arctic界面没有使用MFC,而是直接使用的Windows API开发的界面。  arctic 代码结构如图: 

2010-05-12 19:59:00 3550 5

p2p-jxta教程

p2p-jxta教程,p2p-jxta教程,p2p-jxta教程

2009-01-05

空空如也

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

TA关注的人

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