`
rcfalcon
  • 浏览: 228555 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
之前找谱网的WEB部分是用PHP编写的,搜索功能特别简单。一直没有兴致重新写,今天突然来了兴致,遂将其用JAVA重新写过,改成用lucene。 现在爬虫部分使用python,索引、搜索使用lucene。 改完之后发布到网上,猛然发现只有CHROME能访问,而IE访问页面是一片空白…… 莫名奇妙,修改代码后发现<META content="text/html; charset=utf-8" http-equiv=Content-Type>要放在最前面,不然就会IE上面空白。看来HTML上我还是菜鸟一只啊。 另外对不辞辛苦为我做美工的柳同学夸奖 ...
想了一下,还是将“欣赏”的字样改成“浅析”比较好,毕竟自己也不是专家,完全作为一个路人一样来谈谈自己对架构的看法。OK,之后这个系列的话题都叫做浅析架构。。 今天我们来欣赏大名鼎鼎的具有世界级领先搜索技术公司autonomy旗下virage系列产品的videologger架构。 videologger是一个视频处理平台,旨在为非结构性数据提供索引化平台,见如下功能示意结构图 在整个virage体系中,其属于核心位置。桥接外部各个组件,并且具有高度可扩充性。在来源、编解码器、处理业务上均具有可扩展性。并且提供私有的视频索引信息。 这样看来,整个videologger ...
最近一段时间了解了很多架构,有好的也有不好的。 于是萌生一个想法,要不断的来了解别人的架构,欣赏别人的架构。 完全以自己的角度看法来分析一些架构的合理和不足之处。 预备由浅入深,先从简单的开始,从身边的开始。每期针对一个设计,来写自己的感想,顺便也引导大家一起思考、交流。
懂是为了更好的欣赏—— 懂得乐器的人能更深入的欣赏乐器演奏家的精彩演出, 懂得知识体系的人能更理解和欣赏所在领域优秀论文、文章的美, 懂得棋道的人能更有兴致的去欣赏高手对决残局…… 诸如此类,不甚枚举。 所以,人生只有懂得更多,才能发现更多美。所谓生活情趣的匮乏,其实来源于无知。
人才是靠不断争取来的,这和交女朋友是一个道理。 你不主动,别人就主动。 先入为主,所谓三顾茅庐也正是如此,说无赖一点就是软磨硬泡,甚至挖墙脚。 最近二三事有感。
由于将会要组织一个全新的研发团队,而且可能团队中讲会以年轻人为主,应届毕业生尤其巨多。 我觉得这是一个尝试全新的开发模式的好时机,但是当然需要平稳过渡。首先,我们都没有敏捷开发的经验,其次,敏捷开发所有的概念也未必完全适合团队,需要动态的来寻找结合点。 1. 简单设计及重构 首先需要较为严格的确立工程的概念,我比较欣赏“简单设计”这个原则,但是不完全赞同。 系统刚开始整个架构还是应该细致设计,而之后每个模块的详细设计应该是经常勇于重构,经常有新的想法。而重构的实现实践也是要在不影响软件交付的前提下进行。 归根到底总结就是:有度的迭代。 2. 自动化测试 其次,自 ...
1。 需要别人厂家技术支持的联调工作,估计时间要比实际开发时间长10倍才靠谱,不然会有各种支持不到位的可能性。 2。 对于激情不那么饱满的团队成员,一要以项目意义和干的活的意义来激励之,二要将其工作的考核周期缩短。
今天从应用层面解决了一个诡异的问题。 某程序,在服务器A上跑速度很快,几乎能将CPU一个核的资源占满。而在服务器B上跑很慢,(慢了将近10倍),而且CPU使用率很低。 服务器A和B都是同样的系统,几乎相同型号的服务器。 通过各种排查原因,未果。最后还是认为是程序的问题。 最终问题发生原因锁定在一个sqlite库的读写上,有频繁的写库操作,而每次写库耗时是整个计算的瓶颈所在。 于是处理在内存上加一层缓存,并且使用事务插入,问题解决。 所以猜测是服务器B上文件的随机存取和句柄打开速度都差很多,每次操作都累计耗时,最终导致效率低下。
马上要脱离大公司,团队拉出来走创业道路。一切都是新的,信心十足。 必须要克服打工的心态,一切的一切都是为了自己而努力。 2011,注定是充满激情的一年。
玩乐器的人(特别是弹钢琴的)可能都有这样的体会,刚开始练各种古典曲目,都是按部就班的,可能弹出来很动听,但是实际上自己都不知道自己在弹什么,而是练到了机械运动,知道什么时候要按哪个键了。 所以我觉得学习乐器,总是可以分为两个阶段,一个是被乐器玩,一个是玩乐器。 被乐器玩,就是弹一个曲子,但是却不知道自己弹的是什么音,什么和弦,为什么这么编曲。 玩乐器,才是真正的懂了,就是完全知道why。 同样,做学习任何事情我觉得都是这样的过程,真正领悟了,才是从机械运动中解放出来。 道理很简单, 但是我们真的知道自己每天在做什么么? 争取早日从被生活玩,变成玩生活。
有的语言向“正规化”、“标准化”发展,有着严谨、贴近系统API的各种语法规则。比如JAVA申明一个数组,可能有List xxx = new ArrayList<Integer>()或者List xxx = new LinkedList<Integer>()等定义方法。比如在C++中你甚至可以考虑静态数组、动态指针甚至STL来实现同样的功能。 而各种伟大的脚本语言,大胆的启用更加简单的语法。(虽然简单,但是也很严谨,当然,编程语言都是严谨的),如在python中就只需要 xxx = [],还可以更简单吗?真是天才的想法。 比如tomcat,上来就给一个花哨的界 ...
1. 对于很抽象的底层性项目,测试应该由研发引导测试人员。(特别应该是架构设计师驱动),如果尝试让测试彻底理解项目,可能会消耗更多时间且效果不理想。甚至可以由研发人员定用例,测试人员完成实际的测试脚本编写和测试实施。 2. 数据驱动的项目,可以在产品界面需求定制之前开始研发DAO层。而纯功能性驱动的项目,可以先开发产品原型。 3. 布置任务和考核任务都是非常简单的,而实施任务是最漫长的。对于任务考核的重视度一是保证质量,二是对研发人员也是足够的尊敬和鼓励。让研发人员尽情的展示自己的成果,是件赏心悦目的事情,并且是对质量把关的一个很好的形式。
在ts流中,MPEG2编码中,音视频包是交错出现的。 分析其pts可以发现,在同等交错位附近,音频的pts要比视频的靠前得多。 比如一段实际码流数据如下: -------------------------- valid video packet count1 video packet 视频包1: packet.pts -9223372036854775808 packet.dts 3529565163 packet.duration 3600 packet.size 37460 packet.pos -1 ----------------------- ...
“研发管理小tip”用于记录我日常工作、学习中的对于工程管理、研发管理的小心得。 1。在实际开发中,如果有若干项目组成员纠结于技术实现上的难点。不如先编写接口部分,将上下游打通,整个系统可以运行了,再来解决内部模块的具体技术问题。这样可以使得项目整体迅速向前推进,不会有由于进度不一致而导致的某些成员赋闲。 2。在与测试、商务沟通编写正式文档之前,可以召集几次文档提纲评审会议,研发方负责人参加评审。否则等正式文档出来时,可能会发现双方理解有极大偏差。 3。当需求非常复杂,或者产品团队思维混乱的时候,务必制作一个原型系统,基于原型来定位需求。
本贴用于记录我看到的互联网上的一些设计学习的好资料,将持续更新。 http://www.tech-q.cn/forum-28-1.html WEB思想 - 架构设计 http://www.cnblogs.com/sunli/ 互联网系统架构相关BLOG http://hi.baidu.com/injava/blog互联网、搜索引擎、系统架构、J2EE http://bbs2.chinaunix.net/archiver/fid-34.html存储架构知识 http://www.opengpu.org/bbs/forum.phpOpenGPU论坛 计算机图形 ...
Global site tag (gtag.js) - Google Analytics