摘要:
俗话说:拳不离手,曲不离口。学过的技能不用,放长了就生疏了,今天以前的同事问我:用户改变浏览器窗口尺寸时,flash中的图片如何重新定位于4个角上。花了近一刻钟才回忆想来:stage有Resize事件,呵呵代码如下:1.先把加载图片的逻辑封装一下package { import flash.display.Sprite; import flash.display.Loader; import flash.display.LoaderInfo; import flash.net.URLRequest; import flash.events.Event; import flash.display
阅读全文
posted @ 2011-03-12 15:10
菩提树下的杨过
阅读(2493)
推荐(1)
摘要:
其实这也是面试中被问倒的问题:(贴在这里纪念一下,注:只是简单的罗列,详细原理及分析,请参阅《CLR Via c#》第三版相关章节)1、利用线程池发起异步操作using System;using System.Threading;namespace Asynchronous{ class Program { static void Main(string[] args) { Console.WriteLine("主线程:准备发起一系列异步操作..."); ThreadPool.QueueUserWorkItem(ComputeBoundOp, 5); ThreadPool.
阅读全文
posted @ 2011-03-07 21:16
菩提树下的杨过
阅读(1130)
推荐(2)
摘要:
做程序员以来,一直都是在创业型小公司呆着,手下的程序员最多也就三俩号人,但是老板的各种要求和任务都要快速满足,很多技术还不及深钻就要去赶紧学习其它东西,所以造成了现在技术层面:“广度有,深度无”的尴尬局面,今天去某公司面试了,被问一些我以往工作中没用到(或很少用)的知识点,基本上都是凭经验当场猜的,记在这里备忘:1、在一个同步的asp.net页面(即常规aspx页面)时,如果一个Button点击去发起一个异步操作,页面会不会有异常?因为我之前在asp.net页上有试过异步查询,也是类似回调的机制处理,当时页面能正常跑的,没报异常,所以我说不会报异常。回来后测试了一下:using System;
阅读全文
posted @ 2011-03-04 20:30
菩提树下的杨过
阅读(2041)
推荐(5)
摘要:
obj-c中有一类对象:NSArray,NSDictionary,NSString,NSNumber,NSDate,NSData以及它们的可变版本(指NSMutableArray,NSMutableDictionary...这一类) ,都可以方便的将自身的数据以某种格式(比如xml格式)序列化后保存成本地文件。示例代码:NSArrayTest.h#import <Foundation/Foundation.h>#define FILE_NAME @"/tmp/data.txt"@interface NSArrayTest : NSObject { }-(void
阅读全文
posted @ 2011-03-03 14:42
菩提树下的杨过
阅读(15173)
推荐(0)
摘要:
先承认我是标题党,因为在obj-c的世界中,官方根本没有"接口"与"泛型"这样的说法。 不过在obj-c中有二个与之接近的概念"非正式协议(interface)"与"正式协议(protocol)"。非正式协议在obj-c中的关键字虽然也是interface,但是这个跟c#中的接口(interface
阅读全文
posted @ 2011-03-02 21:09
菩提树下的杨过
阅读(17617)
推荐(2)
摘要:
今天在园子里看到了一篇牛文“Objective-C 2.0 with Cocoa Foundation--- 5,Class类型,选择器Selector以及函数指针 ”,讲得十分精彩,忍不住把它的代码加上注释整理于此,以便日后查看。个人体会:obj-C中的“Class类型变量”比c#中的Object基类还要灵活,可以用它生成任何类型的实例(但是它又不是NSObject)。而选择器SEL与函数指针IMP,如果非要跟c#扯上关系的话,这二个结合起来,就点类似c#中的反射+委托,可以根据一个方法名称字符串,直接调用方法。"牛"的基类 Cattle.h#import <Fou
阅读全文
posted @ 2011-02-28 21:41
菩提树下的杨过
阅读(10191)
推荐(2)
摘要:
C#中可以通过反射分析元数据来解决这个问题,示例代码如下:using System;using System.Reflection;namespace Hello{ class Program { static void Main(string[] args) { if (IsMethodDefined(typeof(Utils), "HelloWorld")) { Console.WriteLine("Utils类中有方法HelloWorld"); } else { Console.WriteLine("Utils类中没有方法HelloWor
阅读全文
posted @ 2011-02-28 14:38
菩提树下的杨过
阅读(4969)
推荐(2)
摘要:
在c#中要扩展一个现有类很容易,比如这样: public static class Utils { public static void PrintToConsole(this string strSrc) { Console.WriteLine(strSrc); } }这样就为String类添加了一个PrintToConsole的方法,使用方法如下: class MainClass { public static void Main (string[] args) { "Hello World!".PrintToConsole(); } }在objective-C中,也有
阅读全文
posted @ 2011-02-26 21:34
菩提树下的杨过
阅读(2148)
推荐(1)
摘要:
今天在看书上的一段代码时,发现NSString实例化时,有时用的是initWithFormat方法,有时用的是stringWithFormat,到底应该如何选择呢?区别:1、initWithFormat是实例方法只能通过 NSString* str = [[NSString alloc] initWithFormat:@"%@",@"Hello World"] 调用,但是必须手动release来释放内存资源2、stringWithFormat是类方法可以直接用 NSString* str = [NSString stringWithFormat:@&qu
阅读全文
posted @ 2011-02-25 21:20
菩提树下的杨过
阅读(31060)
推荐(5)
摘要:
注:这是《Objective-C基础教程》一书上的实例,但是原书限于篇幅,分析得比较简单,初次阅读看得比较费劲,这里展开详细讨论一下。场景:有二个类Car和Engine,即“汽车”和“引擎”。先来看最初的版本:Engine.h#import @interface Engine : NSObject@property int flag;@end // EngineEngine.m#import "Engine.h"@implementation Engine@synthesize flag;- (NSString *) description{ return ([NSStri
阅读全文
posted @ 2011-02-24 23:02
菩提树下的杨过
阅读(1762)
推荐(0)
摘要:
如果一个对象的生命周期显而易见,很容易就知道什么时候该new一个对象,什么时候不再需要使用,这种情况下,直接用手动的retain和release来判定其生死足矣。但是有些时候,想知道某个对象在什么时候不再使用并不那么容易。如果下面的代码,看上去非常简单:Sample.h类接口部分#import < Foundation / Foundation.h >@interface Sample : NSObject {}-(NSString*) toString;@endSample.m 类实现部分#import "Sample.h"@implementation Sa
阅读全文
posted @ 2011-02-24 15:44
菩提树下的杨过
阅读(12214)
推荐(1)
摘要:
obj-c本质就是"改进过的c语言",大家都知道c语言是没有垃圾回收(GC)机制的(注:虽然obj-c2.0后来增加了GC功能,但是在iphone上不能用,因此对于iOS平台的程序员来讲,这个几乎没啥用),所以在obj-c中写程序时,对于资源的释放得由开发人员手动处理,相对要费心一些。引用计数这是一种古老但有效的内存管理方式。每个对象(特指:类的实例)内部都有一个retainCount的引用计数,对象刚被创建时,retainCount为1,可以手动调用retain方法使retainCount+1,同样也可以手动调用release方法使retainCount-1,调用rele
阅读全文
posted @ 2011-02-23 13:26
菩提树下的杨过
阅读(4468)
推荐(0)
摘要:
“正确进入DFU模式”对于果粉新手来说是一个很难掌握的技巧(越狱、降级都要用到它),特别是时间的把握上,多按一会儿不行,少按一会儿也不行,从网上看到这个办法,觉得不错,转载于此:1、连接你的iphone到电脑2、先右击“我的电脑”—>属性—>硬件—>设备管理器—>通用串行总线控制器,你会看到里面有个“Apple Mobile Device USBDriver&q
阅读全文
posted @ 2011-02-11 21:54
菩提树下的杨过
阅读(14642)
推荐(0)
摘要:
先来定义一个Human父类定义部分:注:+(void)前的加号,就表示这一个是类方法(static 方法),而-(void)表示这是一个实例方法实现部分:注意:下面的 -(id) init 即为构造函数。对应的,还有一个-(void)dealloc方法用来释放资源(类似于析构函数或c#中的dispose()方法)-注:dealloc方法以后在内存管理中详细学习,这里先不管它。再来定义一个Woman子类定义部分:实现部分:注意下面的:setMarried 与 Married 就是obj-C中属性的标准写法(当然以后还能看到其它简化的写法)main方法中的调用:运行结果:2011-02-09 17
阅读全文
posted @ 2011-02-09 17:11
菩提树下的杨过
阅读(3622)
推荐(0)
摘要:
上一篇展示了如何用传统的“面向过程编程方法”,实现画“矩形”、“圆”、“椭圆”,这一篇看下如何改用OOP的方法来实现:因为要用到“颜色”以及“矩形区域”二个枚举,先把他们抽出来单独放在CommDef.h文件中然后再定义基类Shape,注意:在obj-C中,定义一个类通常分成二部分,一部分是".h"的文件,用来申明类有哪些成员(也称为类的定
阅读全文
posted @ 2011-01-26 16:08
菩提树下的杨过
阅读(2206)
推荐(0)
摘要:
上一篇中,所有代码都是放在同一个文件main.h中的,这显然不是一个好的方式,代码多了以后,看着就头大。可以将其进行拆分:1、将所有枚举、结构的定义单独放在一个文件ShapeDef.h中2、将所有方法都放在另一个文件ShapeMethod.h中3、最后在主文件Main.m中使用ShapeMethod.h注:ShapeDef.h,ShapeMethod.h,Main.m三个文件均处于同一个项目的同一个目录中。
阅读全文
posted @ 2011-01-26 12:08
菩提树下的杨过
阅读(1353)
推荐(0)
摘要:
Console窗口的运行结果:2011-01-25 13:49:05.978 HelloWorld[734:a0f] drawing a circle at (0,0,10,30) in red2011-01-25 13:49:06.016 HelloWorld[734:a0f] drawing a rectangle at (30,40,50,60) in green2011-01-25 13:49:06.018 HelloWorld[734:a0f] drawing an egg at (15,18,37,39) in blue
阅读全文
posted @ 2011-01-25 13:48
菩提树下的杨过
阅读(2305)
推荐(0)
摘要:
从雨痕老大的博客上转来的 http://www.rainsts.net/article.asp?id=1066读书人偷书不算窃 :)1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进CMD + CTRL + LEFT: 折叠CMD + CTRL + RIGHT: 取消折叠CMD + CTRL + TOP: 折叠全部函数CMD + CTRL + BOTTOM: 取消
阅读全文
posted @ 2011-01-25 10:22
菩提树下的杨过
阅读(185609)
推荐(29)
摘要:
注:这个程序最初是专为iOS平台开发的(当然是公司外包给一个兄弟做的,现在已经在itunes store里发布了,直接在itunes store里搜索"星座运程合缘"就能找到,上线一周左右,已经有7位用户下载购买了).年前无大事,在webcast上看了"林永坚(Jake Lin)"的wp7视频两天,发现跟传统的SL开发有90%以上完全相同,如果您有SL的开发或学习经验,基本上只要一二天,就能直接转行做WP7开发,简直太方便了。(比如象我这样,整套视频只看了一半就已经可以动手做一些小应用了)下面是将“星座运程合缘”移
阅读全文
posted @ 2011-01-21 16:58
菩提树下的杨过
阅读(1296)
推荐(2)
摘要:
虽然c有很多经典的开发环境,但是大多数是linux或unix下的,对于windows的忠实用户来讲,可能并不习惯。windows环境中,有一个dev-c++可以做c代码的调试,但这个软件貌似已经停止更新了,而且个人觉得它也不够时尚,有点过时了。所以windows平台中,我更倾向于推荐eclipse环境1、下载Eclipse IDE for C/C++ Developers地址:http://www.eclipse.org/downloads/ 或 http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/helios
阅读全文
posted @ 2011-01-12 20:45
菩提树下的杨过
阅读(7142)
推荐(0)
摘要:
上午QQ上的某好友问我:如何在excel中插入一张同时带柱状图+折线图的图表?(类似下面这样)打开excel2007看了下,默认情况下插入图表时,只允许选择一种类型的图表,好吧,我承认不知道,但是,也许百度知道呢?去问度娘度娘回答的比较抽象,只给出了方向,细节不甚明确,于是在其正确的方向指引下,自己研究了一番,有了下面的详解,记录一下(说不定以后写文档啥的时候就派上用场了)1、先选取主要数据区,插入柱形图于是得到了下面的图表,但是注意到横坐标并非“1月,2月...”,而是"1,2...",所以先来解决这个2、右侧图表-“选择数据”-"水平(分类)轴标签",设置水平分类标签的数据源完成之后,
阅读全文
posted @ 2011-01-12 13:05
菩提树下的杨过
阅读(60361)
推荐(0)
摘要:
iTouch4到手近1个月了,基本上玩转了,记录一些注意事项:1、未越狱的情况下,如何下载免费的itunes Store软件?以下内容凭印象记录的,大家自行验证真伪:在itunes Store里,有一个国家选择,选择美国,然后随便找一款免费软件并购买,系统会问你是否有app Id,如果没有,有一个马上创建的选项,选择马上注册,在创建的过程中,有一个“不绑定信用卡”,后面的事情,你懂的(注:如果在中国区,创建app Id时,没有这一选项,典型的歧视中国人)2、尽早备份SHSH不知道SHSH为何物的同学们,先百度吧,大体上可理解为每台iTouth设备“身份标识和一些重要信息”的备份,大意就是说:a
阅读全文
posted @ 2011-01-06 11:01
菩提树下的杨过
阅读(2573)
推荐(0)
摘要:
前一阵对公司网站的购物车功能进行了改造,允许不同商家的商品放到同一个购物车,下单时自动按商家来拆分订单。本地测试时一切正常,IE6/IE7/IE8均没问题。部署到服务器上后试运行几天,有客户反馈说使用购物车下单时,点击提交按钮后,多数时候不能正常生成订单,但也有少部分时候能正常。于是我又在本地开发环境(win7 + ie8)下测试了一番(包括IETest用IE6.0模拟),然后又用本机浏览器(IE8)测试了线上正式环境的下单,仍然一切正常,当时的第一反应,既然有时候能正常下单,说明代码应该是正确的,于是以为是客户网速太慢,可能导致js未加载成功(因为下单时,有很多表单项的客户端验证是用js处理
阅读全文
posted @ 2010-12-29 14:49
菩提树下的杨过
阅读(828)
推荐(0)
摘要:
做数据库开发的程序员,可能每天都会处理各种各样的查询sql,这个就是查找(Search)。通过查询记录主键字段(即主关键码)或其它非唯一字段(即次关键码)找到所需要的记录。如果在查找的过程中,不改变原始数据(的数据结构),则这种查找称为静态查找(Static Search);如果找不到,需要向数据库里插入记录(或者找到了,需要从数据库里删除),这种在查找过程中需要动态调整原始数据(的数据结构),这种查找称为动态查找(Dynamic Search).被查找的数据结构(比如数据库中的某张表)称为查找表,用于静态查找的称为静态查找表,反之则称为动态查找表。一、静态查找因为静态查找中不需要删除或新增记
阅读全文
posted @ 2010-12-23 14:16
菩提树下的杨过
阅读(2748)
推荐(5)
摘要:
msdn上有一篇讲解如何用vs2008调试源码的文章:http://blogs.msdn.com/b/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx 今天在vs2010上试了下,发现其实也可以,关键设置二个地方:然后换到Symbols在Cache symbols in this directory这里选择一个本机目录(用于存放下载源代码pdb文件)ok,已经成功一半了,为了更方便的一次性全部下载,你也可以到codeplex网站下载一个NetMassDownLo
阅读全文
posted @ 2010-12-23 10:34
菩提树下的杨过
阅读(2264)
推荐(0)
摘要:
5、堆排序(HeapSort)在接触“堆排序”前,先回顾一下数据结构C#版笔记--树与二叉树 ,其中提到了“完全二叉树”有一些重要的数学特性:上图就是一颗完全二叉树,如果每个节点按从上到下,从左至右标上序号,则可以用数组来实现顺性存储,同时其序号:1、如果i1,则序号为i的父结节序号为i/2(这里/指整除) 言外之意:整个数组前一半都是父节点,后一半则是叶节点2、如果2*i=n(这里n为整颗树的节点总数),则序号为i的左子节点序号为2*i3、如果2*i +1 =n,则序号为i的右子节点序号为2*i + 1好了,再来看看"堆(Heap)"是个神马玩意儿?其实,堆就是一颗完全二叉树,由上面的
阅读全文
posted @ 2010-12-21 20:55
菩提树下的杨过
阅读(1223)
推荐(3)
摘要:
这里讨论的仅限于内部排序(即全部数据都在内存中,通过CPU运算处理元素排序),而且仅限顺序表排序(即不讨论链表,树状结构等结构的排序)注:排序后的结果可以从小到大,或者从大到小,这只是一个相反的处理而已,为方便起见,本文中的方法都是从小到大排序1、直接插入排序(InsertOrder)思路:从第二个元素开始向后遍历,检查本身(后面称之为tmp)与前面相邻元素的大小,如果发现前面的元素更大,则依次从近及远(即倒序遍历)检查前面的所有元素,将比自身元素大的元素依次后移,这样最终将得到一个空位,将tmp元素插在这个位置即可. /// <summary> /// 直接插入排序法 /// &
阅读全文
posted @ 2010-12-20 22:12
菩提树下的杨过
阅读(1194)
推荐(1)
摘要:
今天在测试一个手机版网站时,发现“微软的wp7”跟“苹果的iOS”对于select../select元素的触摸操作不太一样,wp7是全屏切换到一个上下滚动的列表选择区,而iOS则是只在屏幕下半部分出现上下滚动的列表选择区,于是想到android上会不会另一番景象?遂down了下android sdk(参考文章:http://www.iplaysoft.com/android-emulator.html)但是参照那篇文章中的安装时,发现一些新问题,记录于此1、第一次打开,出现SSL错误信息,大意是无法连接到google服务器,无法获取更新解决办法:允选Setting界面中的"Force
阅读全文
posted @ 2010-12-14 20:15
菩提树下的杨过
阅读(720)
推荐(0)
摘要:
注:AVM的GC机制确实有些诡异,不象CLR可以通过GC.Collect()显示调用,中午在天地会闲逛时,发现了下面的这二个方法,转载一下原文:http://bbs.9ria.com/viewthread.php?tid=24027&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D12&page=1方法1:方法2:测试代码:通过System.totalMemory的结果可以清楚的看到内存得以释放,window任务管理器也能够看到有变化哦,原理也可能和异常有点关系.
阅读全文
posted @ 2010-12-09 13:50
菩提树下的杨过
阅读(3478)
推荐(0)
摘要:
买不起iPhone4,只能弄了一台iTouch4,想尝试一下iOS上的开发,虽然有monoTouch可用,但是这东西要399美金授权,换成RMB好几千块了,算了,为了省钱,还是老老实实复习C 吧,然后升级到Objective-C。1.1 在你自己的系统中运行“hello, world”程序。再有意去掉程序中的部分内容,看看会得到什么出错信息。1.2 做个实验,当printf 函数的参数字符串中包含\c(其中c 是上面的转义字符序列中未曾列出的某一个字符)时,观察一下会出现什么情况。1.3 修改温度转换程序,使之能在转换表的顶部打印一个标题。1.4 编写一个程序打印摄氏温度转换为相应华氏温度的转
阅读全文
posted @ 2010-12-06 17:02
菩提树下的杨过
阅读(2753)
推荐(0)
摘要:
哈夫曼树Huffman tree 又称最优完全二叉树,切入正题之前,先看几个定义1、路径 Path简单点讲,路径就是从一个指定节点走到另一个指定节点所经过的分支,比如下图中的红色分支(A-C-B与C-D-E-F) 图12、路径长度(Path Length)即路径中的分支个数,比如上图(a)中的路径长度为2,上图(b)中的路径长度为33、结点的权重(Weight of Node)在一些特定应用中,有时候要刻意区分节点之间的重要程度(或优先程度),比如认为A节点比B节点要重要(更优先),可以给这些节点增加一个int型的属性值weight,用该值来标明这种重要性,这就
阅读全文
posted @ 2010-12-03 21:51
菩提树下的杨过
阅读(3899)
推荐(2)
摘要:
图1 上图描述的数据结构就是“树”,其中最上面那个圈圈A称之为根节点(root),其它圈圈称为节点(node),当然root可以认为是node的特例。 树跟之前学习过的线性结构不同,它是一对多的非线性结构,具有二个基本特点: 1、根节点(root)没有前驱节点,除root之外的所有节点有且只有一个前
阅读全文
posted @ 2010-12-01 10:19
菩提树下的杨过
阅读(5430)
推荐(1)
摘要:
摘自"百度知道",我不知道!当前的网络中有三种通讯模式:单播、广播、组播(多播),其中的组播出现时间最晚但同时具备单播和广播的优点,最具有发展前景。 一、单播: 主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部...
阅读全文
posted @ 2010-11-30 15:08
菩提树下的杨过
阅读(965)
推荐(0)
摘要:
原文:http://www.flashrealtime.com/multicast-explained-flash-101-p2p/,讲解单播、多播不可多得的好文章,转载防被“墙”掉Multicast is one of the features of Flash Player 10.1 and it enables you to distribute NetStreams...
阅读全文
posted @ 2010-11-30 14:22
菩提树下的杨过
阅读(1422)
推荐(0)
摘要:
原文:http://www.flashrealtime.com/p2p-groupspecifier-explained-1/转过来防止被墙掉If you’ve tried my tutorial on creating a simple chat using P2P NetGroup in Flash Player 10.1, you might have been wonderin...
阅读全文
posted @ 2010-11-30 14:05
菩提树下的杨过
阅读(870)
推荐(0)
摘要:
这其实是http://www.flashrealtime.com/file-share-object-replication-flash-p2p/中关于文件分享示例的改版,原文示例是基于flex的,我改成flash版本了(大致原理与上一篇完全相同):有三个基本类:1、P2PSharedObject.as 用于定义要分享的(图片)数据类2、LocalFileLoader.as 用于浏览本地图片并加载...
阅读全文
posted @ 2010-11-30 10:09
菩提树下的杨过
阅读(2782)
推荐(0)
摘要:
在fms4以前Adobe只允许在stratus中才能使用p2p功能。令人高兴的是,在最新发布的fms4中,p2p功能已经集成进来了,这将给实时视频类的应用带来更高的效率,adobe这次很给力!为了使用p2p,开发用的flex sdk至少要4.1以上(当然最高版本是代号为hero的4.5版本,可从adobe的官网下载),另外还需要fms4(同样可从adobe官网下载开发版本)。先上完整代码吧:在这段...
阅读全文
posted @ 2010-11-25 21:43
菩提树下的杨过
阅读(5702)
推荐(0)
摘要:
一篇很不错的讲解"利用flash player 10.1中的p2p特性实现文件共享"的文章,为防止原文被墙掉,转载于此,原始出处:http://www.flashrealtime.com/file-share-object-replication-flash-p2p/Object ReplicationObject Replication is the most lowest-level P2P ...
阅读全文
posted @ 2010-11-25 14:15
菩提树下的杨过
阅读(2768)
推荐(0)
摘要:
今天在向服务器部署一个fluorineFx web应用时,浏览站点总出现这个错误,用aspnet_regiis.exe -i注册,把c:\windows\temp,c:\windows\tmp,C:\Windows\Microsoft.NET\Framework\vxxx.xxx\Temporary ASP.NET Files 这三个目录的Network Serivce权限调到最高也不行,极度郁闷...
阅读全文
posted @ 2010-11-24 15:52
菩提树下的杨过
阅读(856)
推荐(0)
摘要:
今天在服务器上安装VisualSVN Server时,安装到最后,一直提示服务无法启用,点击retry也是一样。解决办法:先不要退出安装程序,运行栏输入 services.msc,打开系统服务,找到VisualSVN Server,右击属性-->登录-->将登录身份改成"本地系统帐户",然后回安装界面,点击Retry,搞定.
阅读全文
posted @ 2010-11-24 14:11
菩提树下的杨过
阅读(7718)
推荐(0)