摘要:
这两天搞一个android手机和电脑客户端的视频通信之前找了一个别人的源码,以前没学过java和android,看了两天才把流程搞明白结果运行的时候 电脑上的服务端接到的图像是乱码的开始以为是编解码有问题 搞了一天 看了别人编解码的流程(yuv420-->RGB),还是没发现什么问题最后才发现原来socket通信有数据量的限制因为我这个是基于UDP通信的 所以在传输过程中有可能会丢包后来试验了一下发现在android手机上基于UDP的socket通信一次发送的数据量不能超过1400byte,当然这是一个大概值,我用1400byte实验的时候传输是正确的,改成1500byte的时候就乱码了 阅读全文
摘要:
搜索引擎技术之概要预览前言 近些天在学校静心复习功课与梳理思路(找工作的事情暂缓),趁闲暇之际,常看有关搜索引擎相关技术类的文章,接触到不少此前未曾触碰到的诸多概念与技术,如爬虫,网页抓取,分词,索引,查询,排序等等,更惊叹于每一幅精彩的架构图,特此,便有记录下来的冲动,以作备忘。 本文从最基本的搜索引擎的概念谈起,到全文检索的概念,由网络蜘蛛,分词技术,系统架构,排序的讲解(结合google搜索引擎的技术原理),而后到图片搜索的原理,,最终以几个开源搜索引擎软件的介绍结束全文。 由于本文初次接触此类有关搜索引擎的技术,参考了互联网上诸多牛人的文章与作品,有不妥之处,还望诸君海涵。再者因... 阅读全文
摘要:
蓝图一定要清晰;尝试一定要勇敢;写代码一定要细心;不够清晰时不要编写代码,重绘草图,流程图; 怎样提高尝试想法的效率呢?思想上稳重。程序常常是修改一个变量而牵动引用它依赖它的变量及结构。所以有动手改动时务必先想好都要修改哪里,包括头文件,函数之类。这些准备工作确保你不乱,而且心情良好。 相比之下,每次像无头苍蝇,修改一点,然后试着编译下,看编译器会产生什么错误,再动手一一解决编译器的错误。这种方法有以下缺点:1)思维能力没长进,难以控制复杂度,不能驾驭稍大型的程序;2)容易出现隐患。因为编译器不是万能的,只能检查语法错误。当编译器没有错误,但你想要的功能却没有实现时,就不知从何下手了;... 阅读全文
摘要:
模块化编程本质探讨【篇首】模块是一个广泛使用的概念,其意义与上下文密切相关。举个例子: 蚂蚁对蛤蟆说:“哇,你好大啊” 大象对蛤蟆说:“哇,你好小啊” (蛤蟆问了:“我是大还是小啊?”)如果我们站在大象的立场,蛤蟆是很小的。而站在蚂蚁的立场,蛤蟆是大的。你不知道蛤蟆的大小是因为你站在蛤蟆的立场。(开个玩笑)模块表示的是对一个大事物的分割粒度。对于类这个大事物,模板可能就是一个个成员函数;对于一个可执行程序这个大事物,模块是一个个DLL;对于一个WINDOWS操作系统,模块如文件子系统等东西。要想知道模块是什么,你得知道你心目中面... 阅读全文
摘要:
做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YUV也是一种 阅读全文
摘要:
一、YUV420数据存储YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。以dm642的H263loopback例子程序为例,发送线程中,视频捕获后我们得到YUV422 planar数据,然后转化成YUV420 planar数据,再进行编码。以720×488大小图象YUV420 planar为例,其存储格式是:共大小为(720×480×3>>1)字节,分为三个部分:Y,U和VY分量: 阅读全文
摘要:
一、Windows键 + 空格键“Space”[作用]:透明化所有窗口,快速查看桌面(并不切换)[快捷键]:win+空格[小结]:当你打开了很多程序窗口的时候,这招非常有用,而且桌面还会有华丽的光影效果哦。没用过的赶紧试试先二、Windows键 + D[作用]:最小化所有窗口,并切换到桌面,再次按又重新打开刚才的所有窗口[快捷键]:win+d[小结]:这个功能在以前的系统里是都有的,只不过win7的显示桌面放到了任务栏的右下角了(就是最右边的那个长方形小条)三、Windows键 + tab键[作用]:传说中的3D桌面展示效果[快捷键]:win+tab[小结]:记得本区应该有一个帖就是关于这个效 阅读全文
摘要:
摘要 针对前端开发中基于ajax的复杂页面开发所面临的代码规模大,难以组织和维护,代码复用性、扩展性和适应性差等问题,本文尝试以MVC思想为基础,结合Web前端开发中“内容-结构-表现-行为”相分离的开发标准,提出一种将Web页面代码分为视图(View,页面静态部分,包括内容、结构、表现)、模型(Model,负责数据缓存、数据校验与本地逻辑处理、发起ajax请求)、控制器(Controller,负责用户和系统事件响应、模型和渲染器调度)、渲染器(Renderer,对视图的渲染,控制器与事件的绑定、数据搜集)的页面开发新模式,并基于此模式提出了一个开发框架原型。 关键字 MCRV设计模式,... 阅读全文
摘要:
淘宝网拥有国内最具商业价值的海量数据。截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。 为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和淘宝指数等。尽管从业务层面来讲,数据产品的研发难度并不高;但在 “海量”的限定下,数据产品的计算、存储和检索难度陡然上升。本文将以数据魔方为例,向大家介绍淘宝在海量数据产品技术架构方面的探索。 淘宝海量数据产品技术架构 数据产品的一个最大特点是... 阅读全文
摘要:
1、架构应该是对开发者是透明的2、在架构中,存储是难度最大的3、百度贴吧是如何测试的,采用轻量型解决方案,支持开发者快速4、视频存储非常适合key-value形式5、运维自动化,不需要改每台服务器的设置6、增加流量能力的,可以利用多网卡7、有些领域的流量会突发增加10倍,甚至更多,这时候需要考虑加锁来缓冲一下,防止cache实效,都去访问后台db8、淘宝,一致性都是最终一致性9、水平架构,加机器即可10、Hbase类似于svn,有版本控制11、Hbase类似于Membase12、Membase集中了Hbase和cassendra的优点13、cassendra vs Hbase 从零开发, 要求 阅读全文