Fork me on GitHub
上一页 1 ··· 65 66 67 68 69 70 71 72 73 ··· 125 下一页

2012年3月9日

摘要: // 画扇形// 红色部分CGContextRef contextRef = UIGraphicsGetCurrentContext();CGFloat components[] = { 1.0f, 0.0f, 0.0f, 1.0f};CGContextSetFillColor(contextRef, components);CGContextMoveToPoint(contextRef, 150.0f, 150.0f);CGContextAddArc(contextRef, 150.0f, 150.0f, 100.0f, 0 * (M_PI / 180.0f), 120 * (M_PI / 阅读全文
posted @ 2012-03-09 10:13 pengyingh 阅读(261) 评论(0) 推荐(0)
摘要: // 画贝塞尔曲线CGContextRef context = UIGraphicsGetCurrentContext();CGContextSetRGBStrokeColor(context, 255.0f, 255.0f, 255.0f, 1.0f);CGContextMoveToPoint(context, 100.0f, 100.0f); // 端点一CGContextSetLineWidth(context, 2.0f);// (200, 150) 控制点一 (50, 200) 控制点二 (100,300) 端点二//CGContextAddCurveToPoint(context, 阅读全文
posted @ 2012-03-09 10:11 pengyingh 阅读(310) 评论(0) 推荐(0)
摘要: 1、画直线和虚线// 画线CGContextRef contextRef = UIGraphicsGetCurrentContext();// 线边冒的三种类型// CGLineCap. kCGLineCapButt, kCGLineCapRound, kCGLineCapSquareCGLineCap lineCap = kCGLineCapButt;// 线段拐角出设置的三种类型// CGLineJoin. kCGLineJoinMiter(直角), kCGLineJoinRound(圆角), kCGLineJoinBevel(平角)CGLineJoin lineJoin = kCGLin 阅读全文
posted @ 2012-03-09 10:09 pengyingh 阅读(776) 评论(0) 推荐(0)
摘要: Quartz2D提供了两种渐变填充方法。第一种是使用Quartz自带的Gradient填充方法;第二种是使用自定义的着色器。这里将先描述如何使用CGGradient对象来做渐变填充。01 // Drawing code02// 创建Quartz上下文03CGContextRef context = UIGraphicsGetCurrentContext();04// 创建色彩空间对象05CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();06// 创建起点颜色07CGColorRef beginColor = CGC... 阅读全文
posted @ 2012-03-09 07:00 pengyingh 阅读(356) 评论(0) 推荐(0)
摘要: 使用着色器制作渐变的方法与直接用Quartz提供的CGGradient方法类似:1、首先创建色彩空间2、创建一个函数对象。该对象包含了输入范围信息以及输出范围信息。3、创建着色器对象。创建着色器对象时也指定了所要绘制矩形的起点坐标与终点坐标。4、绘制代码如下:01//02// MyQuartzView.m03// QuartzTest04//05// Created by zenny_chen on 12-2-21.06// Copyright (c) 2012年 GreenGames Studio. All rights reserved.07//08#import "MyQuar 阅读全文
posted @ 2012-03-09 06:59 pengyingh 阅读(196) 评论(0) 推荐(0)
摘要: //// MyQuartzView.m// QuartzTest//// Created by zenny_chen on 12-2-21.// Copyright (c) 2012年 GreenGames Studio. All rights reserved.// #import "MyQuartzView.h" // Quartz2D以及Core Animation所需要的头文件#import <QuartzCore/QuartzCore.h> @implementation MyQuartzView - (id)initWithFrame:(CGRect 阅读全文
posted @ 2012-03-09 06:53 pengyingh 阅读(226) 评论(0) 推荐(0)

2012年3月8日

摘要: 假设数组A有n个元素,数组B有n个元素。看到这种题的时候,我们最直观的就是通过两层for循环来对比每个数组中的数字。因此A数组中的每个元素都会和B数组中的每个元素对比过一次,所以总共要对比的次数是n个n相加(或者是n个m相加),也就是n2(或者为n x m).因此我们想能不能有更快的方法呢?让其中一个数组的查找的时间复杂度不再是O(n)就可以了。也就是我们在这个数组中查找一个数,不是通过遍历的方式。但是不是通过遍历的方式能在一个数组中找到一个自己想要的数吗?看起来必须有什么特殊的方法才行。我们再回过头来看数组是什么组成的:1.下标2.下标所代表的元素我们按位置查找时,数组的速度是O(1)的,因 阅读全文
posted @ 2012-03-08 01:43 pengyingh 阅读(249) 评论(0) 推荐(0)
摘要: consistent hashing算法早在1997年就在论文Consistent hashing and random trees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个cache服务器m down掉了(在实际应用中必须要考虑这种情况),这样所有映射到cache m的对象都会失效,怎么办,需要把cach 阅读全文
posted @ 2012-03-08 01:36 pengyingh 阅读(196) 评论(0) 推荐(0)
摘要: TCP是一个可靠的协议。有时人们会说:"TCP能够保证它所发送数据的可靠传输。"这种说法尽管很常见,但却非常不恰当。首先,只要稍微想一下就会知道这不可能是对的。比如,假设在数据传输的过程中将一台主机从网络上断开,TCP这侧不管做出何种努力,都无法获取其余 的数据。网络确实会中断,主机确实会崩溃,用户确实会在TCP连接仍然活跃的时候关机。这些事件或其他类似的事件都使得TCP无法将它从应用程序收到的数 据传送出去。但更重要的是,TCP"确保可靠传输"这种说法会对不够谨慎的网络程序员产生微妙的影响。当然,没人真的会相信TCP有某种魔法总是可以将数据安全 地传送 阅读全文
posted @ 2012-03-08 01:06 pengyingh 阅读(282) 评论(0) 推荐(0)
摘要: TCP是一种流协议(stream protocol)。这就意味着数据是以字节流的形式传递给接收者的,没有固有的"报文"或"报文边界"的概念。从这方面来说,读取TCP数据就像从串行端口读取数据一样--无法预先得知在一次指定的读调用中会返回多少字节(也就是说能知道总共要读多少,但是不知道具体某一次读多少)。为了说明这一点,我们假设在主机A和主机B的应用程序之间有一条TCP连接,主机A上的应用程序向主机B发送一条报文。进一步假设主机A有两条报文要发送,并两次调用send来发送,每条报文调用一次。很自然就会想到从主机A向主机B发送的两条报文是作为两个独立实体,在 阅读全文
posted @ 2012-03-08 00:56 pengyingh 阅读(170) 评论(0) 推荐(0)
上一页 1 ··· 65 66 67 68 69 70 71 72 73 ··· 125 下一页

导航