摘要: Today's WorkJunyuan Xiedecode 音频文件 处理数据传输Liangjun Song无Tao Wu熟悉播放器的调用用功能Yishi Xing熟悉WX画图Jun Xu设置TFS的work item 阅读全文
posted @ 2012-09-26 12:20 Msra-Ustc-灰太狼 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 做ASE课上的个人项目时,老师推荐我们用Visual Studio的ANALYZE功能去查找使代码效率变低的部分并改正。下面简单叙述一下使用该功能的步骤。像我这样非CS专业的人写代码的时候往往只会以实现功能为导向,写的时候不会特别注意代码效率的问题。就比如说下面举的这个例子,是一个批量处理txt文件并提取出其中长度大于1的英文单词并统计频率的程序。我刚开始写的时候,就是想要一个一个遍历文件中的字符,将两个分隔符之间的字符串看作是一个单词,并加入单词树中。写完以后,我认为程序的大部分运行时间应该是花在将单词加入树中的这一过程,因为要对单词的每个字母作比较。于是我想用ANALYZE验证一下,使用很 阅读全文
posted @ 2012-09-24 00:34 Msra-Ustc-灰太狼 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 个人项目的内容初始看着挺简单的,主要的内容就是统计词频,但是过程略微繁琐,当时主要原因是mentor那边也有个体力活,两边事情都不敢怠慢,导致这边的东西写了一半又转头去写那边的东西,一头乱麻。 开始的设计是要使用Trie树去统计,然后C++因为没找到合适的API去查找系统的目录下文件名被我放弃了,当然我觉得两边都有push的结果就是都没有好结果。转头用了C#去做,然后用C#写了个一个Trie树,结果发现C#新生成的节点慢的要死,Trie的效率极其低下,前缀树的优势完全丧失,就导致我最后破罐子破摔直接用C#的STL了,先用map发现还是很慢,然后搜了一下,用了dictionary发现效果不... 阅读全文
posted @ 2012-09-08 23:58 Msra-Ustc-灰太狼 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 很快我们就要进入到软件工程最重要最核心的部分----团队项目的挑战时间了,老师会提出一些他感兴趣的备选方案供我们参考。但在此之前,我们小组通过几次的讨论、提proposal,也想出了几个idea,下面这个字幕对轴工具就是其中之一。很多人可能对字幕组的工作不是很了解,会觉得为什么要五个人花上两个月的时间做一个听上去离大家很远的软件呢?实际上并非如此,NABC分析会告诉我们,其实这样一个软件很有它的现实意义。(1) Need(N) Need就是需求,用户的需求是做产品的最终动力。在我看来,字幕对轴工具的用户需求是显而易见的。在中国,活跃着大量的字幕工作者,他们因为兴趣互相认识,结成团体,... 阅读全文
posted @ 2012-09-07 23:35 Msra-Ustc-灰太狼 阅读(1289) 评论(0) 推荐(1) 编辑
摘要: 软件工程课的第一次程序作业时个人project,是一个统计词频的程序。犹豫我的编程功底不算好(数学专业学生),所以在之前的work estimation上我估计大部分时间要花在学习C#上,实际也是这样,花了靠近一天熟悉了C#,然后就开始设计程序。最初的想法是通过树来存储单词,每扫描到一个单词,通过树来查找是否已经存在,然后更新节点的数值,后来有发现System.Collection.Generic中的Dictionary内部是按哈希表存储的,感觉既然有现成的Dictionary 且查找速度应该会比较快,所以就用Dictionary来存单词。程序的另一个需要解决的问题是将文本的内容分解成一个个单 阅读全文
posted @ 2012-09-07 22:49 Msra-Ustc-灰太狼 阅读(876) 评论(0) 推荐(0) 编辑
摘要: Pair Project API设计Pair Project 的内容是设计一个电梯调度系统。我们认为一套完整的电梯调度系统应该包括以下三个类:(1) 乘客类(2) 电梯类(3) 调度系统类乘客类乘客(Passenger)类主要用来描述乘客的相关属性及其行为。乘客类维护以下成员:Number: 乘客编号,唯一标识该乘客Weight: 乘客体重Time: 乘客乘坐电梯的时间Srcfloor: 乘客起始楼层Dstfloor: 乘客目的楼层乘客类公开以下方法:Passenger: 构造函数,创建一个指定体重,起始楼层和目的楼层的乘客实例。Request: 发出一个乘电梯的请求。电梯电梯类用来描述电梯. 阅读全文
posted @ 2012-09-07 21:42 Msra-Ustc-灰太狼 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 这次的pair programming任务是设计一个电梯调度程序,因为已经提供了测试框架,所以这个设计其实只是练手,不会真正使用。Pair Project: 电梯调度问题API设计by 谢俊源 & 陆元伟在我们的设计中,总共有3个大类:Elevator, Passenger, Scheduler,以及一个小类:Clock;下面是我们的具体设计:Passenger:PassengerWeight ;SourceFloor;DestFloor;ArriveTime;PassengerName;SendRequest(); //send request (up or down) to the 阅读全文
posted @ 2012-09-07 15:20 Msra-Ustc-灰太狼 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 个人项目的要求是些一个统计文本中词频的程序,开始很简单,用了一个小时就写完了。不过后面由于陆续加入功能和优化性能,又花了数个小时,比写代码的时间多多了……初始实现:最开始想用strtok来切词,不过看了一下它的代码感觉实在有点低效,所以就自己写了一个。接着又写了遍历文件夹的功能,然后用了stl::map统计词频,最后用stl::sort输出一下就完事了。加入功能:后续又陆续出现了“要求递归遍历目录”和“忽略大小写”等功能,进行了诸多修改。先是在切词函数里直接加上了tolower,然后把遍历文件夹的函数改成了递归的(期间由于FindFirstFile调错了SegFault了一阵,非常郁闷)。优化 阅读全文
posted @ 2012-09-07 15:18 Msra-Ustc-灰太狼 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 软件工程开课已经有一段时间了, 上一周我们每个人都完成 了自己的个人项目,虽然项目的时间不长,难度上来说也不是很大,但是从中也让我们也学到了不少的软件开发与编程上的东西。 首先在思考算法的过程中,我最先想到的就是用字典树的方法进行建立数据模型,然后每次扫描一个单词就加进字典树中,最后进行统计,初步的想法是这样,然后当在写代码的时候,又觉得这个算法可能不如用hash表来的快,所以最后还是决定将其改为用哈希表来实现,因此在这个过程中其实是浪费了不少的时间的,从这我也吸取了教训,在project实现 之前,首先应该把算法以及框架完整的想好再来进行实现, 这只是一个小的项目,所以还好,没有太大损... 阅读全文
posted @ 2012-09-06 20:20 Msra-Ustc-灰太狼 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 上周提交了个人项目,殷老师针对所有人的结果做了一些反馈,听完觉得收获很大,现在这里对自己的完成情况也做一些小结。做项目的核心一句话就是“细节决定成败”,这一次是深深体会到了,因为从这句话分析自己做出来的东西只能说是满目疮痍。首先得从项目要求说起,这是做一个东西最基本需要遵循的。不得不非常遗憾的说,我在这一点上做的非常不好。殷老师不管是在上课,邮件,还是MSRA组织的live interview上都强调过对项目要求刨根问底这件事情,但是我仍然没有去做,这大概是在学校流于应付完成任务了事的坏习惯所致吧。尽管已经明确提到统计词频的“词”的要求是至少2个字母组成的英文单词,我最后仍然我行我素的认为’a 阅读全文
posted @ 2012-09-06 16:18 Msra-Ustc-灰太狼 阅读(273) 评论(0) 推荐(0) 编辑