文章列表
OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。OpenNI API由一组可用来编写通用自然交互应用的接口组成。OpenNI的主要目的是要形成一个标准的API,来搭建以下两方面之间通信的桥梁:
1、视觉和音频传感器(包括分析周围环境的设备);
2、视觉和音频感知中间件(用于实时的记录音频和视觉分析的数据并理解它们的软件组件)。
例如,一个中间件可以接收一副有人的图像,计算并返回人手掌在图像中的位置。OpenNI提供了一组基于传感器设备的API,以及一组由中间件组件实现的API。通过打破传感器和中间件之间的依赖,使用OpenNI的API ...
数据源是应用程序的模型、视图、还是控制器部分?数据源好像应该是模型的一部分,但实际上它是控制器的一部分,就是说数据源并不总是一个用于保存数据的对象,它是为选取器提供数据的对象,切记,数据源可能只是一个提供数据的接口,并不是保存数据的地方。
Interface Builder中调试视图
- 博客分类:
- ios小伎俩
很简单,选中要调试的视图,command+R就OK了。
遵守NSCopying协议的类的实例才能发送copy消息,当一个实例发送copy消息后,实际上是实例化了一个新对象,所以这个copy出来的对象必需要手动release。
如果自定义copy,那么必需遵守NSCopying协议并且实现copyWithZone:方法
copy返回的是不可变对象(即不可修改),相对的mutableCopy返回的是可变对象(可修改)
深复制:
深复制用到归档功能(其实就是序列化和反序列化过程)
NSKeyedArchiver 序列化类
NSKeyedUnachiver 反序列化类
UIPopoverController中的presentPopoverViewWithRect:inView:方法有点confused,弄了半天才明白那个rect是inView的rect,后面的width和height是inView的size,前面的x,y则是相对于inView的center坐标的偏移。
1、內存分配、釋放成對出現
2、注意copy,retain,assign操作符的區別(copy,retain同alloc一樣需要release,assign指的是將對象指向另一個對象)
3、NSArray,NSDictionary,NSMutableArray,NSMutableDictionary等容器類,在添加對象到這些類對象時,容器類會自動調用一次retain,即使對象調用release,reference count只是減一,可能不為0,意味對象還有引用,不可釋放
4、連續重複分配內存的過程(如while、for循環中alloc)最好創建自己的自動釋放池NSAut ...
UIApplication接收事件,UIApplication響應事件(程序生命週期、系統事件)這就意味著通常沒必要對UIApplication進行修改,而只需考慮如何在UIApplicationDelegate中對UIApplication接收到的事件進行處理。處理系統事件需要編寫一個繼承自UIApplicationDelegate接口的類,而UIApplicationDelegate接口提供生命週期函數來處理應用程序以及應用程序的系統事件。應用程序UIApplcation被定義在MainWindow.xib文件中,並且有一個作為outlet的UIApplicationDelegate引 ...
1、关于ContextLoaderListener(监听器)和ContextLoaderServlet
所有版本的Web容器都可以定义自启动的Servlet,但只有Servlet 2.3及以上版本的Web容器才支持Web容器监听器。有些即使支持Servlet 2.3的Web服务器,但也不能在Servlet初始化之前启动Web监听器,如Weblogic 8.1、WebSphere 5.x、Oracle OC4J 9.0。
2、DispatcherServlet继承于FrameworkServlet,而FrameworkServlet又继承于HttpServletBean。HttpSer ...
请求是一个非常繁忙的过程,从离开浏览器开始直到获得一个响应,期间会有几次停留,每一次都留下一些信息,并留下更多的信息。
(1)Spring MVC将所有请求都经过一个Servlet,Servlet(单实例的)委托应用程序的其他模块负责对请求进行真正的处理。
(2)DispatcherServlet会查询一个或多个HandlerMapping,HandlerMapping会根据请求的URL作出决策。
(3)一旦DispatcherServlet在HandlerMapping中找到一个匹配的Controller,他会将请求分配给这个Controller处理。
(4)在C ...
题目:Starting in the top left corner of a 22 grid, there are 6 routes (without backtracking) to the bottom right corner.
How many routes are there through a 2020 grid?
a=Array.new(21){Array.new(21)}
for i in 1..20
a[0][i]=1
a[i][0]=1
end
1.upto(20) do |i|
1.upto(20) do ...
Problem14
- 博客分类:
- Project Euler
题目:The following iterative sequence is defined for the set of positive integers:
n n/2 (n is even)n 3n + 1 (n is odd)
Using the rule above and starting with 13, we generate the following sequence:
13 40
解决方案一:(适用于数据库关系复杂,对性能要求高的情况)
1. 大多ANSI-SQL可以兼容各种数据库。
2. 不兼容的地方可以参考hibernate的实现。 一些常见的不兼容的地方包括:
1) ID生成问题
2) 结果分页 利用ResultSet的滚动方式
3. 某些特殊之处,需要利用Factory模式对不同DataBase有不同的实现。
解决方案二:(适用于数据库关系不复杂的情况,例如atlassian-co ...
问题11:[/size][size=x-small;]What is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 2020 grid?(在20*20的矩阵中任意方向,即上下左右斜线反斜线,找出4个连续的数,使他们的积最大,输出积)
s="08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 5 ...
社区里有不少project euler的题解,自己也写了些,主要是为了体验ruby的简洁(不过Mathematica好像更简单)
问题1:If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
(找出1000以内所有能被3或5整除的自然数之和)
s=0
1. ...
经典问题,教科书式解题过程,可是在判断布局的合法性上徘徊了很久,逻辑一如既往的混乱,希望这只是由于太累的缘故,其实也只是为了练练手,感觉回溯那部分的代码十分好写,主要还是逻辑上的问题比较费劲。
pub ...