自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1208)
  • 收藏
  • 关注

基础数学落后与高端人才流失

这个话题令人感到很痛苦,也很无奈。我本不该提起这个话题。但是,无穷小微积分专业网站不久即将开通,我不得不认真备课,仔细研读J.Keisler的“初等微积分”电子版教材。在研究该教材内容的过程中,参照国内的《高等数学》有关章节,深有感触,有话不得不说。 前不久,偶见一篇新闻报道,题为“清华北大成美博士生“培养基地””,吸引了我的注意力。文章说:“中国送出的留学人员总数位于世界首位,清华北大成为美...

2012-12-31 19:06:00 117

计算机科学中最重要的32个算法

英文原址:http://www.risc.jku.at/people/ckoutsch/stuff/e_algorithms.html 奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请...

2012-12-31 19:00:00 94

C/C++ main用法总结

今天看到一篇很好的文章,详细的讲解了C、C++中的main函数,以及returne的用法。转载过来大家一起分享下。转自:http://www.cnblogs.com/ct6816678/archive/2012/10/26/2741824.htmlreturn是C++预定义的语句,当return语句提供了一个值时,这个值就成为函数的返回值.很多人甚至市面上的一些书籍,都使用了v...

2012-12-31 18:58:00 277

IT职场人生系列之二十四:程序员如何增加收入

这是IT职场人生系列的第二十四篇。(序言,专栏目录)程序员的收入是广受关注的问题,很多人从业3~5年之后就会遇到这个收入瓶颈。尽管物价不断上涨,程序员尤其是初、中级程序员的收入不升反降。即使上次在某个文章中看到有中国第一程序员之称的某位,月薪也只有3万,尽管这个数字已经很高了,但这个“中国第一”,也只有众多小型软件企业总监级别的收入而已。为什么这么高水平的技术人员在公司中的位置仍然显得与日俱降...

2012-12-31 18:55:00 143

嵌入式操作系统内核原理和开发

嵌入式操作系统内核原理和开发(开篇)操作系统是很多人每天必须打交道的东西,因为在你打开电脑的一刹那,随着bios自检结束,你的windows系统已经开始运行了。如果问大家操作系统是什么?可能有的人会说操作系统就是windows,就是那些可以放大、缩小、移动的窗口。对曾经是计算机专业的朋友来说,这个答案还要稍微复杂一些,操作系统可能还有linux、unix、ios、sun solaris、a...

2012-12-31 16:20:00 534

linux下的C语言开发

linux下的C语言开发(开篇) 在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。当然,linux操作系统本身对C语言的支持也是相当到位的。作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。作为程序员来说,linu...

2012-12-31 16:01:00 6568 2

软件质量管理之困境与对策思考

相信在不少与软件开发相关的企业内,质量管理部门与软件开发部门在日常运作中形成了如下图所示的“哑铃形”组织结构。开发部门执行质量管理部门所制定的流程,通过提供证据的形式将各种流程执行后的数据反馈给质量管理部门(包括缺陷率和各种流程记录),质量管理部门根据这些数据监督流程的执行效果,并适时修订流程。联系两大独立部门的,是单薄的两条线和一些部门间的会议。理想情况下,在质量管理部门与软件开...

2012-12-31 15:54:00 149

面向对象和基于对象

面向对象大家都很熟悉,可是基于对象就不一定了。两个听起来好象是同一回事,而事实上它们却千差万别。基于对象是指:我们采用对象封装技术,将数据和操作捆绑在一起,但是并没有合理地使用多态、继承等面向对象技术进行软件设计。其中的“没有合理使用”这一修饰非常重要,它道出了面向对象和基于对象的本质区别。虽然,听起来面向对象我们很是熟悉,但就我的观察,很多以前从事C程序开发的人,当他采用面向对象的编程语...

2012-12-31 15:53:00 116

软件技术发展的驱动力

软件产品的终极目标是为了实现用户需求从而满足人们的需要。也正是为了不断满足人们的需要使得软件行业不断向前发展。比如,新的算法(MPEG-1、MPEG-2、MPEG-4、H.264、……)等的出现都在当时为了满足不同的需要而被发明。然而,人们的需要(行业发展的外部动力)却并非是软件技术发展的唯一驱动力,因为它无法解释为什么业内的编程语言、软件平台与框架等会层出不穷,有的甚至给人“重新发明轮子”的感觉...

2012-12-31 15:49:00 238

走技术线,还是技术管理线?

最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容。我在《驾驭你的“职场布朗运动”》一文中谈了25条职场感悟并提出了“走技术线,还是技术管理线?”这一问题,但实际上并没有给予解答。在此补上。在正式解答这一问题之前,我想先强调职业发展的“黄金期”。每个人的职业发展我认为大致会经历“黄金期”、“平缓期”、“突破期”和“衰退期”...

2012-12-31 15:48:00 103

软件工程师所需掌握的“终极技术”是什么?

最近,我在微博上看到@程序员邹欣老师发的一条微博 — “不少大学同学都有一个想法:先做几年技术,然后做管理;也有一些同学说:我技术不行,希望直接找到一个管理的工作,就像PM那样。请看 PM 需要什么样的能力:(链接略去)”。在读这条微博的前一部分内容时,我的第一反应是:难道同学们以为做技术管理不需要很好的技术功底?刚好在此之前,我写过《技术敏感度 — 基层技术管理者必备》一文,强调技术功底对于...

2012-12-31 15:48:00 104

我对应聘者的面试原则

最近参与了几次单位招聘面试工作,在面试工程师时,我是用我的分层准则指导与候选人的交流内容,以确定他的能力层次是否达到我所期望的。大体上软件工程师可以分为三大层次,分别是技术知识积累层、掌握设计方法层以及运用开发方法论层。对于处于技术知识积累层的工程师,他的兴趣点往往是学习新的技术,探究问题背后的原理,对于方法论和管理没有太大的兴趣,但很具有运用所掌握知识改变现状的冲动。对于这一层次的工程师...

2012-12-31 15:47:00 137

别把自己变成了“二等公民”

上周参加一个代码审查会,在会上发现了设计上的一个很严重的错误。于是,我提了好几个问题,想知道为什么会出现这一错误。但是,我的同事告诉我这都是印度团队做的设计。需要提供的一个背景信息是,这个项目是我所在的研发中心与印度的研发中心协同开发的。对于同事的这种回答,我能想到的是:可能同事将自己当做“二等公民”在做事。将自己变成二等公民我发现在我的周围比较的普遍,不少同事在做设计时,明明应当自己做主导,...

2012-12-31 15:46:00 154

如何成为一个技术“牛人”

今天给浙江大学过来的几个还没有毕业的研究生做面试,这些研究生是想来公司实习的。在面试的过程中,一个学生问我“我们有C/C++、JAVA等等多种语言,我如何才能成为某一方面的一个技术牛人呢?这一问题一直困扰着我”,对于这个问题我提出了以下几个观点。1) 自信第一。自信这东西很是奇怪,人有可能一开始会莫明其妙的自信,但一切都从这开始的。你觉得自己行你就一定会变得行,反之,如果觉得自已不行,那一定会...

2012-12-31 15:41:00 90

软件架构师的能力与特质

软件开发工程师的职业发展无非两大类:一是做“官”,从事管理工作;二则继续从事技术工作。对于后者,软件架构师(software architect)是很多软件开发工程师追求的理想岗位。在这我想谈一谈软件架构师所需的几大能力和一些特质,以便读者能更好地规划自己的职业发展。1)需要很好的逻辑思维能力。对于软件开发工程师来说,由于大多从事编程工作,所以很容易以为自己的逻辑思维没有问题,足以满足软件...

2012-12-31 15:40:00 131

高质高效软件开发组织能力模型

背景至今,我在Motorola网络部工作超过了5年,所在的产品线也是采用统一软件开发过程和敏捷思想(但不是SCRUM)来组织软件开发活动的,但这5年多的工作经历从未引起我象微博上对于SCRUM话题的激烈讨论这样的思考。原因之一可能是,公司的流程已经很成熟了且形成了一种文化,不论怎样的新人进入公司,都只需按照流程按步就班的工作就行了。另外,公司的开发流程并不包含象SCRUM所要求的形式化内容,使...

2012-12-31 15:39:00 89

软件设计的真谛

假设我们身边的一切都是用制造材料加以描述的:“空调”不是“空调”,而是“由金属和塑料做成的物体”;“书”不是“书”,而是“由纤维和墨做成的物体”。沟通时我们也不用“空调”和“书”这样的词汇,而是“金属和塑料做成的物体”和“纤维和墨做成的物体”。可以想象大脑在面对这些信息时会让我们觉得多么的痛苦,显然这样的事情在现实中很少发生,因为我们的大脑具备很强的抽象能力 ,会通过抽象塑造“空调”和“书”这样的...

2012-12-31 15:34:00 90

面向对象设计的优点

一旦明白了软件设计的真谛(参见《软件设计的真谛》),我们就更能理解面向对象设计的优点。简单说来,它更便于我们在软件中构建更真实的虚拟世界。首先,对象的引入方便了在软件虚拟世界中模拟现实世界。现实世界是由很多独立的抽象或具体物体组成的,比如房子、汽车、空调、书等等。为了构建更真实的虚拟世界,在软件中需要存在用于表达类似现实物体的编程元素,这正是引入对象概念的意义所在。以对象为设计中心,迫使设...

2012-12-31 15:32:00 131

C程序员要学C++吗?

最近网友问到这一问题,但我更希望被问的是“C程序员需要学面向对象编程吗?”,那就让我先从回答这一问题开始,并做适当的扩展。就我的成长经历来看,C程序员必须学习面向对象编程!面向对象编程语言有其天然的一个优势 — 将软件世界的一切象现实世界那样视为对象。我在《专业嵌入式软件开发》一书的《设计,质量之本》一章中指出,软件设计的一个原则是“以人为本”,在软件世界中构建现实世界就能很好地贯彻这一原...

2012-12-31 15:30:00 147

10 步让你成为更优秀的程序员

这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。1. 永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使...

2012-12-29 09:25:00 97

大数据计算:如何仅用1.5KB内存为十亿对象计数

摘要:AddThis的数据分析副总监Matt Abrams在High Scalability上发表了一篇文章,介绍了他们公司如何应对大数据。Matt Abrams表示,AddThis仅仅用了1.5KB内存的内存就计算了十亿个不同的对象,这与他们所使用的计算方法分不开的。AddThis(前身为Clearspring)的数据分析副总监Matt Abrams在High Scalability上发...

2012-12-25 19:48:00 222

给定a和n,计算a+aa+aaa+a...a(n个a)的和(大数据处理)

题目描述:给定a和n,计算a+aa+aaa+a...a(n个a)的和。输入:测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。输出:对于每组输入,请输出结果。样例输入:1 10样例输出:1234567900从题中就可以看出,当a = 9, n = 100的时候,一个i...

2012-12-21 10:11:00 2434

数据结构:块状链表

一、概述有时候我们需要设计这样一种数据结构:它能快速在要求位置插入或者删除一段数据。先考虑两种简单的数据结构:数组和链表。数组的优点是能够在O(1)的时间内找到所要执行操作的位置,但其缺点是无论是插入或删除都要移动之后的所有数据,复杂度是O(n)的。链表优点是能够在O(1)的时间内插入和删除一段数据,但缺点是在寻找操作位置时,却要遍历整个链表,复杂度同样时O(n)的。这两种数据结构各有优缺点,...

2012-12-21 10:07:00 115

改良程序的11技巧

有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧:1.尽量保持方法简短2.永远永远不要把同一个变量用于多个不同的目的3.使用自描述的变量名和方法名...

2012-12-21 10:04:00 90

美媒:小米新浪达成合作 采取行动对抗腾讯

来自美媒的报道称,两家中国最具发展潜力的科技公司,新浪和小米将会共同合作,结合各自的通信应用程序来共同对抗移动通信的挑战,尤其是拥有2亿用户的强劲对手微信。  来自中国的消息称,这次新浪与小米的合作将会涉及到新浪的密友和小米的米聊两款聊天服务,具体细节将会在本周公布。  有传言称,facebook将会考虑进入移动信息领域,但是在亚洲,这类服务已经被社交网络所垄断,许多应用程序已经处于供大于...

2012-12-19 15:43:00 121

忠告:创业公司与大公司正面竞争易死

移动互联网的兴起给了创业公司足够的发展空间,也提供了一个相对公平的竞争平台。但机遇永远与挑战并存。  对于初创公司,最大的挑战莫过于在移动互联网大潮中生存下来。IDG资本合伙人高翔认为,初创公司不要和大公司正面竞争,应当结合自身优势,从小地方开始做一种量变到质变的积累。  同样支持此观点的还有人人公司副总裁、56网创始人周娟,她认为,目前的创业项目如何运用现有平台很重要。  她表...

2012-12-19 15:43:00 157

苹果前CEO斯卡利变身创业导师:欲寻下个乔布斯

  乔布斯和约翰·斯卡利  导语:国外媒体今天撰文称,苹果前CEO约翰·斯卡利(John Sculley)虽然早已离开苹果,但仍然活跃在科技行业。他现在将目光转向了医疗科技领域,希望从中挖掘出下一个乔布斯。  以下为文章全文:  下一个乔布斯  约翰·斯卡利认为,他已经找到了下一个史蒂夫·乔布斯(Steve Jobs),或者说是下几个史蒂夫·乔布斯。  这位苹果前CEO正在...

2012-12-19 15:42:00 137

为何获得风险投资的公司多数倒闭了?

  北京时间12月12日消息,据国外媒体报道,哈佛商学院的高级讲师施克哈尔高希(Shikhar Ghosh)指出,风险投资领域的失败案例比媒体报道的要多得多。  高希的研究表明,在风险资本支持的公司之中,有75%的公司从未向投资者返回过现金回报,它们有30%到40%的资产被清算流失了,投资者失去了所有的投资。高希一共研究了2004年至2010年期间融资额度在100万美元以上的2000多家获...

2012-12-19 15:41:00 247

Nokia落寞身影下 三星成为全球最大手机厂商

摘要:在诺基亚统治全球最大手机厂商宝座长达14年后,三星今年首次取代诺基亚,成为全球最大手机厂商。据IHS iSuppli的数据显示,三星预计今年手机出货量将占全球29%,而落寞的诺基亚市场份额将下降到24%。三星的成功和诺基亚的沦落,则完全缘于两家公司在智能手机领域的不同选择。北京时间12月19日消息,无线通信巨头诺基亚在最大手机厂商宝座上统治长达14年后,今年首次被超越,三星目前已取代...

2012-12-19 09:28:00 169

从程序员到项目经理

推荐研发工程师必看的内容从程序员到项目经理从程序员到项目经理”,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。一.为什么要当项目...

2012-12-18 13:10:00 185

创业者谈:畏惧失败,但也要拥抱失败

摘要:本文作者为Paydirt创始人Tristan Gamilis,他在文中分享了如何面对创业过程中的失败。作为一个创业者,开始的时候并非全才,很多知识都是经历了创业中的失败,摸爬滚打之后才学会的。所以,我们在创业过程中,担心失败至于更要用于接受失败。大部分创业者首次进入某领域时都只有基本必要的技能和极少的专业知识,即便如此,还需要依靠这些技能和知识实现他们的创意和想法。除此之外的东西,都...

2012-12-18 13:08:00 131

水滴石穿C语言之指针、数组和函数

基本解释  1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。  2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。  3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。   问题:指针与数组  ...

2012-12-07 17:05:00 78

C 语言常见问题集

从 http://c-faq-chn.sourceforge.net/ccfaq/index.html 转载过来,学习C的好助手。目录1. 前言2. 声明和初始化2.1 我如何决定使用那种整数类型?2.2 64位机上的64位类型是什么样的?2.3 怎样定义和声明全局变量和函数最好?2.4 extern在函数声明中是什么意思?2.5 关键字auto到底有什么用途?2....

2012-12-07 10:47:00 231

最快浮点数取绝对值

做视频算法10多年,经常要算绝对值,整数的绝对值有快速算法,但浮点数的绝对值没看到有快速算法,经常不段发现,得到如下浮点数的快速算法:快6倍多,#include <Windows.h>#include <iostream>#include <stdio.h>#include <stdlib.h>#include <mat...

2012-12-06 10:08:00 196

H.264中的I_PCM模式

H.264中的I_PCM模式 I_PCM是一种帧内编码模式,在该模式下,编码器直接传输图像的像素值,而不经过预测和变换。在一些特殊的情况下,特别是图像内容不规则或者量化参数非常低时,该模式比常规的操作(帧内预测--变换--量化--编码)效率更高。<wbr><div> <strong name="redTag" style="c...

2012-12-05 14:06:00 294

推荐书籍

五百本编程书籍推荐【信息化类】书号书名作者出版时间定价对应页码TP02041企业资源计划(ERP)教程罗鸿2006-1¥28.00—TP02031ERP理论、方法与实践周玉清 等2005-12¥39.00—TP01059ERP原理·设计·实施(第3版)罗鸿2005-4¥38.00—...

2012-12-05 14:06:00 1206

多线程详解

1. 进程与线程有那些区别和联系?   每个进程至少需要一个线程。 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。 ...

2012-12-05 14:05:00 101

C语言符号

C语言运算符的优先级一、运算符的优先级表C 语言的符号众多,由这些符号又组合成了各种各样的运算符。既然是运算符就一定有其特定的优先级,下表就是C 语言运算符的优先级表:注:同一优先级的运算符,运算次序由结合方向所决定。上表不容易记住。其实也用不着死记,用得多,看得多自然就记得了。也有人说不用记这些东西,只要记住乘除法的优先级比加减法高就行了,别的地方一律加上括号...

2012-12-05 14:03:00 438

什么是3-2混合

正如上面所述,电影转换成视频时,每秒24帧必须转成每秒60场(30帧)。实现这一点的方法是把电影的第一帧显示3场,然后把第二帧显示2场,再把第三帧显示3场,以此类推。这个3-2-3-2-3-2的顺序就被称为3-2混合(有时候也写成3/2或3:2,但是这样看起来像个比例,所以我们更愿意写成3-2)。MPEG-2里面还有两个标志,可以使制作3-2混合的碟片更容易。这两个标志是“REPEAT_FIR...

2012-12-05 14:03:00 181

264 参考帧 list0 list1

作了这么久的h264工作,这部分还一直从未去深入了解过,真是不求甚解啊,那帮老外的代码也写得太全了,该部分至今天才开始研究首先参考帧这里关注的是两种,p ,b ,前向参考和后向参考由白皮书中看到,p帧的参考帧都在list0中,该list0可以包含p帧之前的也可以是之后(播放次序),这里的之后并不是说p帧成b帧了,这就是264搞这么复杂的因素吧,解码编码时,一个帧(暂且不考虑多sli...

2012-12-05 14:02:00 424

空空如也

空空如也

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

TA关注的人

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