12 2012 档案
摘要:由于Objective C是C的扩展版,所以,可以直接用C的api来读写文件。但是,ios本身提供了NSFileManager来进行文件操作-(void)writeFile:(NSString*)filename:(NSString*)data{ //获得应用程序沙盒的Documents目录,官方推荐数据文件保存在此NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* doc_path = [path objectAtInd...
阅读全文
摘要:一开始学Ojective C还真摸不到思路,在看了几本书后,初步感觉到还是差不多的 《Objective-C基础_快速入门pdf版》,网友写的入门教程,讲了Objective C的区别,非常有用。 《Objective-C基础教程.pdf》,这本是经典教程,写的有点~~~看看挺不错了。 《一步一步学习 iOS 5 编程(第二版).pdf》,这本是实战的好书,教我们Xcode开发环境,以及如何创建图...
阅读全文
摘要:今天在打差异包的时候,发现打包失败。原来是拷贝文件失败。于是,打文件名与文件状态打印出来看,发现添加文件的状态“A”与删除文件状态“M”调转了!这一度让我以为是Perl传递参数的时候发生了错误。于是纠结在数组引用传递的问题上,同时将代码优化了一下。后来发现这不是办法,因为实在不对劲。在本地进行若干尝试后,发现,文件在本地的状态与服务器的状态也是相反的。我用的命令是git diff-tree HEAD HEAD^ --name-status 于是尝试了将两个Hash码调转,果然,状态和服务器一样了。原来是参照物的问题,而不是Perl引用传递的问题! git diff-tree HEAD^ HEA
阅读全文
摘要:在perl里面,传递多个数组是不可行的,因为所有参数都会被压到@_里面,取出来的时候,所以数组元素都会被放到第一个数组里面。所以,用引用吧~~~ 1 use ... 2 sub array 3 { 4 my ($arr1,$arr2) = @_ ; 5 print "@$arr1 : @$arr2"; 6 } 7 sub main 8 { 9 my @array1 = qw/test test test/ ; 10 my @array2 = qw/test1 test1 test1/ ; 11 array(\@array1,\@arra...
阅读全文
摘要:使用mkdir可以创建一个目录,但只能创建一个目录。使用mkpath则可以创建连续的子目录。在linux下使用cp -p同样可以实现同样的功能。 再使用File::Copy来拷贝。 1 use File::Path; 2 use File::Copy; 3 sub writeSubFolder 4 { 5 my $root = 'E:/perl_work/'; 6 my $toDir = "project/pages/test/test.jpg" ; 7 my $fileName = "tmp/test.jpg"; 8 $toD...
阅读全文
摘要:在项目中经常会遇到这样的情况,在Windows下上传到服务器的中文文件夹或文件变成乱码了。 以前一度不知道怎么办,用着办法也是非常落后的:备份文件夹,照理来说,乱码文件夹或文件是不会下载下来的。删除服务器上的文件夹所有内容,因为rm -rf * 总是可以执行的再上传 这是一个比较笨的方法。 今天在搜索Git中文目录乱码的问题时,想看看Linux下文件夹的结构,于是找到了删除乱码文件夹或文件的方法。通过 文件的inode号来删除文件(相当于我们用pid来kill进程一样) ll -i 或 ls -i 列出文件的inode号 find folder -inum -delete
阅读全文
摘要:在看《编程珠玑》变位词程序的时候看到签名算法的思想非常好...Soundex是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,可用Soundex做类似模糊匹配的效果。之前做过模糊匹配,用的是正则表达式。但显然,用签名算法的效率更高。算法简要说明将英文字按以下规则替换(除第一个字符外): a e h i o u w y -> 0 b f p v -> 1 c g j k q s x z -> 2 d t -> 3 l -> 4 m n -> 5 r -> 6去
阅读全文
摘要:这个问题困扰了我们很久,就是在Linux下,我们通过网页执行用Java写的小工具时,发现,在终端可以正确执行,而用网页执行却不能正确执行!中文总是出现乱码。通过输出文件的编码,发现文件的格式都是:ANSI_X3.4-1968。这很明显不对,正常的应该是UTF-8 。一开始,我们都以为是Java编码出了错,但是,为什么终端执行正确,而网页执行却是错的呢?很明显,能过了Apache这个中介才发生了错误。于是猛地搜这个apache jvm ANSI_X3.4-1968,找到了这篇文章 :http://stackoverflow.com/questions/4398540/unicodeencodee
阅读全文
摘要:最近,sinaapp越来越慢了,决定还是用博客园算了...
阅读全文
摘要:共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式 mmap(memory map内存映射)操作提供了一种机制,让用户程序直接访问设备内存,这种机制,相比较在用户空间和内核空间互相拷贝数据,效率更高。在要求高性能的应用中比较常用。mmap映射内存必须是页面大小的整数倍,面向流的设备不能进行mmap,mmap的实现和硬件有关。 1 #include 2 /**参数: 3 *start -> 映射起始地址 , 4 *length -> 映射区长度 , 5 *prot -> 共享内存访问权限:可读,写,执行,不可访问, 6 *flags -> 映射模式 :MAP_S
阅读全文
摘要:1 #!/usr/bin/perl -w 2 use strict; 3 use warnings; 4 5 #字符串映射函数 6 our %actions = ( 7 "foo" => \&foo, 8 ); 9 10 sub foo11 {12 print "test" ; 13 }14 15 sub main16 {17 my $action = "foo";18 $actions{$action}->();19 }20 main;
阅读全文