自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux查看某个进程的线程

#coding=utf-8from flask import Flaskimport os,timeimport threadingapp = Flask(__name__)@app.route("/")def login(): return "test"def wait_son(test): while True: print testif...

2018-10-31 20:54:33 428

转载 Python单元测试unittest

Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。在说unittest之前,先说几个概念:TestCase 也就是测试用例TestSuite 多个测试用例集合在一起,就是TestSuiteTestLoader是用来加载TestCase到TestSuite中的TestRunner是来执...

2018-10-30 23:37:43 127

转载 用flask开发个人博客(28)—— 利用unittest进行单元测试

下面分析下这个webapp的单元测试模块test,请先看下目前test下的文件结构:       目前__init__.py文件还是空,请查看test_basic.py的代码:import unittestfrom flask import current_appfrom app import create_app,db class BasicTestCase(unittes...

2018-10-30 23:30:56 390

转载 python-dotenv的使用

项目地址:https://github.com/theskumar/python-dotenv  首先看一下github上项目的介绍:  Reads the key,value pair from .env and adds them to environment variable.   大概意思就是在我们做项目时,我们可以把所有用到的环境变量写到.env文件里,然后以k,v的方式读取...

2018-10-30 23:18:34 2931

转载 Python 代码覆盖率统计工具 coverage.py

coverage.py是一个用来统计python程序代码覆盖率的工具。它使用起来非常简单,并且支持最终生成界面友好的html报告。在最新版本中,还提供了分支覆盖的功能。官方网站:http://nedbatchelder.com/code/coverage/ win32版本下载地址:http://pypi.python.org/pypi/coverage或者通过easy-inst...

2018-10-30 23:08:43 792

转载 Python Click 学习笔记(转)

原文链接:Python Click 学习笔记Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现。恰好我最近在开发的一个小工具需要在命令行环境下操作,就写个学习笔记。国际惯例,先来一段 “Hello World” 程序(假定已经安装了 Click 包)。# hello.pyimport clic...

2018-10-30 22:42:05 187

转载 Hash算法的讲解

     散列表,又叫哈希表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。      散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散...

2018-10-30 00:52:37 720

转载 一致性Hash算法的深入理解

总结:1、使用一致性Hash算法,尽管增强了系统的伸缩性,但是也有可能导致负载分布不均匀,解决办法就是使用虚拟节点代替真实节点, 2、Hash算法的选择上,首先我们考虑简单的String.HashCode()方法,这个算法的缺点是,相似的字符串如N1(10.0.0.0:91001),N2(10.0.0.0:91002),N3(10.0.0.0:91003),哈希值也很相近,造成的结果是节...

2018-10-30 00:50:27 246

转载 如何理解算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等?

时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时间增长曲线。所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。        先从O(1)来说,理论上哈希表就是O(1)。因为哈希表是通过哈希函数来映射的,所以拿到一个关键字,用哈希函数转换一下,就可以直接从表中取出对应的值。和现存数据有多少毫无...

2018-10-30 00:09:14 1191

转载 共享内存,管道,socket等进程间通信方式的优缺点

(共享内存,管道,socket)分布式:socket是进程间通信唯一选择进程间通信的方式有很多,常见的有信号,信号量,消息队列,管道,共享内存,和socket等,这里我们主要讨论管道,共享内存,和socket,其他的比较简单只做简单的介绍。信号:信号主要用于通知某个进程发生了什么事,就像你打电话通知某个人某件事一样,事先注册号信号相应的注册函数就可以了。信号量:信号量实际上是一个计数器...

2018-10-29 17:58:34 3702

转载 Linux下的进程通信方式: 管道通信详解

管道是单向的、先进先出的、无结构的字节流,它把一个进程的输出和另一个进程的输入连接在一起。写进程在管道的尾端写入数据,读进程在管道的首端读出数据。数据读出后将从管道中移走,其它读进程都不能再读到这些数据。管道提供了简单的流控制机制。进程试图读一个空管道时,在数据写入管道前,进程将一直阻塞。同样,管道已经满时,进程再试图写管道,在其它进程从管道中读走数据之前,写进程将一直阻塞。匿名管道具有的...

2018-10-29 17:39:24 497

转载 Linux下创建进程的三种方式及特点

在Linux中主要提供了fork、vfork、clone三个进程创建方法。 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_fork(),sys_vfork(),sys_clone(),再在这三个函数中去调用do_fork()去做具体的创建进程工作。 fork     fork创建一个进程时,子进程只是完全复制父进程...

2018-10-26 14:26:27 332

转载 linux管理进程的链表

  linux2.6.11的内核中,为了方便管理linux的进程,主要建了5种linux链表。每个链表节点之间的互联有两种方式,一种是hash节点之间的互联,通过hlist_node的数据结构来实现;另一种就是list_head类型的数据结构来互联。看linux内核的人对这两种类型的数据结构肯定是不会陌生的,因为它们在linux内核中无处不在。1 进程直接的互连  通过任务描述符结构tas...

2018-10-26 14:13:11 545

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程...

2018-10-26 13:33:45 194

转载 python ORM 框架 sqlalchemy

sqlalchemy 是一款Python语言写的ORM框架, 该框架建立在数据库API基础之上。 sqlalchemy 本身无法操作数据库,必须已第三方插件为基础,Dialect用于和数据API进行交流,根据不通的的配置调用不通的数据库API,从而实现对数据库的操作。  1 2 3 4 5 6 7 8 9...

2018-10-25 17:08:33 221

转载 GlusterFS 配置及使用

GlusterFS集群创建一、简介 GlusterFS概述Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储. Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名...

2018-10-25 15:53:20 282

转载 客户端通过iscsi使用glusterfs

http://www.tuicool.com/articles/RNnyYbhttp://www.cnblogs.com/mchina/p/centos-iscsi-network-storage.htmlCentOS 6.3下配置iSCSI网络存储http://dngood.blog.51cto.com/446195/842658/iscsi Target (TGT)最近一直...

2018-10-25 15:23:16 1193

转载 linux命令--truncate 学习

truncate命令可以将一个文件缩小或者扩展到某个给定的大小 可以利用该命令和-s选项来特别指定文件的大小转载:http://linux.51yip.com/search/truncate 具体用法 例子演示 出处:https://blog.csdn.net/u010709783/article/details/77896017...

2018-10-25 15:18:36 940

转载 mybatis的几种锁

由于对于mysql的锁机制了解的并不深入,所以翻阅了资料,整理一下自己所理解的锁。以mysql数据库的InnoDB引擎为例,因为InnoDB支持事务、行锁、表锁;且现在大部分公司使用的都是InnoDB。mysql锁的使用离不开事务的,所以我们先上点简单的理论,了解一下事务。1.数据库事务事务的基本要素(ACID)1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要...

2018-10-25 00:37:13 7608

转载 数据库分库分表策略的具体实现方案

出处:https://blog.csdn.net/xlgen157387/article/details/53976153

2018-10-25 00:16:36 291

转载 一、Mysql分库分表方案

一、Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据...

2018-10-24 20:46:45 219

转载 MySQL数据库设计——以学生成绩数据库为例

出处:https://blog.csdn.net/sinat_35988648/article/details/74279681  -- ------------------------------ Table structure for course-- ----------------------------DROP TABLE IF EXISTS `course`;...

2018-10-24 00:36:03 5433

原创 sqlalchemy操作mysql

#coding=utf-8from sqlalchemy import Column, String, create_engine, ForeignKeyfrom sqlalchemy.orm import sessionmaker, relationshipfrom sqlalchemy.ext.declarative import declarative_baseengine =...

2018-10-23 17:13:04 568

转载 CentOS:ECDSA host key "ip地址" for has changed and you have requested strict checking(转)

原文地址:http://blog.csdn.net/ausboyue/article/details/52775281Linux SSH命令错误:ECDSA host key "ip地址" for  has changed and you have requested strict checking.记录下方便记忆。解决方案:在终端上输入以下命令:ssh-keygen -R "你的远程...

2018-10-23 09:43:54 418

转载 MySQL基础(4)——子查询(嵌套查询)、联结表、组合查询

本篇主要整理查询表、联结表的相关内容。一、子查询MySQL 4.1版本及以上支持子查询1子查询:嵌套在其他查询中的查询。子查询的作用: 1、进行过滤: 实例1:检索订购物品TNT2的所有客户的ID  =  + 一般,在WHERE子句中对于能嵌套的子查询的数目没有限制,不过在实际使用时由于性能的限制,不能嵌套太多的子查询。注意:列必须匹配 ——在WHERE子句中使用子查询...

2018-10-23 00:18:57 375

转载 MySQL写压力性能监控与调优

写压力调优:数据库的写、写压力性能监控、写压力调优参数一、关于DB的写1、数据库是一个写频繁的系统2、后台写、写缓存3、commit需要写入4、写缓存失效或者写满-->写压力陡增-->写占读的带宽  1、BBU失效  2、写入突然增加、cache满5、日志写入、脏缓冲区写入二、写压力性能监控  全面剖析写压力:多维度的对写性能进行监控。1、OS层面的...

2018-10-23 00:02:06 314

转载 MySQL事务与锁

锁的基本概念  锁是计算机协调多个进程或线程并发访问某一资源的机制。  相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁(已过时);InnoDB存储引擎既支持行级锁(row-le...

2018-10-23 00:02:00 180

转载 mysql触发器trigger 实例详解

MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用...

2018-10-23 00:01:51 173

转载 mysql function

 create function myfun2(x int,y int) returns int begin declare a SMALLINT UNSIGNED DEFAULT 10; declare b SMALLINT UNSIGNED DEFAULT 20; set a=x; set b=y; return a+b;end//  mysql functionmys...

2018-10-22 22:33:42 1404

转载 Mysql存储过程和函数

基本概念:  创建存储过程和函数是指将经常使用的一组SQL语句的组合在一起,并将这些SQL语句当作一个整体存储在MySQL服务器中。例如,银行经常需要计算用户的利息。不同类别的用户的利率是不一样的。这就可以将计算利率的SQL代码写成一个存储过程或者存储函数。只要调用这个存储过程或者存储函数,就可以将不同类别用户的利息计算出来。创建存储过程delimiter $$;create proc...

2018-10-22 22:25:27 125

转载 MySQL中变量的定义和变量的赋值使用(转)

说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解。前言MySQL存储过程中,定义变量有两种方式: 1、使用set或select直接赋值,变量名以@开头例如:set @var=1; 可以在一个会话的任何地方声明,作用域是整个会话,...

2018-10-22 22:16:57 1394

转载 MySql_ procedure

返回参数示例下面是一个示例:delimiter //S                                                                                                                                                                         ...

2018-10-22 21:34:07 1662

转载 MySQL数据库事务处理

事务处理用于有效记录某机构感兴趣的业务活动(称为事务)的数据处理(例如销售、供货的定购或货币传输)。通常,联机事务处理 (OLTP) 系统执行大量的相对较小的事务。——百度百科事务处理是将多个操作或者命令一起执行,所有命令全部成功执行才意味着该事务的成功,任何一个命令失败都意味着该事务的失败。以银行转账为例(100块都不给), A要给B 转账100元, A转账的指令已经成功发出,而B ...

2018-10-22 14:47:17 195

转载 mysql之事务管理

本文内容:什么是事务管理 事务管理操作 回滚点 默认的事务管理 首发日期:2018-04-18什么是事务管理: 可以把一系列要执行的操作称为事务,而事务管理就是管理这些操作要么完全执行,要么完全不执行(很经典的一个例子是:A要给B转钱,首先A的钱减少了,但是突然的数据库断电了,导致无法给B加钱,然后由于丢失数据,B不承认收到A的钱;在这里事务就是确保加钱和减钱两个都完全执行...

2018-10-22 11:17:15 253

转载 能否向Mysql视图中插入/更新/删除数据

原文链接:http://blog.sina.com.cn/s/blog_8edc37a80101c4ba.htmlhttps://blog.csdn.net/StormWangxhu/article/details/78748430要通过视图更新基本表数据,必须保证视图是可更新视图,即可以在INSET、UPDATE或DELETE等语句当中使用它们。对于可更新的视图,在视图中的行和基表中的行...

2018-10-22 10:42:00 7581 1

转载 进程通信-----管道通信

常用的进程间通信方式 :传统的进程间通信方式    无名管道(pipe)、有名管道(fifo)和信号(signal)System V IPC对象    共享内存(share memory)、消息队列(message queue)和信号灯(semaphore)BSD    套接字(socket)对于本文,我将重点的讲讲对无名管道和有名管道的理解。无名管道:无名管道是半...

2018-10-22 01:03:36 119

转载 MyISAM和InnoDB的主要区别和应用场景

MyISAM和InnoDB的主要区别和应用场景主要区别:1).MyISAM是非事务安全型的,而InnoDB是事务安全型的。 2).MyISAM锁的粒度是表级,而InnoDB支持行级锁定。 3).MyISAM支持全文类型索引,而InnoDB不支持全文索引。 4).MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。 5).MyISAM表是保存成文件...

2018-10-22 00:58:24 484

转载 haproxy

资料集合:https://www.cnblogs.com/zyd112/p/8888945.htmlhttps://www.aliyun.com/jiaocheng/linux_23074_1.html?spm=5176.100033.2.26.28375d66uIccgI构建HAProxy高性能反向代理架构https://www.cnblogs.com/heiye123/arti...

2018-10-22 00:01:49 334

转载 poxas-著名的分布式数据一致性算法学习笔记

最近学习分布式系统架构设计,刚好看到著名的Paxos算法,写个学习笔记总结一下。Paxos算法是莱斯利·兰伯特(Leslie Lamport,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。笔记中很多东西借鉴大神的博客,在最下面有链接。该文章只是自己加深印象,做个总结。一:基本语义在Paxos算法中有一下几种角色:Propo...

2018-10-21 23:43:44 648

转载 ext2、ext3与ext4的区别

ext2与ext3Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux...

2018-10-21 23:36:37 751

Docker 入门到实践.pdf

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

2018-02-14

Nginx高性能Web服务器详解

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

2018-02-07

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

TA关注的人

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