`
lin_llx
  • 浏览: 127555 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
搬家啦。 要离开写了3年的博客还是有些舍不得。 不过觉得,有了自己的独立域名,是一种新的起点。 我会把这里的精华文章手工迁移到新的博客,并且从今以后会奉献更加优秀的文章给大家的。 地址:http://linluxiang.info    
今天在珠三角技术沙龙分享了一个关于如何在UIWebView的限制环境中,在JavaScript里面调用ObjC的函数的方法。 下面把slide分享出来,希望大家指摘,slide的最后一页有源码在github上面的地址。 需要注意的是,因为我使用了json-framework,可能编译的时候需要下载Json-framkework并且按照它的要求配置XCode,麻烦大家移步。 后续可能会放出如何将别的Xcode Project以静态编译的方式加入自己的项目里面的方法,敬请期待。 简介:在UIWebView的限制条件下,如何绕过苹果的SDK的限制,利用伪造CachedResponse对象和后端 ...
wsgi初探 前言 本文不涉及WSGI的具体协议的介绍,也不会有协议完整的实现,甚至描述中还会掺杂着本人自己对于WSGI的见解。所有的WSGI官方定义请看http://www.python.org/dev/peps/pep-3333/。 WSGI是什么? WSGI的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。 也就是说,WSGI就像是一座桥梁,一边连着web服务器,另一边连着用户的应用。但是呢,这个桥的功能很弱,有时候还需要别的桥来帮忙才能进 ...
前两天写了一篇文章,讲了一下Python的闭包。刚好今天又看到一个小问题,和Python闭包有点相关。顺手记录下来。   如下一段代码,     funcs = [] for i in xrange(10): def bar(n): return n + i funcs.append(bar) print funcs[3](5)   这段代码中,我们期望得到的结果是3+5为8。但是实际得到的结果是什么呢?是14。   14是怎么来的?   反汇编看看:     7 0 LOAD_FAST ...
其实很早以前就想写这么一篇文章了。一直没有机会。正好今天和同事讨论Python闭包的问题,趁着没遗忘赶快记录下来。以下代码运行的Python版本是2.5。   问题还是那个很经典的问题:如下代码会抛一个错误     def foo(): ...
原来以为Python编源代码头部的#encoding: utf8的字符串对于python的实际编码解析是没有影响的。 但是今天发现一个很好玩的问题。Mark一下。 当python的代码中存在类似u'中文'这样的字符串的时候,假设是utf8编码,本地保存在py文件中的时候,是按照u'\xe4\xb8\xad\xe6\x96\x87'这样的实际本地编码保存的。 如果编码声明字符串是#encoding: utf8。 那么在使用的时候没有任何的影响。 但是如果编码声明字符串的时候使用#encoding: gbk 那么在执行import module的时候,python会尝试利用gbk编码去解 ...
今天更新mercurial的时候遇到了一个问题。 执行hg,结果报错:LookupError: unknown encoding: x-mac-simp-chinese 想到这个问题我以前在用django的时候碰到过,原来以为是django的问题,现在才知道原来是普遍的python的问题。 去hg的源代码里面minirst.py里面看了一下,发现是直接调用mercurial的encoding函数的encoding这个变量。 找到encoding.py里面, try: encoding = os.environ.get("HGENCODING") ...
作为珠三角技术沙龙的组织者之一,在这里做个小广告,珠三角技术沙龙2010Q4开始报名了。有重量级的讲师和话题哦。   讲师与课题简介: 1. 陈硕,北京师范大学电子系硕士,《代码大全》和《C++编程规范(繁体版)》译者,现任职于香港某跨国金融公司IT部门,从事实时外汇交易系统开发。擅长C++多线程网络编程和实时分布式系统架构。主题:《分布式系统:一种工程方法》内容简介:本次演讲将从工程角度探讨分布式系统的设计与维护,涉及系统的消息模型﹑协议格式的选择﹑为系统演化做的准备﹑故障处理策略及监控机制等等方面。并总结了一些构建块(building blocks) 以供听众在日后的开发工作中选择 ...
先提示,本文需要一定的python源码基础。许多内容请参考《python源码剖析》。下面切入正题。   今天在群里有人问了一个问题。形如如下的一段程序。   class person: sum = 0 def __init__(self,name): self.name=name person.sum += 1 def __del__(self): person.sum -= 1 print "%s is leaving" % self.name ...
今天在做分析http错误请求处理的时候遇到一个问题:当发生500错误的时候,如何将错误输出到日志当中呢? 搜了一下python的doc,在logging模块中有不起眼的一行代码提供了解决方案。   mylog.error('error!', exc_info=True) 其中,mylog就是Logger实例,当exc_info设置为True的时候,logger就会自动的调用sys.exc_info()函数,将traceback的信息打印到日志中。 
突然想到生物进化和软件进化的关系。也许有一点点相似吧。 两者都不能重来,只能在前者的基础上去继续进化。  
今天在编译一个用到boost_program_options的库的时候出现了一点点小问题。总是提示说找不到boost_program_options这个库。 去/usr/local/lib下面看了一下,发现原来改名成libboost_program_options-mt.dylib了。搜了一下名字中这个mt的意思。 原来是boost1.33的新特性,就是区分了某些lib是单线程或者多线程的。这个区分导致必须显式的指明使用的是多线程还是单线程的库。 自然mt就是指的多线程,st指的单线程。 改用-lboost_program_options-mt以后,编译ok。问题解决。
最近在看Objc的开发,虽然Xcode很好用,但是还是不太习惯这种大型的IDE开发。 于是自己尝试着在Terminal下面编译。 先是最简单的一段程序。 #import <Foundation/Foundation.h> int main(int argc, const char *argv[]) { NSLog(@"Hello, World!"); return 0; }   直接 gcc helloworld.m,报错。 错误提示如下   Undefined symbols: "___ ...
  2009总结并2010展望 用一个字来总结对2009的感受:我。 用一句话来总结就是:我要做我自己的主人。 大致按照年表来看,我的2009有以下几件大事。  - 3月:开始关注实习。尝试联系Zoom.Quiet。  - 4月初:准备实习相关资料。  - 4月底:跑到珠海面试并获得认可。买了一台Mac。  - 6月底-9月初:在金山实习。  - 9月:开始准备找工作。  - 10月:找工作并找到工作。最终达成了自己原定的2nd目标:网易游戏。  - 12月:陪伴家人。  - 12月底:偶然的知道了@xiaolai的讲座信息,听了他的讲座,看了他推荐的书《把时间当 ...
最早听说GeekCook还是在Twitter上面。。人们口口相传,曾经有这样的一个卖家,他卖的东东别具一格。于是乎上去看了一下,发现满城尽是和谐的关键字。顿时被吸引了。   对于在淘宝上放上这么和谐的东西还是有点点担心。   而需要通过翻山越岭介绍自己的产品,产品又不能针对山里面的东东,会不会有点点问题呢? 先是想买一些衣服,后又觉得,衣服不能时时穿,不能时时表现我渴望和谐的心。 So,决定把这份和谐饮进自己体内,决定买一个杯具。 经过同学推荐,觉得如下图的杯具比较适合表现自己杯具的心。   杯具的图片和文字是可以自己选择的。   关于杯具的网址是 http://it ...
Global site tag (gtag.js) - Google Analytics