谁苦谁知道 » Android端外推送到底有多烦?

对于做过移动端推送的同学来说,在看过此文后一定会有一些同感,在需求书上简单的一条即时消息会让我们义无反顾的跳入这个大坑。这坑有多大,有多深,非旁人所能知。这里说一下麦咭哥的亲身感受。

阅读全文 “谁苦谁知道 » Android端外推送到底有多烦?”

2016 聚焦,从简

2016 新的起点!

怎么简单?采用官方自带Theme并稍加定制,支持手机端访问;删除所有与技术无关的文章;关闭一切不需要的插件,虽然大部分是自己写的;尽量避免图片。

如何定位?尽量只谈技术,加入技术文章点评,记录自己的观点和意见;原其他分支站点全部关闭;开放使用已久的工具,将与微信公众号对接。
阅读全文 “2016 聚焦,从简”

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字节 的问题和解决方案”