三水清
专注前端开发,分享Javascript/CSS/PHP等Web前端开发技巧
http://js8.in-
JS写小游戏「跳一跳」外挂之自己动
上篇文章写道怎么通过Canvas识别跳转位置,本篇文章重点介绍怎样使用adb命令操作「小人」自己挑动。 adb是什么 adb是 [代码片段] ,可以将安卓手机打开USB调试模式,然后连接USB线到电脑,就可以通过adb执行调试命令。 adb安装 mac下面使用brew安装 [代码片段] windows下面去搜索下载,然后放到环境变量里面去,保证命令行执行adb可以 …阅读全文 -
JS写小游戏「跳一跳」外挂之Canvas图像识别
17年结尾的时候微信发布新版重点推出了「小游戏」概念,H5的游戏再次火了起来,新版微信开屏的游戏就是「跳一跳」游戏可玩度很高,网上也出现了各种语言版本的外挂 ,前几天看到一篇用nodejs搭建的外挂,需要手动点击截屏图片来判断当前和下一步的位置然后跳转,于是就起了用Canvas来实现图像的想法,后面有实现了自动跳 转,算是齐活了。今天来完整说下图像识别。 代码都放到了: htt …阅读全文 -
Vue SSR从入门到Case Study
最近两个项目同时开发,使用了Vue2的SSR,这样后端渲染页面首屏可以加快页面呈现,增加SEO和用户体验,但是项目上线后却发现了严重的性能问题,于是在三天内 两次重大调整,最后只能放弃Vue SSR,本文从Vue SSR实现开始,逐渐复盘整个事件。 两周前就预告了要写一篇Vue SSR的文章,但是没想到上周四上线之后,周六放量之后发现性能问题,这周一到周三,做了两次重大调整,最终还是放弃了 …阅读全文 -
Hybrid APP开发:模板本地化
上次文章介绍了Hybrid开发中常用到的Web和NA的通信方案:JSBridge,通过比较之后,最终推荐安卓和iOS通用的scheme协议,可以保证APP内 和外都可以使用,今天开始正式介绍整个Hybrid架构内容。就像本系列「开篇语」提到的,这里的Hybrid是「狭义的Hybrid」,而不是所有的NA套个web app就是Hybrid。 好的架构不是随波逐流,应该经得起考研 Hybr …阅读全文 -
Hybrid APP开发:模板包管理平台
大上周文章提到了Hybrid的模板本地化解决方案,本文介绍下模板包的管理平台。 管理平台功能 模板包的管理平台主要功能包括: 自动编译 自动增量 上传包 推送下发 提测 小流量&灰度:按客户端id下发、小流量 数据收集:收敛,速度,监控 整体架构和流程图 部分细节讲解 …阅读全文 -
Hybrid APP开发:JSSDK
拖稿了好久的「Hybrid APP开发系列」又更新了~ 今天继续写JSSDK 为什么会有JSSDK 我之前文章介绍了通过 JSBridge 实现页面和NA的相互调用,并且介绍了模板本地包的开发和后台维护系统。今天介绍的是JSSDK,通过 JSSDK 可以实现: 抹平JSBridge的平台实现差异 对齐端能力,内部消化版本差异 sdk封装 …阅读全文 -
记一次Vue项目的重构
上周没有更新原创技术文章,原因是忙着重构一个新接手的项目,此项目因为项目技术负责人离职,虽然投入人力持续增多,前端达到4人,后端3人,但因为新参与的童鞋对代 码结构和业务的理解,导致项目开发了一个多月,还有一堆问题,达不到上线要求,接手项目之后,对项目业务场景和代码进行简单的了梳理,决定重构。重构不是个人冲动,而 是的的确确存在各种大大小小的问题: 接口太碎。项目本身按照vue组件化开发, …阅读全文 -
JS写小游戏「跳一跳」外挂之Canvas图像识别
17年结尾的时候微信发布新版重点推出了「小游戏」概念,H5的游戏再次火了起来,新版微信开屏的游戏就是「跳一跳」游戏可玩度很高,网上也出现了各种语言版本的外挂 ,前几天看到一篇用nodejs搭建的外挂,需要手动点击截屏图片来判断当前和下一步的位置然后跳转,于是就起了用Canvas来实现图像的想法,后面有实现了自动跳 转,算是齐活了。今天来完整说下图像识别。 代码都放到了: htt …阅读全文 -
用Node抓站(三):防止被封
抓取如果抓取的太快太频繁会被源站封IP,本文会介绍下通过限流、限速和使用代理的方式来防止被封 上篇文章,抓取「电影天堂」最新的170部电影,在抓取首页电影l ist之后,会同时发出170个请求抓取电影的详情页,这样在固定时间点集中爆发式的访问页面,很容易在日志中被找出来,而且并发请求大了,很可能会中网站的防火墙之 类的策略,IP被加到黑名单就悲剧了 限流&限速 先说下 …阅读全文
-
用Node抓站(二):Promise使代码更优雅
本文主要目的是通过抓取「电影天堂」的最新电影名称和下载地址,展现如何抓取列表之后,继续抓取正文内容 使用《用Node抓站(一)》(没看过的可以翻看下本公众号的历史文章)当中写的 [代码片段] 代码可以直接用下面的代码把列表抓出来: [代码片段] 这里不同的是涉及到一个编码问题,「电影天堂」用的是 [代码片段] 编码,需要转成 [代码片段] ,不然抓的内容会乱码。我扩展了 …阅读全文