![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术
文章平均质量分 55
_1forward
这个作者很懒,什么都没留下…
展开
-
git svn:使用 git 命令来管理 svn 仓库
git svn 使用git 来管理svn仓库原创 2023-08-24 20:28:20 · 784 阅读 · 0 评论 -
python 实现RSA非对称加密
【代码】python 实现RSA非对称加密。原创 2022-09-15 17:51:15 · 1077 阅读 · 1 评论 -
通过keepalived配置nginx高可用集群负载均衡
关键字:keepalived 配置nginx高可用, nginx负载均衡 ,mysql集群使用nginx配置负载均衡一. 组件概览Nginx (“engine x”) 是一个开源的,支持高性能、高并发的 Web 服务和代理服务软件。Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到(本教程通过定时检测nginx服务是否正常运行来判断web服务器是否宕机),并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服原创 2021-09-18 00:06:27 · 553 阅读 · 0 评论 -
centos7 zookeeper集群搭建
zookeeper集群搭建1 Zookeeper 集群部署至少需要三台机器,这里采用三台节点 10.0.11.54 10.0.11.56 10.0.11.57,ZK 集群有自动选主机制, 只需要集群部署过程将单实例组装起来就可以完成ZK 集群的搭建2 在三台节点分别安装zookeeperZK 单实例安装过程较简单,具体过程不再赘述3 配置myid文件(重要)zk 集群需要在配置的数据目录中手动创建myid 文件,并且在文件中写入本zk实例在集群中的序号(集群中的id 需要保证唯一)原创 2021-09-17 22:10:00 · 598 阅读 · 0 评论 -
centos7 rabbitmq集群搭建
rabbitmq集群搭建1 分别在3台节点安装rabbitmq-server在3台虚拟机(10.0.11.54 10.0.11.56 10.0.11.57)分别安装相同版本的rabbitmq-server及erlang,2 分别修改三台节点的/etc/hosts文件注意必须修改主机名hostnamectl set-hostname node1 # node2,3以此类推每台节点hosts文件修改后如下3 将三台节点的.erlang.cookie内容修改一致(不一致创建集群会报错原创 2021-09-17 21:44:21 · 695 阅读 · 0 评论 -
python 多进程 多线程 常用的方法
记录一下python 多进程 多线程 常用的方法README: todo 1-26 分别对应一个demo,通过demo来记忆方法# todo 1# 单进程实现唱歌跳舞# from time import sleep## def sing():# for i in range(3):# print("正在唱歌...%d"%i)# sleep(1)## def dance():# for i in range(3):#原创 2020-12-01 23:40:40 · 157 阅读 · 0 评论 -
python描述符(器)浅显易懂
转载原文链接:https://juejin.cn/post/684490383196948017学习 Python 这么久了,说起 Python 的优雅之处,能让我脱口而出的, Descriptor(描述符)特性可以排得上号。描述符 是Python 语言独有的特性,它不仅在应用层使用,在语言的基础设施中也有涉及。我可以大胆地猜测,你对于描述符的了解是始于诸如 Django ORM 和 SQLAlchemy 中的字段对象,是的,它们都是描述符。你的它的认识,可能也止步于此,如果你没有去深究,它为何要如此转载 2020-11-19 21:39:32 · 119 阅读 · 0 评论 -
数字签名的原理(转)
首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。1. 非对称加密在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此,私钥也可以认为是个人身份的证明。如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的...转载 2019-12-15 09:35:35 · 192 阅读 · 0 评论 -
linux目录英文缩写(理解记忆转)
原文链接:https://blog.csdn.net/kamputer/article/details/87068140目录含义/binuser binaries/sbinSystem binaries/etcet cetera/devdevice files/procprocess information/varvariable fi...原创 2019-11-22 21:43:53 · 473 阅读 · 0 评论 -
Linux的目录结构以及意义(转)
在 Linux 下,我们看到的是文件夹(目录):原文 https://www.cnblogs.com/dengyungao/p/8426878.html在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Sta...原创 2019-11-22 01:21:39 · 471 阅读 · 0 评论 -
django中queryset的切片是左闭右开吗
原文:https://www.douban.com/note/365240146/学习老王python的"提高model效率的方法"时,看到分片可以对QuerySet用,手动试了一下,发现了点特殊的情况。原文建议使用:news = News.objects.all()[1:10]而非:news = News.objects.all()news = news[1:10]经测试发现,因为...原创 2019-11-21 03:56:14 · 256 阅读 · 0 评论 -
23种设计模式(转)
设计模式似一坛老酒,越品越香原文地址:https://blog.csdn.net/jason0539/article/details/44956775设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观...原创 2019-11-21 02:22:20 · 76 阅读 · 0 评论 -
Serializer和ModelSerializer
参考链接https://blog.csdn.net/weixin_44649870/article/details/99876327转载 2019-11-21 01:15:02 · 119 阅读 · 0 评论 -
数据结构之八种排序(c语言)
8种排序的时间复杂度和稳定性 排序方法 平均情况 最坏情况 最好情况 稳定性 1.冒泡排序 N^2 N^2 n 稳定 2.选择排序 N ...原创 2019-11-19 02:50:30 · 801 阅读 · 0 评论 -
prefetch_related和select_related的区别
参考链接:https://www.kancloud.cn/sindwerra/django/611518原创 2019-11-15 20:36:52 · 237 阅读 · 0 评论 -
正则表达式
面向搜索引擎编程之正则正则这块接触很久了,但每次一写正则都感觉很陌生,可能用的少把,发个博客激励自己,勇敢的面对正则https://deerchao.cn/tutorials/regex/regex-1.htm 推荐一个关于正则的新手入门的网站...原创 2019-11-15 02:17:04 · 197 阅读 · 0 评论 -
django中path()和url()的区别
在翻阅Django2.0官方中文文档时,入门篇中的样例使用的是path部署路由,我想用Django1.x中的正则形式去匹配链接,但是怎么匹配,网页都是弹出page not found错误,显示找不到链接,不得已的情况下将path换为了url发现网页能够正常匹配显示。通过查阅相关文档发现,Django2.x中的path不支持正则匹配,但在同一目录下的re_path与Django1.x中的url功能...转载 2019-11-15 01:38:21 · 7968 阅读 · 0 评论 -
正则中的^和$的理解
开头与结尾全字匹配的时候,有时我们要限制匹配结果所在的位置,比如,当你要在一堆手机号中查找 130 号段的号码,此时如果使用全字匹配,你可能会匹配到 18712341301 这样的结果,因为其中包含了 130 这个子串,但是我们需要的是 130 开头的号码,所以全字匹配不能满足需求了。此时,只要在全字匹配的正则中添加一个特殊符号 ^,这个特殊符号仅仅作为一个位置标记符,表示整个要匹配的目标字符串...转载 2019-11-15 01:10:37 · 12962 阅读 · 0 评论 -
WSGI(Web Server Gateway Interface)
在解释WSGI之前我们先说一下web。Web应用的本质:浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。Apach...转载 2019-11-14 23:38:45 · 234 阅读 · 0 评论 -
深入理解python的装饰器和闭包(转)
<p>函数的装饰器可以以某种方式增强函数的功能,如在 Flask 中可使用 <code>@app.route('/')</code> 为视图函数添加路由,是一种十分强大的功能。在表现形式上,函数装饰器为一种嵌套函数,这其中会涉及到闭包的概念。而在嵌套函数之间,外部函数中的变量相对于内部函数而言为自由变量,使用时可能需要借...转载 2019-11-14 01:31:43 · 234 阅读 · 0 评论 -
python学习路线(猪哥66转)
转载 2019-11-14 00:12:42 · 315 阅读 · 1 评论 -
理解python中的多态(转)
原文链接:https://zhuanlan.zhihu.com/p/40378332多态是面向对象编程(OOP)的核心概念之一。在计算机科学中,它描述了可以通过相同的接口访问不同类型的对象的概念。每种类型都可以提供自己独立的接口实现。通俗一点来说,同一类型的对象调用同一个方法,表现出不同行为,就是多态**。java中的多态/** * ArrayDemo.java */packag...转载 2019-11-13 23:56:55 · 200 阅读 · 0 评论 -
json,js对象,python字典三者如何区分
json、js 对象、python字典三者看起来都一样很难区分,尤其是在python web前后端分离以后,三者更是有密切联系,这里我写篇博客记录一下三者的区别JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。如var obj = {a: 'ni', b: 'hao'}; //这是一个js对象, ...原创 2019-11-13 23:00:02 · 1362 阅读 · 0 评论 -
刨根问底!!到底什么是文件?什么是流
一个困惑编程初学者的问题:“到底什么是流(Stream)?” 很多人会这样解释:流就像水管一样,文件等就像是水池,你可以通过流从水池里取水或者存水。看似形象的解释一点不好玩,只会让初学这更加一头雾水。特别是刚接触Java 的看到各种InputStream、OutputStream 肯定是崩溃的,每种Stream都是干什么的,到底什么时候用哪种?。最开始我也一样,听完水管的的比喻感觉自己懂了,可是...原创 2019-11-13 21:57:56 · 4696 阅读 · 0 评论 -
python中os和sys两个模块的区别(转)
os和sys这两个模块从名字来讲,太难区分,专门写篇博客来区分一下 <os和sys的官方解释>➤os os: This module provides a portable way of using operating system dependent functionality. 这个模块提供...转载 2019-11-13 19:36:21 · 111 阅读 · 0 评论 -
python字符串常用的函数
字符串在项目中经常用到,关于字符串的操作简单总结一下查找 string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 string.rfind(str, beg=0, e...原创 2019-11-13 17:46:13 · 98 阅读 · 0 评论 -
django配置文件中的allow_hosts有什么用?
ALLOWED_HOSTS的作用ALLOWED_HOSTS是用来设置允许哪些主机访问我们的django后台站点,如果项目没有部署到远程服务器,且DEBUG = True(线下模式,允许调试),默认 有ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’, ‘[::1]’],即默认允许本地主机访问django后台如果项目上线部署到远程服务器,那就必须设置allo...原创 2019-11-13 11:05:25 · 5416 阅读 · 0 评论 -
Mongodb常用命令总结
Mongo的三元素三元素:数据库,集合,文档集合就是关系数据库中的表 ,文档对应着关系数据库中的行, 文档就是一个对象,由键值对构成,是json的扩展Bson形式,如{‘name’:‘guojing’,‘gender’:‘男’},数据库是一个集合的物理容器,一个数据库中可以包含多个集合,一个集合包含多个文档, 一个服务器通常有多个数据库数据库操作查看当前数据库名称db查看所有数据...原创 2019-11-13 01:56:58 · 122 阅读 · 0 评论 -
Django中的抽象模型类
Django 模型类的都有一个内部类叫做Meta,它用于定义一些Django模型类的行为特性。Meta类有一个类属性叫做abstract这个属性是定义当前的模型类是不是一个抽象类。所谓抽象类在我们执行迁移的时候是不会生成对应的数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。比如下面的代码中Human是一个抽象类,Employee是一个继承了Human的子类,那...原创 2019-11-12 19:26:09 · 383 阅读 · 0 评论 -
ubuntu+nginx+uwsgi部署django项目,实现反向代理+负载均衡
windows远程连接Ubuntu常用软件:secureCRT,ssh,crf,xshell等。其中文件操作功能基本都需要root账户才能有上传权限。但是root账户默认不能远程登录,所以需要以下配置:为root设置密码:sudo passwd root根据提示输入密码修改ssh功能配置文件:$ sudo vi /etc/ssh/sshd_config#找到PermitRoot...原创 2019-11-12 02:06:40 · 519 阅读 · 0 评论 -
redis消息队列+mongo持久化--分布式爬虫实现
来我公司做爬虫吧,会坐牢的那种scrapy通过多线程+异步大大提高了爬取效率,但是他本质上还是单进程,还是不够快,而scrapy-redis在scrapy的基础上解决了这个问题,scrapy-redis最核心的目的就是通过多台从机突破了我们的带宽限制,提高了效率,这种类似于多进程的思想,这里的多进程其实是多台电脑,如下图-步骤一、服务主机的配置1 修改redis-server配置,...原创 2019-11-12 01:21:01 · 391 阅读 · 0 评论 -
redis 5种数据类型增删改查(转)
1 # 字符串 string 2 (1)添加数据 3 set key value # 添加一条 4 mset key value [key value...] # 添加多条 5 append key value # 添加到末尾 6 (2) 删除数据 7 del key # 删除key 8 flushdb #删除当前数据库所有key...转载 2019-11-11 20:41:39 · 392 阅读 · 0 评论 -
使用VUE+Vant组件库实现小米商城app
1 cd到某个文件夹,在命令窗口输入 vue create xiaomi创建vue项目2 在vscode中打开项目 xaomi,可以看到以下项目结构node_modules 包与依赖存放位置public 根模板文件src 项目源文件.gitigonore 当文件用git方式上传(git忽略文件)babel.config....原创 2019-11-11 03:11:05 · 2674 阅读 · 26 评论 -
什么是消息队列(MQ)?
一、什么是消息队列?消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术,反正我是觉得它好像是挺牛逼的。消息队列,一般我们会简称它为MQ(Message Queue),嗯,就是很直白的简写。我们先不管消息(Message)这个词,来看看队列(Queue)。这一看,队列大家应该都熟悉吧。队列是一种先进先出的数据结构。到这里,大家可以先猜猜为什么要用消息队列(MQ)这种中间...原创 2019-11-11 01:54:11 · 382 阅读 · 0 评论 -
python中多进程优于多线程?
经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?首先强调背景:1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定。2、每个CPU在同一时间只能执行一个线程(在单核CPU下的多线程其实都只是并发,不是并行,并发和并行从宏观上来讲都是同时处理...原创 2019-11-11 01:19:30 · 91 阅读 · 0 评论 -
python使用协程与不使用协程的对比
为什么使用geventPython通过yield提供了对协程的基本支持,但是不完全。比如python的yield虽然提供了对协程的支持,但是需要用send手动发送数据(比如io操作时的切换,需要发送 “耗时操作完成”告诉程序可以继续往下走),才能改变程序的执行流程,,而第三方的gevent为Python提供了比较完善的协程支持。gevent的优点gevent是第三方库,通过greenl...原创 2019-11-07 21:31:28 · 306 阅读 · 0 评论 -
谈谈你对关系型数据库和非关系型数据库的理解
关系型数据库1、概念关系型数据库:指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。2、优点通过数据库提供的语法(SQL语句)方便在多个表之间 , 做非常复杂的数据查询事务支持 , 安全性能高3、缺点不擅长大量数据的写入处理不擅长为有数据更新的表 , 做索引或表结构变更简单查询返回结果不...原创 2019-11-07 04:18:51 · 1063 阅读 · 0 评论 -
拜托,不要再问我生成器、迭代器、可迭代对象的区别了
目标在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典以及推导式(list,set,dict comprehension)众多概念参杂在一起,让人一头雾水,我将用一篇文章将这些概念以及它们之间的关系捋清楚。1 容器定义: 容器是一种把多个元素组织在一起的数据结构,容器中的...原创 2019-11-07 03:38:35 · 252 阅读 · 0 评论 -
Fiddler抓包工具的用法以及对手机抓包的配置
1 Fiddler和wireshark的区别Fiddler和wireshark是常用的抓包工具,Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。所以,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就...原创 2019-11-07 01:31:31 · 489 阅读 · 0 评论 -
python是动态语言还是静态语言?强类型语言还是弱类型语言
首先要清楚静态类型语言和动态类型语言的判别的标准定义:如果类型检查发生在编译阶段(compile time),那么是静态类型语言(statically typed languages)中,相反的,如果类型检查发生在运行阶段(run time),那么是动态类型语言(dynamically typed languages)什么是类型检查类型检查就是查看变量的类型,然后判断这个表达式是合理的,可...原创 2019-11-06 21:52:23 · 12596 阅读 · 1 评论