一名热爱体感技术的
业余专业开发人员

开始补习C++知识

小明阅读(322)

经过一段时间的浮躁期(太关注公众号了),最近终于能静下心来看点书。正如去年反思的那样,确实要补习一下基础知识了。一直感觉进度很慢,说看书看的龟速,只能给自己定下了强制执行的目标,每天必须看十页书。实践了10天左右,感觉良好,确实看进去很多内容。

越看书,越发现四年半前、一年前我几次笔试面试时很多问题,书上(C++ Primer 5)其实写得很明白啊。真想不到以前编程几乎满分,现在感觉自己是个学渣,基础知识都不懂。想想,曾经写过很多代码,但对于基础知识却缺乏学习耐心,走过很多弯路。今天在豆瓣上搜了一下Primer5中文版原来是我读硕士时才出来的,而那时我一心只想搞好自己的人脸识别系统,用着VS2010(那时是最新的)+MFC。自己其实一直没掌握好C++开发,主要都是大学时跟着老师学的MFC开发知识,陈旧的C语法一直用着。

记得当时有同学问老师,cin cout,老师说用printf就行了,不要用那些。然后我就从来没找本C++的书好好看看,以至于工作时string、STL对我来说都是全新的,直到现在我才算开始使用迭代期(我一直用的下标)。

既然靠着C++吃饭,每年还是花点时间巩固下基础,至少在工作上代码写的更好。

今天看到一篇文章说:“优秀的程序员一般在做三件事:写框架,写算法,写库。”觉得十分有道理,在知乎上,比较厉害的程序员们,都有自己的库,有UI、mudoo网络、json、skynet等等,都需要对系统和语言研究十分透彻和深入才能做到。不过我比较喜欢做出实际软件出来,可以被自己或者很多人用到软件,一直计划今年(去年也计划着。。)用安卓做个有趣的app。

前二三个月,先重学一边C++,然后继续把小软件鼓捣起来。

扯一扯微信小游戏跳一跳刷分

小明阅读(429)

最近微信发布了微信小游戏,这下让html5之类webgl游戏又火起来了。已经玩过很多年游戏的我,对如今越来越多的大部分游戏已经无感了。现在游戏市场我是不太看得懂了,很多年没有玩到自己喜欢仙侠题材游戏。这几天我在乌镇旅游时,看到很多程序员使用各种方法刷分。

旅游一回到家,我就运行了下网上给的python代码(下载python包环境要很久),看看他们怎么实现的,一种是图像处理方法模拟点击玩游戏。下面程序跑了10次左右后得到的最高分数:

我花了不少时间才看懂他大概的意思,虽然star很多,但他写的代码很平常。大概是通过rgb颜色范围从图像自上而下获取主角位置,然后在从上往下获取跳跃点的位置,然后计算像素距离各一个模拟点击持续时间神马的。由于代码效率很差,导致他处理一帧数据非常耗费cpu,如果有人使用opencv一些方法肯定会大大减少处理时间。不过,有几个人愿意花时间折腾呢~~大多是非计算机的人玩起python配置跑这个程序来了。

然后看看知乎文章,发现有大神直接看微信小游戏源代码,分析出分数发送和加密方法,直接来个post,想多少分就来多少分。我们只需要抓包,看到自己的sessionid填入进去即可。效果真是价单暴力,如下:

我在想微信小游戏这么容易被逆向,那么以后搞不好代刷分数又是淘宝一项火热的宝贝。开发游戏的人又如何保护自己的游戏呢~~

今年用python各种玩爬虫,逆一些简单的协议,有些东西第一次完成确实挺有趣的!不过这种有趣的阈值也越来越高,现在太简单的协议即使弄出来也无感了。明年以及未来得向着更高深的玩法才行,如阅读js代码了解一些参数加密方法,反编译别人代码了解相关逻辑。当然,不管怎么玩都得合法合规,不该碰的东西就不碰了~大部分时候只是业余爱好,图个乐。

额,发现个专门做电影解说的App

小明阅读(428)

前些天发现有些解说片头提到本片由“微剧院”赞助播出,今天下载下来看到,想法和我的公众号绝对影迷太相近了!他们大概是今年12.7上线的专门针对电影解说类的App,比我晚些,但他们已经收录了上百个解说的视频,然后弄出各种电影和视频相联系的功能,豆瓣top250对应视频,IMDB250对应的视频,视频对应的完整电影等等。花样玩的比我还多,囧~

我当然也有想过做类似的App,没想到微剧院已经做好了,而且做得相当不错。去他们网站发现,这个app原来是多玩做的。

影片信息用的是豆瓣电影信息,介绍也是一毛一样,这个和我一样也是用豆瓣数据。

既然他们做大而全,我继续做自己的小而美吧~他们要维护上百个解说,我只要维护几十个最好的解说,不断优化抓取速度、过滤等等。

解说视频这几年承爆炸增长,可以预见未来是十分光明的行业。

接下来有分析下他们的app,好的地方借鉴借鉴~~呵呵

反思了一下过去几年的程序员之路

小明阅读(356)

最近回忆起一年前的找工作时的面试时的题目,很多基础题都没做好,很多概念也混淆不清。虽然自己这几年写的代码不少,但都使用自己熟悉的东西写,而已经有很多新的技术新的方法却没有使用过。一方面公司自己有底层团队封装一些函数工具给我们用,按要求只要是已经做好的封装好的工具能满足要求的,自己就不要再弄其他办法。另一方面是自己懒,业余时间就只搞各种项目,拿到轮子就用,没有补补基础知识。

比如说最近看到unordered_map,才知道平时搜索就应该用他的,我们天天用map,都用错了!根本不需要map的排序功能,囧~

同时也在想,等基础补得差不多,也要看一点ACM题目,听说看了后的人都很厉害,囧~

再想想,我业余时间还要学安卓开发,又想学学英语,维护公众号,不断优化爬虫,2018年肯定挺忙碌了。—感觉到头来可能很多完不成,还是考虑完成优先完成的任务吧。

心想着还能写代码到个五十岁,现在已经有些写代码的人已经五十岁。他们有的工资也不高,就是单纯热爱写代码,在某方面造诣极高。

世界上诱惑很多,过去一二年我也学习各种技术,都是浅尝则止,现在回想只要在某一方面持续下去现在收获肯定很大。某某某就是持续搞这什么几年,现在不也搞得风生水起了。现在又兴起AI,其实就是机器学习,我自己当时学了是发现用一些工具弄数据得到模型,确实能完成某种牛逼的东西,但也发现别人随便也能搞啊,要想不被替代还是数学能力强,看得懂论文中的算法,自己能实现。然后我自己看了一些论文,公式都看不懂,更不用提实现了。所以现在AI风吹的很响,我还是尊随自己的脚步吧,真能用到AI,希望用下别人的轮子就行了。

先想这么多,年后再归纳归纳,考虑2018要整点啥好玩的。

周末又做了一下公众号开发

小明阅读(483)

周末又做了一些公众号开发

1.新增微博号自动发送,以前的发送接口都不能用了,现在只能用这个接口https://api.weibo.com/2/statuses/share.json。虽然要求发送时带一个url,但是这个url只要是大一点网站都可以。新浪没有检测这个url到底是我自己的,还是别人的,因此我用来展示这些大网站的视频,根本不用管url的事情。另外同时发送到图片也无法和url展示的视频同时显示。

拿到的新浪token可以用5年,只要弄一次,以后再也不用管了。获取方法可以参见网上攻略,有人需要帮忙也可以找我。

2.将大多Up主地址转为腾讯视频地址,腾讯的api设计的有点坑爹,完全不如bilibili之类的api完善,使用时得小心。另外还是发现一些协议抓取得关注下移动端的协议,PC端抓不到的,移动端恰恰很容易。

3.优化标题展示。这个是早就想做的,这次一并做了,几乎穷举了所有标题替换的方法。

4.优化抓取速度,所有Up视频更新在1分钟内能发现。特别发现了腾讯和爱奇艺视频的api,现在更新所有的都会很快很准。但是一旦他们有改版,那就得调整。

还发现这些up主经常容易被封,得注意及时调整,经常维护。

写python代码多了,发现反复打自己脸~

小明阅读(491)

最近用python搞了下数据库,巩固了一下年初时在另一家公司学到的数据库知识,确实不巩固下,肯定又忘了怎么玩sqlite和sql语句。本来是把数据存成json放到文件里,后来发现这样搜索信息以及更新会很麻烦。数据库发明出来就是为了解决这个问题的,可惜已开始图方便,等自己向不断加功能时发现不弄数据库下面举步维艰。然后,换成数据库后,确实有些东西很方便了。比如我要一个视频列表,按照ABC三个条件选出最好的影片再安装时间、播放量等等排序,放到数据库中做,核心就是一条sql语句,无非前后加上数据库打开关闭,异常处理。如果用代码完成这个功能也可以,但是那得写多少代码,囧~用了数据库,卡卡卡,百度下写成四五条语句,完成现在想到的所有需求了。当然,又得改更多的代码,囧~重构了好多

然后,我之前以为最好的参数和数据结构是json这种字符串,在python下小程序写着挺好的。但是越写越多,我发现几十个字符串标识越来越混乱,比如某个字符打得块没打出来,有的大小写错了,有的直接忘写了,等等。保存时,写一边,传输到另一个函数,有得把这些dict key写一遍。然后有的key字符看着不顺眼得修改,那就改好多个文件。最后还是按照cpp数据结构来设计吧,在我的程序里,都用我的数据结构,除非读写数据库时才转换下。不然那么多数据,真不记得,它的Key叫啥,囧~

正在弄一个有关电影的公众号

小明阅读(374)

最近结合爬虫,要弄一个有关电影的公众号,毕竟服务器闲置在那里,总要想办法搞点事情,不然等于每天白白亏三四块钱,囧~

今天调试一个bug,有关Chrome网页按钮不可点击的(找到了按钮,但是webdriver告诉我不能点),调试了很久,最后发现换乘PhantomJS就可以,晚上回到家,更新了自己的Chrome又试了下也可以。看来这个和Chrome版本也有关系,囧~

目前在功能开发中,一边学一边搞。需要的公众号开发已经都学完了,下来就是搞数据自动更新的东西。预计国庆前后开发完毕。

 

遇到文件编码错误,在windows下的python文件很ok,在linux(ubuntu)下就出问题了,这时一定要认真看错误原因,原来得把文件都弄成utf8无BOM模式才行!

下面是报错示例:

UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb1 in position 744: invalid start byte

一到22点就困 今天走了一位伙伴 国庆节搞个小程序

小明阅读(327)

每天一到这时候眼睛就快睁不开,不知道是不是我看了半小时书的缘故。难道书真的有这么催眠人吗,囧。

今天身边又走了一位同事,每天上班都能见到的伙伴,偶尔和我一起喝喝农药,就这么走了~

今天大学室友贱哥联系我,遇到个锁屏没有办法运行计划任务的问题。试了一下果然不行,囧,无语。找了一圈也没找到什么软件替代这个功能的(肯定是有,但不至于我搜不到吧,囧)。那么国庆节在家里或者路上,正好可以搞一搞,搞出一个新的小软件,支持定时执行任务,这个肯定是刚需啊!

模拟登录了下知乎,然后号被封了 昨天参加了公司年会

小明阅读(592)

最近项目不是很忙,我抽空也搞点爬虫玩玩,之前试过在cnblogs上模拟登陆+发送私信,让他们(写过体感文章的人)加我的公众号,使得我的公众号好不容易多了三四十个关注者。不得不说cnblogs已经不火了,从私信阅读率来看,80%以上的账号都没人登陆过。所以欣欣向荣的知乎成为我下一个下手的目标。

知乎果然强大,普通模拟登陆是登陆不上的,会让输入验证码,不过我用带界面的Chrome浏览器的webdriver手动输入验证码登录绕过该问题。很快写出抓关注kinect的人的信息,然后开始模拟发私信,发现一个小时被限制在20条,也就是3分钟给一个人发私信才行。这么算我得七天七夜才能发完这些账号。反正电脑不常用,那就让他跑吧。才跑了一晚,发现之前账号没有去重,有的人收到多条重复内容举报了我,于是现在不能继续发了。同时我也试过在ubuntu服务器上安装chrome环境,但是没有试验成功。要用自己的电脑发,会经常遇到chrome跳到前台来干扰自己的工作,真是悲剧。看来搞爬虫还是要搞在服务器上跑才牛逼。

今年玩的爬虫,让我第一次感受到互联网程序员的力量。说实在的,如果有人好好分析知乎或者其他社交网络上,人们的喜好、需求,针对发出对应的广告,一定可以攫取不少有价值客户。当然我是希望提供广告的人本身产品过硬,确确实实能解决该用户的问题,太骚扰人的事情会丑化品牌形象。不管咋说,我现在也算入门了知乎营销,不过还是很克制的而已。

 

再说说公司的年会,一千人坐满了整个酒店大厅,第一次参与这么多人的聚餐。不过饭菜依然不给力,氛围也不是很给力,人多也有人多的坏处,根本没人鸟你的哈~我们在餐桌上进行了两把农药,玩的也甚是快乐,不过也错过了两轮抢红包游戏。想想公司成立才不过12年,如今都上市了,很多人都变成千万亿万富翁,不得不说有的人命真好啊。但说实话,公司的软件产品大多不给力(用户体验不好),只有少数几款还行。同时在公司的这11个月里,我看到了太多的人员流动,感叹这互联网公司发展果然速度快。稍微稍微估计,我认识的一半人都不在公司了,囧~

玩了下王者荣耀 又开始玩爬虫了

小明阅读(1126)

最近几周下了王者荣耀玩,才发现这款日活5000万的游戏,很多朋友天天玩。打了一百盘终于升到了黄金一。

主要只会一手狄仁杰(正好限免就玩了)。这游戏确实收割了玩家不少麦子,也确实挺好玩。我早就在想,为啥valve不整和dota手游。腾讯的模式和dota2很像,只是手游天然吸金。

之前还要试了下幻璃镜,友情买了一百五左右的年卡月卡,玩了几天就发现太无聊了。趣味性为何做的如此差。

突然又对爬虫感兴趣,准备好好学习下pyspider,爬一爬数据。首先针对自己日常喜爱的事情吧,比如会关注电影消息,如果最近豆瓣有高分电影,我想爬虫自动通知我去看。

今天在路上在想,我貌似天天都在想做啥以后能挣钱,看到啥都会想能不能做软件然后挣点钱,然后发现这么久我也没琢磨出额外挣钱的本领。周周来火车站,见到这么多人,应该能遇到什么有趣的事情。不一定要做挣钱的事情,做些有价值能让别人生活更好的事情才行。然后赚钱是附带的事。

这几天老婆在找工作,我也搜了一波工作。确实cpp的工作不多了,待遇也不如android。还看了下常州的工作,我发现如果不学点android,以后回来还真可能找不到工作了,囧。估计一年左右转到android开发,称还在上海还是可以学到东西的。即使降薪也得转呀,不然回常州真可能失业…