Seajs中的传入参数require为什么不能改名 Seajs的require本质

作为函数的传入参数,名字当然是可以修改的,比如Seajs中的function(require, exports, module),require理应可以改名成r/req等等,但改名之后你会发现函数体中所require的模块没有被加载,为什么?
阅读全文 “Seajs中的传入参数require为什么不能改名 Seajs的require本质”

Android 开发中遇到的 Can’t create handler inside thread that has not called Looper.prepare问题

Android开发跟Web开发比起来,真是复杂很多,难怪Phonegap能获得成功,下一个Android爆发点一定是开发模式上的变革,类似于Servlet向JSP的转换。回到这个问题上,在UI中如果需要从远程端的服务器获取数据,为了防止UI无响应,我们常会用AsyncTask之类的方法拿数据,然后在UI上摆一个loading spin。当拿到数据并处理后,我们会迫不及待的给UI一些回应,比如Toast一个结果,如果此时app FC,我们会在debug window上看到Can't create handler inside thread that has not called Looper.prepare这样的异常。是什么造成这个问题呢? 阅读全文 “Android 开发中遇到的 Can’t create handler inside thread that has not called Looper.prepare问题”

Nginx在Windows上莫名的60秒延时问题

Nginx + Node.js是个不错的搭配,多个高效站点由Nginx统一出口。今天在调试时发现使用有连接超时设置的Android App连接站点时,会随机性的发生超时,同时Nginx的log会出现499错误,这是因为Android App由于超时断开了连接,所以根源还是Nginx超时。用Chrome查看连接,只要发生延时,就是60秒,而且随机发生,但直接访问站点就没有这样的问题。过程中调整了proxy_ignore_client_abort, keepalive_timeout等参数,都没有达到目的,最后还是看了老外的帖子才悟到方案。 阅读全文 “Nginx在Windows上莫名的60秒延时问题”

SAE MySQL 再次遭遇问题 Lost connection to MySQL server

经过上次MySQL主从分离参数问题后,今天又突遇问题,使用查询的语句会报出如下错误,sae Lost connection to MySQL server at 'reading initial communication packet', system error: 111 。经过检查,此时单笔数据插入是没问题的。从问题表面来看,似乎是MySQL 找不到了,但如果这样的话,插入也应该出错才对。同样,继续翻SAE的代码,发现SAE在处理请求时,针对读写是有区分对待的,当执行runSql时,指向写库,当执行getData时,如果开启了主从分离,则指向读库,否则指向写库。看来目前的状况是读库发生了问题,而写库没问题。 阅读全文 “SAE MySQL 再次遭遇问题 Lost connection to MySQL server”

SAE MySQL 遇到的 read-only option 问题

由于之前上线的应用数据达到了一定规模,重复数据对效率造成影响,导致SAE无法正常执行。于是赶紧补齐数据库整理的code,但在最后上线执行时,竟然报出了The MySQL server is running with the --read-only option so it cannot execute this statement 这样的错误。没Google到结果,于是去SAE BBS翻了翻,有人说是主从数据库的问题,应该是这个原因,但奇怪的是单笔写入没问题,批量删除有问题。 阅读全文 “SAE MySQL 遇到的 read-only option 问题”

用Node.js获取HTTPS资源时出现unknown protocol错误 的解决方法

在用Node.js获取HTTPS资源时,如果发生类似于“routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c”的错误,首先确保你调用了正确的模组,即https而不是http;其次再检查是否指定了正确的port,有些代码会为没有指定port的url资源默认设定为80,而实际上这个逻辑仅适用于请求http资源,如果碰上https资源,这个默认port应该是443。切记!

PHP写文件为空 0字节 的问题和解决方案

鉴于在各论坛签到的斐然成绩,为了确保在猫扑800+天的连续签到记录,特意写了一个非GAE版的PHP Cron代码在多个主机上跑。程序在SAE上运行正常,但在个人主机上跑的有些问题,两天之内配置文件肯定会变成0字节,因为SAE上使用了KVDB,不涉及文件读写,所以没有这个问题。 阅读全文 “PHP写文件为空 0字节 的问题和解决方案”

搭建GAE PHP Runtime环境的经验 与 问题解决(PIL, HTTP500, GAE_INCLUDE_REQUIRE_GS_STREAMS)

迫于GFW的淫威,很久没有跟进GAE的更新了,最近偶然发现GAE开始支持PHP,之前的愿望终于被Google实现,知识库又需要尽快更新了。当然,旧有的愿望被实现了,还要有新的追求,那就是Node.js,Google,哥等你。
虽然Java相较于PHP可以实现出很强大的功能,但毕竟作为脚本语言的PHP,其灵活性、便捷性仍然在散发着耀眼的光芒,所以GAE.PHP也必须拿下。
阅读全文 “搭建GAE PHP Runtime环境的经验 与 问题解决(PIL, HTTP500, GAE_INCLUDE_REQUIRE_GS_STREAMS)”

IE10 在 Windows7 上无法启动的解决方案

由于之前IE8的开发工具有问题,无法在IE中调试一些IE特有的问题,所以借着M$推送Win7 IE10的机会升级了IE10,在重启电脑之后,IE的图标得到了更新,显得圆润了,点下去,靠,竟然无法开启IE了,试着启动Maxthon2,也打不开了。 阅读全文 “IE10 在 Windows7 上无法启动的解决方案”