2011 7 10 02:11 PM 18521 次查看
分类:iOS开发 标签:Objective-C, iOS开发, GFW
在开发iOS的web应用时,不可避免地会遇到一些被墙的网站。使用VPN或代理服务器自然是可以解决的,不过成本比较高。而Google的大部分服务都有很多IP,可以通过修改hosts文件来翻墙访问,但在iOS设备上却需要用户去越狱才能修改,显得颇为不便。
好在HTTP请求其实也是使用socket,在请求前要用socket连接服务器,提供域名/IP和端口,这里只要改成可用的IP就能连上了。在连接之后,还要提供访问方法、路径、Host等其他头字段,这里只要把Host改成原本的域名即可。
2011 7 2 03:23 AM 23592 次查看
分类:iOS开发 标签:Objective-C, iOS开发
在这个神奇的国度里,我们总得学习一些有中国特色的东东,例如“火星坐标”。也许有人还不知道这是什么玩意,我就简要介绍一下吧。
如果你有带GPS模块的智能手机,打开定位功能,然后访问Google地图。只要你身处中国大陆,你就会发现定位不准,大概有几百米的偏差。然而运行一些导航软件,你又会发现定位很准确,说明手机的GPS模块确实是正常的。
这种现象是怎么造成的呢?答案是人为造成的。简单来说,GPS模块获取到的坐标是WGS84坐标系的,中国政府出于种种目的的考虑,不允许中国的地图使用国际通用的WGS84坐标系,而非要加上一些偏移,这样的坐标系就俗称“火星坐标系”。而Google地图采用的也是加偏移过的火星坐标系,但GPS模块传给它的坐标却没有加偏移,于是就出现几百米的偏差了。
2011 6 26 03:26 AM 3982 次查看
分类:iOS开发 标签:Objective-C, iOS开发
这些天终于戒掉了星际争霸2,开始学习iOS开发了。虽然还只是一知半解,但学了几天后,觉得单视图的iOS应用开发起来太轻松了,就忍不住想自己动手做点小玩意。
我也没有什么好的创意,只是偶然看到猜数的游戏,觉得用选取器这个控件很适合,就决定做了。
2011 6 22 03:09 AM 7882 次查看
分类:iOS开发 标签:iOS开发
众所周知,开发iOS应用需要注册iOS Developer Program(iDP)。不过这玩意需要99美元/年,只是玩玩而已的话就显得太贵了。好在不注册也可以用模拟器测试,但是不在iOS设备上测试总觉得不爽,于是便在网上找到了解决办法。
2011 5 8 07:12 PM 6188 次查看
分类:Python 标签:Python
刚才看到一篇《Linear equations solver in 3 lines (Python recipe)》,用3行代码实现了解一元一次方程:
>>> solve("x - 2*x + 5*x - 46*(235-24) = x + 2")
3236.0
源码:
def solve(eq,var='x'):
eq1 = eq.replace("=","-(")+")"
c = eval(eq1,{var:1j})
return -c.real/c.imag
2011 5 4 03:04 PM 3015 次查看
分类:JavaScript 标签:jQuery, JavaScript
今天jQuery 1.6版发布了。
新增的API和性能改进我就不提了,只提一个重要的改动:区分DOM的attributes和properties。
这2个词的中文翻译都是属性,有时候后者会被译为特性,不过我还是直接用英文吧。前者表示从文档中获取的状态信息,后者则表示文档的动态状态信息。更通俗地来说,HTML文档里是怎么样的状态,attributes就是怎样的;而JavaScript可以通过DOM API来更改DOM的状态,表单控件(如文本框)的状态也可以被用户使用键盘、鼠标等修改,这些被动态更改后的状态就由properties表示。
2011 4 15 04:40 AM 5762 次查看
分类:Shell 标签:UNIX, Shell
昨晚突然想统计一下项目的代码行数,不过IDE没有提供这个功能,于是只能自己实现了。
我最先想到的就是用Python了。方法很多,例如用os.walk()来遍历目录,然后过滤文件后缀名为源代码的(如py、html、js和css),再按行读取每个符合的文件,合计所有文件的行数。粗略看上去要2个循环和一个正则表达式。如果不按行读取,而是直接读完再查找'\n'的数目,则可以减少一个循环,不过当需求变更为不统计空行时,它就变得不够通用了。
但又想到自己在用Mac OS X,这种问题交给shell来解决不是更轻量级么?幸运的是,很快我就找到了遍历目录的find和统计行数的wc命令。
2011 4 4 03:40 PM 13978 次查看
分类:JavaScript 标签:JavaScript
上个月曾经看到一篇《Abusing the HTML5 History API for fun (and chaos)》,当时只是觉得很有趣,但由于忙工作而没去细看。今天把它从Google Reader里翻了出来,顺便把学到的知识记录在此。
2011 3 26 03:04 AM 5554 次查看
分类:Ruby 标签:Ruby
最近几天,V2EX突然冒出很多RoR的讨论帖,鉴于有先例存在,我就不加入讨论了,直接把我的看法记录在此吧。
2011 3 6 04:51 AM 9222 次查看
分类:JavaScript 标签:JavaScript
经常有人问我,JavaScript应该怎么学。
这个问题其实很好回答:
- 先学基本语法,如果曾学过C等语言,应该1小时内就能掌握了。
- 再去使用内置的函数、方法和DOM API,熟悉它能干什么;而在学习DOM API的过程中,你还不得不与HTML和CSS打交道。
- 然后弄懂匿名函数和闭包,学会至少一个常用的JavaScript库(例如jQuery)。
- 最后领悟它的对象实现,尝试去扩展已有库,或编写自己的库。
可学习过程却并不像回答般轻松,因为国内的网站到处充斥着转载。那些人连自己都没弄懂的玩意就转载出来,甚至包含一些明显的错误和不堪入目的代码,却还有一大批小白惊呼“好强大,看不懂”。
在这种可悲的环境中,想要学好JavaScript还真棘手,因为你得有足够的经验来判断这篇文章是否值得一看,内容是否有错,哪些地方可以改进。
为了避免这种弯路,我还是自己写篇来整理整理吧。前2个阶段的就不提了,那是浪费你我的时间。
« 看看还有什么好玩意