Program Archive

  • nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。

    [轉帖]nonatomic,assign,copy,retain的区别

    nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。

    Continue Reading...

  • 过去的个把礼拜都没有更新博客,博主陪女朋友出门在周边旅游了一趟。春末夏初的好天气很难得,大家也不要一直待在电脑面前,程序员也要享受生活不是~跑进跑出的也没忘记带着Kindle一路看书。回家后本来想…

    [Learning Python 4th Edition] 重定义

    过去的个把礼拜都没有更新博客,博主陪女朋友出门在周边旅游了一趟。春末夏初的好天气很难得,大家也不要一直待在电脑面前,程序员也要享受生活不是~跑进跑出的也没忘记带着Kindle一路看书。回家后本来想…

    Continue Reading...

  • 好几年前,我刚进大学那会儿结识了一个越南朋友,Jack。他向我推荐了gigapedia。一个可以免费下电子书的网站。英文技术类的书居多。当中换过几次域名,目前叫library.nu。类似海盗湾,只不过下载媒介不是依赖于P2P,而是HTTP,文件都是来自第三方的文件存储网站。通过这个渠道下载书籍的合法性我还不清楚,但是用这种渠道传播肯定是损害到作者和出版商的利益的,所以不鼓励contribute。背景交代完毕。 下载下来的书基本上都用了比较不好看的文件名,比如“ebooksclub.org__Twitter_API__Up_and_Running__Learn_How_to_Build_Applications_with_the_Twitter_API.pdf”,所以决定写个脚本来批量改换文件名。脚本如下: 1234567891011#!/usr/bin/env python import os for filename in os.listdir("."):     if filename.startswith("ebooks"):         newFilename = filename[16:]         newFilename = [...]

    批量重命名电子书

    好几年前,我刚进大学那会儿结识了一个越南朋友,Jack。他向我推荐了gigapedia。一个可以免费下电子书的网站。英文技术类的书居多。当中换过几次域名,目前叫library.nu。类似海盗湾,只不过下载媒介不是依赖于P2P,而是HTTP,文件都是来自第三方的文件存储网站。通过这个渠道下载书籍的合法性我还不清楚,但是用这种渠道传播肯定是损害到作者和出版商的利益的,所以不鼓励contribute。背景交代完毕。 下载下来的书基本上都用了比较不好看的文件名,比如“ebooksclub.org__Twitter_API__Up_and_Running__Learn_How_to_Build_Applications_with_the_Twitter_API.pdf”,所以决定写个脚本来批量改换文件名。脚本如下: 1234567891011#!/usr/bin/env python import os for filename in os.listdir("."):     if filename.startswith("ebooks"):         newFilename = filename[16:]         newFilename = [...]

    Continue Reading...

  • 日本程序员norahiko,写了一个排序算法的动画演示,非常有趣。

    快速排序(Quicksort)的Javascript实现

    日本程序员norahiko,写了一个排序算法的动画演示,非常有趣。

    Continue Reading...

  • Shared by  C1412 一篇能学到很多东西的文章 本文是从 A Google Interviewing Story 这篇文章翻译而来。 很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试...

    【外刊IT评论】一次谷歌面试趣事

    Shared by C1412 一篇能学到很多东西的文章 本文是从 A Google Interviewing Story 这篇文章翻译而来。 很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试...

    Continue Reading...

  • Sum­mary 章主要详细介绍了Python的动态数据类型(Dynamic Typing)。之所以将这个概念单独拎出来说是因为作者认为Dynamic Typing是Python灵活性的根,是Python语言多态性的必要条件。 Dynamic Typing这一特性的直接表现就是你无需在使用变量前声明数据类型,只要在使用前给变量赋值就可以了。在这一过程中,Python底层主要做了下面几件事:建立变量名。从技术层面讲,Python会在运行代码前探测一些变量名,但是在这里我们可以理解成赋值时的一个步骤。 在内存里建立对象(Object)。数据类型是一直跟着Object的,而跟变量名无关。因此一个变量名可以前后被赋很多个不同类型的值 References,也其实就是C里的指针,将变量名指向对应的对象。跟大多数高级语言一样Python也是有Garbage Col­lec­tion机制。当内存里的某个对象已经不再被任何变量引用,那它就会被“回收”。其实也就是标记为此空间可用,之后在需要用空间的时候这块空间就能被再次利用。 那既然Python的变量、对象体系是这样的一个构造,我们势必可以想到多个变量可以共享同一个对象。代码的实现其实很简单: >>> a = 3 >>> b = a 指针共享那就带来另一个问题,就是数据的正直完整性,即当a的值改变,b会不会也改变。这就需要分两种情况讨论。我之前在介绍各种Python内建类型时说到过Python下有可变性和不可变性的区别。比如整数、字符串就是不可变的,而list、dictionary就是可变的。 对于不可变数据类型,改变其值时,实际上Python会建立个新的对象并用新的指针指向新对象。因此遇到共享指针的情况时,其他的变量不会因为当中的一个变量改变而改变。如图:对于可变数据类型,改变其值时,对象的内部值会改变,但是指针不变,于是共享指针的其他变量也会因此而改变其值。如下: >>> L1 = [2, 3, 4] [...]

    [Learning Python 4th Edition] Ch. 6 总结和练习

    Sum­mary 章主要详细介绍了Python的动态数据类型(Dynamic Typing)。之所以将这个概念单独拎出来说是因为作者认为Dynamic Typing是Python灵活性的根,是Python语言多态性的必要条件。 Dynamic Typing这一特性的直接表现就是你无需在使用变量前声明数据类型,只要在使用前给变量赋值就可以了。在这一过程中,Python底层主要做了下面几件事:建立变量名。从技术层面讲,Python会在运行代码前探测一些变量名,但是在这里我们可以理解成赋值时的一个步骤。 在内存里建立对象(Object)。数据类型是一直跟着Object的,而跟变量名无关。因此一个变量名可以前后被赋很多个不同类型的值 References,也其实就是C里的指针,将变量名指向对应的对象。跟大多数高级语言一样Python也是有Garbage Col­lec­tion机制。当内存里的某个对象已经不再被任何变量引用,那它就会被“回收”。其实也就是标记为此空间可用,之后在需要用空间的时候这块空间就能被再次利用。 那既然Python的变量、对象体系是这样的一个构造,我们势必可以想到多个变量可以共享同一个对象。代码的实现其实很简单: >>> a = 3 >>> b = a 指针共享那就带来另一个问题,就是数据的正直完整性,即当a的值改变,b会不会也改变。这就需要分两种情况讨论。我之前在介绍各种Python内建类型时说到过Python下有可变性和不可变性的区别。比如整数、字符串就是不可变的,而list、dictionary就是可变的。 对于不可变数据类型,改变其值时,实际上Python会建立个新的对象并用新的指针指向新对象。因此遇到共享指针的情况时,其他的变量不会因为当中的一个变量改变而改变。如图:对于可变数据类型,改变其值时,对象的内部值会改变,但是指针不变,于是共享指针的其他变量也会因此而改变其值。如下: >>> L1 = [2, 3, 4] [...]

    Continue Reading...

  • 有人在酷壳的留言版上询问下面的问题 keep_walker : 今天晚上我看到这篇文章。 http://programmers.stackexchange.com/questions/62502/small-c-projects 我也遇到了和提问的老外一样的问题。。能给像遇到这样烦...

    如何学好C语言

    有人在酷壳的留言版上询问下面的问题 keep_walker : 今天晚上我看到这篇文章。 http://programmers.stackexchange.com/questions/62502/small-c-projects 我也遇到了和提问的老外一样的问题。。能给像遇到这样烦...

    Continue Reading...

  • Sum­mary 着第四章的对各种python数据类型的大致介绍,本章——第五章,将开始深入对各数据类型深入讨论。第五章是对Numeric Type(数字类型)。忘记了我在前面有没有提到过,python里的所有数据类型(包括自己创建的)都是Object,作者在本章开始又再次提到,Object的概念贯穿python编程始末,如果对OOP概念还不是很清楚的同学,请移步到这里学习一下:Object-oriented programming。 回归数字类型,python数字类型不是指一个单独的数据类型,而是指一类有相似属性的数据类型,包括:Inte­gers and floating-point numbers Com­plex numbers Fixed-precision dec­i­mal numbers Ratio­nal frac­tion numbers Sets Booleans Unlim­ited inte­ger precision A [...]

    [Learning Python 4th Edition] Ch. 5 总结和练习

    Sum­mary 着第四章的对各种python数据类型的大致介绍,本章——第五章,将开始深入对各数据类型深入讨论。第五章是对Numeric Type(数字类型)。忘记了我在前面有没有提到过,python里的所有数据类型(包括自己创建的)都是Object,作者在本章开始又再次提到,Object的概念贯穿python编程始末,如果对OOP概念还不是很清楚的同学,请移步到这里学习一下:Object-oriented programming。 回归数字类型,python数字类型不是指一个单独的数据类型,而是指一类有相似属性的数据类型,包括:Inte­gers and floating-point numbers Com­plex numbers Fixed-precision dec­i­mal numbers Ratio­nal frac­tion numbers Sets Booleans Unlim­ited inte­ger precision A [...]

    Continue Reading...

  • 总结 一部分的学习让我对Python 3.X 有了大致了解,包括环境、语言特性和优劣势等。由于内容比较泛,所以我将前三章(也就是第一部分)在本系列的第一篇文章里全讲掉了。下面的学习比较具体,所以会分成章节。第四章主要就是介绍Python中的核心数据类型,如下表所示。下面我就对各类型一一做个简易介绍,不可能详尽,我只会挑出我比较感兴趣的部分说一下,其余没有提到的可能是我觉得平常、没必要费口舌的,所以想深入了解的同学请利用好因特网。Num­bers 和其他编程语言差不多,相比之下感觉更快捷方便。比如 2100 的运算,在别的强类型语言里可能需要long inte­ger类型(在Python 2.X里其实也需要),但是Python 3.X 就会自动转成常整数类型。 运算符:+ 和*就跟其他语言一样,但是乘方是**而不是^。 另外在浮点小数运算的时候,会出现下面的情况: >>> 3.1415 * 2 # repr: as code     6.2830000000000004   [...]

    [Learning Python 4th Edition] Ch. 4 总结和练习

    总结 一部分的学习让我对Python 3.X 有了大致了解,包括环境、语言特性和优劣势等。由于内容比较泛,所以我将前三章(也就是第一部分)在本系列的第一篇文章里全讲掉了。下面的学习比较具体,所以会分成章节。第四章主要就是介绍Python中的核心数据类型,如下表所示。下面我就对各类型一一做个简易介绍,不可能详尽,我只会挑出我比较感兴趣的部分说一下,其余没有提到的可能是我觉得平常、没必要费口舌的,所以想深入了解的同学请利用好因特网。Num­bers 和其他编程语言差不多,相比之下感觉更快捷方便。比如 2100 的运算,在别的强类型语言里可能需要long inte­ger类型(在Python 2.X里其实也需要),但是Python 3.X 就会自动转成常整数类型。 运算符:+ 和*就跟其他语言一样,但是乘方是**而不是^。 另外在浮点小数运算的时候,会出现下面的情况: >>> 3.1415 * 2 # repr: as code     6.2830000000000004   [...]

    Continue Reading...

  • 两三天前,我给 @KarenMeu 指导编程, 各种头痛,不是她的技能方面的问题,而是在于交流和表达通过因特网就很难达到面对面指点的效果。

    用Eclipse Cola协同编程

    两三天前,我给 @KarenMeu 指导编程, 各种头痛,不是她的技能方面的问题,而是在于交流和表达通过因特网就很难达到面对面指点的效果。

    Continue Reading...

Page 1 of 41234