摘要:
python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制。 在python中实现反射 阅读全文
posted @ 2021-06-15 21:35
Palpitate~
阅读(78)
评论(0)
推荐(0)
摘要:
一、Python中RPC框架 自带的:SimpleXMLRPCServer(数据包大,速度慢) 第三方:ZeroRPC(底层使用ZeroMQ和MessagePack,速度快,响应时间短,并发高),grpc(谷歌推出支持夸语言) 二、SimpleSMLRPCServer使用 服务端 from xmlr 阅读全文
posted @ 2021-06-15 21:00
Palpitate~
阅读(77)
评论(0)
推荐(0)
摘要:
1、消息队列 1 两个服务调用:restful(http协议),rpc(远程过程调用) 2 rpc:远程过程调用 -gRPC:谷歌出的,跨语言 3 不管用rpc或者restful来通信,涉及到同步,异步 4 消息队列解决的问题 -应用解耦 -流量消峰 -消息分发(发布订阅:观察者模式) -异步消息( 阅读全文
posted @ 2021-06-15 20:57
Palpitate~
阅读(82)
评论(0)
推荐(0)
摘要:
# 0 主从搭建好了 # models.py from django.db import models class Book(models.Model): name = models.CharField(max_length=32) price = models.DecimalField(max_l 阅读全文
posted @ 2021-06-15 20:51
Palpitate~
阅读(62)
评论(0)
推荐(0)
摘要:
# 1 主从同步的流程或原理 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面; 4)slave有一个SQL线程,按照relay日志处理slave的数据; 阅读全文
posted @ 2021-06-15 20:50
Palpitate~
阅读(64)
评论(0)
推荐(0)
摘要:
# 1 双写一致性,redis和mysql数据同步,方案 https://www.cnblogs.com/liuqingzheng/p/11080680.html 1 先更新数据库,再更新缓存(一般不用) 2 先删缓存,再更新数据库(在存数据的时候,请求来了,缓存不是最新的) 3 先更新数据库,再删 阅读全文
posted @ 2021-06-15 20:48
Palpitate~
阅读(69)
评论(0)
推荐(0)
摘要:
# 让redis的主从复制高可用 1 搭一个一主两从 #创建三个配置文件: #第一个是主配置文件 daemonize yes pidfile /var/run/redis.pid port 6379 dir "/opt/soft/redis/data" logfile “6379.log” #第二个 阅读全文
posted @ 2021-06-15 20:46
Palpitate~
阅读(23)
评论(0)
推荐(0)
摘要:
原理 1. 副本库通过slaveof 127.0.0.1 6379命令,连接主库,并发送SYNC给主库 2. 主库收到SYNC,会立即触发BGSAVE,后台保存RDB,发送给副本库 3. 副本库接收后会应用RDB快照 4. 主库会陆续将中间产生的新的操作,保存并发送给副本库 5. 到此,我们主复制集 阅读全文
posted @ 2021-06-15 20:43
Palpitate~
阅读(40)
评论(0)
推荐(0)
摘要:
一、redis持久化 # 快照:某时某刻数据的一个完成备份, -mysql的Dump -redis的RDB # 写日志:任何操作记录日志,要恢复数据,只要把日志重新走一遍即可 -mysql的 Binlog -Redis的 AOF 1.1RDB # 触发机制-主要三种方式 -save:客户端执行sav 阅读全文
posted @ 2021-06-15 20:42
Palpitate~
阅读(34)
评论(0)
推荐(0)
摘要:
通用命令 ####1-keys #打印出所有key keys * #打印出所有以he开头的key keys he* #打印出所有以he开头,第三个字母是h到l的范围 keys he[h-l] #三位长度,以he开头,?表示任意一位 keys he? #keys命令一般不在生产环境中使用,生产环境ke 阅读全文
posted @ 2021-06-15 20:35
Palpitate~
阅读(131)
评论(0)
推荐(0)
摘要:
#下载 wget http://download.redis.io/releases/redis-5.0.7.tar.gz #解压 tar -xzf redis-5.0.7.tar.gz #建立软连接 ln -s redis-5.0.7 redis cd redis make&&make insta 阅读全文
posted @ 2021-06-15 20:33
Palpitate~
阅读(42)
评论(0)
推荐(0)
摘要:
# 1 广播方式(一般不用) -只要es节点能联通,ping,自动加人到节点中 # 2 单播方式 #1 elasticsearch1节点,,集群名称是my_es1,集群端口是9300;节点名称是node1,监听本地9200端口,可以有权限成为主节点和读写磁盘(不写就是默认的)。 cluster.na 阅读全文
posted @ 2021-06-15 19:53
Palpitate~
阅读(62)
评论(0)
推荐(0)
摘要:
1、原生集成 # https://github.com/elastic/elasticsearch-py # https://github.com/elastic/elasticsearch-dsl-py # Official low-level client for Elasticsearch # 阅读全文
posted @ 2021-06-15 19:51
Palpitate~
阅读(233)
评论(0)
推荐(0)
摘要:
#1 github下载相应版本 https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v7.5.2 # 2 解压到es的plugin目录下 # 3 重启es # ik_max_word 和 ik_smart 什么区别? i 阅读全文
posted @ 2021-06-15 19:50
Palpitate~
阅读(30)
评论(0)
推荐(0)
摘要:
1 match和term查询 # 并且和或者的条件 #并且 GET t3/doc/_search { "query": { "bool": { "must": [ { "match": { "title": "beautiful" } }, { "match": { "desc": "beautif 阅读全文
posted @ 2021-06-15 19:48
Palpitate~
阅读(54)
评论(0)
推荐(0)
摘要:
一 新增文档 #新增一个id为1的书籍(POST和PUT都可以) POST lqz/_doc/1/_create #POST lqz/_doc/1 #POST lqz/_doc 会自动创建id,必须用Post { "title":"红楼梦", "price":12, "publish_addr":{ 阅读全文
posted @ 2021-06-15 19:45
Palpitate~
阅读(41)
评论(0)
推荐(0)
摘要:
在Elasticsearch 6.0.0或更高版本中创建的索引只包含一个mapping type。 在5.x中使用multiple mapping types创建的索引将继续像以前一样在Elasticsearch 6.x中运行。 Mapping types将在Elasticsearch 7.0.0中 阅读全文
posted @ 2021-06-15 19:41
Palpitate~
阅读(45)
评论(0)
推荐(0)
摘要:
具体操作可以查看官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/7.5/indices.html> 官方2版本的中文文档 <https://www.elastic.co/guide/cn/elasticsearch/guide 阅读全文
posted @ 2021-06-15 19:36
Palpitate~
阅读(48)
评论(0)
推荐(0)
摘要:
一 倒排索引是什么 倒排索引源于实际应用中需要根据属性的值来查找记录,这种索引表中的每一个项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而成为倒排索引。带有倒排索引的文件我们称之为倒排索引文件,简称倒排文件 二 举例 例如有如下三个文件: 阅读全文
posted @ 2021-06-15 19:34
Palpitate~
阅读(92)
评论(0)
推荐(0)
摘要:
# 三种安装方式 # 推荐用第三种 **第一种:命令行** bin/elasticsearch-plugin install [plugin_name] # bin/elasticsearch-plugin install analysis-smartcn 安装中文分词器 **第二种:url安装** 阅读全文
posted @ 2021-06-15 19:32
Palpitate~
阅读(152)
评论(0)
推荐(0)
摘要:
1 第三方开发的一个es客户端(nodjs开发的,装node环境) 2 下载,解压 3 npm install 安装依赖 4 npm run serve 跑起来 或npm run start 5 会出现跨域,修改elasticsearch配置 -E:\Elasticsearch\elasticsea 阅读全文
posted @ 2021-06-15 19:31
Palpitate~
阅读(39)
评论(0)
推荐(0)
摘要:
1 客户端:浏览器,postman,kibana,elasticsearch-head(没有桌面版客户端) 2 官方提供的 -Kibana 是一款开源的数据分析和可视化平台 -Kibana一定要跟es版本对应,咱们用的都是7.5.0 3 解压,就可以运行 4 连接es,需要配置 -修改kibana配 阅读全文
posted @ 2021-06-15 19:30
Palpitate~
阅读(28)
评论(0)
推荐(0)
摘要:
// Elasticsearch 是一个基于Lucene的分布式搜索和分析引擎 // Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据 // Java开发,在Apache开源协议 // 使用L 阅读全文
posted @ 2021-06-15 19:28
Palpitate~
阅读(63)
评论(0)
推荐(0)
摘要:
1 gin beego Iris Echo 。。。 go语言中的web框架 2 django flask tornado sanic fastapi 3 gin:小巧精简的框架,类似于falsk,使用第三方插件 4 beego:大而全,django,缓存,session... 5 go代理:http 阅读全文
posted @ 2021-06-15 19:17
Palpitate~
阅读(280)
评论(0)
推荐(0)
摘要:
0 两个大点:减少交互,提高接口并发 前端 1 移动端还是web端,静态资源,使用cdn 2 图片,短视频,放在第三方存储上 3 精灵图,好多小图片做成一个图,在前端通过定位 4 使用前端存储 5 前端缓存:响应头中有Cache-Control:max-age=xxx 后端部署 6 使用nginx转 阅读全文
posted @ 2021-06-15 19:15
Palpitate~
阅读(147)
评论(0)
推荐(0)
摘要:
package main import ( "fmt" "os" ) // 异常处理 //defer:延迟执行,并且即便程序出现严重错误,也会执行 //panic:主动抛出异常 raise //recover:恢复程序,继续执行 // //func main() { // // defer fmt. 阅读全文
posted @ 2021-06-15 19:13
Palpitate~
阅读(28)
评论(0)
推荐(0)
摘要:
Mutex Mutex 用于提供一种加锁机制(Locking Mechanism),可确保在某时刻只有一个协程在临界区运行,以防止出现竞态条件。 Mutex 可以在 [sync] 包内找到。[Mutex] 定义了两个方法:[Lock]和 [Unlock](。所有在 Lock 和 Unlock 之间的 阅读全文
posted @ 2021-06-15 19:10
Palpitate~
阅读(47)
评论(0)
推荐(0)
摘要:
什么是 select? select 语句用于在多个发送/接收信道操作中进行选择。select 语句会一直阻塞,直到发送/接收操作准备就绪。如果有多个信道操作准备完毕,select 会随机地选取其中之一执行。该语法与 switch 类似,所不同的是,这里的每个 case 语句都是信道操作。我们好好看 阅读全文
posted @ 2021-06-15 19:08
Palpitate~
阅读(77)
评论(0)
推荐(0)
摘要:
什么是信道? 信道可以想像成 Go 协程之间通信的管道。如同管道中的水会从一端流到另一端,通过使用信道,数据也可以从一端发送,在另一端接收。 信道的声明 package main import ( "fmt" "time" ) //不同goroutine之间通信 //通过channel实现 func 阅读全文
posted @ 2021-06-15 19:06
Palpitate~
阅读(57)
评论(0)
推荐(0)
摘要:
go协程 package main import ( "fmt" "runtime" "time" ) //goroutine >协程 2kb大小,100 //线程 》几个m //go协程会复用线程 // goroutine之间通信,通过 信道channel 通信 //go推崇用信道通信,而不推崇用 阅读全文
posted @ 2021-06-15 19:02
Palpitate~
阅读(50)
评论(0)
推荐(0)
摘要:
Go 是并发式语言,而不是并行式语言。在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。 1 并发:同一时间段内,多个任务在执行(单个cpu,执行多个任务) 2 并行:同一时刻,多个任务在执行(多个cpu的支持) 并发是什么? 并发是指立即处理多个任务的能力。一个例子就能很 阅读全文
posted @ 2021-06-15 19:01
Palpitate~
阅读(47)
评论(0)
推荐(0)
摘要:
package main import "fmt" //定义MySet类型 type MySet map[interface{}]bool //判断元素是否存在 func (m MySet) isExist(a interface{}) bool { return m[a] } //返回set长度 阅读全文
posted @ 2021-06-15 18:57
Palpitate~
阅读(123)
评论(0)
推荐(0)
摘要:
结构体 package main import "fmt" //结构体:一系列属性的集合 //定义结构体(在包中定义了) //7 定义一个结构体,内涵匿名字段(字段没有名字) 匿名字段类型就是字段名,所有类型不能重复 //type Person struct { // string // int / 阅读全文
posted @ 2021-06-15 18:55
Palpitate~
阅读(47)
评论(0)
推荐(0)
摘要:
数组 package main import ( "fmt" ) //数组:数组是同一类型元素的集合。可以放多个值,但是类型一致,内存中连续存储 // Go 语言中不允许混合不同类型的元素 func main() { //1 数组的定义,数组的大小,在定义阶段就确定了,而且不能改 //定义了一个大小 阅读全文
posted @ 2021-06-15 18:54
Palpitate~
阅读(50)
评论(0)
推荐(0)
摘要:
// switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式 package main func main() { //1 基本使用 //num:=4 //switch num { //cas 阅读全文
posted @ 2021-06-15 18:46
Palpitate~
阅读(43)
评论(0)
推荐(0)
摘要:
1 没有while循环,没有do while循环,只有一个for循环 package main //for 循环 /* for 后面三部分,都可以省略 for 变量初始化;条件;变量自增/自减 { 循环体内容 } */ func main() { //1 基本使用 //for i:=0;i<10;i 阅读全文
posted @ 2021-06-15 18:44
Palpitate~
阅读(34)
评论(0)
推荐(0)
摘要:
package main import "fmt" //if-else func main() { //1 if else a := test() //if a>10{ // fmt.Println("a大于10") //}else { // fmt.Println("a小于10") //} //2 阅读全文
posted @ 2021-06-15 18:43
Palpitate~
阅读(55)
评论(0)
推荐(0)
摘要:
#1 包:模块的意思 #2 自定义包 -go语言的代码必须放在gopath的src路径下 -包导入是从gopath的src路径下开始检索(开始找) -除了main包以外,建议包名就叫文件夹名,一个文件夹下的包名必须一致 -同一个包下,变量,函数只能定义一次 -同一个包下的变量和函数可以直接使用 -包 阅读全文
posted @ 2021-06-15 18:42
Palpitate~
阅读(32)
评论(0)
推荐(0)
摘要:
函数基础 package main import "fmt" //给类型命别名 type MyFunc func(a,b int)(int,string) type Myint int //函数 func main() { var a int =10 var b Myint=9 fmt.Printl 阅读全文
posted @ 2021-06-15 18:41
Palpitate~
阅读(50)
评论(0)
推荐(0)
摘要:
变量 // 变量 package main func main() { //1 定义变量的第一种方式:全定义 //var关键字 变量名 变量类型 = 变量值 //var age int =10 //在go中,变量定义了就必须使用,如果不使用就报错 //fmt.Println(age) //2 定义变 阅读全文
posted @ 2021-06-15 18:39
Palpitate~
阅读(24)
评论(0)
推荐(0)
摘要:
go介绍 #1 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言 #2 解释型,编译型 Go是静态(编译型)强类型语言,是区别于解析型语言的弱类型语言(静态:类型固定 强类型:不同类型不允许直接运算)。 python动态强类型语言 解析型语言——源代码是先翻译为中间 阅读全文
posted @ 2021-06-15 18:36
Palpitate~
阅读(71)
评论(0)
推荐(0)
摘要:
1、应用部署 # 在容器内部署mysql # -e表示环境变量 docker run -di --name=mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 官方提供的 docker run --name some-mysql 阅读全文
posted @ 2021-06-15 17:24
Palpitate~
阅读(84)
评论(0)
推荐(0)
摘要:
1、docker介绍 详情参见:https://www.cnblogs.com/xiaoyuanqujing/p/11839932.html 0 各种软件用什么语言写的 zabbix(监控软件):php ansible(批量管理主机,执行命令,无angent):python # angent客户端 阅读全文
posted @ 2021-06-15 17:19
Palpitate~
阅读(61)
评论(0)
推荐(0)
摘要:
常用命令 1 tree /home/ 树状形式显示 yum install tree 2 cat :查看文本内容 cat >> test2.txt <<EOF > ads > adf > EOF 3 less,more:文本查看,分页 less /etc/services 4 head -n1 /e 阅读全文
posted @ 2021-06-15 17:10
Palpitate~
阅读(53)
评论(0)
推荐(0)
摘要:
1、目录介绍 1 linux 是单根 / 根路径,windows是多根 2 bin和sbin:bin普通用户命令,超级用户命令 都是usr下的文件夹软链接到根路径 3 home 、root:home普通用户的家路径,home下的用户名的文件夹 -用户一登录系统,是在自己的家路径 jack--》/ho 阅读全文
posted @ 2021-06-15 17:05
Palpitate~
阅读(54)
评论(0)
推荐(0)
摘要:
1、什么是Bash shell(壳) 是一个命令解释器,就是一个软件 执行就是bash,可以在里面输入命令,做交互,exit退出 2、能干什么 原来在windows上点点点完成的是,它都能做到 使用Shell实现对Linux系统的大部分管理,例如: 1.文件管理(文件创建,移动,复制,删除,编辑…) 阅读全文
posted @ 2021-06-15 17:00
Palpitate~
阅读(38)
评论(0)
推荐(0)
摘要:
一、Linux历史 Linux:和我们常见的Windows一样,都是操作系统,但不同的是: Windows: 收费,不开源,主要用于日常办公、游戏、娱乐多一些。 Linux: 免费,开源,主要用于服务器领域,性能稳定,安全。 例如:淘宝、百度、腾讯等互联网公司,他们使用的服务器全都是 Linux 系 阅读全文
posted @ 2021-06-15 16:55
Palpitate~
阅读(40)
评论(0)
推荐(0)
摘要:
sed 语法 sed 选项 "定位+命令" 文件路径 流式编辑器,主要擅长对文件的编辑操作,我们可以事先定制好编辑文件的命令,然后让sed 自动完成对文件的整体编辑 选项 -n 取消默认输出 -r 支持扩展正则元字符 -i 立即编辑文件 定位 行定位 1 定位到第一行 1,3代表从第一行到第三行 不 阅读全文
posted @ 2021-06-15 16:48
Palpitate~
阅读(33)
评论(0)
推荐(0)
摘要:
一、常用系统命令汇总 1、echo命令:输出字符串或变量提取后的值 语法:echo[字符串][$变量] 示例: [root@localhost ~]# echo sssss >>>sssss [root@localhost ~]# echo $SHELL /bin/bash 2、date命令:显示及 阅读全文
posted @ 2021-06-15 16:35
Palpitate~
阅读(204)
评论(0)
推荐(0)
摘要:
Scrapy介绍 #1 通用的网络爬虫框架,爬虫界的django #2 scrapy执行流程 5大组件 -引擎(EGINE):大总管,负责控制数据的流向 -调度器(SCHEDULER):由它来决定下一个要抓取的网址是什么,去除重复的网址(集合,布隆过滤器) -深度优先 -摁着一条线爬取 -先进先出 阅读全文
posted @ 2021-06-15 15:44
Palpitate~
阅读(46)
评论(0)
推荐(0)
摘要:
from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素 impo 阅读全文
posted @ 2021-06-15 15:31
Palpitate~
阅读(115)
评论(0)
推荐(0)
摘要:
# 为了解决requests无法直接执行JavaScript代码的问题 # # pip3 install selenium # 浏览器驱动:http://npm.taobao.org/mirrors/chromedriver/ # 驱动要跟浏览器版本对应 84.0.4147.105:驱动用84.0. 阅读全文
posted @ 2021-06-15 15:30
Palpitate~
阅读(48)
评论(0)
推荐(0)
摘要:
# xpath教程 # https://www.w3school.com.cn/xpath/index.asp # xpath: XPath 是一门在 XML 文档中查找信息的语言 # / :从根节点选取。 # // :不管位置,直接找 # /@属性名 # /text() # 会复制() doc=' 阅读全文
posted @ 2021-06-15 15:29
Palpitate~
阅读(69)
评论(0)
推荐(0)
摘要:
爬取拉勾网职位信息 参考博客:https://www.cnblogs.com/wsmrzx/p/10993640.html #https://www.lagou.com/jobs/positionAjax.json?city=%E4%B8%8A%E6%B5%B7&needAddtionalResul 阅读全文
posted @ 2021-06-15 15:27
Palpitate~
阅读(74)
评论(0)
推荐(0)
摘要:
# 1 验证码破解 图像处理 # 2 专业打码平台,破解验证码(收费) # 申请超级鹰,注册 # 登录,下载sdk(代码如下),填入用户名密码,软件id #!/usr/bin/env python # coding:utf-8 import requests from hashlib import 阅读全文
posted @ 2021-06-15 15:23
Palpitate~
阅读(227)
评论(0)
推荐(0)
摘要:
介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.你可能在寻找 Beautiful Soup3 的文档,Beautiful 阅读全文
posted @ 2021-06-15 15:20
Palpitate~
阅读(41)
评论(0)
推荐(0)
摘要:
安装 pip3 install requests 使用 import requests # 1 发送get请求 # res是python的对象,对象里,响应头,响应体。。。。 # header = { # 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WO 阅读全文
posted @ 2021-06-15 15:18
Palpitate~
阅读(53)
评论(0)
推荐(0)
摘要:
爬虫介绍 1 爬虫:网络蜘蛛 2 爬虫本质:模拟浏览器发送请求(requests,selenium)->下载网页代码->只提取有用的数据(bs4,xpath,re)->存放于数据库或文件中(文件,excel,mysql,redis,mongodb) 3 发送请求:请求地址(浏览器调试,抓包工具),请 阅读全文
posted @ 2021-06-15 15:15
Palpitate~
阅读(91)
评论(0)
推荐(0)
摘要:
0 Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并 阅读全文
posted @ 2021-06-15 15:07
Palpitate~
阅读(53)
评论(0)
推荐(0)

浙公网安备 33010602011771号