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

JS语法有点奇怪

小明阅读(27)

之前看js语法前,他们说让js成为非常容易上手的语言。这几天看了阮大的ES6语法,我发现js比C++都复杂。很多东西的逻辑很怪,特别不少功能一开始没设计好,后面版本为了补坑添加了很多怪的方法。

很多其他语言不存在啥问题的, js会有很多问题。特别有点扯的就是原先的js是不支持导入其他文件的,最新的es6语法官方才支持。敢情一开始就没想过js代码会很多吗,需要分成各个模块。

特别的是各种this问题,虽然在内部用这个this,用的不好这个this就变成全局的this了,这在c++等语言里是不可想象的,js真是太动态了。this到底是啥也要看上下文。什么var以前是全局的,各种乱覆盖,会有各种坑啊,然后现在搞了let还有Symbol来避免以前的问题。写异步函数、匿名函数的语法也是很奇怪,一开始这么写,后没有引入新的语法糖那么写。

总之我觉得,还是Python好,js不适合一点也不简单。

 

埋头学JavaScript

小明阅读(59)

工作需要,上周看了一天半JavaScript。以前我在玩Kinect、LeapMotion也是知道有js接口的,主要用于网页。但是他们写的代码都是不加密,随便能看到的,我是一直提不起兴趣学。(业余时间想搞点能赚钱,而且代码闭源的)

现在必须学了,我也不用考虑那么多,学好能撸出东西完成任务重要。前几年和同学交流过程,就知道好些人是做js开发的,有前端有后端Node.js。曾经也听说,Facebook的程序员第一天看懂JS语法,第二天就可以改以前的bug,使得以前的代码性能更好,顺便用它搞出些新奇的功能。我发现自己,一天多了,很多都没看完,预计完整看完基础语法,得用四天时间(我是每天看12小时)。看来我和Facebook程序员,差距还是很大的。

学的教程是阮一峰的,https://javascript.ruanyifeng.com先学完基础的, 再学ES6语法吧。前几天还看了几小时lua,虽然js有些地方和C/C++/Java不太一样,但相对于lua语法好很多了。

说js是世界上用的最多的语言,我暂时没有感受到有啥牛掰的。有些设计感觉会坑人,js的出现没C++早,为啥不能从我大C++中吸取一些精华呢~~

换了全新的工作

小明阅读(102)

折腾了好几个月,面了不少公司,最终选择了B站。做的事情和以前完全不一样,一切从头开始。今年业余时间就停止其他事情的折腾了,所有时间用在新工作上,争取早日能听懂他们日常在讨论啥。

这几天再看视频相关的知识,发现YY大神姚老师也从客户端开发转到这方面(但是人家是2015年末),也了解了搞这块的专家雷博士因为加班身体出问题仙去。

希望能早日适应起来,毕竟完全换方向的挑战很大,走出了自己多年的舒适区,才工作两天,但是感觉很多知识懂得太少。举个简单例子,下来要使用mac做开发,但我从来没碰过mac os,囧~今天才知道它的底层shell命令竟然和linux一样,起码我能敲几个命令~~

对于未来搞啥,我一时半会也没具体方向,本来是想业余时间搞些安卓开发,说不定弄点外快,不过因为这次换工作,很多事情又需要从长计议了。毕竟本职工作最重要,安身立命再考虑其他事情吧。

终于看到新公司有很多程序员在加班了,之前经常看到都是运营等岗位加班,让我每天走得很内疚~换了新住所,这四个月,我可以不用考虑其他事情,无所顾忌的加班学点知识。

另外再扯下,前些天去厦门南京旅游了,回到母校看了看,发现很多人变化很大。有一些同学已经开公司了,年收入得好几百万,而有的可能失业在家里。我从与他们学生时代相处,就能感觉到他们性格上的区别,只是没想到毕业才七年不到,人与人差距就这么大了。看看自己,追求稳定去一些大公司工作而已,能把事情做好,对得起公司给的钱就是最基本的追求。

再扯回新公司,每个人都有个昵称,我给自己选了电影中比较喜欢的角色的名字:Rancho。希望自己继续在编程的道路上越走越深,并且活学活用(搞怪也好,对实际生活有帮助也好),喜欢这个行业。

观《太空救援》后感

小明阅读(281)

昨天看了介绍《太空救援》的微电影后,发现应该很好看,在网上找到资源下载下来。这个资源很难找,很多地址都被封了。

这是真人真事的改编电影,两位主人公在电影里的太空中表现得十分出色。在电影里,他们神乎其技得空间站对接技术让人不得不叹为观止。发现才半个小时空间站就对接完毕了,这速度也太快了吧,后面难道还有跟刺激的吗。没错后面就是遇到各种事情,爆炸之类。十分推荐大家观看此部电影!

当然,我从观看这部电影感受到几位主角对于工作的认真,他们遇到各种突发事件,不抱怨不埋怨(小脾气还是有的,马上就过),冷静下来思考应对方案。当另一方不同意,则耐心说服他。

怎么说,在工作中太需要这样的氛围了!本来完成任务,听从指挥即可,但是我们如果站在自己的角度想想,一般会有更好的办法得到更好的结果。如果中间出了幺蛾子,也不要恶语相加,仍旧互相帮助共同对抗出现的新问题。一直不仅仅就他们两个人在奋斗,地上有一堆工程师出谋划策,一个优秀的团队!

我想他们真真切切做好了这次太空救援,以后可以吹一辈子!就像,如果我们做的产品被很多人喜欢,或者没人知道但是自己很喜欢,一样可以因此开心很久很久~前提是,是否真正用心做好了这件事,问心无愧。

开始补习C++知识

小明阅读(260)

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

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

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

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

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

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

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

小明阅读(360)

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

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

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

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

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

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

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

小明阅读(323)

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

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

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

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

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

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

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

小明阅读(302)

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

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

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

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

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

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

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

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

小明阅读(383)

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

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代码多了,发现反复打自己脸~

小明阅读(431)

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

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