强力美味蘑菇

优秀程序员的十个习惯

Posted by: 藕太黑 on: 九月 6, 2009

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员。

Read the rest of this entry »

Tags:

程序员的八个级别

Posted by: 藕太黑 on: 九月 6, 2009

在面试时,你可能会被经常问到“在未来5年,你想干什么?”,这可能是一个比较难回答的问题。在中国,答案一般可能会是Team leader,Manager,或是Architect,Specialist等,在中国,大家可能更多地觉得manager会是程序员的下一个目标,可是在国外,经理和程序员可能是两个不同的分支,Architect或Specialist 比经理来说更牛、代遇可能也更好,因为这些人的智商需要的更高。

在著名的“Coding Horror”上出现了这样一篇文章,我把其转到这里(我并没有完全一模一样的翻译,我只不过是用自己的话转述罢了),也让大家看看国外人的思考方式(当然,这篇文章只是分析程序员的级别而不是工种)。正如其作者结尾时所说,这八个级别并不是很严格的,其只不过是一种想法,希望能给大家另一种思路。

Read the rest of this entry »

程序员需要具备的基本技能

Posted by: 藕太黑 on: 九月 6, 2009

软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。

这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员。

下面这些基本职业技术可以用来做为对一个程序员的评估,很明显,下面的这些技能都可以用来做面试。虽然,还有很多非技术的因素,但对于评估一个程序员的技术能力来说,其应该是足够的了。

Read the rest of this entry »

Internet 技术演变图

Posted by: 藕太黑 on: 九月 5, 2009

Internet 技术演变图

Internet 技术演变图

你所不知道的互联网

Posted by: 藕太黑 on: 九月 5, 2009

NO.1 你所不知道的因特网:谁控制着因特网?

官方的回答是没有人能控制,但这个半吊子事实,相信大家很难接受。如果所有的国家在互联网的世界中都是平等的,那么美国无疑更加“平等”。

事实上这个问题并不好界定。实际上,因特网就是电脑间相互通信的一组协议,无数的服务器和电缆大多由私人掌控。但就影响力而言,强大的平衡力来自于加利福尼亚Marina Del Rey的命名及数字因特网公司(Internet Corporation for Assigned Names and Numbers)。

ICANN 是一家非盈利组织,管理着所有的在线地址,俗称“域名”,以及它们的后缀名,例如“.com”和“.org”。由于ICANN需要定期向美国商务部汇报,所以域名的申请过程实际上是由美国政府所监管的。由于美国在全球因特网协调控制中举足轻重的地位,这引起了来自中国,俄罗斯以及欧洲的高度关注。“它(美国)能在因特网领域发挥和其它政府不一样的作用,” Massimiliano Minisci,一名ICANN的地区管理员说道,“而这关系到整个世界!”

Read the rest of this entry »

[转]人民网用这19个字总结中国的部分官员

Posted by: 藕太黑 on: 九月 5, 2009

现实生活中有这样一些干部 >>

“一”字干部 :一请就到,一喝就冒,一捧就笑,一给就要,一苦就叫,一劝就躁,一批就跳,一撤就告,一查就倒。

“平”字干部:口中讲太平,文章有水平,左手持文凭,右手握酒瓶,对上会摆平,对下能铲平,家中有暧瓶,外头有花瓶,生活有水平。

“会” 字干部:最神气的开记者招待会,最正经的是民主生活会,最高兴的是开常委(肠胃)扩大会,最舒服的是检查研究(烟酒)会,最兴奋的是开切磋(麻将)妓艺会,最潇洒的是进夜总会,最不愿开的纪委会。

“样” 字干部:吹牛皮像驴叫一样,奉承领导像哈巴狗一样,训斥下级像老虎一样,公款吃喝像恶狼一样,见便宜跑得像兔子一样,干工作像猴子一样,遇见困难像泥鳅一样,在老婆面前像雄狮一样,在情人面前像癞哈蟆一样。

“头” 字干部:手里捏着烟头,威风凛凛走前头,摄相机前抢镜头,听取汇报点点头,听到吹捧喜心头,碰到难题皱眉头,解决问题摇摇头,酒席桌上划拳头,酒后搂着花枕头。

“法” 字干部:总结问题用加法,接受任务用减法,汇报成绩用乘法,谈到问题用除法,自己制定土办法,对待群众硬办法,对待干部软办法。

“事”字干部:不给好处不办事,给了好处乱办事,歪门邪道好办事,正儿八经难办事,送上礼物办小事,送上钱财办大事,送上女人办难事,群众疾苦不当事,从来就不办实事。

“子” 字干部:坐在家里定盘子,关起门来想点子,走到下面玩妹子,顺便再去找例子,回到机关写稿子,做形式主义的样子,出主观主义的点子,摆官僚主义的架子,图享乐主义的景子。

“转” 字干部:上午围着车子转,中午围着盘子转,下午围着牌桌转,晚上围着裙子转;上班围着领导转,下班围着关系转,家里围着儿女转,在外围着情人转,急得老婆团团转。

“风” 字干部:家中枕头风,任人裙带风,办事拖拉风,汇报浮夸风,公款吃喝风,对上献媚风,对外崇洋风,学习一阵风,批评耳边风。

“要” 字干部:香烟要烧到同归于尽,老酒要喝到六亲不认,麻将要搓到赤膊上阵,纸牌要打到披星戴月,吹牛要吹到自己不信,拍马要拍到昏天黑地,跳舞要跳到精疲力竭,休息要休息到全身有病。

“越” 字干部:大目标越来越小,小目标越来越大,生活水平越来越高,政治觉悟越来越低,为人意识越来越淡,为已意识越来越浓,受贿数额越来越大,情人年龄越来越小,老婆换得越来越勤。

“系” 字干部:办事都得凭关系,没有关系找关系,有了关系没关系,找到关系托关系,托到关系拉关系,拉到关系卖关系,难找关系买关系。

“话” 字干部:对上讲假话,对下讲官话,对同级讲大话,对群众讲空话,对老婆讲谎话,对情人讲鬼话,对同行讲痞话,对同伙讲黑话,对法官讲话。

“费”字干部:失控的通讯费,膨胀的交通费,超额的会务费,惊人的吃喝费,巨额的考察费,高昂的礼品费,大笔的协调费,变相的劳务费。

“干”字干部:明处的事暗处干,暗处的事明处干,家里的事单位干,单位的事家里干,别人的事自己干,自己的事别人干,女人的事男人干,男人的事女人干,一切围着好处干。

“小” 字干部:喝喝小酒,看看小报,开开小会,扭扭小腰,摆摆小架,念念小稿,收收小礼,坐坐小车,玩玩小蜜。

“不” 字干部:喝酒喝不醉,收礼不受贿,游玩不结对,小贪不犯罪,房子不买贵,工资不上税,跳舞不定位,情人不常会,老婆不辞退。

“酒” 字干部:酒一开路,谁无事做,酒杯一端,政策放宽,酒话一说,事就联络,酒杯一举,承诺就许,酒一助兴,当场敲定,酒肉一饱,不好也好,嘴巴一抹,事情办妥,茶酒一醉,不对也对,酒醉一倒,啥都可搞。

当个部分官员能力要求很高很高。

FLV和F4V格式文件记要

Posted by: 藕太黑 on: 九月 3, 2009

  • FLV由ADOBE公司定义。
  • 包含音频,视频,RTMP协议连接数据,与SWF文件无异
  • FLV始于FlashPlay6,F4V始于FlashPlay9
  • F4V基于IOS/IEC 14496-12:IOS格式;且包含metadata;
  • Video File Format 10增加Speex XMP Metadata
  • FLV只有一个流,同步音频视频流。
  • FLV采用big-endian,如300(0×12C),SWF(0×2c 0×01),FLV(0×01 0×2c)
  • FLV使用3-byte 整型没在SWF中使用。
  • 支持视频编码 JPEG, Sorenson H.263, Screen video, On2 VP6, On2 VP6 with alpha channel, Screen video version2, AVC
  • 支持音频编码 Linear PCM big*little, ADPCM, MP3, Nellymoser, G.711, AAC, Speex, Device-specific sound
Tags: ,

xvid和divx纪要

Posted by: 藕太黑 on: 九月 3, 2009

  • 远古时代由MS大神开创了MS MPEG4V1、MS MPEG4V2、MS MPEG4V3的系列编码内核。
  • 犹如克隆人实验,v1型和v2型都是失败品。
  • v3型犹猛,要封闭在ASF文件中使用。但骇客怒之,遂破;MPEG4编码器DivX;-) 3.11诞生。
  • 骇客成立DivXNetworks Inc.的公司,简称DXN,开放源码项目ProjectMayo诞生。
  • ISO MPEG4标准的OpenDivX CODEC;OpenDivX编码器和解码器原型;更高性能的编码器Encore 2等等;波涛汹涌的战国时期。
  • 2001年7月,Encore 2基本成型,接近产品化时,DXN另搞了一个DIVX.COM网站,封闭了源码,发布了他们自己的DivX 4。
  • DXN不再参与,ProjectMayo陷于停顿,Encore2的源码也被DXN从服务器上撤下;经过激烈的争论,DXN虽然承认Encore 2在法律上是开放的,但仍然拒绝把它放回服务器。开放源码社会就这样被狠狠地涮了一回;
  • 27岁的法籍影音发烧友罗达(Rota)及电脑黑客基尔(Gej)
  • 整个0dayz组织永远的拒绝了DXN公司的DivX4\5;
  • 原OpenDivX开发组中的幸存者,逐渐重新聚拢开发力量,在最后一个OpenDivX版本的基础上,发展出了XviD;
  • 一年之后,XviD继承并发展了OpenDIVX Encore 2,性能得到极大提高,被认为目前世界上速度最快的MPEG4 CODEC;
  • XVID重写了所有代码,并吸取前车之鉴依照GPL发布(注意不再是LGPL,所以谁要是想用它做成产品而不开放源码是非法的)。
  • DivX是视频DVD的另一种保存方式,要靠DeCSS程序(注)才能做到。因为DVD本身有防复制的标记,让DVD不能随便复制到电脑里,但DeCSS能将它解码,令其可以复制,压缩成DivX电影。针对这一做法,各大电影商立即采取行动,防止DeCSS外流及散播,但为时已晚,DeCSS在Yahoo!、Google上都能找到。

             DivX 4/5                    XviD
出品公司  DivXNetworks Inc              开放源代码(GPL授权)
推出时间   1998年                   2002年2月
创始人    罗达(Rota)及电脑黑客基尔(Gej)    被DXN”涮”的人
TDX2002认证 Yes                     Yes
oDay认证   No                      Yes
最新版本   5.02                     1.3+
费用     收费                     免费
压缩时间   长                          稍短
图像质量   高、接近DVD                高、接近DVD
压缩容量   较小                      较小
编码容量   3.4MB                     359K
优化设置   一般        强大的可调节性,使用这可设置很多选项,分别针对不同电影进行不同方式的压缩。

  XviD版本的历史:

  1.0 2002年2月17日 第一版 ,首次发布
  1.0 2002年2月28日 大量的修正和更准确地解释
  1.1 2002年3月2日 分析澄清了很多概念
  1.2 2002年3月4日 加入量化矩阵(quantization matrix), 移去量(removed quant). 柔和(smoothing) 技术
  1.3 2002年3月8日 关于 Nic’s XviD Directshow Filter 的详释
  1.3+ 2002年7月23日 按照Nic’s XVID Codec校正补充部分内容(目前最新版本)

  名词解释:

  DeCSS程序:乔.约翰森编写的小程序,仅有57K,不仅震撼了好莱坞,还引发了无数的法律纠纷。他创造出来的“小魔怪”,如今已经成了好莱坞制片商们最恨之入骨的冤家对头。DeCSS程序能够将正版加密的DVD影片复制到计算机硬盘上。它还可以将这些影片上传到互联网上。

  MPEG-4技术:是一种崭新的低码率、高压缩比的视频编码标准,传输速率为4.8~64kbit/s,使用时占用的存储空间比较小。目前的DivX(最新的XviD)电影都采用的此技术,现在被广泛采用。

  GPL协议:通用公共许可证,一种开放源码项目中常用的保障自由使用和修改的软件或源码的协议。

  LGPL协议:次级GPL(Lesser GPL),与GPL一样,是一种公共许可证。与GPL的最大不同是它允许私有。

  Ffdshow:一个支持 Xvid、MPEG4-V3 MPEG4-V2 以及 DivX 所有版本所制作的视频文件的播放软件,占CPU 资源比较少。

Tags: , , ,

泛型函数要点

Posted by: 藕太黑 on: 九月 2, 2009

  • 直到使用的时候才知道函数的参数和返回类型的函数;
  • 使用创建泛型函数是c++重要特征;
  • 接受任意适当的参数,这就意味着有一系列的检查;
  • 为了解决抽象问题-故曰:泛;
  • 用模板函数(tmplate function)实现泛型这个概念;
  • 模板:不同类型的对象仍然可以有相同的行为;
  • 模板是标准库的鸡屎;
  • 实例化instantiate,C++标准根本不理会如何将模板实例化,这根据系统而定,但:
  • 实例化发生在编译时期或链接时期(编辑-编译-链接)
  • 直到模板实例化,系统才会检验模板代码是否可以用于指定的类型,事后诸葛型。
  • typename xxx :以便让系统知道要把这个xxx当作一个类型来对待;
  • 对参数的操作会限定参数的类型,这是前面提到的一系列检查的一部分。
  • 难点:精确理解模板和适当的类型之间的交互作用。
  • 模板参数的类型是从参数的类型推断出来的。
  • 泛型函数带有迭代器参数,而不是直接带有容器参数,而不是直接作为成员函数,可以只写一个函数哦。
  • 使用迭代器访问特殊的,不在容器中的元素。
  • 只要两个迭代器支持相同的操作,它们就给这个操作提供相同的名字,如++指向容器中下一个迭代元素;

Web Service

Posted by: 藕太黑 on: 九月 2, 2009

W3C给Web service下过一个定义,说它是一个软件系统,“用来控制机器之间的互动”( a software system designed to support interoperable machine-to-machine interaction over a network)

  • 调用别人的服务
  • 不是自己的服务
  • 与平台无关
  • 与语言无关
  • 提供者部署、升级和维护,不必考虑客户端兼容性
  • 使用者轻松实现聚合mashup
  • 传输方式:RCP,SOAP协议,GET
  • 数据格式:XML JESON….PHPRPC
  • 请求发送者:服务器or客户端

 

三月 2010
« 九    
1234567
891011121314
15161718192021
22232425262728
293031  

文章分类

有谁在线