自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

皮皮王的专栏

本博客只是个人笔记,非正常实践时间,不对任何人负责,水平有限,只供参考,Nifi大师群:492666008

  • 博客(252)
  • 资源 (2)
  • 收藏
  • 关注

原创 scrapy源码翻译解读

点击打开链接

2018-05-23 11:21:31 891

原创 Nifi国际化支持补丁

普惠众生,愿程序员们永无bug!(很久之前做汉化的工作,这次给大家分享之前提的pr,内容包含汉化源代码,汉化方式,原理,自行阅读研究。)PR传送门...

2018-03-09 17:12:21 2420 1

原创 Ambari2.0.0汉化

自2.2.0之后就支持国际化了,但也需要manually去翻译,ambari基础汉化已完成,在公司计划将其贡献hortonworks之前,不做多余分享,有学习目的的同学,可以留言交流。

2016-03-04 17:15:50 7889 2

转载 抽象语法书AST

抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白。本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能Javascript就像一台精妙运作的机器,我们可以用它来完成一切天马行空的构思。我们对javascript生态了如指掌,却常忽视javascript本身。这台机器,究竟是哪些零部件在支持着它运行?AST在日常业务中也许很难涉及到,但当你不止于想做一个工程师,而想做工程师的工程师,写出vue、react之类的大型框架,或类似w

2020-11-05 10:12:46 687

原创 大众点评,美团 token学习(2019.11.11最新最新)

注:本文仅限于学习使用,如果对网站隐私的侵犯,请及时私信我,立即删除最近抽出了一点点的时间,好久没有更新博客了,太忙了;这些天在搞美团和点评的一些东西,后来发现网上已经有好多破解的文章了,但看了一下都写的不是很清楚,今天给大家更新一个最新的(今天19年双11哦),当然相关的文章网上也有很多,大家都可以参考学习,以上工具我就不出文章了,需要的看我下面文章最后一条,谢谢大家1.打开chrome...

2019-11-12 14:15:42 1408 1

原创 electron-vue制作的高德,百度地图的接口查询工具

1.使用环境:安装npm,安装electron-vue2.下载源代码,github地址:给个star好不好 (听说用了还不点star的都会没有小jj-。-)3.申请百度,高德地图开发者账号,创建项目获取key4.打开src/renderer/components/SearchTag.vue,找到第281行和283行分别填写高德key和百度key5.进入项目根本录,运行npm insta...

2019-11-11 20:05:10 1027

原创 关于NIFI使用和开发

之前一段时间从事nifi的开发工作,所以写了这篇专栏,近期工作原因,暂时不再从事nifi的任何工作。不过貌似大家对nifi的好奇心和热情很足,这里给大家推荐一个群,里面有很多nifi的经验很足的热情大神,大家有问题可以加群然后去提问。再次感谢大家的关注,谢谢。Apache NiFi技术群见个人简介...

2019-11-01 14:35:49 7974 5

转载 字符型图片验证码识别完整过程及Python实现

1摘要验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的防火墙功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越来越严峻。本文介绍了一套字符验证码识别的完整流程,对于验证码安全和OCR识别技术都有一定的借鉴意义。文章更新:2017-09-20本文的基于传统的机器学习SVM的源码共享:介绍文章:http://www.cnblogs.com/bee...

2019-10-18 16:44:53 367

转载 docker-compose.yml 配置文件编写详解

docker compose 在 Docker 容器运用中具有很大的学习意义,docker compose 是一个整合发布应用的利器。而使用 docker compose 时,懂得如何编排 docker compose 配置文件是很重要的。一. 前言关于 docker compose 技术可以查看官方文档 Docker Compose以下的内容是确立在已经下载好 Docker 以及 Do...

2019-09-04 18:41:00 1034

原创 快速在线查看字体,编辑字体

http://fontstore.baidu.com/static/editor/index.html

2019-07-25 13:20:55 8751

转载 Android 7.0 之后抓包 unknown 和证书无效的解决方案(无需改代码)

背景使用抓包软件(以 Charles 为例)抓取APP的 https 请求时,Android和Charles都正确安装了证书却出现抓包失败,报错:Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)原因Android7.0 之后默...

2019-06-24 19:51:12 2564 1

原创 Google play内购凭证校验

Necessary steps: Make an API project, from the API Access link in your Google Play console Make a new service account,savethe JSON private key that gets generated. You'll need to take this f...

2019-03-13 18:17:05 4317 2

原创 【安全预警】WINRAR,7ZIP,WINZIP等存在严重漏洞

【漏洞说明】WinRAR等被曝严重安全漏洞,该漏洞可被攻击者绕过权限提升就能运行WinRAR,而且可以直接将恶意文件放进Windows系统的启动文件夹中。这就意味着当用户下次重新开机的时候,这些恶意文件就能自动运行,让攻击者“完全控制”受害者的计算机。目前全球有超过5亿用户受到WinRAR漏洞影响。(7ZIP,WINZIP等同样存在类似问题)  【预防办法】1.不要下载不明来历软件...

2019-02-21 15:11:45 1736

转载 gRPC 使用protobuf 构建微服务

本文目录:gRPC 使用protobuf 构建微服务 微服务架构单一的代码库以前使用Laravel 做web 项目时,是根据MVC 去划分目录结构的,即Controller 层处理业务逻辑,Model 层处理数据库的CURD,View 层处理数据渲染与页面交互。以及MVP、MVVM 都是将整个项目的代码是集中在一个代码库中,进行业务处理。这种单一聚合代码的方式在前期实现业务...

2018-10-26 14:59:21 1079

转载 HTTP2简介和基于HTTP2的Web优化

时值公司全面切换到HTTPS和HTTP/2,讨论HTTP/2有了更现实的意义。以前也断断续续看了些文章,做了些了解,这里算作一个学习和总结吧。本文定位入门级别,分作两大块:HTTP/2是什么 基于HTTP/2前端可以做什么优化本文参考了一些博文和资料,后面已列出,感谢他们的分享。HTTP/2简介HTTP/2 is a replacement for how HTTP is e...

2018-10-25 19:08:25 4856

转载 Swagger-如何编写基于OpenAPI规范的API文档

前言编写目的本文介绍如何使用Swagger编写API文档。通过阅读本文,你可以:了解swagger是什么 掌握使用swagger编写API文档的基本方法涉及范围 本文包括对swagger specification(以下译作”规范“)的介绍,如何使用swaager协议编写出功能完整、结构清晰的API文档,以及项目实践中需要注意的问题。 swagger的生态完整,从文...

2018-10-25 17:11:27 10051

转载 Portainer -- Docker可视化管理工具的安装配置及使用

Portainer介绍Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。下载Portainer镜像# 查询当前有哪些Portainer...

2018-09-05 16:53:38 930

转载 python多个装饰器的执行顺序

装饰器函数的执行顺序是分为(被装饰函数)定义阶段和(被装饰函数)执行阶段的,装饰器函数在被装饰函数定义好后立即执行 在函数定义阶段:执行顺序是从最靠近函数的装饰器开始,自内而外的执行 在函数执行阶段:执行顺序由外而内,一层层执行代码如下:   def war1(func): print("war1") def inner(*args, **kwar...

2018-08-19 11:20:32 1828 1

原创 从源码开始学习Scrapy系列15-view指令

前言view指令用于(内部使用fetch指令)下载指定url内容,并将response内容在浏览器上展示出来代码调试进入view模块的run方法,哦。。。。。发现没有run方法,就找他爹的run方法class Command(fetch.Command):进入fetch模块的run方法,随后转至:点击打开链接最后输出内容,将response通过webbrowser在浏览器中打开def _print...

2018-05-22 16:22:13 586

原创 从源码开始学习Scrapy系列14-version指令

前言version指令用于查看scrapy或包含相关依赖组件的版本信息代码调试进入version模块的run方法--version参数,输出各个依赖组件版本内容if opts.verbose: versions = scrapy_components_versions() width = max(len(n) for (n, _) in versions) patt = "...

2018-05-22 16:13:28 364

原创 从源码开始学习Scrapy系列13-startproject指令

前言startproject指令用于快速创建scrapy项目代码调试获取项目名,项目目录project_name = args[0]project_dir = args[0]判定当前项目目录是否存在scrapy.cfg文件if exists(join(project_dir, 'scrapy.cfg')): self.exitcode = 1 print('Error: scra...

2018-05-22 16:04:26 1091 1

原创 从源码开始学习Scrapy系列12-shell指令

前言shell指令是提供一个普通的python终端,提供了一些额外的快捷方式,其本意是用来测试提取数据的代码,用来测试XPath或CSS表达式,查看他们的工作方式及从爬取的网页中提取的数据代码调试进入shell模块的run方法url参数校验处理url = args[0] if args else Noneif url: # first argument may be a local fi...

2018-05-22 14:48:46 242

原创 从源码开始学习Scrapy系列11-settings指令

前言settings指令用来获取当前爬虫指定配置项的配置信息代码调试进入settings模块的run方法获取当前爬虫进程的settings配置,这里就涉及到如果是在scrapy项目中运行,则项目的settings配置优先,有覆盖权利,否则使用系统默认的settings,这个之前说过,在此再次废话一边,因为。。。实在没啥可说得了-。-settings = self.crawler_process.s...

2018-05-21 18:00:24 262

原创 从源码开始学习Scrapy系列10-runspider指令

前言runspider命令用于直接通过输入文件来运行爬虫,即可不创建项目代码调试进入runspider模块的run方法输入参数校验if len(args) != 1: raise UsageError()filename = args[0]if not os.path.exists(filename): # 文件存在判定 raise UsageError("File no...

2018-05-21 17:26:50 1209

原创 从源码开始学习Scrapy系列09-parse指令

前言parse指令用于返回requests和items对象,可用于一个爬虫的单元测试,检验抓取结果代码调试进入parse模块的run方法初始化spidercls对象self.set_spidercls(url, opts)def set_spidercls(self, url, opts): spider_loader = self.crawler_process.spider_loade...

2018-05-21 16:35:21 568 2

原创 scrapy bug修复,解决scrapy parse指令,输入不匹配的url时候抛出异常,issues #3264

pr传送门

2018-05-18 18:01:45 819 1

原创 从源码开始学习Scrapy系列08-list指令

前言list指令是输出当前可用的爬虫名列表代码调试进入list的run方法这里看到只有两行代码for s in sorted(self.crawler_process.spider_loader.list()): print(s)深入了解self.crawler_process.spider_loader.list()大致内容是根据项目settings的SPIDER_MODULES配置项来...

2018-05-18 15:37:07 632

原创 从源码开始学习Scrapy系列07-genspider指令

前言genspider用于生成爬虫,与startproject不同的是,它只是生成爬虫模块文件,而startproject是生成整个scrapy项目。默认使用base模板,使用-l参数可以查看可用的所有模板Available templates:  basic  crawl  csvfeed  xmlfeed代码调试进入genspider模块的run方法获取爬虫名字,目标域名,并生成模块名name...

2018-05-18 15:08:25 1461

原创 从源码开始学习Scrapy系列06-fetch指令

前言fetch指令是通过scrapy下载器对给定的一个url进行抓取,并将抓取结果进行输出代码调试进入fetch模块的run方法参数校验,如果参数不是1个或者不是标准的url格式,则抛出用法错误:if len(args) != 1 or not is_url(args[0]): raise UsageError()def is_url(text): return text.part...

2018-05-18 11:12:29 1271

原创 从源码开始学习Scrapy系列05-edit指令

代码调试进入edit模块的run方法获取EDITOR配置editor = self.settings['EDITOR']配置内容其实就是一个编辑指令EDITOR = 'vi'if sys.platform == 'win32': EDITOR = '%s -m idlelib.idle'爬虫加载器根据爬虫项目名加载当前爬虫spidercls = self.crawler_process....

2018-05-17 18:43:26 305

原创 从源码开始学习Scrapy系列04-check指令

前言上一章我们学习了check指令以及指令的运行机制,这一章我们学习check指令,这个指令是用于执行 Spider 的Conract检查,Contract 的作用就是通过一系列的简单约定来替代单元测试代码调试打开check模块,直接定位到run方法1.获取系统基础的contracts类路径contracts = build_component_list(self.settings.getwith...

2018-05-17 16:58:03 697

原创 从源码开始学习Scrapy系列03-bench指令及指令运行机制

代码调试接着上一章节,在cmdline模块中的main方法中或者直接在__main__模块中的main方法中,改成如下代码:if __name__ == '__main__': execute(['scrapy','bench'])并在此方法处下断点,随后继续debug模式调试读取系统默认的default_settings配置文件,并存储到内存中读取项目的cfg文件,通过读取cfg的[se...

2018-05-17 11:51:58 848

原创 从源码开始学习Scrapy系列02-从命令行开启项目入口

前言这篇算是真正的源码剖析开始了,你即将成为一个真正的男人哦=。=,哈哈准备工作(1)如果当前scrapy项目所处的python环境中有scrapy的包,那么需要注意的是当前项目如果也叫scrapy,那么就不必要担心会引入site-package中的scrapy,因为当前目录的自定义模块优先级要高。如果当前项目不叫scrapy,那么你就最好屏蔽掉site-package中的scrapy,避免引入它...

2018-05-15 11:47:43 653 1

原创 从源码开始学习Scrapy系列01-源码整理/分割/文档编译

一.准备工作首先下载scrapy源代码:git clone https://github.com/scrapy/scrapy.git自此开始根据源码中的要求来配置环境,这里我们定义下载的源码根项目叫做comScrapy,然后打开comScrapy/setup.py查看:python_requires(这里要求python版本是>=2.7, !=3.0.*, !=3.1.*, !=3.2.*,...

2018-05-11 14:44:55 445

转载 nginx常用配置简介

简介Nginx 的安装就不解释了,方便起见,建议在各平台可以直接执行对应安装命令:# CentOSyum install nginx;# Ubuntusudo apt-get install nginx;# Macbrew install nginx;一般可以在 /etc/nginx/nginx.conf 中配置,启动参数为:# 启动nginx -s start;# 重新启动,热启动,修改配置重启...

2018-05-11 13:44:29 174

转载 Linux 的 IO 通信 以及 Reactor 线程模型浅析

目录 随着计算机硬件性能不断提高,服务器 CPU 的核数越来越越多,为了充分利用多核 CPU 的处理能力,提升系统的处理效率和并发性能,多线程并发编程越来越显得重要。无论是 C++ 还是 Java 编写的网络框架,大多数都是基于 Reactor 模式进行设计和开发,Reactor 模式基于事件驱动,特别适合处理海量的 I/O 事件,今天我们就简单聊聊 Reactor 线程模型,主要内容分为以下几个...

2018-05-09 17:14:45 484

转载 深入理解Node.js垃圾回收与内存管理

使用JavaScript进行前端开发时几乎完全不需要关心内存管理问题,对于前端编程来说,V8限制的内存几乎不会出现用完的情况,但是由于后端程序往往进行的操作更加复杂,并且长期运行在服务器不重启,如果不关注内存管理,导致内存泄漏,就算1TB,也会很快用尽。Node.js构建于V8引擎之上,因此本文首先讲解V8引擎的内存管理机制,了解底层原理后,再讲解Node开发中的内存管理与优化。一、V8的内存管理...

2018-04-28 17:19:04 1095

原创 ubuntu日常使用和开发环境资源链接(持续更新)

(更换了新的设备,重新装了双系统,这里记录一下ubuntu开发环境的日常配置链接,省得下次浪费时间再去找)使用环境0.关闭触摸板:https://blog.csdn.net/JokerCSDN/article/details/769438581.安装chrome浏览器,https://jingyan.baidu.com/article/335530da98061b19cb41c

2018-03-30 10:50:46 373

转载 fiddler app https抓包

fiddler手机抓包原理fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https下面开始手机抓包设置教程设置fiddler抓包File—–>勾选capture traffic设置抓https和解密httpsTools—–>fiddler opt...

2018-03-06 16:35:14 2771 1

转载 HTTP协议详解

 一、HTTP协议详解之URL篇    http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][abs_pa...

2018-02-27 10:53:05 197

mysql-connector-java-3.1.13-bin.jar

连接mysql的jar包,很好用,支持mysql5.0以上版本

2014-06-24

sqljdbc.jar

连接sqlserver2005,2008的jdbc,jar包

2014-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除