摘要: 一.初识roles 上节中我们已经了解了playbook,详见 https://www.cnblogs.com/wangtaobiu/p/10691689.html 当我们在配置playbook时会发现它会越来越庞大,所有的tasks,handles,templates等任务或文件都写在一个yml文 阅读全文
posted @ 2019-04-16 19:19 屁桃 阅读(1554) 评论(0) 推荐(0) 编辑
摘要: 一.什么是ad-hoc和playbook ad-hoc : 如果我们敲入一些命令去快速的完成一些操作,而不需要将这些执行过的命令刻意保存下来,这样的命令就叫做as-hoc命令,这里不做过多赘述. playbook : 简单的说,playbook是一种简单的配置管理系统与多机器部署系统的基础.与现有的 阅读全文
posted @ 2019-04-11 19:00 屁桃 阅读(968) 评论(0) 推荐(0) 编辑
摘要: 1.fetch模块, 将远程机器上的文件拉取到本地,以ip或者主机名生成目录,并保留原来的目录结构,与copy模块的功能相反. 主要参数 : dest -- 目标地址 src -- 源地址 例子 : ansible web -m fetch -a "dest=/tmp src=/var/log/cr 阅读全文
posted @ 2019-04-10 16:40 屁桃 阅读(294) 评论(1) 推荐(1) 编辑
摘要: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。 ansible的安装 阅读全文
posted @ 2019-04-09 17:02 屁桃 阅读(269) 评论(0) 推荐(1) 编辑
摘要: yum源的配置 yum 得配置yum源,配置阿里云的 两个 yum源 ,阿里云的yum源中,会有 mariadb的软件包 阿里云的yum仓库中,mariadb版本如下 mariadb x86_64 1:5.5.60-1.el7_5 os 8.9 M mariadb-server x86_64 1:5 阅读全文
posted @ 2019-04-09 14:34 屁桃 阅读(208) 评论(0) 推荐(0) 编辑
摘要: ifconfig 查看linuxip地址 远程登录linux ssh root@服务器的ip地址 linux文件目录结构: 学习linux的基本文件夹命令 增 mkdir 新建文件夹 mkdir 文件的名 mkdir s17 #新建名字叫做s17的文件夹 mkdir -p ./s17/nan/yuj 阅读全文
posted @ 2019-04-09 14:21 屁桃 阅读(201) 评论(0) 推荐(0) 编辑
摘要: python的re模块中有贪婪匹配和非贪婪匹配之分,当使用*时会匹配零个或多个,使用+时会匹配一个或多个.当使用?在前边特殊符号前时会进行非贪婪匹配,匹配零个或者一个,今天主要讨论非贪婪匹配中存在的坑. 从上边例子中可以看出,当带有'?'的部分单独处于正则开头并且后边没有其它匹配条件时,匹配结果会多 阅读全文
posted @ 2019-04-08 23:09 屁桃 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 装饰器的本质是一个闭包函数,作用在于不改变原函数功能和调用方法的基础上给它添加额外的功能.装饰器在装饰一个函数时,原函数就成了一个新的函数,也就是说其属性会发生变化,所以为了不改变原函数的属性,我们会调用functools中的wraps装饰器来保证原函数的属性不变.下边以一个简单的例子展示wraps 阅读全文
posted @ 2019-03-28 13:45 屁桃 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: Flask是使用python写的一个简单轻量级的框架,今天我们使用Flask实现一个简单的单聊和群聊功能 . 主要思路 : 前端登录聊天室,聊天室信息包含用户的登录信息,相当于一个登录功能,会把这个信息记录在url中发送给后端,后端会把登录信息作为识别用户的标志,url中的信息会作为key值存在一个 阅读全文
posted @ 2019-03-27 22:23 屁桃 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 1.简述解释型和编译型语言? 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。 编译型 : 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件, 阅读全文
posted @ 2019-03-27 08:21 屁桃 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 实现对话机器人主要有个步骤 : 一.前端收集语音传入后端 二.后端基于百度AI接口进行语音识别,转换成文字 三.对文字进行自定义验证或通过图灵端口进行处理,生成回复内容 四.将文字通过百度AI接口合成音频传入前端 一.前端收集语音传入后端 先调用浏览器的多媒体对象(代码中的 || 表示针对不同的浏览 阅读全文
posted @ 2019-03-26 21:32 屁桃 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: 路径导航 : 1.怎样设置需要登录但又不需要验证权限的路径 : 在settings中定义一个列表,列表中以正则的方式放入需要登录但无需验证的权限的项.在中间件中进行循环访问,如有符合的项,立即return即可,但要注意中间件中定义的其它必须项,可设置为None. request.current_me 阅读全文
posted @ 2019-03-26 19:13 屁桃 阅读(937) 评论(1) 推荐(1) 编辑
摘要: 权限控制到按钮级别 : 1.思路 : 由于每个按钮都能认为是一个权限,所以每个按钮都会有一个自己的路径,这些路径都在用户登录时保存在了session中,django在渲染页面之前先进行权限的匹配,如果用户没有某个按钮的权限,那么这个按钮就不会被渲染,从而实现权限的控制. 重点在于能快速的在sessi 阅读全文
posted @ 2019-03-26 19:10 屁桃 阅读(1283) 评论(0) 推荐(1) 编辑
摘要: 非菜单权限的归属 : 1.设置表结构 : 在权限表中添加自连接的外键patent,parent_id连接permission表的id,可为空,当有parent_id时,说明它是一个普通的权限(子权限);当parent_id为空时,说明它是一个二级菜单(父权限). 2.假设登录成功,经过view视图, 阅读全文
posted @ 2019-03-26 19:07 屁桃 阅读(245) 评论(0) 推荐(1) 编辑
摘要: 1.启动 - 配置环境变量 MongoDB/3.4/bin 通过命令 mongod 来启动 MongoDB 默认端口 27017 redis:6379 Mysql:3306 可以指定数据库存放目录,但在登录时必须指定路径: mongod --dbpath="指定数据库存放路径" 2.应用连接Mong 阅读全文
posted @ 2019-03-26 19:03 屁桃 阅读(321) 评论(0) 推荐(1) 编辑
摘要: 一.什么是jQuery jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,提高开发效率。 js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里即可。jQuery的核心思想为"write less,do more!" jQuery通过易于使用的 阅读全文
posted @ 2019-01-08 20:45 屁桃 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 一.函数参数补充 动态参数: 动态位置参数 *args #动态位置参数获取的是一个元组(万能传参),*号后边的字母可以自己定义,通常会用 args. 动态关键字参数 **kwargs #动态关键字传参或取到的是一个字典形式 参数位置: 位置参数 > 动态位置参数 > 默认(关键字)参数 >动态关键字 阅读全文
posted @ 2018-11-01 16:39 屁桃 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 函数的语法: def func(): #定义函数 print('多少钱') #代码块(函数体) func() #调用函数 必须加小括号 在函数中,当程序运行碰到return时,就结束函数 1.return 返回值,没有返回内容就返回None,返回一个值的时候就是本身,返回多个值就时元组 2.prin 阅读全文
posted @ 2018-10-31 20:01 屁桃 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 一.文件 在python中我们通常使用open()函数打开一个文件,并添加句柄,随后通过文件句柄对文件进行操作. f = open(文件命名必须是字符串,模式,编码集) 打开文件 1.文件的的打开方式: 文件的打开方式有:r(只读),w(覆盖写),a(追加) r+(读写),w+(写读),a+(追加读 阅读全文
posted @ 2018-10-30 21:29 屁桃 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一.集合 set 集合是无序的,天然能去重,是可变的.例:s = {1,2,3,4,5} 集合的基本操作: 1.增 s = {1,2,3,'22',,'ss',(3,4)} s.add('元素') s.update('alex') #迭代添加 'alex'会被分割添加 2.删 s = {1,2,3, 阅读全文
posted @ 2018-10-29 20:22 屁桃 阅读(324) 评论(0) 推荐(0) 编辑