- 博客(48)
- 资源 (20)
- 收藏
- 关注
原创 第一次做面试官
第一次做面试官尽管已经在公司实习了两年多了,但正式上岗工作仅仅才两个多月的时间。前几天很惊讶地接到了HR的邮件,让我面试两个正式员工。同事和我的老板也很吃惊地问我,怎么才来了如此短的时间,也没有接受面试培训,就可以去面试别人,会不会是HR搞错了。我也觉得是HR有些失误,毕竟在这样的大公司,我常常经历到严格地按照流程办事的方法。同事劝我和HR咨询一下,会不会是搞错了,然而我自己并不想错失这个
2014-11-27 22:47:11 8486
原创 吐槽一下坑爹的专利
研二的时候调到了信安的实验室,跟着信安的老师做学校和国内某大公司合作的研究性质的项目,项目与信息安全无关。刚刚开始做的时候在博客里写了几篇笔记,最后在某大公司施加压力之下删除了,说是出于保密,将来要申请专利。一年的合同就要到deadline了,合同上除了代码和文档之外,果然还有说学校要给人家公司做出两个专利。最近愁的就是这个专利。为了避免再次被施压,项目的细节就不说了。大体上就是,国外某学校与
2013-11-20 11:22:23 9872 6
原创 记今年阿里巴巴招聘的几个失误
小吐槽。1. 同学帮忙内推,我把简历发给了同学。几天后,收到短信,让我去网上注册,又填了一遍简历,并且上传了一份简历。几天后收到短信让我去笔试,带上简历。我想知道干嘛要我那么多份简历,公司内部要存多少份?还有,我是头一次听说内推之后去参加笔试的,这和自己投有什么区别啊……2. 发的笔试通知的短信写错了,地点算法工程师,职位北京大学二教101教室,笔试时间9-13下午六点到八点。3. 大
2013-09-15 15:05:37 8563 9
原创 C语言新体会
2010年投出第一份简历中,写着“精通C语言,熟悉C++”。2012年找实习的简历中,也写着“精通C语言,熟悉C++”。因为C++用了好多,但是一直不敢说精通二字。最近细细回想这几年经历的几个项目,看过的很多的开源的代码,Linux, ffmpeg, gstreamer, Barrelfish等等。如今竟然对C语言有了全新的体会,远远比我当年想的强大的多。当年的“精通”二字真是让我倍感
2013-08-13 19:15:13 7501 1
原创 精明的程序员——不要浪费那些珍贵的题目
精明的程序员——不要浪费那些珍贵的题目记得临近高考的时候,我们都在拼命挣扎在题海中。当时,老班给我们说了这样一段话,我至今都记忆犹新。“题目看似很多,永远做不完似的,但是其实好的题目非常少。最珍贵的题目,就是近几年的高考真题,那每一道题都是经过千锤百炼出来的,是其他模拟题无法比拟的。你们要做这些真题,就要认真做。不要像做练习题似的,做一道看一下答案,做错了改正。这样做简直是在浪费题目。
2013-05-20 21:24:25 8376 1
原创 精明的程序员——软件这条路我在往哪走
精明的程序员——软件这条路我在往哪走我小就被大人评价为优秀。因为做同样一件事情,总会比别的小孩做的好,学的快。和小朋友一起画画,玩个气枪,或者学骑自行车,我总是那个最优秀的。我觉得是因为我的好胜心强,不论做什么事,我心里总会想着,我不能比别人做的差。长大了,上学,成绩优秀。高中的时候就开始迷上计算机。当时跟着每一期的《黑客x档案》,学着上面每一篇文章,攻击网站,破解软件,学习种植木马上
2013-05-20 20:52:26 8676 12
原创 Linux的远程控制
精明的程序员——Linux的远程控制今天本来在写一个捕捉Linux中的键鼠消息的程序。查阅资料,看到了如下信息:键鼠设备(包括touch等设备)事件以文件的形式存在/dev/input/event[n]中;其中n等于多少,可以通过cat /proc/bus/input/devices得知。读取这些文件,就可以获得键盘与鼠标触发的消息,反之,写入这些文件就可以模拟键盘与鼠标的输入动作。
2013-04-17 18:55:58 9754 1
原创 今天为找工作开始准备了
研二了,不早了。身边的学长们一波一波的走掉了,终于也快轮到我这一届了。从来没有刷过题,从来没有为面试准备过什么。项目一个接一个,从来没有闲暇过。从今天开始,也该做点什么了。为了自己的理想而努力。BABY加油!
2013-04-01 23:12:58 8043 4
原创 精明的程序员——表象之后
精明的程序员——表象之后小郭写程序,写了几十个文件的源代码。当他开始测试的时候,发现运行的结果不正确,于是他踏上了艰难的debug之路。他想:”一定是哪个地方有问题“。但是,他一遍又一遍审查着每一个源文件,每一个函数,都不能找出问题。在调了两天之后,终于找到了一个bug。”原来是这里写错了!“小郭非常兴奋,因为艰难的debug终于获得了汇报,找到了问题。他激动地改正了错误,编译,运行,
2013-01-07 23:55:26 10002 10
原创 精明的程序员——小程大爱
精明的程序员——小程大爱虚伪的大项目在参加软件学院研究中心面试的时候,老师们问我有什么项目经历。记得我当时的回答是这样的:“我的项目经历主要是在Intel公司的一年实习经历,这期间主要参与了两个项目,第一个是做Meego上的多媒体框架,第二个项目是Chromium对html5视频的支持。”老师们听后没有什么反应,但是能够感觉到他们对我的经历非常满意。一个本科生有一些实践经历就已
2012-12-29 19:36:06 31766 131
原创 精明的程序员——堆栈和队列的相互转换
精明的程序员——堆栈和队列的相互转换写这篇的灵感,是源自看到网上一个Google的面经。以下一段话引自面经原文:“第三道题目他先是说这东西可能没用,说stack和queue哪个更基本一些,我马上说stack,并告诉他我知道是stack,但不知道为什么是stack,他又具体举了个例子,说1和-1哪个更基本,我几乎没思考就说是1,他说是-1,因为-1*-1可以得到1,而1怎么也得不到-1,
2012-10-11 13:37:14 28241 42
原创 在Meego上实现一个播放器——gupnp
在Meego上实现一个播放器——gupnp寻找Linux开发upnp的库,发现就是gupnp对我来说比较合适。同样的没有tutorial,同样的看example。基于gupnp,针对不同的功能有几个不同的包。gupnp-av,gupnp-dlna,gupnp-igd等等。我们需要用到的是gupnp-av,下载之后没有发现合适的例子。寻找后发现例子在gupnp-tools里面。和inte
2012-09-24 11:23:33 10240 2
原创 在Meego上实现一个播放器——QtGstreamer
在Meego上实现一个播放器——QtGstreamer网络上关于QtGstreamer的教程不多,所以只好从源码入手。这是我自己总结的一个小方法,一般使用这些开源的库,如果没有大公司做维护支持,常常会发现文档写的不完备。有时候甚至连最基本的API都找不到。然而在它的源码包中常常会有一个名为test或example的文件夹,里面会有一些非常简单的例子。例子的代码一般较为短小精炼,只要读懂了这
2012-09-19 10:24:10 9704
原创 在Meego上实现一个播放器——总体设计
在Meego上实现一个播放器——总体设计上一篇草草的介绍了一下需求,不知怎地,写着写着就不想多写下去了。也许是烦躁,也许是没有兴趣。但是无论如何,该做的事情还是要做好的。也许是出于责任感吧。这一次应该说说设计了,怎么说的。在下只是学生一枚,与那些经验丰富的程序员们还有些差距,更不要提那些所谓设计师架构师了 。虽然水平有限,但是设计这件事,却是非做不可的。为什么呢,当然是为了
2012-09-02 21:30:03 7682
原创 在Meego上实现一个播放器——简介
在Meego上实现一个播放器——简介去年此时,Meego已死。一年之后,Jolla带着Meego重出江湖。实验室的项目从Meego到Android,又回到Meego,倒不是因为它重出江湖,而是因为实验室一年多以前在Meego最火的时候申请的国家重点项目还没有验收。国家的项目真是落后啊,人家死了又活了,居然之前的项目还没有验收,这是一种讽刺吗?哎,不想多说,这期就说一下项目的需求吧。
2012-08-30 11:33:12 7432
原创 精明的程序员——不爱官气
精明的程序员——不爱官气学校课题组面试的时候,老师们问我毕业后有什么打算,我说想去外企。老师说,现在的同学一个个都想去央企国企,都想当公务员,你怎么就像去外企呢。我说,外企代表先进的生产力,老师们都笑了。前两天还和同学讨论,为什么总停电限电,中国电价却是美国的10倍;为什么中国电价是美国的10倍,国家电网每年却巨额亏损;为什么国家电网每年巨额亏损,却有无数的应届生巴不得毕业
2012-08-07 17:33:43 8918 8
原创 精明的程序员——爱学习
精明的程序员——爱学习上一篇说到,尽可能少地去做重复的工作,因为它很难让人进步。这篇说说如何寻求进步,答案就是学习。先说说我的大学经历吧:一二年级打基础,三年级开始做了第一个大项目,四年级就实习了。要说哪个阶段收获多,什么时间进步少,其实感觉每个阶段收获都很多。上学的期间一定要把基础打扎实,有很多知识看似眼前没有什么实际用处,其实不然。刚上大学的时候,觉得所
2012-08-07 16:38:07 9592 7
原创 和小导师发生了一些争执
今天上午项目组开会,由于一些鸡毛蒜皮的小问题,和小导师发生了一些争执。争执的内容大概就是我们按照需求做好个画图程序的贴花功能,可是小导师看到某类似程序的贴花可以移动放大缩小旋转加翻转,而我们做的没有,就强制要求我们做出来。不是什么大的问题,但是由于导师严厉逼迫的态度,很是过分。他说:“你觉得十天半个月才能做完,咱们就延期。”所谓的“集中开发”持续了将近一个月了,读过研究生的同学都懂得,就是
2012-07-09 23:15:55 10739 12
原创 精明的程序员——程序员的三个技能
精明的程序员——程序员的三个技能直接开始说,先说是什么:1. 编程能力这条浅显易懂啦。学生都知道,老师布置一个大作业,分组,分工,开始,到完成。最后总会发现这样一个作业总是由一个叫做“大腿”的同学一手包揽,从设计到coding再到测试。这种做“大腿”的能力,就是我说的编程能力啦。如何能写出好的代码,便于维护,又能适应需求的变化,可不是一件容易事。这类的书籍也不少,所有程序员都应该读
2012-06-14 23:10:27 9083 2
原创 精明的程序员——重复的工作
精明的程序员——重复的工作什么样的工作是一份好工作?虽然还在读书,距离工作还很遥远,但是经常会思考这个问题。偶然间看到一个视频,是白岩松在江西的一所大学的演讲。白谈到一个观点,大概内容是这样的:一个清洁工,一个比尔盖茨,为什么这两个人的工作挣的钱差别就那么多?并非人与人之间的地位就有差别,工作也没有高低之分。根本原因在于你要在一个领域有自己的不可替代性。说白了,就是做同一件事,
2012-06-14 21:45:01 3741 4
原创 精明的程序员——封装了什么
精明的程序员——封装了什么我一向对JAVA开发有偏见,总是看不惯一些老师带着学生们去写各种各样的JAVA程序。前些天又和一个比较喜欢JAVA的朋友争论到底是JAVA好还是C好,争来争取也没有一个结论。最多不过是些“各有千秋”之类的中庸之词。有人说C效率高,那么就有人反驳说,JAVA开发快。有人说C可以操作与硬件平台相关的功能,JAVA很难做到;那么倾向JAVA的人就会说,同一段JAVA代码
2012-05-31 21:27:13 2846 3
原创 自己动手写RTP服务器——传输所有格式的视频
自己动手写RTP服务器——传输所有格式的视频上一篇文章我们介绍了如何用一个简单的UDP socket搭建一个RTP服务器。我把这份80行的代码呈现到客户面前的时候,就有人不满意了。还有人在参考的时候会问:“楼主你的TS格式的文件是哪里来的?应该去哪里下载?”“这也太简单了吧,不就是用UDP把TS文件发过去么?就这么几十行代码也算个大作业?”“平时看的视频格式哪有TS的呀,不是avi
2012-05-31 19:57:41 8901 10
原创 基于移动平台的多媒体框架——NDK编译ffmpeg超简单方法
======一句话不割======./configure --sysroot=$NDK/platforms/android-8/arch-arm/ --cross-prefix=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- --enable-cross-comp
2012-04-21 19:22:25 4035
原创 基于移动平台的多媒体框架——NDK中的交叉编译链
基于移动平台的多媒体框架——NDK中的交叉编译链目标现有这样一个helloworld.c的源文件,如下:#include int main(){ printf("Hello world!\n");}如何将它进行编译,并在Android上执行?这就是本文的目标。原理(如果只想明白怎么做的话,可以直接跳过本节。)熟悉Android应用开发的朋友们都知道,A
2012-04-21 13:07:09 2592
转载 给浮躁的软件业同仁
版权所有:不知道 以下文章都是经典,看不看随你的便,我只希望知识掌握在更多中国人的手里! 中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际fans,压根没有资格称为程序员,但是据我所知,不少小网
2012-03-19 23:33:58 1338 1
原创 新版Linux内核添加系统调用的方法
新版Linux内核添加系统调用的方法今天做Linux内核的作业,要自己动手添加一个系统调用。在网上搜了很多帖子,都是真的2.6版本的,我下载的版本是3.2.11,发现新版的内核添加方法非常不同,旧的方法已经不再使用,于是记下方法,仅供参考。第一步在linux-3.2.11/kernel下创建mysyscall.c文件,内容如下:#include asmlinkage
2012-03-19 23:11:01 4346 1
原创 练手的项目
这学期选了一门课,是讲Android应用开发的。课上有两个作业,一是自己写一个五子棋程序,而是组队三人写一个自选题目的程序。不是很喜欢Android的应用开发,都是些图形界面移来移去调来调去,就像当初做网页一样,枯燥,重复,没有创新。但是作业又是必须要做的。于是就愁啊。。。不过今天中午经过一段思考,如何从做一件不喜欢的事情中学到东西呢?我是否可以通过做一两个应用,例如游戏,而从中顺
2012-03-19 13:28:53 3129 6
原创 自己动手写RTP服务器——用RTP协议传输TS流
自己动手写RTP服务器——用RTP协议传输TS流上一篇文章我们介绍了关于RTP协议的知识,那么我们现在就自己写一个简单的传输TS流媒体的RTP服务器吧。预备知识关于TS流的格式:TS流封装的具体格式请参考文档ISO/IEC 13818-1。这里我们只需要了解一些简单的信息就好。首先TS流是有许多的TS Packet组成的,每个TS Packet的长度固定为188 bytes,每
2012-03-17 11:03:17 22341 30
原创 自己动手写RTP服务器——关于RTP协议
自己动手写RTP服务器——关于RTP协议本文会带领着你一步步动手实现一个简单的RTP传输服务器,旨在了解RTP流媒体传输协议以及一些关于多媒体编解码的知识。关于RTP协议的必备知识要动手实现一个协议,当然首先需要阅读该协议的文档。RTP协议的文档,有rfc1889、rfc1890、rfc3550,其中rfc3550是现在的版本,另外两个是过期版。这个协议可以在ietf的官网
2012-03-14 21:18:17 28802 2
原创 想写的,不想写的
想写的,不想写的每当学到了新的知识,有一点感触,就想记录下来。或者是想留给别人参考,或者方便自己回过头来查阅,也或者单单就是想写下来,告诉自己真的学过了。作为学生,所谓的知识,多是来自课堂的。这几天听的几门课,如Linux内核分析,设计模式等,都颇有收获。急迫着想把课堂的收获记在博客里,也看过别人写过某某著作读书笔记之类的文章,觉得不错,但是这几天思考过后又放弃了这个打算。
2012-03-12 11:25:09 1642 1
原创 Android NDK安装及使用简介
Android NDK安装及使用简介什么是Android NDKAndroid 应用程序是运行在Dalvik虚拟机之上的。NDK可以让你用本地代码例如C/C++来实现应用程序的一部分。这样可以为应用程序的某些类在复用已有代码或提高性能方面提供便利。如果你的代码是用C/C++来实现的,你的应用程序仍然会被打包成.apk文件,并且仍然运行在虚拟机上。Android应用程序的模型是不变的
2012-03-02 17:04:52 14679 2
原创 基于移动平台的多媒体框架——使用live555接收流媒体方法简介
基于移动平台的多媒体框架——使用live555接收流媒体方法简介更多关于live555的详细信息请参考官网:http://www.live555.com为什么要用live555?因为mplayer和vlc这两个著名的项目都用了,由此也能反映出live555这个库的重要价值。关于流媒体的基本知识就不赘述了。本文着重介绍如何使用live555这个库使得播放器支持播放流媒体格式的文件
2012-02-26 18:07:04 8606
原创 基于移动平台的多媒体框架——ffmpeg对流媒体的支持
基于移动平台的多媒体框架——ffmpeg对流媒体的支持今天做项目的时候发现,ffmpeg本身是支持流媒体文件源的。研究了一个月的live555啊!几乎是白费了,也充分体现了ffmpeg的强大。av_open_input_file等这样的函数中的char *filename这样的参数可以是文件路径,也可以是一个rtsp://ip:port/filename 这样一个流媒体地址。直接就可以
2012-02-24 13:43:38 4582 15
原创 基于移动平台的多媒体框架——移植Live555到Android上
基于移动平台的多媒体框架——移植Live555到Android上live555是一个处理流媒体传输对c++库,再Mplayer与vlc中都有用到。我们计划将其加入到自己编写对Android上的播放器中作为流媒体模块,首先就需要将这个库移植到Android上。1. 首先在官网下载live555对源码并解压。2. 新建一个Android工程,将源码文件放到一个该工程的j
2012-02-24 09:44:20 17178 41
原创 用gcc编译c与c++混编的工程
背景是我们有一个linux下的多媒体播放器项目,该程序是用c语言实现的。目前要引入一个功能模块,目的是使其对流媒体进行支持。经过挑选,我们选择了一个名为live555的流媒体库,该库是用c++写成的。c与c++混编的时候除了在源文件内容上要注意的地方,比如命名规则中c++要加上 extern "c" ,防止编译过程中符号名改变。(更多规则见More effective c++中的相关条款)
2012-02-15 18:50:45 2206 1
原创 软件专业学生读书之惑。
又开始迷茫了,迷茫就思考。本科毕业于南大,研究生读在北大。相比之下感觉还是比较喜欢南大的培养方式,目前感觉研究生就是在“吃老本”,曾会的仍是会,曾不会的也没有学到什么新的。说北大软件学院的老师也都是很牛的,但是所谓的牛能说明什么呢?说明这个人本身曾经多么光辉,可这些光辉有多少能带给他的学生呢?除了个别有责任心的老师外,有几个人是真心研究科研、真心投身教育、真心想把学生教好的老师呢?越(所谓的)
2011-12-19 20:12:11 1757 1
原创 基于移动平台的多媒体框架——移植播放器到Android上
基于移动平台的多媒体框架——移植播放器到Android上今天很成功地将我们自己开发的基于ffmpeg播放器移植到了Android上,并且在tablet上面测试成功。按照本文提供的思路,可以移植所有基于ffmpeg的播放器到Android上。准备工作:需要的两个库,ffmpeg和SDL,其编译方法在前文中都有叙述。在开发时,需要把这两个编译好的库文件:libffmpeg.
2011-12-08 12:06:17 5803 37
原创 基于移动平台的多媒体框架——移植SDL到Android
基于移动平台的多媒体框架——移植SDL到AndroidSDL-1.3版开始官方支持Android。本文记录了移植1.3以上的版本的简单过程。要做一个完整的播放器,只有ffmpeg解码还不够,还需要一个显示视频播放音频的库,SDL是它的完美搭档。如何结合ffmpeg和SDL写一个播放器,可以参考经典教程(http://dranger.com/ffmpeg/)。我这里介绍如何把SDL移
2011-12-08 10:22:44 7818 11
原创 基于移动平台的多媒体框架——移植ffmpeg到Android
如何把ffmpeg移植到Android上?今天用NDK-BUILD成功编译了ffmpeg,为我们小组下一步开发Android上的播放器以及播放框架的工作打好了基础。编译的方法参考的这个博客:http://abitno.me/compile-ffmpeg-android-ndk读了博客中的几篇文章,感觉很佩服。写的东西都很不错,水平高而又通俗易懂。我用的ffmpeg最新的0.8.
2011-11-22 21:12:36 5652 18
23种设计模式类图截图+A4打印文件
2012-04-21
并行编程模式 超清晰pdf 英文原版
2010-01-13
Parallel Programming课件
2009-12-16
LINGO使用教程 建模必备!!!
2009-10-10
计算机科学软件工程考研大纲
2009-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人