02 2012 档案

三五杆枪,可干革命,三五个人,可以创业(05.22更新)
摘要:三五杆枪,可干革命,三五个人,可以创业(为节省您的阅读时间,建议直接跳至文末:听从自己内心的声音)让我们一起改变世界吧? 中国从来不缺有想法的人,缺的是把想法付诸于实践并最终实现的人。而一般的人们传统,保守,瞻前顾后,犹豫不决,从不敢冒险冒进(喜欢躲在一个角落造一个笼子把自己给圈起来,而后仰视笼子外站在遥远地方的人,直呼:那是个神人),所以即便大多数有想法的人最终也没了想法,于是乎终究都被同化,最后却还一个劲的问,为什么30岁以下,一个扎克伯格秒杀了所有中国的创业者?(事实是言之过早) 今天下午二访CSDN,带回来了两本程序员杂志(感谢)。在程序员杂志2012第2期上,看到猛犸浏览器的开发者. 阅读全文

posted @ 2012-02-29 19:20 Hibernate4 阅读(183) 评论(0) 推荐(0) 编辑

iphone委托和生命周期
摘要:每个iPhone应用程序都有一个UIApplication,UIApplication是iPhone应用程序的开始并且负责初始化并显示UIWindow,并负责加载应用程序的第一个UIView到UIWindow窗体中。UIApplication的另一个任务是帮助管理应用程序的生命周期,而UIApplication通过一个名字为UIApplicationDelegate的代理类来履行这个任务。尽管UIApplication会负责接收事件,而UIApplicationDelegate则决定应用程序如何去响应这些事件,UIApplicationDelegate可以处理的事件包括应用程序的生命周期事件( 阅读全文

posted @ 2012-02-28 23:46 Hibernate4 阅读(145) 评论(0) 推荐(0) 编辑

C++ 运算符优先级列表
摘要:http://www.cppreference.com/operator_precedence.htmlPrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 3 阅读全文

posted @ 2012-02-28 10:47 Hibernate4 阅读(122) 评论(0) 推荐(0) 编辑

字符串匹配算法
摘要:一、简介文本信息可以说是迄今为止最主要的一种信息交换手段,而作为文本处理中的一个重要领域——字符串匹配,就是我们今天要说的话题。(原文还特意提及文本数据数量每18个月翻一番,以此论证算法必须要是高效的。不过我注意到摩尔定律也是18个月翻番,这正说明数据的增长是紧紧跟随处理速度的,因此越是使用高效的算法,将来待处理的数据就会越多。这也提示屏幕前的各位,代码不要写得太快了……)字符串匹配指的是从文本中找出给定字符串(称为模式)的一个或所有出现的位置。本文的算法一律输出全部的匹配位置。模式串在代码中用x[m]来表示,文本用y[n]来,而所有字符串都构造自一个有限集的字母表Σ,其大小为σ。根据先给出模 阅读全文

posted @ 2012-02-28 09:50 Hibernate4 阅读(255) 评论(0) 推荐(0) 编辑

设计只能在堆或者栈上创建的类
摘要:1,设计只能在堆上分配的类方法:将类的构造函数或者析构函数设置为protected(private会限制继承),迫使类对象在栈的构造时编译出错#include<iostream>usingnamespacestd;classOnlyHeap{public:OnlyHeap(){cout<<"construct"<<endl;}voiddistory()const{deletethis;}protected:~OnlyHeap(){cout<<"destruct"<<endl;}};intmain 阅读全文

posted @ 2012-02-27 15:53 Hibernate4 阅读(202) 评论(0) 推荐(0) 编辑

设计一个不能被继承的类
摘要:分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。可是这个类的构造函数和析构函数都是私有 阅读全文

posted @ 2012-02-27 15:18 Hibernate4 阅读(250) 评论(0) 推荐(0) 编辑

寻找重复的数
摘要:问题:有101个数,为[1,100]之间的数,其中一个数是重复的,如何寻找这个重复的数,其时间复杂度和空间复杂度是多少?解:假设这101个数存放在Data[101]的数组中int Data[101];for (int i = 0 ; i< 100; i++){Data[i] = i;}Data[100] = 6;//假设是这些数据,并将最后一个设计为重复的数,当然也可以是其它数据,此处便于测试而已,没必要手动输入101个数,那会累死.一> 采用hash的方法,该方法可以申请一个100个字节,然后扫描这个101个数据,该方法需要的空间为O(N),时间复杂度为O(N)charBuff[ 阅读全文

posted @ 2012-02-27 15:07 Hibernate4 阅读(213) 评论(0) 推荐(0) 编辑

如何做一个好的技术型领导
摘要:对于程序员来说,大部分公司都提供了多条职业发展方向:1. 技术型路线:编程高手、技术专家、架构师2. 管理型路线:项目经理、部门主管、总裁3. 复合型路线:技术总监、CTO4. 特长型路线:销售顾问、培训讲师这些路线,看起来很清晰明了。但对大部分26 – 32岁的程序员来说,如何发展,究竟该走哪条路,内心可能都存在彷徨与纠结。技术和管理,有如鱼和熊掌,不可兼得,这是寓言里的警示。但在现实工作中,鱼和熊掌往往必须兼顾。上面的4条路线中,不少职位可以进一步抽象为技术型领导。如何做一个好的技术型领导呢?下面是我的一些思考。按需服务当官的最高境界,是为人民服务。这句话看起来很虚,仔细想想是句至理名言。 阅读全文

posted @ 2012-02-27 13:47 Hibernate4 阅读(172) 评论(0) 推荐(0) 编辑

map和hash_map的区别
摘要:这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。4.1 hash_map和map的区别在哪里?构造函数:hash_map需要hash函数、等于函数;map只需要比较函数(小于函数).存储结构:hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其内存数据结构是不一样的。4.2 什么时候需要用hash_map,什么时候需要用map?总体来说,hash_map 查找速度会比map快,而且查找速度基本和数据量大小无关,属于常数级;而map的查找速度是log(n)级。并不一定常数就比log(n) 小,hash还有hash函数的耗时,明白了吧,如果你考虑 阅读全文

posted @ 2012-02-26 20:42 Hibernate4 阅读(351) 评论(0) 推荐(0) 编辑

STL容器里存放对象还是指针
摘要:一.问题的引出:容器可以存放对象,可以存放指针,这里要谈的是两者的使用问题。就是什么时候存放对象更好,什么时候存放指针更好?二.问题的分析过程:1.首先说下stl容器的工作方式对于内建类型(int float char等),容器的工作方式是纯粹的位拷贝,这里没有什么需要多说的。对于自定义的对象,容器容纳了对象(比如通过insert或push_back等),但容器中存放的对象不是你给它们的那个对象,因为两个对象在内存中的位置不一样。此外,当你从容器中获取一个对象时,你所得到的对象不是容器里的那个对象。取而代之的是,当你向容器中添加一个对象(比如通过insert或push_back等),进入容器的 阅读全文

posted @ 2012-02-24 16:09 Hibernate4 阅读(510) 评论(0) 推荐(0) 编辑

boost bimap 学习笔记
摘要:bimap是boost中很重要的一个容器,可以进行双向的查找和替换,这样弥补了如果map和multimap需要找到data所对应的键值。循环遍历元素,才能找到相应的键值,再删除,最后替换的不足。但是boost的模板源编程又有着先天的缺点,就是编译错误不容易找到,编译时间有点长。但是如果长期使用boost,知道常见的错误,这个缺点还是可以慢慢克服的;虽然编译时间是有点长,但是比起自己一行一行自己写,还是说的过去的。下面是需要的一些头,如果只是简单使用bimap,仅引入#include就可以了#include <iostream> #include <map> #inclu 阅读全文

posted @ 2012-02-24 14:50 Hibernate4 阅读(1774) 评论(0) 推荐(0) 编辑

std::find ,set.find, multiset.find, map.find和multimap.find算法总结
摘要:这几天对到底选用哪个容器,用哪种形式的find函数有一些迷惑的地方。工作之后,花些时间对这些常用的东西做一个总结,方便以后翻阅所用。1.通用std::find 函数例子1:// find example #include <iostream> #include <algorithm> #include <vector> usingnamespacestd; intmain () { intmyints[] = { 10, 20, 30 ,40 }; int* p; // pointer to array element: p = find(myints,my 阅读全文

posted @ 2012-02-24 14:46 Hibernate4 阅读(3620) 评论(0) 推荐(3) 编辑

设计模式——响应链模式
摘要:首先纠正国人的错误翻译,Responsibility 虽然字典里翻译为职责,然而确是由Response派生出来的词,结合此模式的原意,故此处应该翻译为响应更合适,或者说,垃圾字典里至少也应添加"响应"作为另一中文词.软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。 响应链模式:使多个对象 阅读全文

posted @ 2012-02-23 11:28 Hibernate4 阅读(1303) 评论(0) 推荐(0) 编辑

C/C++程序员必须熟练应用的开源项目
摘要:作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用, 性能是不是足够的好, 是不是支持多线程, 功能是不是也足够强大,可以适用于各种不同的需求。如果你上 阅读全文

posted @ 2012-02-23 10:30 Hibernate4 阅读(539) 评论(4) 推荐(0) 编辑

Windows线程函数概述 - 《C++编程艺术》
摘要:Windows提供了多组支持多线程的应用程序接口(API)函数。许多读者已经对Windows提供的多线程函数有一定程度的了解,但是对于那些不熟悉这些的读者,本章提供了这些函数的概述。记住,Windows提供了许多其他的基于多线程的函数,这些函数需要您自己去探索。为了使用Windows的多线程函数,必须在程序中包含<Windows.h>。3.4.1 线程的创建和终止Windows API提供了CreateThread()函数来创建一个线程。其原型如下所示:HANDLE CreateThread(LPSECURITY_ATTRIBUTES secAttr,SIZE_T stackSiz 阅读全文

posted @ 2012-02-23 10:24 Hibernate4 阅读(1084) 评论(0) 推荐(0) 编辑

何时适合使用单例模式
摘要:单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?其实无非是三个方面的作用:第一、控制资源的使用,通过线程同步来控制资源的并发访问;第二、控制实例产生的数量,达到节约资源的目的。第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。比如,数据库连接池的设计一般采用单例模式,数据库连接是一种数据库资源。软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的。当然,使用数据库连接池还有很多其它的好处,可以屏蔽不同数据数据库之间的差异,实现系统对数据库的低度耦合,也可以被 阅读全文

posted @ 2012-02-22 22:31 Hibernate4 阅读(612) 评论(0) 推荐(0) 编辑

VC防止窗口和控件闪烁的方法总结
摘要:1、 将 Invalidate()替换为 InvalidateRect() Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而 InvalidateRect()仅仅重画 Rect 区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用 Invalidate(),不愿意自己去计算需要重画的 Rect,但是事实是,如果你确实需要改善闪烁的情况,计算一个 Rect 所用的时间比起重画那些不需要重画的内容所需要的时间要少得多。2、 禁止系统擦除你的窗口 系统在需要重画窗口的时候会帮你用指定的背景色来擦除窗口。可是,也许需要重画的区域也许非常小。或者,在... 阅读全文

posted @ 2012-02-22 14:40 Hibernate4 阅读(221) 评论(0) 推荐(0) 编辑

COM Hook原理
摘要:掌握C++对象模型底层知识的人都知道,C++利用虚函数的机制来实现运行期的多态。例如一个类申明如下:classA{public:A(){}~A(){}virtualvoidf1(){printf("Founctionf1called\n");}virtualvoidf2(){printf("Founctionf2called\n");}virtualvoidf3(){printf("Founctionf3called\n");}private:intn;};复制代码那么A对象在内存中的结构图大概如下: (缺失)如上图:可以看到A对象的 阅读全文

posted @ 2012-02-22 14:35 Hibernate4 阅读(280) 评论(0) 推荐(0) 编辑

控制台窗口界面的编程控制
摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动、光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控. 阅读全文

posted @ 2012-02-21 18:02 Hibernate4 阅读(285) 评论(0) 推荐(0) 编辑

浅谈HOOK
摘要:摘要: 本文针对HOOK技术在VC编程中的应用进行讨论,并着重对应用比较广泛的全局HOOK做了阐述。 一、引言 Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需要对在进程外传递的消息进行拦截处理就必须采取一种被称为HOOK(钩子)的技术。钩子是Windows操作系统中非常重要的一种系统接口,用它可以轻松截获并处理在其他应用程序之间传递的消息,并由此可以完成一些普通应用程序难以实现的特殊功能。基于钩子在消息拦截处理中的强大功能,本文即以VC++ 6.0为.. 阅读全文

posted @ 2012-02-21 18:01 Hibernate4 阅读(1549) 评论(0) 推荐(0) 编辑

这就是COM组件
摘要:Author: ume Date:2012-02-21 自从微软推出.NET以来,COM技术就渐渐淡出人们的视野,然而这并不意味COM不再发挥作用,相反,COM非常重要。可以说.NET的实现离不开COM的支撑。COM是好东西,但是它太难了,不利于产品推广,于是微软只能在之上增加一层封装从而提高产品的易用性。对COM有所了解是很有必要的,希望这篇文章给你带来一点启发。1. COM的思想 开篇就讲COM的思想肯定让人泄气,因为它极有可能抽象空洞、晦涩难懂。换个角度来说,我觉得COM的思想仍然是需要自己去体会的,这里给出的不过是一个思考的线索而已,你大可不求甚解。 软件的开发是永无止境的,只要软件还 阅读全文

posted @ 2012-02-21 16:30 Hibernate4 阅读(246) 评论(0) 推荐(0) 编辑

Android 4.0通过新的特性统一了平板电脑与手机
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/Android-4-Ice-Cream-SandwichAndroid 4.0可以运行在平板电脑与手机上,并且提供了一些针对UI、通信、共享、媒体、连接、输入类型与企业的新特性。Google于2011年2月发布了Android 3.0(Honeycomb),但该版本只面向平板电脑,提供了新的“全息”用户界面,这并不适合于智能电话等小屏幕。但Google说他们将会发布新版的移动OS,可以运行在平板电脑与智能电话上。于AsiaD发布的Android 4.0(Ice Cre 阅读全文

posted @ 2012-02-06 19:26 Hibernate4 阅读(188) 评论(0) 推荐(0) 编辑

Machine Learning读书会·北京今日启动(第3期周爱民、张帆)
摘要:读书会·北京:最新第3期05.20下午周爱民 ,张帆于北大举办(加入读书会交流群,请直接看文末)读书会发动初衷 年后初七在去南昌走亲的火车上,看到了张栋博士发的一条微博,说他假期内读了一两百篇论文。这倒启发了我,觉得我们在北京的朋友们可以搞一个读书会,一两月或三五月不定期举办一次,读书会可作多种形式,或讲课,或座谈会,或交流或讨论皆可。如下微博所示: 我向来是有什么事从不管太多,说干就干,便在微博上发动号召启动读书会,<<这就是搜索引擎:核心技术的详解>>的作者张俊林先生第一个响应了我,而后张栋博士表示大力支持与参与,接着陆续得到了如超越神,蒋涛先生等等朋友们 阅读全文

posted @ 2012-02-06 17:07 Hibernate4 阅读(197) 评论(0) 推荐(0) 编辑

Spring AMQP 1.0 GA发布了
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/spring-amqp-1.0-ga近日,SpringSource(VMware下的一个部门)发布了Spring AMQP 1.0 GA(1.0.0.RELEASE)。Spring AMQP项目将Spring核心概念应用到了基于AMQP的消息解决方案的开发上,并且提供了Java与.NET两个版本。要想了解Spring AMQP与AMQP,请阅读文章“Introduction to SpringSource's Advanced Message Queuing 阅读全文

posted @ 2012-02-06 13:48 Hibernate4 阅读(321) 评论(0) 推荐(0) 编辑

Cassandra 1.0.0为进军企业做好了准备
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/Cassandra-1近日,Apache发布了Cassandra 1.0.0,这是该分布式基于列的数据存储的首个主要里程碑版本,带来了数据压缩与其他几处性能改进和优化。Cassandra为Apache的顶级开源项目,是个可伸缩的分布式(Amazon的Dynamo与Google BigTable基于列的数据模型是其代表)数据库管理系统。Cassandra最初是由Facebook开发的,后来在2008年开源,现在一直处于开发当中。近日,Apache发布了其首个主要的里程碑 阅读全文

posted @ 2012-02-02 19:49 Hibernate4 阅读(139) 评论(0) 推荐(0) 编辑

JetBrains发布AppCode,面向Objective-C的IDE
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/jetbrains-appcode近日,JetBrains发布了AppCode,面向Objective-C的IDE,其感觉非常类似于面向Java的IntelliJ IDEA编辑器。熟悉IDEA的开发者会注意到他们之间的相似性。其运行时完全使用Java实现,这意味着要想运行该IDE需要安装JVM(1.6+),如果没有安装JVM,那么Lion就会在应用启动前提示下载最新的JVM;在默认情况下,其他版本的OSX已经安装好了JVM。与其他IDE一样,熟悉该应用的使用方式需要花 阅读全文

posted @ 2012-02-02 18:12 Hibernate4 阅读(442) 评论(0) 推荐(0) 编辑

JDK Enhancement Process简介
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/jdk-jeps去年年初,Oracle发布了JDK Enhancement Proposal与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进OpenJDK生态圈。该JEPs的目的在JEP 1: JDK Enhancement Proposal and Roadmap Process得到了说明。他们定义了一个变化较大的增强(即通过两周的工作量对JDK进行较大的修改,或是对开发者和用户需求较大的内容进行修改)。与Python Enhancement Pr 阅读全文

posted @ 2012-02-02 14:23 Hibernate4 阅读(390) 评论(0) 推荐(0) 编辑

Yammer从Scala转向Java
摘要:本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/02/yammer-scala近日,由Yammer雇员Coda Hale发给Typesafe的Scala商业管理层的邮件通过YCombinator被泄漏出来并在GitHub上刊出。该邮件确认Yammer正在将其基础设施栈从Scala迁回至Java,原因在于Scala的复杂性与性能问题。Yammer的公关Shelley Risk向InfoQ证实该邮件只代表Coda Hale的个人意见而非Yammer的官方声明;随后,Coda Hale又在http://codahale.com 阅读全文

posted @ 2012-02-01 18:28 Hibernate4 阅读(316) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示