自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 收藏
  • 关注

转载 Monad你我他

目录(?)[+]初识函数式编程的时候,Monad这个词就一直萦绕在我的耳边眼前和脑海中。这个在1991年由Eugenio Moggi从Category理论引进而来的概念,如同函数式编程中的许多其他概念一样有着深厚的数学背景。也许正是如此,Monad对于习惯了用传统命令式编程语言思考的人们可谓是一个难以理解的Monster。然而这个概念在越来越多的地方不断地出现,Haskell语

2014-12-24 09:22:03 680

原创 iOS 高大上函数响应式编程框架ReactiveCocoa学习笔记1 简介

ReactiveCocoa(其简称为RAC)是函数响应式编程框架。RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。

2014-12-23 18:42:01 8120

原创 高大上函数响应式编程框架ReactiveCocoa学习笔记1 简介

ReactiveCocoa(其简称为RAC)是函数响应式编程框架。RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。

2014-12-23 18:39:41 269

翻译 iOS开发中很重要,很常用,但却容易被忽略的知识点:id ,NSObject, id<NSObject>区别

我们经常会混淆以下三种申明(我是没有留意过):1. id foo1;2. NSObject *foo2;3. id foo3;    第一种是最常用,它简单地申明了指向对象的指针,没有给编译器任何类型信息,因此,编译器不会做类型检查。但也因为是这样,你可以发送任何信息给id类型的对象。这就是为什么+alloc返回id类型,但调用[[Foo alloc] init]不会产生编译错误。

2013-08-16 07:26:41 8073

原创 利用FFMpeg对视频截图

// tutorial01.c// Code based on a tutorial by Martin Bohme (boehme@inb.uni-luebeckREMOVETHIS.de)// Tested on Gentoo, CVS version 5/01/07 compiled with GCC 4.1.1 // A small sample program tha

2011-06-30 11:11:00 804

转载 复用类——组合,代理,还是继承?

<br /><br />      类的复用基本是三种方式,组合,代理,继承。为了同样的复用目的,都是想在构建一个新类的时候加入一个已有类的对象。使用组合是直接在一个新类中new一个对象,使用继承其实也是通过构造方法中调用父类构造方法隐式的加入一个已有类的对象,所不同的是,使用组合更具灵活性,可以自主的选择需要加入什么对象,而使用继承则是强迫必须加入一个父类的对象。另外还可以使用代理,通过在新类中创建一个对象,并在方法中调用这个对象的方法,从而达到包装一个新方法的目的。尽管面向对象编程对继承极力强的,但在设

2011-05-09 17:46:00 1127

原创 iOS 视图控制器(UIViewController)剖析

剖析了iOS中视图控制器的作用和原理。

2011-05-09 17:15:00 6987

转载 再理解敏捷

<br />产品设计体会(7008)再理解敏捷2009年1月24日阅读评论发表评论<br />2008年春,项目做的对敏捷有了点兴趣,花了两个晚上浏览了《敏捷迭代开发——管理者指南》,理念式的书,看起来比较轻松,摘录一些自己的体会。<br />有些需求在开始的时候是提不出来的,或者说没法细化的,强行的过渡需求分析是浪费时间的行为,到后来多半还是要改。<br />瀑布(其实Royce大大提出的瀑布模型初衷里也是有迭代思想的,不过被后人误读了)的问题是最后集中暴露矛盾,当然对需求固定的项目还是不错的。<br /

2011-05-09 14:51:00 498

转载 软件架构师应该知道的97件事

<br />软件架构师是IT 行业里独一无二的职业,既要精通软件开发技术,又要掌握业务知识,还要周旋于公司不同部门之间,协调各种予盾。做到这些绝非易事。<br /><br />软件架构师应该知道的97件事:<br /><br />1.  客户需求重于个人简历 ( Nitin Borwankar )<br /><br />客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。<br /><br />2.  简化根本复杂性 ,消除偶发复杂性 ( Neal Ford )<br /><br />分析

2011-03-21 11:09:00 375

转载 透过MVC 来看设计模式

<br />2011-02-01 19:13<br />类的模型/视图/控制器(Model/View/Controller)三元组(MVC)被用来构建用户界面。透过MVC 来看设计模式将帮助我们理解“模式”这一术语的含义。<br />MVC包括三类对象。模型Model是应用对象,视图View是它在屏幕上的表示,控制器Controller定义用户界面对用户输入的响应方式。不使用MVC,用户界面设计往往将这些对象混在一起,而MVC则将它们分离以提高灵活性和复用性。<br />MVC通过建立一个“订购/通知”协议

2011-03-18 18:17:00 454

转载 透过MVC 来看设计模式

<br />2011-02-01 19:13<br />类的模型/视图/控制器(Model/View/Controller)三元组(MVC)被用来构建用户界面。透过MVC 来看设计模式将帮助我们理解“模式”这一术语的含义。<br />MVC包括三类对象。模型Model是应用对象,视图View是它在屏幕上的表示,控制器Controller定义用户界面对用户输入的响应方式。不使用MVC,用户界面设计往往将这些对象混在一起,而MVC则将它们分离以提高灵活性和复用性。<br />MVC通过建立一个“订购/通知”协议

2011-03-18 18:17:00 431

转载 [个人翻译]ffmpeg文档7

<br />[个人翻译]ffmpeg文档7 (2008-08-28 09:41:24)转载标签: 杂谈分类: 翻译文档<br />指导7:快进快退<br /> <br />处理快进快退命令<br /> <br />现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的。同时,这将告诉你av_seek_frame函数是多么容易使用。<br />我们将在电影播放中使用左方向键和右方向键来表示向后和向前一小段,使用向上和向下键来表示向前和向后一大段。这里一小段是10

2011-03-12 12:10:00 415

转载 [个人翻译]ffmpeg文档8

<br />[个人翻译]ffmpeg文档8 (2008-08-28 09:43:45)转载标签: 杂谈分类: 翻译文档<br />指导8:软件缩放<br /> <br />软件缩放库libswscale<br /> <br />近来ffmpeg添加了新的接口:libswscale来处理图像缩放。<br />但是在前面我们使用img_convert来把RGB转换成YUV12,我们现在使用新的接口。新接口更加标准和快速,而且我相信里面有了MMX优化代码。换句话说,它是做缩放更好的方式。<br />我们将

2011-03-12 12:10:00 580

转载 [个人翻译]ffmpeg文档5

<br />[个人翻译]ffmpeg文档5 (2008-08-26 23:21:41)转载标签: 杂谈 <br />指导5:同步视频<br /> <br />如何同步视频<br /> <br />前面整个的一段时间,我们有了一个几乎无用的电影播放器。当然,它能播放视频,也能播放音频,但是它还不能被称为一部电影。那么我们还要做什么呢?<br /> <br />PTS和DTS<br /> <br />幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒

2011-03-12 12:09:00 348

转载 [个人翻译]ffmpeg文档6

<br />[个人翻译]ffmpeg文档6 (2008-08-27 18:44:22)转载标签: 杂谈分类: 翻译文档<br />指导6:同步音频<br /> <br />同步音频<br /> <br />现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频都同步到外

2011-03-12 12:09:00 436

转载 [个人翻译]ffmpeg文档4

<br />[个人翻译]ffmpeg文档4 (2008-08-26 23:18:50)转载标签: 杂谈分类: 翻译文档<br />      } else {<br />    break;<br />      }<br />    }<br />    // Is this a packet from the video stream?<br />    if(packet->stream_index == is->videoStream) {<br />      packet_queue_p

2011-03-12 12:08:00 555

转载 [个人翻译]ffmpeg文档1

<br />[个人翻译]ffmpeg文档1 (2008-08-26 09:39:15)转载标签: 杂谈分类: 翻译文档<br />指导1:制作屏幕录像<br />源代码:tutorial01.c<br /> <br />概要<br /> <br />电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来

2011-03-12 11:55:00 511

转载 [个人翻译]ffmpeg文档2

[个人翻译]ffmpeg文档2 (2008-08-26 09:41:29)转载标签: 杂谈分类: 翻译文档指导2:输出到屏幕SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是Simple Direct Layer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址http://www.libsdl.org/上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。按照这个指导,你将需要编译这个库。(剩下的几个指导中也是一样)SDL库

2011-03-12 11:54:00 504

原创 ffmpeg文档3

<br />[个人翻译]ffmpeg文档3 (2008-08-26 09:42:37)转载标签: 杂谈 <br />指导3:播放声音<br /> <br />现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开声音设备的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。<br />在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数字音频是由一长串的样本流组成的。每个样本表示声

2011-03-12 11:52:00 465

原创 高效的程序员所必备的搜索技巧

<br />高效的程序员所必备的搜索技巧借助搜索技术使用网络及集体智慧nowamagic.net 发布于 2010-12-07 10:07:03 浏览数:79 views对于缺乏编程知识的人来说,完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话,可以搜到现成的代码。即使是经验丰富的程序员,通常也会为了节省时间和精力而在网上搜索解决方案。如果不借助搜索技术、网络及集体智慧,现代化高效编程是难以想象的。因此,搜索技巧对高效程序员变得愈发重要。现在,我们不需要了

2010-12-24 11:41:00 809

转载 提高编程效率的14件事

<br />提高编程效率的14件事http://fellow.51cto.com  2009-07-17 14:02  jythonor  北大青鸟中文网  我要评论(0)摘要:提高编程效率的14件事。标签:程序员  编程效率<br /> <br />下面是14件如何有效编程的方法:<br />1:计划(Plan)<br />所谓Plan,其实就是对应于编程中的“设计”阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式编程前至少要考虑一下下面的问题:<br />你这个程序,工具或是项目的

2010-12-24 11:36:00 426

原创 里氏代换原则(Liskov Substitution Principle, LSP)

里氏代换原则:在一个软件系统中,子类应该可以替换任何基类能够出现的地方,并且经过替换以后,代码还能正常工作。

2010-09-28 15:43:00 500

转载 Linux 的多线程编程的高效开发经验

 级别: 中级杨 奕 (yangyish@cn.ibm.com), 软件工程师, IBM贺 皓 (haohe@cn.ibm.com), 软件工程师, IBM张 俊伟 (zhjunwei@cn.ibm.com), 软件工程师, IBM2009 年 4 月 23 日本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开

2009-12-15 18:42:00 481

转载 优化 scrollView 性能(tableView)

优化 scrollView 性能(tableView)关键字: scroll 性能 performance tableview曾经尝试各种方法优化滚动视图的性能,都没什么好的效果。今天在官方文档的 tableView 一章节找到些内容。 大致内容是: 减少cell 的 subview 。使用 drawInRect 替代避免使用透明效果具体效果

2009-12-08 12:37:00 2455

原创 如何做一个好的技术型领导

如何做一个好的技术型领导Posted on November 29th, 2009 in 生活随笔 by lifesinger对于程序员来说,大部分公司都提供了多条职业发展方向:1. 技术型路线:编程高手、技术专家、架构师2. 管理型路线:项目经理、部门主管、总裁3. 复合型路线:技术总监、CTO4. 特长型路线:销售顾问、培训讲师这些路线,看起来很清晰明了。但对大部分2

2009-12-04 08:39:00 439

原创 core data 中出现 FREED(id): message sectionOffset sent to freed object=0x1236b60

由于设置了fetchedResultsController.delegate = self;出现这样的错误,去掉就不会有,但真正原因没有找到。

2009-12-03 01:22:00 685

转载 可变参数宏 , Variadic Macros

 我们一般在Debug需要打印调试信息的时候,需要可变参数的宏。         一, vc(C99)的复杂宏。         参考msdn(http://msdn2.microsoft.com/en-us/library/ms177415.aspx )。使用这种复杂宏时,省略号是格式控制参数,而标识符__VA_ARGS__用来插入另外的参数。__VA_ARGS__ 将"..." 传递给

2009-11-24 17:23:00 435

转载 运用RUP 4+1视图方法进行软件架构设计

 运用RUP 4+1视图方法进行软件架构设计温 昱 (wenyu@china.com), 松耦合空间网站 技术咨询顾问要开发出用户满意的软件并不是件容易的事,软件架构师必须全面把握各种各样的需求、权衡需求之间有可能的矛盾之处,分门别类地将不同需求一一满足。本文从理解需求种类的复杂性谈起,通过具体案例的分析,展示了如何通过R

2009-11-23 09:27:00 554

原创 core animation 学习笔记 3 第三章 层的坐标及转换

 第三章     层的坐标及转换    这章节主要描述层坐标的构成要素,构成要素之间的关系及如何转换产生复杂的效果。1    层坐标系统层坐标使用了和Quanz图形一样的坐标系统。默认情况下,原点(0.0, 0.0)在左下角,向右及向上增长。请注意:该坐标系统是不同于UIView实例的坐标系统,UIView系统的原点在左上角,向右及向下增长。每个层的实例都维护自己的坐标系统,定位所有的子层及绘图时

2009-11-19 17:16:00 762

转载 架构师之路

 2009-03-27 作者:王泽宾 来源:csdn 1、引言机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到。但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年

2009-11-19 11:02:00 903

转载 为应用程序设计一个合适的架构

 2009-05-13 作者:袁发明译 来源:IT168 目标学习如何为应用程序设计一个合适的架构了解对设计进行审查的各种方式概要本文将依次介绍应用设计的六个主要步骤并讨论与逻辑选择相关的各种问题。文中还包含了检查设计时可供参考的表单。输入在设计应用架构的时候以下输入是非常有用的:用例与使用

2009-11-19 10:31:00 411

转载 构架、框架、设计模式之间的关系简述

 作者:不详 来源:网络 一、软件体系结构和框架的定义软件体系结构的英文单词是“architecture”. Architecture的基本词义是建筑、建筑学、建筑风格。软件体系结构虽然根植于软件工程,但还处于一个研究发展的阶段,迄今为止还没有一个为大家所公认的定义。《设计模式》中对框架的定义是框架就是一组相互协作的类

2009-11-19 10:23:00 428

转载 软件体系架构模式

 2009-09-22 作者:williamshao1975 来源:williamshao1975.spaces.live.com   本文介绍了软件体系架构产生的背景和架构模式的基本理论。重点介绍管道与过滤器体系架构模式的结构,实现,优缺点等,然后以J2EE的Servlet Filter为例进行剖析它是怎样应用该架构模式的,

2009-11-19 09:57:00 463

转载 开发框架的选择和设计经验谈

 理解什么是框架框架,即Framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Cont

2009-11-19 09:29:00 395

转载 Java软件架构设计简介

 开始之初的架构设计决定着软件产品的生死存亡。“好的开始相当于成功一半”!开始的架构设计也是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持。再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。比如要开发网站引擎系统,就从Yahoo的个人主页生成工具 到虚拟主机商提供的网站自动生成系统,以及IBM Webphere

2009-11-19 08:46:00 323

原创 core animation 学习笔记 2

 第二章    核心动画渲染架构核心对象的层和cocoa的视图非常相似,但是最大的区别是:层不直接渲染到屏幕。在MVC设计模式中,视图明显是V对象,而层是M对象。层封装了布局,时序,可视的属性并且提供用于显示的内容,但是显示却不是层的职责。每个可视的层是由两个相应的树支持的:一个presentation tree和一个render tree.核心动画渲染架构图:  Layer tr

2009-11-18 16:51:00 483

原创 core animation 学习笔记 1

 第一章   Core animation简介1. 简介Core animation 是以objc语言封装的一套图形渲染,投影及动画的库的集合。Core animation 使创建用户界面变得非常容易,通过以下方法:1.        使用简单的编程方法实现高性能的合成2.        使用层对象创建复杂的用户界面3.        轻量型数据结构,能够同

2009-11-18 14:19:00 806

转载 encode URL parameters (in app purchase)

 on Mac or iPhone? Frustrated because NSString stringByAddingPercentEscapesUsingEncoding encodes non-URL characters but leaves the reserved characters (like slash / and ampersand &) alone? "Appare

2009-11-13 22:41:00 436

转载 滚动字体

 可以用UIScrollView(其实任何一个UIVew都可以)来滚动,然后改变它的contentOffset,把这个改动提交到Animation里,就会得到一个平滑滚动的效果,而不是一定一定的往前跑,类似的代码如下: [UIView beginAnimations:@"testAnimation" context:nil];[UIView setAnimationDuration:2

2009-11-13 17:03:00 472

转载 《深度探索C++对象模型》读书笔记(7) 模板

***Template的“具现”行为***   template class中的任何member都只能通过template class的某个实体来存取或操作。 Point::Status s;  // okPoint::Status s;  // error   如果我们定义一个指针,指向特定的实体,像这样: Point *ptr = 0;   由于这是一个指向class ob

2009-08-23 11:32:00 387

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除