自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 Linux并发与同步

进程中     线程堆栈      程序控制权       作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现方式有异于其它的UNIX系统,但Li...

2018-08-31 01:03:35 149

转载 python并发编程之多进程、多线程、异步和协程

一、多线程  多线程就是允许一个进程内存在多个控制权,以便让多个函数同时处于激活状态,从而让多个函数的操作同时运行。即使是单CPU的计算机,也可以通过不停地在不同线程的指令间切换,从而造成多线程同时运行的效果。  多线程相当于一个并发(concunrrency)系统。并发系统一般同时执行多个任务。如果多个任务可以共享资源,特别是同时写入某个变量的时候,就需要解决同步的问题,比如多线程火车售...

2018-08-31 00:53:05 202

转载 python IO 多路复用 select poll epoll

epoll解决每次都要遍历检测所有fd是否可用,效率低的问题。对于第三个缺点,epoll的解决方法不像select和poll每次对所有fd进行遍历轮询所有fd集合,而是在注册新的事件时,为每个fd指定一个回调函数,当设备就绪的时候,调用这个回调函数,这个回调函数就会把就绪的fd加入一个就绪表中。(所以epoll实际只需要遍历就绪表)。  select select 原理sel...

2018-08-31 00:28:43 247

转载 聊聊C10K问题及解决方案

1 C10K问题大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个Html页面,用户在浏览器中查看网页上的信息。这个时期也不存在C1...

2018-08-31 00:11:18 197

转载 Linux 下的五种 IO 模型详细介绍

概念说明用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系...

2018-08-30 17:20:52 247

转载 supervisor管理进程工具配置

https://blog.csdn.net/xyang81/article/details/51555473http://blog.51cto.com/xuding/1730952https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140262673295076f525a...

2018-08-29 17:38:46 316

转载 yield与send实现协程操作

1.注意,是传递给yield,而不是x2.这里我们要明确一点,yield的返回值和传给yield的值是两码事!!3.生成器 函数执行完 抛出 异常StopIteration#当生成器内部执行到return语句时(或者隐式的 return None),自动抛出StopIteration异常,return的值将作为异常的解释 yield与send实现协程操作之前我们说过,...

2018-08-29 01:09:20 320

原创 ansible tempfile模块

#!/usr/bin/python# -*- coding: utf-8 -*-# Copyright: (c) 2016, Krzysztof Magosa <krzysztof@magosa.pl># Copyright: (c) 2017, Ansible Project# GNU General Public License v3.0+ (see COPYING o...

2018-08-28 10:06:42 719

转载 ansible插件自定义开发

8.1 Ansible插件使用场景1)除Paramiko、本机SSH、Local、Winrm连接方式外,希望Ansible基于新的通信方式与远程主机交互;2)除Ansible内置的with_items、with_fileglob循环体外,希望有新的遍历方式;3)除了Ansible内置的host_vars、group_vars等变量调用方式外,希望有新的变量定义方式;4)除了Ansi...

2018-08-27 23:59:50 1928

转载 ansible 模块自定义开发

def main(): module = AnsibleModule( # not checking because of daisy chain to file module argument_spec=dict( src=dict(type='path'), original_basename=dict...

2018-08-27 23:51:05 4403 1

转载 js函数前加分号和感叹号是什么意思?有什么用?

一般看JQuery插件里的写法是这样的(function($) { //... })(jQuery);今天看到bootstrap的javascript组件是这样写的!function( $ ){ //...}( window.jQuery );为什么要在前面加一个 " ! " 呢? 我们都知道,函数的声明方式有这两种function...

2018-08-27 00:27:45 447

转载 JS阻止事件冒泡的3种方法之间的不同

什么是JS事件冒泡?:在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。  如何来阻止Jqu...

2018-08-26 14:22:20 592

转载 JS组件系列——Bootstrap Select2组件使用小结

前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列——两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到select里面随着文字一起显示)。前两天做一个菜单图标选择的功能,就要用到这个图文选择的功能。于是乎又是找啊找。终于不负所望,找到了我们伟大的select2组件。今天分享下这个组件的一些用法和特性。...

2018-08-26 11:57:30 4562

转载 python之abc和six

abc是Abstract Base Classes的缩写six的元类注解兼容python2和3import abcimport six@six.add_metaclass(abc.ABCMeta)class PluginBase(object): @abc.abstractmethod def func_a(self, data): """ ...

2018-08-25 23:53:18 1244

转载 深刻理解Python中的元类(metaclass)以及元类实现单例模式

一、理解类也是对象在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:class ObjectCreator(object): passmy_object = ObjectCreator()print my_obje...

2018-08-25 23:52:21 159

转载 全面解析python类的绑定方法与非绑定方法

阅读目录类中的方法有两类:  绑定方法  非绑定方法回到顶部类中的方法有两类: 回到顶部  绑定方法 回到顶部  非绑定方法 一、绑定方法  1.对象的绑定方法  首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑定方法的应用。class People: def __in...

2018-08-25 16:54:01 169

转载 ansible 命令只执行一次

RUN ONCE通过run_once: true来指定该task只能在某一台机器上执行一次. 可以和delegate_to 结合使用- command: /opt/application/upgrade_db.py run_once: true delegate_to: web01.example.org指定在"web01.example.org"上执行这如果没有del...

2018-08-24 18:04:04 7202

原创 ansible 变量检测是否定义

如果需要的变量没有定义,那么可以skip或者使用jinja2的defined如下所示: tasks:     - shell: echo "I've got '{{ foo }}' and am not afraid to use it!"       when: foo is defined     - fail: msg="Bailing out. ...

2018-08-24 14:14:17 4400

转载 报错kernel:NMI watchdog: BUG: soft lockup - CPU#0 stuck for 26s

近期在服务器跑大量高负载程序,造成cpu soft lockup。如果确认不是软件的问题。解决办法:#追加到配置文件中echo 30 > /proc/sys/kernel/watchdog_thresh #查看[root@git-node1 data]# tail -1 /proc/sys/kernel/watchdog_thresh30#临时生效sysctl ...

2018-08-24 14:09:28 11938 2

转载 协程,线程,进程

一、协程  协程,又称微线程,纤程。英文名Coroutine。  协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。  子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。  所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。  子程序调用总是一个入口,一...

2018-08-23 00:28:23 165

原创 http code

HTTP_STATUS_CODES = { 100: 'Continue', 101: 'Switching Protocols', 102: 'Processing', 200: 'OK', 201: 'Created', 202: 'Accepted', 203: 'Non Authoritat...

2018-08-22 23:07:44 294

转载 Python并发编程-线程

  Python作为一种解释型语言,由于使用了全局解释锁(GIL)的原因,其代码不能同时在多核CPU上并发的运行。这也导致在Python中使用多线程编程并不能实现并发,我们得使用其他的方法在Python中实现并发编程。一、全局解释锁(GIL)  Python中不能通过使用多线程实现并发编程主要是因为全局解释锁的机制,所以首先解释一下全局解释锁的概念。     首先,我们知道C++和Ja...

2018-08-22 01:21:42 158

转载 python dict.values()获取的是值的列表 外面还有一层列表

#coding=utf-8import jsonj = json.loads('{"persons":[{"name":"yu","age":"23"},{"name":"zhang","age":"34"}]}')print js = {u'persons': [{u'age': u'23', u'name': u'

2018-08-21 23:37:26 12558 3

转载 Python Cookbook 4.1 复制(拷贝)对象(浅复制和深复制)

需求:你想复制一个对象.因为在Python中,无论你把对象做为参数传递,做为函数返回值,都是引用传递的.讨论:标准库中的copy模块提供了两个方法来实现拷贝.一个方法是copy,它返回和参数包含内容一样的对象.import copynew_list = copy.copy(existing_list)有些时候,你希望对象中的属性也被复制,可以使用deepcopy方法:import...

2018-08-21 23:27:45 131

原创 ansible roles meta

roles中meta目录main.yml定义的playbook,会被首先运行 出处:https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html?highlight=meta参考:https://blog.csdn.net/liuxiangke0210/article/details/80...

2018-08-20 23:14:31 1624

转载 ansible 下lineinfile详细使用

一、简述     这几天在看了ansible官网,收获蛮多。截取一个lineinfile模块作一个总结。如果批量修改配置文件某一行时,在写playbook时lineinfile避免不了的。    根据官网说法:lineinfile - Ensure a particular line is in a file, or replace an existing line using a bac...

2018-08-20 22:02:33 3426

转载 ansible set_fact 在playbook中动态添加变量 (register也可以)

set_fact    set_fact模块可以自定义facts,这些自定义的facts可以通过template或者变量的方式在playbook中使用。如果你想要获取一个进程使用的内存的百分比,则必须通过set_fact来进行计算之后得出其值,并将其值在playbook中引用。下面是一个配置mysql innodb buffer size的示例:- name: Configure My...

2018-08-20 21:36:43 14199 1

原创 css 长字符串自动换行

参考:https://www.cnblogs.com/luyingying/p/5144219.html

2018-08-20 00:00:48 3773

原创 ansible开启扩展功能jinja2.ext.do

http://docs.jinkan.org/docs/jinja2/templates.html#variables 无需重启:ansible  /etc/ansible/ansible.cfg执行结果:   

2018-08-19 01:12:07 777

转载 Python的Flask框架中jinja2可扩展

Flask的模板功能是基于Jinja2模板引擎来实现的。模板文件存放在当前目前下的子目录templates(一定要使用这个名字)下。main.py 代码如下:from flask import Flask, render_template app = Flask(__name__) @app.route('/hello')@app.route('/hello/<name&g...

2018-08-19 00:58:15 755

原创 jinja2 循环列表遍历

http://docs.jinkan.org/docs/jinja2/templates.html#for {% set v=val %}  #设置遍历  注意变量作用域for循环遍历元素的下标  loop.index{{ "%03d" | format(loop.index0) }}  过滤器及格式化输出{{ groups.controller|length }}  列表长度...

2018-08-18 23:58:51 10899

转载 jinja2 列表操作

{# 取第一个元素 #}<p>{{ [1,2,3,4,5] | first }}</p>{# 取最后一个元素 #}<p>{{ [1,2,3,4,5] | last }}</p>{# 返回列表长度,可以写为count #}<p>{{ [1,2,3,4,5] | length }}</p>{# 列表求和 ...

2018-08-18 23:43:34 6562

转载 Ansible使用jinja2管理配置文件以及jinja2语法简介(roles templates配置文件)

一、Jinja2介绍Jinja2是基于python的模板引擎,功能比较类似于PHP的smarty,J2ee的Freemarker和velocity。它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权Jinja2的语法是由variables(变量)和statement(语句)组成,如下;1、variables:可以输出数据` my_variab...

2018-08-18 19:25:13 2784

转载 ansible的Filter

cat /usr/lib/python2.7/site-packages/jinja2/filters.py  ansible中提供的过滤器FILTERS = { 'attr': do_attr, 'replace': do_replace, 'upper': do_upper,...

2018-08-18 19:09:27 1975

原创 ansible 获取列表变量长度

使用过滤器获取list lengthshell: "[[ {{ groups.test | length }} = 1 ]] 三种方式都可以when:     - ( groups.test | lenght ) == 2when:     - (( groups.test | lenght ) == 2)when:     - groups.test|lenght ...

2018-08-18 19:02:16 4717

原创 sed小技巧

sed指定替换范围sed -i '21,30s/127.0.0.1:8433/192.168.212.43:8433/g' cfg.json去掉最后一个字符tran_nodelist=$(echo $tran_replace|sed 's/.$//')

2018-08-17 00:46:32 211

转载 Ansible使用介绍(三)templates及Roles角色

role内各目录中可用的文件tasks目录:至少应该包含一个名为main.yml的文件,其定义了此角色的任务列表;此文件可以使用include包含其他的位于此目录中的task文件; files目录:存放由copy或script等模块调用的文件; templates目录:templates模块会自动在此目录中寻找Jinja2模板文件; handlers目录:此目录中应当包含一个main;...

2018-08-17 00:16:35 5251

转载 在shell中如何判断字符串是否为有效的IP地址

正则表达   /b单词边缘   /B非单词边缘在shell中如何判断字符串是否为有效的IP地址_echoisecho_新浪博客http://blog.sina.com.cn/s/blog_53a844e50100xxus.html近来需要写个小shell判断用户输入的字符串是否为有效的ip地址,简单排除了以下几种情况:1. 以点号为分隔的域不等于4或6;2. 出现字符;3. 某域以...

2018-08-15 19:41:23 6162 3

转载 ansible handler模块

---- include: config.yml- name: Flush handlers  meta: flush_handlers用于在task完成后立即执行 task中的handlernotify与handler结合notify多个handler使用关键字listen(一)单个playbook中使用notify和handler---- name: test....

2018-08-15 00:24:14 2548

转载 kolla-ansible

  #!/bin/bash## This script can be used to interact with kolla via ansible.function find_base_dir { local real_path=$(python -c "import os;print(os.path.realpath('$0'))") local dir_...

2018-08-14 23:57:09 924

Docker 入门到实践.pdf

Docker 入门到实践,docker基础以及但docker核心技术的解读,实践应用

2018-02-14

Nginx高性能Web服务器详解

Nginx高性能Web服务器详解,包括重要模块基本配置,性能包括系统linux系统本身及nginx服务本身的优化设置,rewrite,upstream负载均衡等常用功能

2018-02-07

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

TA关注的人

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