我是做程序开发的,但是很少接触到服务器方面的知识,现在对nginx + tomcat 整合的意义有个疑问,请大牛们指点下,非常感谢了。
我认为在tomcat(非集群)前面再整合一个nginx服务器,是不是毫无意义?因为本来是所有的资源(包括html,css,img等)都要经过tomcat处理,如果在前面再加一个nginx服务器,那么资源先经过nginx,最终还是要经过tomcat处理,这样岂不多此一举?
如果是静态资源(如html,css等)能够绕过tomcat,让nginx来直接处理,即nginx直接接受html的资源请求,不再继续下发给tomcat,这样的话肯定非常好的。但是这样的话 一个应用就要给nginx配置静态资源,然后给tomcat配置动态资源(jsp),是不是很麻烦?
请各位牛人指点下,非常感谢。您也可发个link。谢谢。
From: http://ios.wpjam.com/2011/08/29/uiview-frame-bounds-center/
翻开ios官方开发文档,赫然发现上面对这三个属性的解释如下:
- frame:描述当前视图在其父视图中的位置和大小。
- bounds:描述当前视图在其自身坐标系统中的位置和大小。
- center:描述当前视图的中心点在其父视图中的位置。
是不是有点迷糊?好吧,别急,让我们先说说ios的坐标系统。
2、ios坐标系统
ios以左上角为坐标原点(0,0),以原点向右侧为X轴正方向,原点下侧为Y轴正方向,如下图所示。
ios采用CGPoint来表示点在坐标系上X、Y位置。我们可以通过CGPointMake(x,y)来创建一个坐标点:CGPoint point = CGPointMake(80,40)
同时,ios采用CGSize来表示视图的宽度和高度,即视图的大小。我们可以通过CGSizeMake(width,height)来创建一个矩形的大小,如CGSize size = CGSizeMake(144,72)将创建一个宽度为144,高度为72的矩形大小。
而CGRect则是结合了CGPoint和CGSize,用来表示矩形的位置和大小。它的origin表示矩形右上角所在位置(CGPoint),size表示矩形的大小(CGSize)。
3、frame、bounds和center的区别与联系
回到frame和bounds属性,通过前面的描述不难发现,这两个属性都是用来描述视图的大小(CGSize)和位置(CGPoint)的,两者都用CGRect表示。不同的是,frame描述的是在其父视图中的CGRect,而bounds描述的是在其自身视图中的CGRect,也就是说,两者所在的坐标系是不同的。如图3所示,View B是View A的子视图,那么,View B的frame属性为origin(200,100),size(200,250),而View B的bounds属性为origin(0,0),size(200,250)。
center属性则用CGPoint表示矩形中心点在其父视图中的位置,如图3中View B的center属性为(300,200)。
frame、bounds和center三个属性是相互关联、相互影响的,其中一个属性发生变化,其他属性也会跟着变化。
4、frame、bounds和center的使用场景
一般来说,bounds属性比较少用,通常使用frame来设置视图的大小和位置,使用center来改变(移动)视图的位置(也可用frame来改变位置)。另外,对视图进行旋转、缩放也都是相对于center进行操作的。
From: http://unmi.cc/ios-bounds-frame
frame和bounds是UIView中的两个属性(property)。
frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)
bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)
-(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height); }
-(CGRect)bounds{ return CGRectMake(0,0,self.frame.size.width,self.frame.size.height); }
From: http://bestscw.iteye.com/blog/1112553
NSString 字符串类
常见方法
stringWithFormat 格式化字符串
length 获取字符串长度
isEqualToString 比较字符串是否相等
caseInsensitiveCompare 区分大小写比较
uppercaseString 转转字符串为大写
lowercaseString 转换字符串为小写
substringToIndex 从开始处截取字符串
substringWithRange 截取字符串
rangeOfString 查找指定字符串
stringWithContentsOfFile 把文件内容读入字符串
pathExtension 获取文件扩展名
stringWithContentsOfUrl 把url内容读入字符串
NSDate 日期和时间类
常见方法
dateWithTimeIntervalSinceNow 创建一个从现在开始增加指定时间间隔的日期
addTimeInterval 根据已有的日期增加指定时间间隔后的新日期
isEqualToDate 判断两个日期是否完全相等
earlierDate 是否比指定日期早
laterDate 是否比指定日期晚
timeIntervalSinceDate 计算两个日期时间间隔
NSArray 数组类
常见方法
arrayWithObjects 创建一个数组
arrayWithArray 基于已有数组创建新数组
subarrayWithRange 基于已有数组的一部分创建新数组
count 获取数组的长度
objectAtIndex 根据数组位置获取数组键值
indexOfObject 获取一个对象在数组中的位置
insertObject 插入一个对象 参数atIndex
replaceObjectAtIndex 替换指定位置的数组
removeObject 删除对象
removeObjectAtIndex 删除指定位置的对象
removeAllObjects 删除所有对象
NSDictionary 字典类
常见方法
count 查看字典有多少元素
objectForKey 访问字典中的值