Puppeteer是Google搞的爬虫框架,其特点就是我们可以直接通过程序来操作Google浏览器(服务器没装图形界面也没关系,这个Google浏览器不需要图形界面)。通过这个框架,我们就可以像正常使用浏览器一样爬网站,并且像进控制台那样操作页面获取信息,甚至还可以截图。只要网站不使用验证码或reCAPTCHA之类的大杀器,而且运营者不希望正常使用浏览器的用户也无法访问页面,那么我们就可以随便扒网站了。例如本文从https://tw.manhuagui.com网站扒漫画。

阅读全文 »

开发业务系统,虽然原理非常简单,就是数据库的增删改查,而且业务规则也不过是一堆if-else判断,但是想要做好其实并不容易。本系列文章旨在说明:即使是看起来非常简单的基础开发工作,在设计和实现上也会有很多陷阱,需要非常认真和细心才行。

本文以简单的登录页面为例,为了突出问题,假设系统只有两个页面:一个登录页面,另一个是登录成功之后显示的“Hello world”。

阅读全文 »

本文介绍如何使用Phabricator进行人工代码审查(实际上是审计),以及供参考的操作规范。因为时间和篇幅有限,不再写如何搭建Phabricator,需要者可自行在网上搜索安装教程。

Phabricator是一个在浏览器上操作的开发管理平台,其中包括一个代码审查工具。工具支持两种代码审查方式,一种是事前审查,即提交之后必须先审查通过才能进入代码库;另一种是事后审查,也就是无论是否审查,代码都已经提交到代码库中。考虑我们自身实际情况(事前审查成本比较高),我们采用了“事后审查”的方式,本文也将讲述事后审查的操作。

阅读全文 »

甲方前一段时间使用360代码卫士对我们项目进行了“代码审计”,其中一个问题是“使用equals()来判断字符串是否为空”。由于甲方只关心问题数量,不关心问题性质(甚至连算不算问题都不在乎),我们只能硬着头皮去按甲方要求修改。

阅读全文 »

上班时间看小说有很多种方式,例如直接拿手机看,在浏览器上面看,用小说阅读器看,拷到Word里面看,甚至拷到Eclipse里面看……然而,这几种方式看起来都比较显眼,就算放在Eclipse上面看起来也不太自然(方块字又多又密,而且没有语法高亮,一看就不像程序代码)。在此,本文针对软件开发和运维人员介绍一种可以大大方方在上班时间看小说而且不会引起怀疑的方法——在数据库客户端里面看小说。

阅读全文 »
0%