By:MoonLord
2015.10.24
又是一年一度的1024,被一些人戏称为中国的程序员节
(虽然没有任何官方或非官方的组织的承认2333) 
貌似只有
俄罗斯有一个官方的程序员节9月13日,每年的第256天(2的8次幂)。

这篇日志更新了一年多,现在发现写的
实在太多了,果断到此结束了
 
"Follow Your Heart Keep Moving Forward

2015.10.17
参加2015中国信息安全技能竞赛(ISG)技术挑战赛,第一次玩这种CTF比赛。
各种语言,各种平台,Windows、WEB、Linux、IOS、Android,
比赛的题目几乎全都涉及到了。
技能点广泛还是有好处的。
比较尴尬的是,我把一个.NET上的玩意反编译了,但是没法解决里面的MD5解密的问题,把一个安卓App反编译了,但是好像反编译出的代码有问题,没法获取到flag,有一个是从二维码里找flag的题目,明显可以看出图片以文本方式打开有很多奇怪的玩意,但是并不知道怎么分析,完全没思路啊。
做出来的两道题,都是WEB上的,一个是在比赛的群里看到的思路,另一个是在网上的论坛里找到的解答 = = 

SegmentFault网站上问了下比赛的原题,不过喵的比赛结束了才有人回答,简直。
图片

(最近在
SegmentFault上刷分,现在的权限已经可以随意修改别人的题目和答案了 = = )
话说PHP的变量的弱类型被用来出题就算了,但是喵的数组下标溢出的BUG都被利用来出题了,简直丧心病狂。
(你们一定要特意用一些十分逗比的代码来证明PHP很不安全嘛?)

信息安全果然博(nao)大(dong)精(hen)深(da)。
 
2015.09.10
写安卓,完成了暑期实训的时候没实现的开机启动的功能。


 

终于知道
为什么,我手机上那些被我用360杀掉进程、关掉启动项的程序,会突然因为我连上了WIFI就全都活跃起来,各种给我发通知栏消息了……
安卓的机制就是这样的,只要应用一启动,就可以激活对各种事件
(联网,电话,移除磁盘等等)的监听,然后就可以在用户执行各种动作之后收取到事件信息,然后通过receiver启动自己,然后就可以发一堆通知栏消息…… 
经过我实际测试……
App完全可以实现像PC一样的开机启动,我的意思是,开机之后,自动进入App的界面……
天哪……
(看来各种流氓到不行的App只是时不时发个通知栏消息还是做的很良心的。。。)
 = = 

2015.08.22
天秤座,完美主义者。
以前写代码,Try Catch都是这样的:
图片

直到我最近被安卓的连接池阻塞的BUG困扰很久,我才发现我之前写VB.NET,C#等等语言的异常处理貌似是错的!
上图,fos.close();并不能保证被执行!可能会导致这个文件一直被占用! 

经过多方查证,貌似最安全的写法是这样的:
图片

或者是这样的:
图片

注意,throw e;或者return并不能影响Finally{}块的执行。
(这里需要一点脑洞来理解,为什么return都执行了,还能执行finally里面的try catch。。。)
只有这样才能保证该关闭的流被及时关闭掉。
(虽然看起来有点啰嗦。。。)
 

2015.08.15
天秤座,选择困难症。
安卓的Http请求方式有两种,HttpClientHttpUrlConnection,哪个更好呢?
一个是AndroidSDK中集成的Apache的开源HttpClient模块,一个是Android官方团队优化的HttpURLConnection类。
一个要自己实现连接池管理,一个是系统级的连接池管理。
一个因为
使用简单被很多人推崇,一个是安卓官方推荐使用的。
各种查,各种问,并没有明确的结果。
官方团队给出的说明也说得很模糊,各种比较然并卵,"
HttpUrlConnection比较省电",妈蛋,我在意这个吗?
我只想知道哪个更快…… 

So……
自己写程序测试。
 

断开网络的状态下,连续访问"moonlordapi.sinaapp.com/test.php":
100次:
    
HttpURLConnection用时275毫秒,HttpClient用时325毫秒。
1000次:
    
HttpURLConnection用时1928毫秒,HttpClient用时1805毫秒。
10000次:
    HttpURLConnection用时14387毫秒,HttpClient用时14412毫秒。

连接网络的状态下,连续访问“moonlordapi.sinaapp.com/test.php”:
100次:
    
HttpURLConnection用时    36509毫秒/64188毫秒/36204毫秒/75484毫秒
    HttpClient用时    85178毫秒/81115毫秒/32176毫秒/33314毫秒。

200次:
    
HttpURLConnection    用时136134毫秒/110054毫秒
    HttpClient用时    75672毫秒/40811毫秒

总的来说:
没联网的状态下, 
HttpURLConnection比HttpClient更快地返回错误信息。
连了网进行连续访问的状态下, 
HttpClient要比HttpURLConnection稍快一些。
然后……连接的网络本身才是最影响访问时间的!!!
(用哪种写法根本区别不大。。。卧槽。。。)
= = 
 

2015.08.04
在家闲的蛋疼,开始重构自己的代码,目测最有问题的就是我的MyAndroid类库的JAVA代码了。
最开始学安卓的时候,发现各种函数都要填Context参数,我就想着保存一个公共静态的引用,会不会减少很多麻烦。
于是:
图片

结果这个My.MainActivity果然是省了很多事。
然而,做暑期实训的App项目之后,我突然意识到,需要使用到很多个Activity,并且
进行Activity界面切换要比我想象的频繁得多,一个公共静态的Activity引用的设计很容易引起各种错误,当时是果断采取了一点取巧的办法:


每当有Activity执行Start,就把
My.MainActivity重新赋值,貌似是没问题的。
实际上,考虑到网络访问、线程、异步执行等等的问题, 这样的设计是一个很大的安全隐患啊……
另外,上次@narpo 问我Json解析的问题,我也意识到了我的6000多行的一个My.java貌似耦合的太多了,已经很难分离出其中的一部分功能了。
图片

So……重构搞起……
去掉了My.MainActivity的设计,将My.java拆分成完全独立无耦合的一堆小组件:
图片

使用下图的方式,实现了一个MyActivity,将需要
Activity引用的组件整合在一起,并且保证不同的Activity不会干扰。
图片

所付出的代价仅仅是多占用了一点点内存。

2015.07.31
回家之前,趁着学校网速比较好,到游迅网去下了几个单机游戏,然后安装了。
回到家,发现电脑有点变卡,然后金山毒霸时不时弹出病毒信息,系统各种程序各种报错……

图片

图片

直到金山毒霸弹出消息说金山卫士的进程有毒,我才意识到喵的可能真的是中毒了。
毕竟金山毒霸不可能蠢到说自己家的产品有毒啊。
果断开始检查:

图片

图片

图片

这才发现,几乎我所有运行过的程序都会被抄袭名字,生成一个111KB的Srv.exe程序,然后貌似启动程序的同时也启动了这玩意,然后这玩意继续扩散……
这他喵的,逼我重装系统啊……天知道有多少文件都被感染了……可是一重装系统又要浪费好几天的时间重新装软件配置环境……我还是选择……能不重装就不重装……
重启进安全模式,金山毒霸,360杀毒搞起,全盘扫描……

图片

图片
 
看到42271这个数字的时候,我的内心是崩溃的……
不过仔细一看,360杀毒确实有很多误报,电脑里很多网页的源码的JS都被报毒,这就有点蛋疼了……
各种杀毒各种扫描,然后重装被病毒损坏的软件,卧槽,这系统貌似还是可以继续用的。
终于不用重装系统了,都TM感动哭了。
话说游迅网的
单机戏,我就呵呵了……
 
2015.
07.29
其实我是并不想写这一段的,往事不堪回首,谨用于分享经验教训。
 

7月9号,暑期实训Start。
20天,4-7人,方向任选一个(Android/Java Web/.NET),每天实验室指纹签到签退,最后产品发布,交文档……
好吧,去年就是参加花旗杯,没参加暑期实训,而且去年花旗杯占用的暑假时间比暑期实训还多,今年就直接决定做暑期实训了。



一群人泡在实验室,然后完成一个App项目,看起来很不错的样子。
毕竟,在学校的时间里,这种机会也不多了。
于是各种"花旗杯比赛"、"互联网+比赛"、"实验室项目"都没怎么考虑。
6月20号出了通知就开始组人了,第二天就组到5个,之后组满6个,然后就打死不要人了。
事实证明我控制人数的做法是对的,然而忽略了队友的筛选是很失误的一点。
来者不拒,让队友随意拉人进组……
毕竟,我还是很自(tian)信(zhen)的,可以自定义主题写一个安卓App,这不是So Easy的事情嘛,我一个人一组也并不会有什么压力啊,何况有6个人,20天。
我一定是被《软件工程》书里的"人天"单位给忽悠傻了,
其实1人天是个变量,很多时候并不是人越多越好
 
7月9号第一天,确定App方向,Android方向的组最多,Java Web其次,.NET只有很少的几个组。
我们组一堆人坐在一起,确定要做什么App……讨论半天也没个结果……有点人在说些无关的事,有些人则是"我不管,你们决定就好"……
我最近在玩美拍(
美图出的短视频分享社区),是想照着抄一个的,不过视频处理之类的我们肯定做不了,那就只能退而求其次,做图片分享社区好了,也比较符合给出的Android可选主题里面的"旅行记录"。

图片

7月10号,开始工作,安卓2人开始写界面,我和另外一人写后端,然后另外一人写App下载网页,另外一人准备App设计和图片资源,任务分配看起来很美好……
可是现实是,我们的"设计师"并不明白图片资源要给什么样的,"网页工程师"写HTML都还有困难,"安卓工程师"在看教学视频,"后端工程师"除了有一本PHP的书……
OMG。

7月12号,上交《团队创建报告》。



事实证明,我们组的制度,最后都变成了冷笑话

话说实训其实挺逗的,每组就那么几个人,非要叫什么"经理",还每天把"经理"叫到一起开例会,也是醉了。
就和某些逗比的学弟组织创业团队,整天BB些股权分配,人员任命,战略调整之类的事,然而并没有什么实际的作为一样,逗逗的。 

图片

话说开会各种强调什么敏捷开发,还迭代四五个版本,3天出一个新版,逗我呢吧?
话说还每天要交文档,每个版本要交文档,
说好的敏捷开发呢,逗我呢吧?


 

据我观测,暑期实训的正常的团队的水平,20天用
瀑布流开发能写完个靠谱的App的1.0版就不错了吧?

7月13号,有些团队还在讨论要做什么App……
我已经和我们组的"后端工程师"基本搞定了后端API开发了。
用的是我自己写的MyPHP框架,最开始是我说一句他写一句,然后写的差不多的时候,我们组的"后端工程师"已经开始说"PHP好简单啊"之类的话了……
啊喂,分明是我把具体实现的代码全都、
全都全都封装起来了好吧。
(毕竟之前做后端开发写的比较多,整理出的框架还是不坑的。)
另外,PHP的代码确实是挺好懂的。

图片



然后,我突然发现我们的"设计师"和"网页工程师",貌似这几天都很闲,确实也没办法分配什么任务。
然后,我发现安卓的进度简直只能用慢到不行来形容了,而且各种不写注释,不经过测试,还有神奇的"拼音命名法"……
然后,我又只能加入了安卓开发的行列,好吧,发现很久没写安卓,我的安卓水平也很低了。

团队合作经验+1:请尽早、尽早、
尽早,把所有开发者的环境统一,编码统一为UFT-8,然后解决各种诸如Eclipse的代码提示、真机的测试等等的小问题。这种问题会拖进度的,越早发现、越早解决越好。

7月15号,"设计师"给的图标只能用惨不忍睹来形容。
果断给她一个网站
www.easyicon.net,让她去找图标好了,不要自己画了…… 
代码管理的坑太多,果断采取了单主线的做法,所有人的安卓代码都往一个主线里合并,避免合并冲突。
然而……
图片

7月16号,不得不说App的界面真的很挫,各种用的原生的界面控件,各种不对齐大小不合适……改界面就是我目前主要的工作了……
今天下午和"设计师"对于配色明显意见不和了,她觉得浅色好(参照微博),我觉得深色好(参照美拍),简直了……
妥协的方案是,采用天蓝/玫红的区分性别的主色调。

7月23号,完成了所谓的"冲刺3"(第三版),这时候看看进度,感觉还是挺好的。
实现一个图片瀑布流……简直是安卓各种常用技术的大集合:
XML布局,数据Adpter,视图重用,多线程更新UI,网络访问,内存和磁盘的缓存,图片裁剪,定位功能,第三方图片浏览控件……

 


……

算了,写到这,我是真的快写不下去了,我对这个项目真的是没有任何多余的耐心了。
当初实训公司来的老师开会说,项目经理是会得罪人的,我是不信的。
当初上管理学的课,老师说,组织成员的个人目标和组织的共同目标是不同的,我是没在意的。
当初某同学和某同学因为去年的实训各种耿耿于怀,都觉得对方坑了自己,我觉得这种事情怎么可能发生在我身上。

……

附上实训公司来的老师发到项目经理群里的邮件:

图片
 

团队合作经验+2:如果你的团队里要有妹子,请确认她的心理素质,然后分配不会超出其心理承受负荷的任务给她。潜台词,某些情况下,心态较差的妹纸会彻底搅乱整个项目,请早做准备。

团队合作经验+3:如果你发现某人没什么耐心,逃避责任,喜欢找借口,请不要和他争论(因为基本是在浪费时间和感情)。你可以尝试提醒他,批评他,激励他,虽然通常并不会有什么卵用,你也可以尝试直接放弃他,总之,请永远准备好Plan B。

以上经验仅限目标明确的Team,如果只是一起愉快的玩一玩,混一混经验,打发下时间的Team,就算了。

7月26号,Team崩溃。
本来都基本全员放假状态了,就准备最后发布用的PPT然后就收工了,然而,大晚上的几个人在群里撕逼。
起因是什么呢?
App的BUG没改完,测试用的各种数据都还没清理掉,产品经理要准备PPT,要用到App的截图,然后她觉得要等我们全都搞定了,再上传新的高质量的动态,再截图,再做PPT。
我觉得这样简直是……What are you waiting for?
我们的BUG要是改不完,PPT就不做了?数据清空了要是还有BUG,再清一次?
然后我说"
再这么没效率,和蒋辉又有什么区别"
群体嘲讽技能。
然后她觉得,我简直是在瞎指挥,浪费她时间,"
你的时间是时间,别人的时间也是时间,我喜欢的是一垒击中"
S级反击。
然后针对提到的蒋辉是否有效率的问题,又继续撕。
"
一个人能力大小不重要,但是态度好就ok,但倘若一直被否定,好的态度也会变成坏的态度"
"
我一行代码也没敲,不是更坑?" 
"态度又烂,公开跟你撕逼,不也是坑?"
好吧,我的内心是斯巴达的,万千只草泥马奔腾而过……
事实证明,和一个心情不好一心撕逼的妹子讲道理,简直是搞笑。
"
我为毛要在乎每个人的感受???" 
"
在靠谱的队伍里,像蒋辉这种能给整个团队带来负面影响的,分分钟就被T了" 
"你自己不认真,我为什么要对你认真???"
"你自己不愿意写,我为什么非逼着你写???"
"你自己坑,我难道要跪着求你让你不坑???"
群体伤害技能。
然后男主出现,继续撕。
"认不认真我自己知道,只想弄清楚并不是白天酣睡,晚上搞到凌晨几点就叫做你认真了,我的认真不是做给你看的"
"
做人跟编程是两码事,也没什么好说的,只愿你现在身边的人,不会某一天也离你而去"
看来他觉得我眼瞎,看来他觉得我做人有问题,嗯。
"
我挑起撕逼的?我哪里说错了?我哪里做错了?" 

PS:很多很多年之后(2333),我才发现我确实错了,和一个容易情绪化的妹子讲道理?和一个坑争论他是不是真的坑?我四不四Sa?
之前一天和另一个写安卓的队友熬夜到5点写代码,可能也是导火索之一。
之前否决掉了妹子的很多设计、提议、素材,
可能也是导火索之一。
之前直接Cut掉了某人最后阶段才写出来的某功能
可能也是导火索之一。
……
 

然而这些都只是表象而已。

我对他们的能力和表现不满意并且不认可,
管得太多招人烦,什么都不管他们又做不好
然后,他们仿佛觉得他们不佳的表现,都是我的原因?
怪我没什么领导力咯?怪我要求太高太苛刻?怪我没好好激励队友咯?怪我没好好解决冲突咯?
……

最讽刺的是:
一开始最支持我当队长的,最后和我撕得最凶。

一开始说好来混经验混队的,最后各种傲娇不满。
然而,一开始完全没接触过安卓的,最后成了我们队的代码主力。
……

然后接下来,最后的2天,果断心灰意冷,看破红尘(2333),进入可耻的OB(观察者)状态。
产品经理不想做发布,OK啊,随意。
有人说某某人不听他的意见,OK啊,随意。
有人说某某人做的某某某很没重点,OK啊,随意。
你们自己解决,我懒得管,心累。

团队合作经验+4:队长不好当,特别是在暑期实训这种,并没有什么硬约束的条件下。你说,我不在意成绩,不在意队友水平,不在意拿奖,基本上是很有耐心的在教每个人做他该做的那部分工作,就TM想来完成个项目,为了啥? 然后最后队友互相撕逼?呵呵,然后我这个队长能拿你怎么样?果然怪我自己太认真了吗?那我就只能呵呵了。我并不想拯救世界,也并不能拯救世界。倒不如速速离去。
话说,
我四不四Sa?

7月28号,产品发布。
比起那些功能简单,运行崩溃,各种逗比或无聊的项目,我们组的算是很不错的了,我一直都知道,然并卵。
上半场最佳成绩。
下半场被虐杀,随意。
评委不认可我们的展示,我并不认可评委的水平,不过如此。
(话说其实我也是个很傲娇的人呢)
中午吃完散伙饭,收工,暑假Start,各回各家,各找各妈。

团队合作经验+5:队友的水平决定了你的发挥,LOL是一个团队游戏(好像有什么东西乱入了)。我要求太高,你们来练英雄坑队友的,就不要和我一起玩,我不要和你们一起玩。

好吧,写到这,不想再说什么了。
不要问我,为什么没有我们完成的App的截图或者链接,没有为什么。
或许,我应该以星星为榜样,这么玩?

图片

The End。说起来,其实是个悲伤的故事。

2015.06.23
发现了神奇的PJAX(AJAX改进方案之一)。
因为,AJAX只是改变了网页的局部信息,没有重新加载网页(这是AJAX的优点,也是缺陷所在)。
所以,在网站里大量使用AJAX,很快就会发现一个问题,那就是浏览器的"后退","刷新"之类的会失效。
因为网页地址根本就没改变过啊。
于是,PJAX诞生。
使用PJAX,在刷新页面的同时, 浏览器地址栏上面的地址也会随之更改。
于是,使用浏览器的"后退"能够回退到上一个页面状态,"刷新"也会保持为当前的页面状态。



我最早发现使用这个技术的就是GitHub了,点击Contributions、Repositories、Public Activity的时候,网页地址会改变,但是网页本身并没有刷新……
速度上、用户体验上,明显比AJAX要稍好一些……
不过,前后端的代码毕竟是都更难写了……

2015.06.16
偶然发现武大电子邮箱登录不上去了,提示是"用户已禁用, 请联系管理员"
好吧,给管理员
support@whu.edu.cn发了邮件,果断重置了密码。
 
图片

然后,发现了神奇的QQ邮箱果断才是最强的,可以把很多邮箱合并到一个主邮箱里面(收邮件So Easy)。
 

然后,QQ邮箱居然还可以支持绑定自定义的域名,并免费支持邮箱服务,简直赞。



于是就可以有moonlord@moonlord.cn之类的邮箱地址了,赞到不行。

2015.05.20
其实一直都不大喜欢Linux,虽然不得不说,Linux是比Windows Server更好的服务器选择。
(当然我指的是对于代码的运行而言,对于程序员的友好程度来说的话……) 
打断这个话题。
最近加入了大创的一个叫
"众蚁网络"的Team,今天GET了阿里云的服务器账号密码。
So……果然是神奇的Linux服务器……
好吧。

试着用了下Putty,在Windows下可以愉快的登录Linux服务器,可以直接执行命令,好感度+1。



话说把
Putty全屏之后,有一种"传说中的黑客"的即视感,好感度+1。

图片
 

然后发现可以用SFTP的方式登录Linux服务器,可以查看和操控全部的文件,上传下载都So Easy,好感度+1。

图片

之后使用LNMP一键安装包,轻松搭建起运行环境
,好感度+1。



之后试了下装PhpMyAdmin,可以用网页界面完全地控制数据库
,好感度+1。
好吧,其实Linux的服务器貌似也没那么难用。 

2015.04.10
年级群发了"天池大赛"的通知,我就去看了下。
根据10000个用户在一个月时间(11.18~12.18)之内的移动端的行为数据(浏览、收藏、加入购物车、购买),来预测这些用户在这一个月之后的一天(12.19)对指定商品的购买情况。



这不就是很简单的找规律嘛。

果断玩玩看。
不过,刚拿到一个大概500M的csv文件就哭瞎了……没法导入PhpMyAdmin,没法导入本地MySQL,甚至用记事本都打不开(虽然csv是文本格式)。



最后实在没办法,用C#写程序读取文件好了。
然后内存爆掉(out of memory,内存不足,我还是第一次在.NET程序上见到这种错误)。
后来找到了问题所在……
数字应该用整数保存,而不是字符串……果断就OK了(虽然还是需要几百M的内存)…… 
临时去补了点数据挖掘的知识,然而然并卵,
时间有限,还是简单的找规律直接又有效。



GET到不少的新姿势:
数组的循环遍历查找是很低效的,先排序然后二分查找,效率简直飞一般的提升。
需要预测的是12.19号的购买情况,可以用11.18-12.17找到的规律,在12.18号的数据上检验,然后不断完善规律。
考虑现实情况,用户更倾向于买看过很多次、收藏过的和加入到购物车的,而已经买过的,短时间一般不会再买。
】 
(想象一下在笔记本上进行做1000W*1000W次的循环操作……天哪……试过你就会懂的……)
(你造仅仅把一个500M的文件,从硬盘读到内存里,都需要半分钟吗?)
(玩这个,我的数据挖掘知识没什么增长,不过C#和算法的知识倒是GET了不少……)

然后,经过不断不断的找规律。。。

图片

话说我只想去卖个萌啊,毕竟这个比赛是面向所有的"全日制高校(研究院所)学生、老师及科研人员"。

图片

然后为什么有一种我在装逼的错觉。。。。。。
(好吧,不要在意这些细节。)
F1值9%的思路很简单:
分离出12.18号用户加入到购物车的记录,然后去掉重复的,然后去掉当天购买过同类商品的用户,然后去掉用户当天浏览同类商品仅1次的记录
】 
如下图:

图片

然后我就靠着这F1值9.06%擦边进了复赛(500/7186),然后复赛是用的阿里的天池大数据平台。
500万用户的数据,本地根本就没法玩了,光下载数据可能就要好几天吧。
所有数据都在阿里天池的服务器上,然后我只能提交SQL(支持的SQL类似Oracle的SQL,但是还不是完全一样),在天池平台上运行和出结果,额,一句简单的SQL都要跑几十分钟甚至几个小时。
最后我还是用的和第一轮类似的思路,复赛最好成绩貌似是160多名吧(最终排名216)。
不过喵的前5才能进决赛答辩,额,好吧,果断就放弃了,这一轮时间太紧,受到的限制很多,弃赛的人也挺多的。
 
图片
 
(不要问我为什么没有天池平台的截图,因为当时没截图,然后比赛时间过了平台就进不去了。。。。。。) 
 
2015.03.20
发现了PHP的set_error_handler可以进行在脚本执行出错的状态下进行错误的处理……
于是深入探索,又发现了
set_exception_handler、trigger_error、和register_shutdown_function等等函数。
我擦嘞,也就是说,PHP是可以不让类似501这种错误信息,直接展示给用户的(用户也看不懂啊)

图片
(无意黑12306
 

PHP甚至还可以在脚本执行出错的状态下收集、记录下错误信息(居然可以精确到行号)


 
 
然后再深入探索,Android开发,可以继承和修改Application类来进行全局的异常处理,可以不让APP因为一个空指针问题就挂掉。



.NET窗体应用程序开发,可以进行全局的异常捕捉,可以不让程序执行的时候莫名其妙的弹出异常信息、错误信息。



然后发现,基本所有语言的所有应用程序,理论上都可以做到捕获全局范围的异常……

也就是说……
优质的程序是会处理掉各种BUG的,即使因为各种异常情况崩溃了,也可以优雅的处理、提示、重启。

(那些直接出错然后跪掉的程序都是很Low的程序……)
(又发现自己之前写的东东好Low了……)
(不过喵的确实还有很多网页、APP都是很Low的,动不动就莫名其妙的崩溃了,然后就放弃治疗一样的……) 

2015.03.10
深深被开源精神所毒害,开始整理MyPHP(SAE平台上的后端API开发开源库)
把之前写火箭小浣熊的后端PHP代码的可重用部分整理了一下。
顺便把SAE提供的各种PHP功能也整理了一下。
参数检验、转码、跳转、异常处理、数据库、文件读写等等,差不多常用的功能都有了。
话说我还是不迷信面向对象的,毕竟PHP的面向对象的特性也不是很好,果断全都是模块化的封装成函数。
引用某网页上发现的看法:
PHP的强大在于它的简单性。PHP提供了1000多个内置函数来让简单的代码可以实现复杂的功能。
我比较认同于这种,所以我更喜欢写函数而不是类。



话说还不小心发现了SAE提供的代码的一处小问题,额。

图片

好吧,这个错误第二天就被更正了,SAE还是很有效率的。

2015.03.03
经常在游迅网看单机游戏的最新动态……
偶尔也会看到小编发的所谓"二次元工口福利"……
我个人有收集一些不错的图片资源的习惯……
游迅的网页下面的评论里时常有人问有木有批量下载,然而并没有……

图片

So……只能一张张右键另存为吗?
No……作为一名软工的学生,这种问题怎么可以难倒我……
果断编程搞起,利用网站的搜索功能,找到整个网站与"二次元"等等关键词有关的网页,然后分析HTML,提取下载链接,然后批量下载文件……

图片

图片
 
图片

之后顺手也扫了下17173和游民星空的图片,从3个网站一共下载了10000+张,共计2.38GB的图片……
额,好吧,大致看了下,然后发现我连完整看一遍的时间和兴趣都没有了(实在是太TM多了)……
 

2015.02.24

新GET了一个知识叫做"Comet",Http长轮询,额,想起之前做过的RMC是用的类似"心跳包"的机制,果断觉得好Low。
心跳包是通过间隔一段时间就向服务器发送Http请求的方式,达到让服务器可以向客户端推送信息的目的。
Comet是通过向服务器发送Http请求,然后服务器一直阻塞不返回数据(保持着连接),直到连接超时或者服务器有信息返回,然后再次发请求保持着连接。
很明显,心跳包能更节省服务器的资源(可以把间隔时间设的稍微长一些),比较适合实时性不高的场合,比如QQ空间的网页最上方时不时出现的"xxxxxx等动态有更新"什么的。 
Comet则可以更及时的返回信息,但是需要长期保持和服务器的连接,想想就知道会很占资源(端口,线程什么的),常见的是用于网页聊天。
RMC是用的间隔时间很短的心跳包机制,及时性感觉还好,不过需要频繁的和服务器发起连接、断开连接、发起连接、断开连接……额…… 

话说在网页上还有什么Flash的XMLSocket和HTML5的WebSocket等等的解决方案,不过多少受到一些兼容性等等的限制。
  
2015.02.22

随意逛微博,发现某条微博说的是,在Twitter的注册界面上,中文用户默认简介是"越过长城,走向世界"

(卧槽儿,这难道不是在讽刺某墙?)
百度了下"越过长城,走向世界"这句话,卧槽儿, 说这句话的居然是……

1987年9月14日,13位中德科学家在北京西三环的中国兵器工业计算机应用研究所发了一封Email,发往德国卡尔斯鲁厄大学,通信速率为300bps,英文原文:“Across the Great Wall we can reach every corner in the world. ”,通常译为“越过长城,走向世界”,但是因为交换协议Bug,6天后(北京时间1987年9月20日20时55分)再次发送才获得成功,一般认为这是中国发出的第一封电子邮件,也是中国人使用互联网的序幕。

尼玛!
这TM简直神级预言啊!这TM才是神级讽刺啊!
顺手百度了下GFW中国国家防火墙,也叫防火长城),发现它的首要设计者是北京邮电大学原校长方滨兴。
继续探索,果然又发现了有趣的事情……

2011年5月,方滨兴到武汉访问并分别在武大和华中科大举办讲座。2011年5月19日上午,网民称“下午方滨兴将出现在武汉大学计算机学院B座4楼”,很快在网络上开始了一场“悬赏”袭击方滨兴的活动。当天下午,方滨兴在武汉大学教学大楼下车时,遭一学生从背后扔鞋袭击。据报道,现场有学生准备了鸡蛋,该学生先向方滨兴投掷了鸡蛋,但未投中。随后,该学生脱下脚上鞋子向其扔去,第一只鞋打中了方滨兴,但第二只鞋被一男一女挡住。据说讲座教室是计算机学院B座4楼404教室,还有学生打着“404 not found”的标语迎接方滨兴。讲座未开始,方滨兴便草草离场。事后华中科技大学和武汉大学对此事低调处理,肇事学生也未见被抓捕归案。
】 
想想这家伙也挺可怜的……GFW这种东西,能只是一个人的杰作吗?

 
2015.02.21

作为一名七牛云曾经的忠实用户(毕竟还有很多数据在上面),表示一直对七牛云的文档和支持超级不满。
给的SDK,只可以单个文件上传、下载、删除,OK,我可以自己写批量上传,但是没有列举文件的功能,那他喵的,我怎么编程写批量下载和批量删除?
给的工具,只可以实现从本机到七牛云方向的同步,那我想逆向进行同步怎么玩?
后来总算给了个文件列表的功能,文档我是实在不想看了……
(其实我只是把它当做免费的FTP在用,但是那文档的复杂程度……卧槽了……)
好在它有个简单的网页管理界面,不过喵的一页只显示10个文件,突发奇想……貌似可以用这个做扩展……
图片
说干就干,研究了下它的HTTP数据交互……用C#的期末大作业的代码进行再开发……果断完工上传到GitHub了……
图片

图片
 

2015.02.13
玩了下VMware Workstation,装了个Ubuntu 14.0,总算是干了玩Linux该干的事,额,配置了下Nginx,总算是实现了可以在主机里访问虚拟机里的网站,额。
熟悉了下简单的Linux命令,了解了下Perl和Shell,其实Shell就是类似Windows里的批处理一样的东西,额。
还是对Linux持有不变的态度。
Linux是一个优秀的服务器操作系统,LNMP不解释,不过它并不是一个优秀的桌面操作系统,毕竟不适合普通用户……
经常看到各种技术论坛、博客、帖子下面,Linux粉各种无脑
Windows……也是醉了……
 
2015.02.11
抽空继续学习安卓JAVA,额,顺便把代码都整理成了静态的函数库,方便重用,额。
2015/02/06,自定义的Json数据结构GOT,各种JSON创建解析So Easy。
2015/02/07,安卓拍照GOT,可以自定义拍照界面,还可以调用系统的图片裁剪功能。
2015/02/08,ViewPager的简单使用GOT。使用ListView模拟出网页的瀑布流效果GOT。使用GridView进行多页面布局GOT。
(了解了UI布局的神奇的“点九”图片拉伸技术和android-support-v4.jar这种支持包的问题。)
2015/02/09,创建各种通知栏消息GOT,终于知道令人讨厌的左滑都删不掉的通知消息是怎么写出来的了。
2015/02/10,下载安装了最新版GitHub For Windows,话说这软件总算是改成傻瓜式UI了。
(强烈表示软件的在线安装都是坑爹……国产软件还好……GitHub……喵的有没有考虑下中国用户的感受啊……)
2015/02/11,各种项目催进度,果断不能愉快的敲安卓了,把JAVA代码整理了下,Push到GitHub上去了。
(才知道
README.md的神奇用法……其实是可以写html的……还可以嵌入图片链接……) 
图片
 
2015.02.05
"火箭小浣熊"寒假二次开发开启……
图片


(作为一名后台,喵的整理文档什么的都得我做,简直了=。=)
话说总算是发现了微信扫码的问题的终极解决方案(腾讯推荐的方法,不过根本不是最优解):
把应用上传到腾讯的应用宝,然后获取腾讯的应用宝的微信链接二维码,这下好了,微信是能扫了……
(扫出来的网页会提示推荐下载腾讯的应用宝,呵呵了……) 
 
2015.02.04
自从去年11月15号安卓代码文件被我的手残操作弄丢了,就再也不想碰安卓了。
寒假在家无聊,再次重新从头学起安卓开发,额。
2015/01/26
 20:19:00,打开Eclipse,开始进行优化设置和代码探索。
2015/01/27,LogCat记录信息,创建和删除桌面快捷方式GOT。Toast弹出文字图片GOT。点击事件处理GOT。
2015/01/28,网络访问GOT,解决了乱码问题,多线程UI问题,获取图片流问题。鲜艳色彩渐变算法GOT。JAVA的传值传引用问题GOT。
(一直都模糊的知道JAVA语言的函数参数只能传递值,今天我才知道自己一直都理解错了……要真是只能传递值,那JAVA这种靠各种Class组织起来的语言就根本没法实现函数的正常功能了。)
(实际上是这样的:如果参数类型是值类型,也叫
基本数据类型,比如int、boolean之类,那么参数就是对原始值的一个Copy。参数的值的改变,是不会影响原先的那个变量的值的。C++里很容易实现的交换两个整数的值的函数swap,在JAVA里是实现不了的。)
(如果
参数类型是引用类型,比如数组,类,接口等等,那么参数就是对原始值的引用地址的一份Copy。我才明白的一点是,比如this这种东西,这个变量实际上本身就是一个类似C++的指针的存在,当把this作为参数传递给函数的时候,函数收到的参数,是指针的值的Copy,是一个不同的指针,但是是指向和this同一个的对象的。) 
(想起以前在C#里做过的有趣的探索,额,有数组a和数组b,那么a=b;会造成什么效果呢?a是b的一份Copy吗?NO……这句代码之后,a和b相同,
a的改变会影响b,b的改变也会影响a……你基本可以认为,a和b实际上是同一个数组了……亲测……) 
(想通了这个问题,JAVA的运作方案就完美理解了……所有的
引用类型的变量都是指针……函数没有传引用貌似关紧要了……C类语言的很多问题也突然有了新的理解了,类,对象,还是挺有趣的。)  
2015/01/29,编译目标安卓版本问题GOT。获取屏幕等硬件的信息GOT。保持屏幕长亮GOT。
2015/01/30屏幕关闭后保持CPU运转GOT。Fragment界面切换GOT。
2015/01/31,资源文件、应用专属空间、ROM、SD卡的读写GOT。ScrollView的使用GOT。ListView的简单使用GOT。
(对于安卓的适配器
视图重用、事件回调等等机制表示异常蛋疼。)
2015/02/01,获取机器总内存、ROM容量、SD卡容量GOT。HTTP各项功能GOT。自定义的KeyValue数据结构GOT。Activity的切换GOT。
(低版本的安卓SDK根本没提供获取总内存的功能,只能靠读取Linux内核的"/proc/meminfo"文件,曲线救国。) 
(PHP转JAVA,果断HTTP的功能玩的比较Happy,可以在上传文件的同时发送GET、POST、COOKIE、REFERER等等的中文参数并获取返回的源码,
╮(╯▽╰)╭决无乱码。)
2015/02/02, AlertDialog弹出各种单选多选图片框GOT。ListView自定义视图GOT。
(话说在重构代码的时候,想把我的一个类起名叫String……好吧,原谅强迫症,我果断把原先所有的字符串的
String全改成java.lang.String。)
2015/02/03, GridView的使用GOT。
(总算是理解了蛋疼的视图重用机制,这就和安卓系统在内存不足的时候,会按重要性依次杀掉程序,腾内存出来的机制一样,都TM是为了省内存啊。) 
2015/02/04 01:13:00,写了个静态函数库,已经有3650行了,大概不到10天的时间恶补安卓,对安卓开发大致有了一些了解了 (想写个功能简单的APP的话,还是没什么压力的
图片
自己想到什么就去Search什么然后Learn什么的学习感觉确实不错。

2015.02.01
偶尔清理QQ邮箱,发现满满的IT气息……
图片
(腾讯云,百度口碑,TK域名,CSTO,VPN,电脑管家,美橙互联,Microsoft……)

2015.01.20
期末复习状态ING……
继开学打开过计组的书看过几眼之后,再次打开书开始预习。
发现了机械磁盘的"寻道时间"导致的读写文件的延迟问题,如果要是认真考虑这个,那就不能在UI线程里做磁盘读写操作了。
发现了CPU里的高速缓存加快内存读取的原理,额,貌似PHP里的Memcache也该这么用,可以加快数据库读取,不过我好像一直都只是把它当做读写比较快的PHP公共存储空间在用,额。
 (卧槽,才发现自己以前写的代码真的好渣。)
 

2015.01.18
"火箭小浣熊"外包项目继续中……
实际的项目总是会遇到各种尴尬蛋疼的问题。
最近发现的一个问题就是关于APK下载的二维码问题。
不少用户都是习惯性的用微信扫二维码,但是微信其实是屏蔽类似"www.
XXX.com/XXX.apk"这样的直接下载APK的链接的,微信是有浏览器,但是可没有下载APK的功能。
于是我们决定用网页来给用户
展示下载链接(按钮),二维码的对应网址是coon.sinaapp.com
一直到宣传单都印好了,开始宣传之后……遇到了一个前所未料的问题:
 (用微信的扫码是下面这样的)
 图片
(用手机QQ的扫码是下面这样的) 
图片
卧槽。冷静地按照提示信息,进行了申诉,结果是下面这样的:
图片
经过我机智的判断和求证……发现问题不在于网页本身(根本不是他们说的网页有风险有恶意信息什么的好咩?),而是域名!
(下面的一幅图说明了问题所在,两个网址都是指向的同一个网页)
 图片
妈蛋啊,早就知道腾讯和新浪是敌对竞争的关系……但是也不用做的这么绝吧…… 目测sinaaapp.com全都被封了……
好吧,访问新网址coon.moonlord.cn,果然就OK了。
图片

图片
(但是宣传单上的二维码已经印好了,没法改……=。=)
话说微信点击下载按钮是没用的(只能点右上角的…然后在浏览器里打开,然后再下载),而且点了按钮还会出现一个逗比的提示(如下图,请不要输入QQ密码23333)。
图片
还是大QQ做的完善(宽容)一些,是可以直接下载的。
图片
鉴于腾讯系产品都这么逗比,宣传的时候果断只能提醒用户不要用微信扫码,用UC等等浏览器的扫码了。
 

2015.01.16
"著名歌手姚贝娜于2015.01.16下午病逝。"
不过这不是重点,我之前根本没听说过这人好咩?
我想说的是这个:(百度
姚贝娜,出现的整个网页都是黑白的。单独打开图片,你会发现图片本身其实是彩色的。
图片
果断找到了这个效果的CSS源码:
图片
 
2015.01.10
这学期貌似只在开学的时候去过一次C#课,额,期末大作业果断还是无压力。
(第一次发现,学了VB.NET这种非主流编程语言,貌似也还不错。)
(.NET大法好。)
图片
7个人的Team实际上只有我一个人写代码,也是醉了。
偶尔写写C#,感觉确实比最近写的有点过多的PHP舒服很多。
Get了新的多线程UI问题解决方案,窗体的玻璃化效果也用的更加Happy了,试着写了下.NET的数据库访问和音频播放,额,
还探索了下窗体程序的QQ和新浪微博的登录……
不过到了给老师展示和评分的时候才发现喵的很多地方并没有按老师的要求来,毕竟看老师给的文档的要求都是诸如:网络访问要用多线程这种废话,或者只获取公司的简介文字这种在我看来不够完善的方案,再或者要能获取到指定的公司高管在指定日期说的话,说的话,话……这种蛋疼的功能需求。
我对给的文档的态度一直都是"仅供参考",不过这逗比老师就觉得就该按他说的那么写。
好吧,我考虑的很认真的诸如程序权限,图标,多分辨率最大化最小化拉伸等等的重新布局,加载动画,声音效果,表格内容自适应,各种异常处理,实际可用性,信息丰富度,代码重用,用户体验……都不是大作业要求的,也不是主要加分项。
(好吧,最后老师给的平均分没上90,怪我咯?)
 

2015.01.06
最近晚上开着VPN,更新安卓SDK,额,任性地全选更新……
然后喵的最后总算是全部更新完了,SDK文件夹
居然一共有29G多……
图片
吓尿,果断压缩上传以备不时之需(在线下载更新什么的最蛋疼了)。
最后压缩结果是4G+3.47G,额,压缩率居然是25%
这里面是他喵的有多少重复的?
网盘链接: 
 
Android-SDK_2015.1.5完整版.part1.rar
 Android-SDK_2015.1.5完整版.part2.rar
 
2014.12.22
早起去上信安课,信安老师提到之前带的学生有做什么掌纹识别的,拿到了花旗杯二等奖什么的。
然后逗比室友突发奇想,说,手机的触摸屏应该也可以做指纹识别吧,手指按下去的时候不断捕捉点击的点,应该能识别出形状的。然后他兴高采烈的去找老师问这个创意的可行性。
=。=
(至少目前,手机的电容式触摸屏的硬件构造,只能识别触摸点。可以识别多个点,但是不可能识别出形状的。)
(话说iphone靠着神奇的Home键,实现了
Touch ID指纹识别功能
 最后老师果断地告诉他之前那个是用的特殊的传感器做的。
 
2014.12.13
昨晚一口气装了一堆浏览器,再也不用担心我写的前端代码的不兼容问题了。
体验了下不同的浏览器,其实发现使用体验都差不多,而且感觉大部分浏览器都是使用的Webkit内核再开发的。

(从左往右,自己感觉的使用体验评分升序。)
(有些特别的是,装了QQ浏览器之后,QQ面板上的空间、邮箱什么的都会强制用QQ浏览器打开,和默认浏览器的设置无关,腾讯的工程师简直机智到不行。)
昨晚寝室不断电,晚上没关电脑,用电脑开着热点。
早上起来的时候发现WIFI断了,还没当回事,然后起床,发现电脑黑屏了,上面写着"
hard disk not found"什么的,果断重启,系统进不去,BIOS进不去,怎么都还是这句话,卧槽,吓哭了,难道昨晚硬盘被烧坏了咩?
冷静一下,把电源电池各种外接设备都拆掉,发现笔记本很烫,额,果断等它冷却,然后装上电池,开机……祈祷……卧槽,居然就好了…… 
 
2014.12.07
之前写的作文生成器2.3(下载量已然3000+),好多人问我为什么运行不了,然后我就一次又一次地告诉他们要用右键的管理员权限运行才行。
今天彻底探索了下这个问题,额,原来在.NET项目的解决方案资源管理器下面的My Project/Properties下面的app.manifest这个XML文件里可以进行权限设置的。
 

感觉和安卓APP的权限声明好像的说,都是修改XML文件。

 安卓是修改AndroidManifest.xml这个文件,不清楚到底是谁抄的谁2333)


修改成<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />之后,程序的图标都会变成这样的(右下角带有管理员权限的标志):
 

酱紫之后,程序运行的时候就会自动请求以管理员权限运行了(而且点"否"就不运行了)。
图片

话说之前写的刷日志访问量的程序果断在腾讯的网页代码更新之后,被"和谐"了,额。
重新分析了下空间日志的加载过程,轻松找到了新的统计日志访问量的漏洞,YES。

add_blog_count……简直不能更直白……
果断好的编码习惯既方面了项目的开发,也方便了Hacker的入侵,额。
发布了
刷日志访问量的程序2.1,额,然后我这篇日志的访问量也在增加了2333。
 
2014.11.29
给手机充话费。发现貌似收不到网银的验证码了,额。
果断试试自己给自己发短信,卧槽,显示发送成功了,但是没收到短信,额。
记得上次出现过这个问题,我在各种百度无果的情况下果断选择了"恢复出厂设置",额。
这次果断不想再这么麻烦了,回忆起前几天在安卓的任务管理器里有个程序关不掉,最后被我强制杀掉了,额。
各种探索,终于发现被我强制"停用"的程序实际上是一个系统服务,叫"通讯助手",准确的说法应该是com.assistant。
图片
启用&启动了这个服务,然后就……OK了。。。 


2014.11.22
外包项目预付款GET之后,更新了下设备的说。
话说我的笔记本电池的设计容量是47520mWh,现在的电池只剩下1750mWh了,额,晚上断电之后很快就歇菜了。
果断上某宝淘了一个所谓"12芯"(标配电池是6芯)的笔记本电池,额,用
Everest测了下,设计容量95040mWh,最大容量94252mWh,试用了下,感觉用4个小时无压力
还淘了个外接显示屏的说, 本来想买一个2560*1440的,但是喵的笔记本的VGA接口和HDMI1.3接口最大只能支持1080P了,额,好吧,话说显示器到货之后比想象中大,额,关掉之后还可以当镜子用 = = 。
图片

图片

图片
 
2014.11.22
外包项目开发中。
突然想到一个神奇的问题,用户请求PHP的中途取消了请求(比如突然断网,等太久于是决定关闭网页等等),那么这些PHP代码会执行完吗?
问了下度娘,答案居然是不会!卧槽,那我在进行多个数据库操作的中途,一旦断开,数据库不就一定会出误差吗?
继续问度娘,发现了一个神奇的ignore_user_abort函数,可以忽略用户关闭网页的动作,一直将这个PHP执行完毕。
涨姿势了。

之后想到JSP里面是不是也有类似的设定呢,结果发现 = = 根本没有,问度娘都没找到。
最后Google了一下,在stackoverflow.com找到了参考结果,额,JSP没有类似的函数或者属性,用户关闭网页大约会导致JSP在执行的时候抛出异常
 
(JSP关于这个问题的解决思路貌似是去处理异常吗?
 
2014.11.17

今晚看到了微软开源了一部分.NET的新闻,"微软公布了.NET开发环境开源计划,开发者可在Windows以外的其他平台上开发.NET应用程序,同时微软承诺将对这些平台提供.NET应用的运行环境及框架支持。Visual Studio 2015 和 .NET 2015 的预览版包含名为 "Roslyn" 的 .NET 编译器平台(complier platform),支持用 C#、C++ 和 HTML/JavaScript 编写 iOS、Android、Windows 甚至其它平台的应用"。
表示不是从WEB端学起的我对开源貌似没什么特别的情感,在VS上写安卓应用 = = 好吧,虽然以前也这么想过,不过写安卓APP很明显还是安卓的官方SDK自带的Eclipse好用。
 
2014.11.15
今晚又发生数据丢失的事故了,简直!@#¥%&*@!@#¥%¥&+%¥!
从11.03开始写的我的第一个有功能的安卓小项目,写了一堆安卓学习笔记,操作技巧,代码注释,还有我收集和整理的静态函数库……
之前逗比室友来我电脑上玩安卓,建了一堆逗比test项目,全都被我打开文件夹各种删除掉了,今晚打开Eclipse,提示我的项目各种出错,然后我各种神级乱操作。。。
最后发现喵的所有源文件都莫名其妙的变成0字节。。。
吓哭。。。
图片
去回收站找。。。然后发现也只有0字节的。。。数据恢复。。。然后发现恢复了也还是0字节。。。
好吧。。。
(让我先哭一会去。。。)
(立志要写一款数据备份软件。。。妈蛋啊。。。)
 

2014.11.13
话说喵的才发现webp格式的图片基本只能在webkit内核的浏览器下查看。
(比如你用IE打开这篇日志,你会发现
2014.10.16的那张图片加载失败了,额。)
PHP有可以把
webp处理成jpg的函数,但是图片质量会丢失很多。
鉴于QQ空间本身也没做处理,我的镜像日志也不做处理好了。
火狐浏览器里的"智能提示"也是够智能的:
图片
话说最近学院推出新政策,11点半熄灯,简直是不让人好好敲代码了,额。 
 
2014.11.10
建数据库各种出错,额,还好有精确到行数的错误提示,一看才发现喵的"read","show"都是MySQL里的关键字,不可以作为字段名的,好吧。
逗比旭@the right one 写前端,额,在图片的点击事件里提交表单,结果各种Bug,最后终于找到一篇神奇的博文得到了答案:"图片的id不可以设置成submit"。
(把图片id换成sub,马上就好了。果然"submit"也是特殊关键字咩?)
PHP的mysql_query()函数,进行Update操作时,返回真不代表真的执行成功(修改了指定的值)了,只代表语句没错误,执行过了。
要判断是否真的有修改过值,可以用mysql_affected_rows()函数进行判断。
 

2014.11.07
外包价格谈好,预付款30%GET。一个面向大学
校园的类似订餐送货感觉的售卖水果零食之类东西的平台,安卓7K+后台7K(我负责这部分)+网页5K+美工(3.5K*2),共计26K,预计2个月开发完成
GET了Money,才开始写功能、设计和数据交互文档的说。 
 
2014.10.28
通过URL重写,可以隐藏掉动态网页文件的后缀(比如.php展示成.html),不过专业点的人还是可以从网页的header信息里获取到信息。
图片
(貌似有些黑客会从这里判断网站使用的框架或者语言版本,然后进行有针对性的攻击,额。)
其实,只要
修改php.ini,"expose_php = Off",然后在网页头部加上header("X-Powered-By: MoonLord");就会达到下面的效果:
图片 
现在,谁都不造你是用的什么语言(php/
jsp/aspx)和什么框架了,Yeah。
 
2014.10.27
信安选修课,研究加密算法。DES算法,用一个Key和要加密的数据进行各种
可逆的置换、矩阵变换、移位、异或运算,好吧,于是可以用这个Key把加密后的数据还原回去,真是机智。
今天看了下百度站长平台上的百度搜索引擎优化指南2.0[官方版].pdf】,果断对搜索引擎都有了新的理解,额。
"投票"机制:A站网页里有指向B站的链接,搜索引擎会认为是A站对B站内容的引用,A站向B站投了支持票。
好吧,
果断把我自己网站的所有出站链接的A标签里添加rel="nofollow"属性(不投票)。
重装了系统,额,不想再用微软的IIS了,果断装了个Nginx玩了下(配置成WNMP环境),感觉还不错。
 

2014.10.26
今天在改自己主页的代码,额,发现有个地方耗时很久(大约延迟了1分钟的样子),额。
果断各种测试,用
var_dump(time());的方法定位耗时的代码。
最后终于发现是SAE的Memcache写入失败了,额,百度很久,最后在某技术博客里发现,喵的Memcache键(key)的长度貌似不可以超过250个字符,实际测试了下,在SAE上key的限制长度为234Byte。
(好吧,SAE的逗比文档根本没提到过这个,怪我咯。)
(SAE的上传文件限制大小是10M,文档里也没写,累觉不爱。)
 
2014.10.25
今天朱超@ZC02 GET了一个外包项目,貌似是外面一个生意人想做校园内的项目,据说找到经管院的孩纸然后找到国软的孩纸然后找到他的。
(貌似那人是嫌外面的外包公司报价太高,想找学生做会便宜点?)
中午发现了一个叫做微印的东东,额,可以把腾讯/新浪微博里发的东西排版成一本可以打印的电子书,试用了下,感觉挺赞的(居然还支持直接买实体书 = =)。
图片
在知乎上看到的一个笑话:
"看到这个,想起来去年参加挑战杯的事。
经管学院的一个队参加挑战杯缺一个做android应用的。通过同学找到我,我问了下需求,基本是静态数据,就答应了。
结果后来聊着聊着突然变成了动态数据,意味着需要一台服务器,也需要做后台开发(学妹和学弟眼巴巴的看着我说,学长,这对你来说很简单的吧。。)行,我刚好有台云主机,也会点PHP,就说虽然麻烦,但是可以完成。
本来说好的寒假做事,结果寒假竟然说计划还没完善好,拖到开学。此时距离交作品只有十几天时间。
这时,又突然跟我说,不做APP了,做一个网站,可以发布信息和管理信息的那种(学妹和学弟眼巴巴的看着我说,学长,这对你来说很简单的吧。。)。我心中就呵呵了。就说你先给我需求吧。他们没有回应,继续拖。
到了最后三天,他们终于发给我一个样例网站,我看到了熟悉的discuz论坛,我呼了一口气。。"

2014.10.22
晚上的微软创新杯宣讲会跑去第一排坐(明明就是去晚了只有第一排 = = )。
表示宣讲会各种微软、Adobe和华硕的广告,而且貌似中国区有奖金的队伍只会有9支,而且暂时还没想到很好的创意,不过已经决定要参加了。

晚上睡前搞定了PHP的无刷新上传图片的问题。
额,AJAX不可以跨域,而且AJAX的POST方式上传文件貌似很麻烦,Jsonp上传文件貌似也不可行,隐藏Form的提交则会刷新网页,后来发现可以提交到隐藏的iframe里,不过提交之后也无法获取里面的网页返回值。
最后终于发现了,基本唯一并且标准的做法是,把form提交到隐藏的iframe里面,然后在iframe的返回网页里调用父网页的JS函数(这样,喵的,安全性居然没问题)。
 
2014.10.21
用了一个jquery.pagepiling的JS框架,写了个漂亮的网页,额,上传到yveyi.moonlord.cn,然后去百度站长平台登记了下,额,不到3个小时,居然就可以在百度搜索到了,给度娘点赞。
图片
 
2014.10.19
看着LOL视频,突然电脑整个系统都卡死了,额,然后一直尖锐的噪音……果断强行按电源关机……
重启之后果断S盘(我的软件全都装在这个盘里)不见了……目测是分区表损坏之类的问题,用了一些工具,效果不好,用CMD的”CHKDSK“命令找回了一些东西,额,但是喵的有些软件可以用,有些已经丢失了,有些不能用,额,简直烦,最后果断决定重装。
图片

图片

图片
好久都没有重装过了,电脑里东西太多,软件太多,重装的成本太可怕,额。
不过这次也正好趁此机会清理下磁盘,额。
(把整个硬盘的有用数据全挑选了一遍,Copy粗去,然后全盘格式化……) 
(点格式化的时候还是很爽的……看着干净的桌面也是很爽的……)
(然后发现喵的连个视频软件和看图软件都没有……唉……慢慢装吧……) 
图片
(上图可证:一个初始的干净的Windows7系统,其实只需要6.7GB的磁盘空间)
(系统其实不一定要装在C盘的,不过A盘看起来总觉得怪怪的……)
 
2014.10.16
花旗杯总算出结果了,额,第10名,额,然后前8才能进决赛,前20都要复活赛,额。
话说这比赛基本就是为武大的孩纸举办的吧,额=。=
图片

2014.10.15
从W3C上查了下PHP的防止SQL注入的标准写法,看懂之后只能佩服,非常机智,的确是写法简单而且安全。
今天才明确知道SAE的KVDB和Memcache都是Not Only SQL,即非关系型数据库,虽然我还是不大会用。 
高逗比转的朋友圈消息,移动互联网的3种盈利模式,B,C,和VC。额,好像真的是这样2333。

2014.10.13
自强的逗比Linux任务,额,晚上有学弟电脑系统崩溃了来找装系统,额。
好不容易用的光盘装好,然后学弟开始装linux,然后不小心把windows的盘格式化了,额,然后重新装windows,又把linux格掉了,额,最后果断放弃,决定装虚拟机了。
(我当场就笑哭了,神操作啊。)

最近又有人开始找我问句酷作文生成器怎么解压不开、运行不了、用完了5次该怎么办的问题了,额,虽然我也想更新。
不过问题的关键其实、其实、其实是,我找出去年写的代码一看……
好吧,算了还是先这样吧……
(很久不写VB.NET了,VB.NET水平下降到很低了,真心不敢乱改啊。) 
图片
(话说这玩意下载量居然都破2000了。) 
 

2014.10.12
研究用.NET进行模拟HTTP的表单提交来上传文件,额,因为误解了boundary的用法,多写了两个”-“。
就因为两个符号,喵的,上传一直失败,还好最后解决了。
 
2014.10.7
四级报名要本人确认报名信息,OK,没问题。
但是喵的居然是202.114.74.136这个逗比的网站,我擦,它的验证方式和输出信息简直了。
假设GET了全年级花名册,那么,全年级的孩纸的头像和身份证号都GET了 = = 。
图片
今天发现在36KR的网站的next.36kr.com/posts上,可以找到好多有趣的项目创意,点赞。
 
2014.10.1
我的moonlord.cn的图片和文字都是即时从QQ空间抓取的,额,虽然功能是没问题,额,但是太耗SAE云豆了,而且也没效率,额,果断把图片存储起来(毕竟图片是不会改变的),减少CURL请求,然后设置图片的浏览器缓存,嗯,访问速度和豆豆消耗都优化了不少。
今天发布了新版的WIN系统,居然不是WIN9而是WIN10,不过看图片貌似不是很漂亮的样纸。
晚上搜了下Python和PHP,额,发现好多脑残粉互黑,简直了。
国内Python并没有PHP流行倒是事实,看到一个网上的评论,觉得是真正公平的回答:
 【
 一般某人鄙视某种语言,大部分是某人不精通这种语言,或者说是某人没用这种语言做过真正的项目。
只有真正用过才知道价值,比如俺以前做了N年JAVA/CPP,一直鄙视PHP,认为PHP就是小道,上不了台面,但是后来做了N个PHP项目,才知道PHP的真正优势,发现那时自己就是井底之蛙,后来还鄙视过python,但是用python做过几个项目后,才知道python的优势,发现自己又成井底之蛙了。
语言排行榜上前20的语言基本在某领域都是比较牛的,如果鄙视只能说明自己是井底之蛙,没真正实用过。
 】

2014.9.28
大半夜帮李肖搞定了校会官网被Hack的问题。
(校会的网站在IE中浏览,会莫名其妙跳转到一个黄色网站上去。。。)
图片
最终发现是源码里面有两个病毒的JS的引用,额。
图片
(病毒JS居然还伪装成了Jquery,额,简直机智。)
图片
(反混淆之后,就看粗来病毒的本质了)
图片

2014.9.22
终于发现那个笑话的原版了:“我有一个绝妙的创意和一个靠谱的团队,就差一个写代码的了”。 
可以百度一下,笑一笑。思考一下,再笑一笑。呵呵。
知乎上有一些评论真的挺有意思的:
核潜艇需要Linux来操作。2004年,洛克希德·马丁公司向美国政府交付了一台采用红帽Linux系统的核潜艇。刚刚一查,原来Linux是免费的!!!我在网上已经找到Linux的开源代码,我的核潜艇项目就差个程序员啦。” 
 
2014.9.17
有个貌似是维护教务部系统的学姐加我QQ,额,聊了下,叫我删掉那个教务系统Hack攻略的帖子。
图片

图片
好吧,果断设置成仅自己可见了(我好机智)。

2014.9.12
计协大Boss通知,最近有个叫武汉大学开源社区的社团,联合了其它几个技术社团,要弄一个武汉大学软件自由日(开源软件比赛)活动,额,果断想了想,我好像不大喜欢写开源的东西啊。
但是仔细一百度之后,卧槽,PHP和MySQL和Curl都是开源的啊,这……好吧,果断参赛了。
图片

2014.9.8
今天了解了所谓“2014年9月1号好莱坞艳照门”——“有外国黑客疑利用苹果公司的iCloud云盘系统的漏洞,非法盗取了众多全球当红女星的裸照,继而在网络论坛发布”,卧槽,才发现黑客技术貌似还是有点用处的。








Tenent QQ Zone 原文链接

更多博客文章请访问:Tenent QQ Zone
Copyright © 2014-2015 MoonLord
鄂ICP备15019035号-1
本站基于:新浪云计算/阿里云备案/腾讯云对象存储