自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 强制关闭jenkins job

强制关闭jenkins job

2022-09-26 10:54:14 803

原创 linux设置无密码登录

公钥则是公开的, 可以对外发送. 通常使用公钥加密数据, 使用私钥进行解密, 并且因为非对称加密的公私钥都是成对的, 所以就算密文和公钥都被不法分子获取, 也没办法解开密文, 而私钥不仅仅用来解密数据, 在通信过程中, 通常会使用私钥对数据签名, 然后使用公钥验签.目前加密算法大致有两种: 一种是对称加密, 另一种是非对称加密. 对称加密顾名思义就是说通信双方使用的密钥是一样的, 优点就是加密速度快, 缺点也很明显, 当某端密钥被破解, 那另一端的加密数据也会被破解.

2022-08-19 15:07:28 2355

原创 ansible服务搭建与windows应用

ansible教程ansible windows

2022-06-30 18:01:02 2666

原创 5.指针使用与unsafe.Pointer

指针变量的本质是对一块内存空间分命名, 我们也可以通过引用变量名来访问这块内存空间的值, 指针就是用来指向这些变量值所在内存地址的值简单示例a := 100var ptr *int // 声明指针类型ptr = &a // 初始化指针类型值为变量 a fmt.Println(ptr) // 0xc0000a2000fmt.Println(*ptr) // 1go语言之所以引入指针类型, 主要基于两点考虑为程序员提供操作变量对应内存数据结构的能力提高程序的性能(

2022-02-15 17:11:07 378

原创 4.map使用以及底层实现

map和slice类似, map也是引用类型, 当map被复制为一个新的变量时, 他们只想同一个内部数据结构. 因此改变其中一个变量, 另一个也会收到影响.package mainimport "fmt"func main() { personSalary := map[string]int{ "steve": 12000, "jamie": 15000, } personSalary["mike"] = 9000 fmt.Println("Original person sal

2022-02-15 13:29:35 590

原创 3.切片使用以及内存优化

切片切片是一个新的数据类型, 与数组最大的区别在于, 切片的类型字面量中只有元素的类型, 没有长度因此切片是一个长度可变的, 同一类型的元素集合, 切片的长度可以随着元素数量的增加而增长, 但不会随着元素减少而减小创建切片创建切片有三种办法. 基于数组, 切片和直接创建基于数组array := [...]{1, 2, 3, 4, 5}s1 := array[1:4] // [2 3 4]切片的底层引用了一个数组, 由三部分构成: 指针, 长度和容量. 指针指向数组的起始下标, 长度对应切片

2022-02-15 13:26:50 484

原创 2.数组的使用及其不足

数组与python, js等弱类型动态语言不同, 在go中数组是固定长度的, 同一类型的数据集合数组长度在声明后不可更改数组的不足由于数组类型变量一旦声明长度就固定了, 这意味着我们不能动态的添加元素到数组. 如果要这样做的话, 需要创建一个更大的数组, 把旧的数组元素拷贝过来, 最后在添加新元素. 如果数组的尺寸很大, 就会非常影响性能.另外, 数组是值类型, 这意味着在作为参数传递到函数时, 传递的是该数组值的拷贝, 频繁的进行了内存拷贝, 也会影响性能...

2022-02-15 13:24:36 205

原创 1.基本数据类型之间的转化

基本数据类型布尔类型整型浮点型复数类型字符串字符类型整型之间的转换注意: 在有符号与无符号以及高位数向低位数转换时, 需要注意数字的溢出的截断package mainimport ( "fmt")func main() { v1 := uint(18) v2 := int8(v1) v3 := uint(v2) //v4 := uint(-1) 抛出异常: constant -1 overflows uint v5 := uint(255) v6 := int8

2022-02-15 13:22:46 199

原创 Filebeat和Logstash的简单配置和使用

Filebeat和Logstash的简单配置和使用1. 介绍Filebeat是一个轻量级的转发和集中日志数据的托运工具, Filebeat监控指定的日志文件或目录, 收集日志事件, 并将其转发到Elasticsearch或Logstash进行索引.Filebeat的工作方式如下: 当启动Filebeat时, 它会开启一个或多个输入, 这些输入将在你所指定的位置查找日志数据. 对于Filebeat所找到的每个日志, Filebeat都会启动收集器. 每个harvester都读取一个日志以获取新内容, 并

2020-12-05 15:31:11 4516

原创 Django反向migration数据库

Django反向migration数据库最近接手了一个django项目,由于之前的开发者经常手动修改表结构,导致django的migrations和数据库无法保持一致。想要彻底解决一下这个历史遗留问题。思路将现有数据库结构反向migration为model文件删除现在所有app下的migrations文件采集生成的model文件的migrations,migrate但是不应用生成model文件下面我使用的django项目名称为hello_world, 使用的setting文件为settin

2020-12-05 15:27:35 508

原创 go语言leetcode刷题

最近在学习go语言,正好也在刷leetcode,所以想到用go来写一下leecode算法。不按照leetcode顺序来写,先从简单的开始。本博客持续更新中…两数之和(原第1题)package mainimport ( "fmt")func main() { nums := []int{2, 3, 4, 5} target := 9 res := twoSum(num...

2019-08-20 11:53:07 718

原创 nginx+ssl

上篇博客已经写了怎么使用nginx+uwsgi部署django项目,本文将继续怎么使用nginx+http+ssl准备工作系统环境ubuntu 16.04软件版本nginx 1.16openssl 1.0.2libssl-dev 1.0.2安装软件nginx安装详见上篇博客; openssl安装sudo apt install openssl; libssl-dev安装sudo ...

2019-07-17 21:07:22 249

原创 django+uwsgi+nginx部署项目

准备工具nginx 1.16.0nginx下载: wget http://nginx.org/download/nginx-1.16.0.tar.gzpcre 8.40pcre下载: wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz系统环境: ubuntu 16.04解压安装pc...

2019-07-17 11:28:42 149

原创 windows环境tornado搭建websocket

项目结构websocket server端代码在实际开发中用到了跨域,所以这里添加了跨域而且在tornado中如果websocket和发起websocket请求的网址不同源,会报403错误,所以在这里重写了check_origin这个方法。from abc import ABCimport tornado.webimport tornado.websocketimport tor...

2019-07-04 12:01:22 339

原创 windows10搭建apache服务

下载下载地址:http://www.apachehaus.com/cgi-bin/download.plx配置下载成功后解压,进入conf目录下打开httpd.conf修改Define SRVROT如图所示修改监听端口解锁下面图中所示的几个Module设置cgi访问路径开启虚拟主机配置配置文件修改成功后,使用命令httpd.exe -k install -...

2019-07-03 18:33:42 1480

原创 在ubuntu16.04下安装myqlclient遇到的一系列问题解决方案

错误1:/mysqlclient-1.4.2.post1.tar.gz ERROR: Complete output from command python setup.py egg_info: ERROR: /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File ...

2019-06-17 12:13:49 637

原创 python3通过udp实现组播数据的发送和接收

本文主要通过对海康摄像头进行抓包,模拟发送了udp包,并抓取摄像头返回的数据包,解析并提取相关信息。通过抓包发现,海康摄像头发送、接收数据使用udp协议,后来比较发现,使用python模拟起来比较简单。由于摄像头内置了udp协议的server端程序,本文主要使用python模拟客户端发送udp数据包。客户端代码import socketimport reANY = "0.0.0.0"...

2019-05-28 19:06:59 6873 6

原创 SOCK_STREAM和SOCK_DGRAM区别

sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信息。SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,SOCK_D...

2019-05-27 20:33:25 310

原创 爬虫的爬取策略概念:深度优先 广度优先

在爬虫系统中,待抓取URL队列是很重要的一部分,待抓取URL队列中的URL以什么样的顺序排队列也是一个很重要的问题,因为这涉及到先抓取哪个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面是常用的两种策略:深度优先、广度优先深度优先深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后才转入下一个起始页,然后继续追踪scrapy默认爬取策略就是...

2019-03-08 17:40:26 3896

原创 ubuntu mysql的安装测试卸载

https://www.cnblogs.com/jpfss/p/7944622.html

2019-03-08 14:30:18 152

原创 Ubuntu环境下创建python虚拟环境

首先ubuntu中默认已经安装python,选择合适的python版本首先应该安装pip工具,安装过程见另一篇文章,pip安装和更新直接安装virtualenvwrapperpip install virtualenvwrapper安装完成之后,创建用来存放虚拟环境的目录mkdir ~/.virtualenvs进入刚才创建的文件夹下,创建.bashrc文件并添加行vi...

2019-03-06 19:19:02 218

原创 Ubuntu16.04将python命令指向python3

第一步:将原来的python文件进行备份sudo cp /usr/bin/python /usr/bin/python_bak第二步:删除原来指向python2的文件sudo rm /usr/bin/python第三步:重新指向python3版本sudo ln -s /usr/bin/python3.5 /usr/bin/python...

2019-03-06 18:24:38 2130

原创 ubuntu下安装更新pip

sudo apt install python3-pip安装成功后进行更新:sudo pip3 install --upgrade pip升级完成之后就可以使用pip指令进行包管理了安装python包pip install packagename卸载python包pip uninstall packagename列出当前环境下所安装的python包pip list...

2019-03-06 18:13:14 3516

原创 使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilter

使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilterGithub下载链接:https://github.com/liyaopinner/BloomFilter_imooc精简版百度云盘链接: https://pan.baidu.com/s/11a_K_6WTifeHTG8lIY5ckQ 提取码: kq73安装mmh3库a>使用布隆去重之前需要安装mmh3...

2018-09-28 20:42:59 1907 1

原创 scrapyd部署爬虫项目

scrapyd部署爬虫项目:功能:它就相当于是一个服务器,用于将自己本地的爬虫代码,打包上传到服务器上,让这个爬虫在服务器上运行,可以实现对爬虫的远程管理。(远程启动爬虫,远程关闭爬虫,远程查看爬虫的一些日志。)scrapyd的安装pip install scrapydscrapyd-client的安装pip install scrapy-client注意:请务必保持scr...

2018-09-28 09:22:31 325

原创 scrapy部署分布式爬虫

首先需要下载redis数据库和Redis数据可的可视化工具,将redis数据库设置为远程连接打开该文件,修改里面的配置信息修改该值为主机IP地址关闭保护模式(将yes改为no)如果电脑中服务已经存在redis服务,需要将redis服务卸载之后,重新启动,并设置为自启。相关的redis命令如下:a> 安装服务redis-server --service-install r...

2018-09-26 20:29:27 609 1

原创 scrapy自定义pipeline的方法

重写该方法可以输出图片或者文件的存储路径下面这两个方法可以实现重命名图片或者文件的名称以及存储路径

2018-09-19 08:40:00 1036

原创 scrapy异步写入

下载图片和文本文件自定义图片存储pipeline,是基于Scrapy自带的ImagePipeline实现的,只需要在ImagePipeline的基础上重写图片的保存路径和名称相对应的方法。class ImagePipeline(ImagesPipeline): # 遍历图片的url,然后把图片的item传递给file_path def get_media_requests(self, ...

2018-09-18 09:18:06 327

空空如也

空空如也

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

TA关注的人

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