关于作者

姓名:

性别:女

出生日期:1983-04-22

地区:广东-深圳

联系电话:

QQ:9979653婚否:保密
用户名:mercredi
笔名:临风许愿
地区: 广东-深圳
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



好友的博客——闲着没事换着玩~

趴趴熊爱睡觉


http://leisurelyeave.tianyablog.com/

  • 熊猫一生有两大愿望:第一个愿望是照张彩色相片;第二个愿望是睡个好觉^_^ 趴趴熊不想别的,只想睡啊,睡啊,在梦中遇到白马王子,在梦中捡到金子,在梦中和好多好朋友一起玩,在梦中不要钱天天吃好吃的还不发胖。。。呵呵,保佑我不要笑醒~~

    你永远的小强


    http://phoebe_yan.blog.com.cn/

    巧信的小窝


    http://qiaoxin.blog.com.cn/

  • 访问统计:
    文章个数:18
    评论个数:10
    留言条数:0




    Powered by BlogDriver 2.1

    趴趴熊爱程序

     

    吾至爱程序!即此爱彼一念,使吾勇于入此行也!吾自遇彼以来,常愿天下菜鸟都成高手,然遍地技术,满街代码,称心快意,几家能够?唐骏丁磊,吾不敢望前辈之项背也。语云,仁者“老吾老以及人之老,幼吾幼以及人之幼”。吾充吾爱彼之心,助天下人爱其所爱,所以敢略现薄才,不顾阻也。

    交个朋友吧~~!

    文章

    PCR的意义

    MPEG-2中的传送码流是根据ITU-T Rec﹒H﹒220,ISO/IEC DIS 13818-2和ISO/IEC 13818-3协议定义的一种数据流,其目的是为了在有可能发生严重错误的环境下进行一道或多道程序的编码数据的传送和存储。这种错误表现为比特值错误或分组丢失。传送流的速率可以是变化的或固定不变的。在任何情况下组成的原始流可以是变化的或固定不变,在这些情况下的语法和语义限制是相同的。传送流速率由程序参考时钟(PCR)字段的位置和数值决定,通常对于每个程序都有自己的PCR字段。

    PCR的物理意义:

    1.PCR 仅仅在实时播出流中才有意义(即前端编码器实时编码或视频服务器实时播出,后端机顶盒实时接收的情况),对DVD机这类从文件中取TS流的设备PCR毫无意义。
       2.前端编码器工作原理:编码器中有一个27M的时钟,编码过程中不断读取硬件时钟放入TS中PCR字段,和PES的PTS,DTS字段。
       3.后端机顶盒工作原理:机顶盒中也有一个27M的时钟,它根据PES中的PTS,DTS字段中指示的时间进行解码和显示。那么TS中的PCR还有什么用呢?首先如果前端编码器的时钟与后端机顶盒中时钟"绝对"同步,那么TS中的PCR就没有任何意义了。但是如果"绝对"变对"相对"以后会出先什么情况?它们之间的"微小"误差经过长时间的累积(1-2小时就足以)机顶盒中解码器会因为自己时钟"快"了而造成buffer中没有数据--停帧,会因为时钟"慢"了而造成buffer中数据溢出--丢帧。所对它需要TS中的PCR字段来不断修正自己时钟与编码器时钟间的"微小"误差。
       4.TS流在经过复用器,加扰机这些中间设备时,PCR"必须"进行"非均匀"延迟修正(原因如上)。所以对于没有PCR修正功能的复用器和加扰机,建设大家一定不要买。
       5.为什么说TS流中的PCR对DVD机毫无意义呢?DVD机是从光盘中读取TS流,读盘速度与TS流传送速率毫无关联,PCR还有指示时间的意义吗?但因为它不是"实时流"传送,所以不会出现buffer溢出的问题,也就不会产生停丢帧现象。
         明白了PCR,PTS,DTS的物理意义后对于它们的设置就不会有太大问题了。

    - 作者: 临风许愿 2006年03月10日, 星期五 16:15  回复(0) |  引用(1) 加入博采

    CSS布局入门
    摘要:css、布局、margin、padding、border 查看全文

    - 作者: 临风许愿 2006年01月23日, 星期一 10:34  回复(0) |  引用(1) 加入博采

    痛苦的天才
    摘要:群中闲聊 查看全文

    - 作者: 临风许愿 2005年12月27日, 星期二 16:16  回复(0) |  引用(1) 加入博采

    SetTimer函数的使用

    什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。

    1.1 用WM_TIMER来设置定时器

    先请看SetTimer这个API函数的原型

    UINT_PTR SetTimer(
      HWND hWnd,              // 窗口句柄
      UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
      UINT uElapse,           // 时间间隔,单位为毫秒
      TIMERPROC lpTimerFunc   // 回调函数
    );

    例如
    SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器
    在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了

    于是SetTimer函数的原型变为:

    UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))

    当使用SetTimer函数的时候,就会生成一个计时器。函数中nIDEvent指的是计时器的标识,也就是名字。nElapse指的是时间间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是onTime函数。这个函数怎么生成的呢?你需要在需要计时器的类的生成onTime函数:在ClassWizard里,选择需要计时器的类,添加WM_TIME消息映射,就自动生成onTime函数了。然后在函数里添加代码,让代码实现功能。每隔一段时间就会自动执行一次。

    例:

    SetTimer(1,1000,NULL);

    1:计时器的名称;

    1000:时间间隔,单位是毫秒;

    NULL:使用onTime函数。

    当不需要计时器的时候调用KillTimer(nIDEvent);

    例如:KillTimer(1);

    1.2 调用回调函数

    此方法首先写一个如下格式的回调函数

    void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
    然后再用SetTimer(1,100,TimerProc)函数来建一个定时器,第三个参数就是回调函数地址。

    二. 或许你会问,如果我要加入两个或者两个以上的 timer怎么办?

    继续用SetTimer函数吧,上次的timer的ID是1,这次可以是2,3,4。。。。

    SetTimer(2,1000,NULL);

    SetTimer(3,500,NULL);

    嗯,WINDOWS会协调他们的。当然onTimer函数体也要发生变化,要在函数体内添加每一个timer的处理代码:

    onTimer(nIDEvent)

    {

    switch(nIDEvent)

    {

    case 1:........;

    break;

    case 2:.......;

    break;

    case 3:......;

    break;

    }

    }

    什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。

    1.1 用WM_TIMER来设置定时器

    先请看SetTimer这个API函数的原型

    UINT_PTR SetTimer(
      HWND hWnd,              // 窗口句柄
      UINT_PTR nIDEvent,      // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
      UINT uElapse,           // 时间间隔,单位为毫秒
      TIMERPROC lpTimerFunc   // 回调函数
    );

    例如
    SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器
    在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了

    于是SetTimer函数的原型变为:

    UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))

    当使用SetTimer函数的时候,就会生成一个计时器。函数中nIDEvent指的是计时器的标识,也就是名字。nElapse指的是时间间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是onTime函数。这个函数怎么生成的呢?你需要在需要计时器的类的生成onTime函数:在ClassWizard里,选择需要计时器的类,添加WM_TIME消息映射,就自动生成onTime函数了。然后在函数里添加代码,让代码实现功能。每隔一段时间就会自动执行一次。

    例:

    SetTimer(1,1000,NULL);

    1:计时器的名称;

    1000:时间间隔,单位是毫秒;

    NULL:使用onTime函数。

    当不需要计时器的时候调用KillTimer(nIDEvent);

    例如:KillTimer(1);

    1.2 调用回调函数

    此方法首先写一个如下格式的回调函数

    void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
    然后再用SetTimer(1,100,TimerProc)函数来建一个定时器,第三个参数就是回调函数地址。

    二. 或许你会问,如果我要加入两个或者两个以上的 timer怎么办?

    继续用SetTimer函数吧,上次的timer的ID是1,这次可以是2,3,4。。。。

    SetTimer(2,1000,NULL);

    SetTimer(3,500,NULL);

    嗯,WINDOWS会协调他们的。当然onTimer函数体也要发生变化,要在函数体内添加每一个timer的处理代码:

    onTimer(nIDEvent)

    {

    switch(nIDEvent)

    {

    case 1:........;

    break;

    case 2:.......;

    break;

    case 3:......;

    break;

    }

    }

    - 作者: 临风许愿 2005年11月11日, 星期五 16:10  回复(6) |  引用(1) 加入博采

    程序员应该做的事

    转载:中国IT经理人

    程序员每天该做的事
    1、总结自己一天任务的完成情况
       最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
      
    2、考虑自己明天应该做的主要工作
       把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
      
    3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法
       出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢

    4、考虑自己一天工作完成的质量和效率能否还能提高
       一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍

    5、一个有用的新闻网站或读一张有用的报纸,了解业界动态
       闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示

    6、记住一位同事的名字及其特点
       你认识公司的所有同事吗?你了解他们吗?

    7、清理自己的代码
       今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?

    8、清理自己的桌面
       当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净

    程序员每周该做的事
    1、向你的老板汇报一次工作
       让你的老板知道你在做什么,这很重要。可以口头、书面、邮件,看你老板的工作方式而定
      
    2、进行一次自我总结(非正式)
       这周之内自己表现得怎么样?该加分还是扣分?

    3、制定下周计划
       把下周要做的事情列出来,一样要分清楚优先级

    4、整理自己的文件夹、书柜和电脑文件
       把桌面以外的地方也要清理干净,电脑的文件夹,收到的邮件,把过时的垃圾全部清理掉

    5、与一个非公司的朋友沟通
       它山之石,可以攻玉

    6、看一本杂志
       找一本适合自己的专业杂志

    7、纠正自己或同事一个细节上的不正确做法
       《细节决定成败》看过了吗?没看过强烈建议先看看

    程序员每月该做的事
    1、至少和一个同事一起吃饭或喝茶
       不光了解自己工作伙伴的工作,还要了解他们的生活

    2、自我考核一次
       相对正式地考核自己一下,你对得起这个月的工资吗?

    3、对你的同事考核一次
       你的同事表现怎么样?哪些人值得学习,哪些人需要帮助?

    3、制定下月的计划,确定下月的工作重点

    4、总结自己工作质量改进状况
       自己的质量提高了多少?

    5、有针对性地对一项工作指标做深入地分析并得出改进的方案
       可以是对自己的,也可以是对公司的,一定要深入地分析后拿出自己的观点来。要想在老板面前说得上话,做的成事,工作上功夫要做足。

    6、与老板沟通一次
       最好是面对面地沟通,好好表现一下自己,虚心听取老板的意见,更重要的是要了解老板当前关心的重点

    程序员每年该做的事
    1、年终总结
       每个公司都会做的事情,但你真正认真地总结过自己吗?
      
    2、兑现给自己、给家人的承诺
       给老婆、儿子的新年礼物买了没有?给自己的呢?

    3、下年度工作规划
       好好想想自己明年的发展目标,争取升职/加薪、跳槽还是自己出来干?

    4、掌握一项新技术
       至少是一项,作为程序员一年要是一项新技术都学不到手,那就一定会被淘汰。
       掌握可不是看本书就行的,要真正懂得应用,最好你能够写一篇教程发表到你的blog

    5、推出一种新产品
       可以是一个真正的产品,也可以只是一个类库,只要是你创造的东西就行,让别人使用它,也为世界作点贡献。当然如果真的很有价值,收点注册费也是应该的

    6、与父母团聚一次
       常回家看看,常回家看看

    - 作者: 临风许愿 2005年11月10日, 星期四 14:59  回复(0) |  引用(1) 加入博采

    女性程序员:风雨中的铿锵玫瑰

    出处:PConline

    IT专场招聘会上人头攒动。小吴好不容易挤进一个展台,快速浏览了一下招聘信息,心里正高兴自己符合软件开发人员的条件,突然看见需求信息的最后一行写着“性别,男”,顿时觉得很沮丧。就这样来回转了几圈,也没看见招聘女性开发人员的,好不容易找到一家公司招熟悉Oracle和Java的女程序员,一问才知道基本上不会参与开发编程,而是做系统推广和培训工作。

        夜深了,马路上人和车本来就不多,在路灯的映衬下,更显得寂静、安详。林江南加完班后跟来接她的丈夫一起骑着自行车回家。一天中绝大多数时间都已经留给公司了,只有晚上那一小会儿两人能在一起说说话。两人聊得太高兴,没注意到两个车子靠得太近了,车把拧在一起,同时摔下车来。看着丈夫磕破的膝盖,想着丈夫不放心自己那么晚回家,每天都来公司等自己加完班,林江南心里泛起一阵感动,热泪盈眶。

      这都是女性程序员工作生活的真实写照。从求职开始,女程序员就比男程序员走得更艰难,所以软件公司中工作的女性很少,而从事一线编码工作的女性则更少。即使在IBM这样推崇尊重女性的大公司里,从事技术工作的女性所占比例也只有17%。而女程序员入职后的道路也不平坦,面临各方面的压力。

    风雨中的铿锵玫瑰

      对女程序员来说,最常见的压力是加班。接近50%的女程序员每周都有几天、甚至全周都需要加班。加班的时间长短不一,加班1至4小时的占到了调查人数的63.89%,比其他职业女性员工工作的时间多5%到10%。这意味着女程序员要在职场中立足需要付出更多的努力,包括牺牲部分私人时间。比起其他职业女性,她们更少时间逛街,更少化妆和打扮自己。因此,在大多数人眼中女程序员是一个朴实、低调的群体,尽管在男性主导的开发团队中数量相对稀少的她们显得非常引人注目。

      女程序员面对的压力还不止如此。大部分男程序员认为女性不适合做程序员,因为做开发要求高、强度大,女性在这方面处于劣势。在工作安排上,43%的人认为项目经理会倾向于让女性程序员做辅助性工作或做接口等边缘性质的开发。钱梦(化名)小姐就遇到了这样的问题。钱小姐去年研究生毕业进入一家搜索引擎开发公司工作。在项目组里,“一般(项目经理)会认为(女程序员的)工作的态度或主动性不如男生那么高。还有在研讨会上,男程序员的思维会很活跃,而女成员的想法一般很常规,这样他觉得女程序员缺乏创造性。所以分配任务的时候,后台核心的代码都是男程序员垄断的,而我们几个女程序员只能做应用和界面的开发。”钱小姐不甘心只做应用,多次向项目经理申请参与后台研发,但项目经理第一句话就说“这个比较累。你没看到他们在做一个新的算法的时候有多辛苦,要是出错了还得把前面的推倒,重新写一遍。像应用、界面相关的开发,如果出错你只需要很小的改动,不用全盘都重来。”

      工作上得不到重视所导致的后果之一就是晋升会受到限制或阻碍。的确,在软件公司中男性更容易得到高级别的技术或管理职位,只有极少数表现非常出色的女性能升为项目经理、架构师或CTO。Cynthia在国内最大的税务软件公司工作已是第四个年头,现在总算做上了小组负责人(Group Leader),需要培训和带领三名新手下完成某个项目模块。但是,这与她刚进公司的理想相距甚远,她曾希望自己成为项目经理。因为曾是名校优秀毕业生的她对自己的技术、业务理解和与人相处的能力充满自信,而且三年的工作时间并不短暂。遗憾的是,“我们的头选择了我出局。当时我的心里很难受。可是后来想想,他这样的选择也是情理之中。我们三个当中,一个是男生,这就不用说了,另一个虽然也是女的,但她是硕士,所以就算我的能力要强一些,公司也还是愿意把他们当作培养对象。” 不过,对女程序员来说,晋升项目经理一类的中层管理职位相对要容易一些,例如在博彦科技中,约25%的项目经理是女性。不过,更高级别任职(如CTO)的女性就属凤毛麟角了。根据泰来猎头公司的统计,在北京大概只有2%的TO是女性。

      然而,工作不受重视并不是晋升受阻碍的唯一原因,女程序员自身的心理因素也在晋升受阻中扮演着一个非常重要的角色。问到未来的规划,Cynthia说她现在不再梦想当项目经理了。晋升受挫是一方面的原因;另一方面,长时间观察别人怎么做的项目经理后,Cynthia认为做项目经理比想象的辛苦得多,因为管理一个项目不仅要求熟悉业务、懂技术,还必须协调与技术人员的关系,更要与上司做很多的沟通,但在现在的公司人际关系非常复杂,处理起来特别累心。不仅如此,程序员的工作强度本就很高,这容易让女性程序员感到疲惫,也就容易让女程序员自动停止晋升的想法。当连晋升的想法都没有时,获得晋升的可能就要少得多。其实,这种现象并不是女程序员特有的,其他行业的女性也大都如此。在我国一项外企白领女性最希望公司给予什么的专项调查中,希望公司给予晋升机会的人只占到10%。

    情感波谱

      “女程序员是开发部的稀世之宝”,网友野马说。他是一名男程序员,他所在的开发部黑压压的一群男性,只有一位女程序员,所以平时任务不紧时,同事们都非常愿意同这位女程序员聊天,就像对待自己的妹妹一样逗着她玩。野马说“如果找女朋友,我愿意选女程序员。成天和机器打交道的人,还是比较天真率直。”但不是所有的男程序员对女程序员的评价都那么高。网友Sonofevil就认为,“女程序员中恐龙多,思维程式化,缺少文科女生的时尚与浪漫。不过她们也挺可怜的。我们技术部就有一个女生,上班的时候还不觉得,下班后常常看她一个人呆在那里对着电脑,周围连一个说话的人都没有。”

      面对男性同行褒贬不一的评价,女程序员眼中的男程序员又是怎样的呢?“男程序员中十个有八个是工作狂。我知道这样说有些夸张,其实我挺欣赏周围男同事负责敬业的精神。”Neadia说,“不过,我特别讨厌有的男程序员整个冬天就没见过他换过毛衣和外套!”与不修边幅相比,女程序员更不喜欢男程序员的大男子主义。在一家作财务报表软件公司工作的Lisa在谈论男程序员时说:“说实话,大家都是程序员,谁也不比谁强到那儿去,可就有些男程序员自以为牛人非常了不起。有时碰到程序上有点问题,向他问一问,但对方老是一幅不屑一顾的样子,让人自尊心非常受不了”。

      不管男女程序员如何互相评价,女程序员圈子中有一个独特的现象:大多数人的男朋友或者丈夫也是程序员,而且单身女程序员也偏向于找男程序员做恋人。Lisa认为这个道理很简单,“自从做了程序员,自然而然与人的交往的机会就很少了,大部分的时候用来陪伴abc。而没有接触过IT业的人也一定不太了解程序员是做什么的,所以找一个程序员男朋友,他能理解自己的。” 网友Viola深有同感,她说,“说到谈恋爱,我一直认为工科女生只有工科男生才会欣赏,也才能忍受。我和他原本是同学,毕业后在不同的城市,我们就是在QQ上聊了好长一段时间,才在一起的,QQ其实是我们程序员最大的红娘,好几个同事都是通过它找到的另一半。”

      提到婚姻,女程序员最担心的不是老公对自己的工作有怨言,而是一旦怀孕、生孩子工作还能否继续,而且有了孩子后还能否全情投入工作。在中国不止IT界,其他行业都存在女性怀孕后会面临被公司辞退的危险。有些社会学家也提出“阶段性失业”这一概念。Tracey曾经面临过相似问题。曾在日本做过5年程序员,现在出任博彦公司对日开发部经理的Tracey说:“我的丈夫非常喜欢小孩,跟他一起出去玩,一看见小孩他就逗,就笑。所以觉得结婚了,第一件事就是要小孩。”在日本,女性快生孩子时不管愿不愿意都会辞退工作回到家中做全职太太,即使非常喜欢工作也要等到孩子上幼儿园或是小学后才会重新去上班。但是,Tracey觉得中国女性要幸运的多,因为日本小孩的看护费是很昂贵的,所以很多妇女不得不自己照看小孩,而国内很多人可以让自己的父母来代替。她说怀孕在家的那一年多时间里,也不是说完全耽误了,这时候能够完全静下心来学习一些东西,为下一阶段做好准备。

      每个女程序员的故事都让我们感动。她们为这个行业奉献自己的热情和青春,无论她们是留守还是寻觅未来幸福的方向,无论她们是“神秘”的智慧美女还是“流言蜚语”中的恐龙,她们永远都是IT这个快速变化、竞争激烈的产业中一道亮丽的风景线。


    - 作者: 临风许愿 2005年11月10日, 星期四 14:27  回复(1) |  引用(1) 加入博采

    DirectShow开发环境
    摘要:环境配置,参考书籍:《DirectShow开发指南》 查看全文

    - 作者: 临风许愿 2005年09月27日, 星期二 19:39  回复(1) |  引用(1) 加入博采

    Debug调试(二)
    摘要:LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library 遇到这样的警告信息,在MSDN中查出原文,大概翻译了一下。 查看全文

    - 作者: 临风许愿 2005年09月8日, 星期四 13:25  回复(0) |  引用(1) 加入博采

    Debug调试问题(一)
    摘要:Loaded 'C:\WINDOWS\SYSTEM\WININET.DLL', no matching symbolic information found 查看全文

    - 作者: 临风许愿 2005年09月8日, 星期四 13:15  回复(0) |  引用(1) 加入博采

    李开复从微软跳槽到Google
    摘要:呵,不小心想到了很多…… 查看全文

    - 作者: 临风许愿 2005年09月8日, 星期四 13:04  回复(0) |  引用(1) 加入博采