Skip to content

分类:程序猿的东西

scrapy爬虫教程摘要(一)——基本流程

简介 scrapy是一个基于python的爬虫框架,提供了一套比较完整的爬虫解决方案,包括模拟cookie,referer,ajax等,并且支持代理,失败重试等爬虫攻防操作。可以让你专注于数据本身而不需要处理太多底层的东西。 今天整理一部分操作要点在这里以供速查和快速入门。 项目…

jumpserver堡垒机搭建和授权

堡垒机简述 堡垒机是一个服务器授权和管理的不错的方案,虽然有种种缺点,但是对小团队来说依然是不错的方案。 引入堡垒机的优点之一是方便管理和授权,用堡垒机的身份验证即可管理其他机器而不需要我去每台机上做授权,登录每台机的授权和限制也是统一管理的。另外一个是经过堡垒机发送的命令都会被…

Linux扩展权限控制ACL

Linux基本都权限控制一定不陌生,每个文件/文件夹基于 user group other 三种用户身份分别具有读、写、执行的权限,我们可以用chmod命令来修改。但是这种设置方式比较比较简单暴力。比如我某个密码文件我需要能被执行程序读取但不希望被同一主机的其他用户读取。如果单通…

chmod的第四位数

前几天看到一个命令是chmod 2770 /srv/projecta,不禁纳闷。因为从来见到的都是三位数,表示用户,群组,其他用户的读写执行权限。如今出来第四位“2”就不能理解了。 其实这是文档和目录的另一个特殊标记,第四位也是一个八进制数字,其中的三个bit分别表示SUID,S…

Linux用户与组的基本管理

用户和组的基本概念 默认情况下一个用户会拥有一个同名的私有组,比如我们用ls -l 时候会经常看到某个文件所属的用户和组是相同的就是这个原因。一个用户可以加入多个组,但是同一时间只有一个是有效组,有效组的概念可以在创建文件的时候体现出,当前用户创建一个文件的所属组就是当前的有效组…

利用nginx反向代理拷贝网站

需求 源自一个比较奇特的需求,需要把原来的网站换个域名展示,比如用B域名显示A域名下的内容。但是B域名不能与A域名部署在同一服务器,也就是说不能在A的nginx配置中设置多域名。虽然我拥有A网站的全部代码,但是我并不想在另一台机器上部署一整套的复杂的环境。 尝试 于是乎,想到了最…

深度优先搜索DFS的非递归算法——PHP实现

概念 深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为…

负载均衡、hosts和服务端渲染发生的不良反应

为了更简单的部署https,我们将https开通在了负载均衡上,负载均衡统一转发到80端口。 为了节省一丢丢网络消耗,把本机支持的域名用hosts指向127.0.0.1。 为了更好的SEO我们的网页用了服务端渲染。 于是接口请求https就没有经过负载均衡直接访问了本机443端口…

纪念侦破服务器负载悬案

近来服务器一直会有一些突发的负载高峰,而且还很有规律性,每十分钟一个高峰,同时可以看到TCP连接数和网络也会迎来高峰。 首先怀疑是外部流量所致,开始有几次逮到百度爬虫正在爬取,以为是百度周期性爬取。 后来发现百度没在爬的时候依然有此现象,怀疑是服务器上的定时任务积攒所致,因为有许…

MySQL查询导出到csv

问题 这其实是个常用技能,大部分GUI工具都提供了一些相关的操作,但是由于我用的都是基于WEB的管理工具,对结果条目超长,查询时间超长就很难适应。所以常常需要去终端导。 终端里面众所周知的导出工具是mysqldump,不过这个工具适合整表导出和备份之用,如果需要指定查询和输出格式…

Elasticsearch参数search_type与分布式原理

要不是遇到这个坑我不会去了解这个参数。 ——《论通读文档的重要性》 问题 起因是搜索结果排序的时候遇到一个奇怪的问题,一个在我理解应该排第一的结果被放在了后面,而且评分相差接近两倍之多。 分析 通过explain发现结果中第一的那个文档与我认为应该排第一的文档的idf竟然相差甚远…

阿里云MaxCompute实操记录之导入数据

MaxCompute有一套自己的导数据脚本格式,不过对于新手只要打开数据集成就可以看到创建引导。新手建议使用向导模式,只要填表就可以完成的差不多。不过对于普通数据库的导入来说,还是有其特殊性。 首先要了解ODPS的表多是分区表,需要指定一个分区键,在他的创建引导下,分区键默认为[…

Laravel实操记录之chunk

chunk在计算机行业通常表示数据块。数据库查询下也有一个chunk方法,依据函数式编程思想设计。第一个参数是chunk大小,第二个参数是一个callable。 使用方法如下:

它的实现方式其实不高深但是用于批量传…

MIUI无法安装证书问题

小米手机使用Charles抓https需要联机下载证书,但是MIUI下载安装一直出错,看到过很多相同遭遇的人,尝试过点击安装,从存储安装,一直无效,提示没有证书。 原因竟然是小米自带浏览器的坑,换chrome后当场安装成功

TrustAsia证书在部分华为手机不可用

发现是没有DigiCert Global Root G2根证书,而且还有其他兼容性问题。在myssl.com的检测结果显示,问题没有这么简单!!! 解决方案是补充一层证书链,追加在crt最下面

 

brew安装php缺少mysql扩展的完美解决

前面会有一些废话,如果想直接处理问题请翻到“解决”。 废话 虽然说mysql扩展早在php5.5就开始被嫌弃,奈何老的项目依然需要调用mysql扩展的方法,所以这个扩展还是非要不可。但是brew的安装源最近干了许多大事。首先从php安装选项来看,以前安装php的命令类似这样 [c…

elasticsearch 查询样例

聚合查询并设置返回的数据量,该语句查询在某话题下发图数量最多的前50人。

 

小程序探坑之设置自定义字体

小程序依靠微信OS为强大的后盾,加之可以跨越安卓iOS两大平台,为移动小应用开发提供了巨大的便捷。但是小程序毕竟很小,也就意味着很多限制。比如设置字体。 其实小程序并没有限制自定义字体,但是小程序之小就在于它有1M代码限制。所以,随便一个简体中文字体包就爆了。据说即使是小于1M的…