自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

screenswindow的博客

个人笔记

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 python各种虚拟环境

pippip 是python的包管理工具condaconda 是包及其依赖项和环境的管理工具。conda 结合了pip和virtualenv的功能.适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。适用平台:Windows, macOS, Linuxconda 分为anaconda和miniconda。anaconda是包含一些常用包的版本,miniconda则是精简版,需要啥装啥,所以推荐使用minicon

2021-05-20 10:42:32 335

原创 docker安装jenkins

下载Jenkins的镜像docker pull jenkins/jenkins查看镜像docker image ls将镜像启动成容器。docker run -d \--name jk -u root \-p 9090:8080 \-v /var/jenkins_home:/var/jenkins_home \jenkinsci/blueocean查看启动的容器。docker ps -a 初入Jenkins。浏览器打开 localhost:9090需要输入安装后的初始

2021-05-20 10:35:24 103

原创 docker安装kafka和zookpeer

Kafka & ZooKeeper Docker镜像landoop/fast-data-dev提供了一整套包括Kafka,ZooKeeper,Schema Registry,,Kafka-Connect等在内的多种开发工具和Web UI监视系统。基本上是我见过的最强大的开发环境。尤其是对于Kafka Connect的支持,包含了MongoDB,ElasticSearch,Twitter等超过20种Connector,并且提供了通过REST API提交Connector配置的Web UI。基本是

2021-05-20 10:33:21 627

原创 django启动中遇到的问题-导入模块-迁移

django遇到问题django.core.exceptions.The SECRET_KEY setting must not be empty.在django项目settings.py 里引入模块引起的,原因是导入包位置不对。setting中有一行定义了SECRET_KEY,因为启动项目初始化时读取setting是自上而下。当读取你导入的包时,在SECRET_KEY上面,则会报没有定义SECRET_KEY的错RuntimeError: Model class user.models.U

2020-11-27 10:14:56 481

原创 golang_day12-pprof性能调优

Go内置标准库runtime/pprof:采集工具型应用运行数据进行分析net/http/pprof:采集服务型应用运行时数据进行分析工具型 runtime/pprofpprof.StartCPUProfile(w io.Writer) // 开启CPU性能分析pprof.StopCPUProfile() // 关闭cpu性能分析然后会生成一个文件进行分析,使用命令go tool pprof xxx.txtpprof.WriteHeapProfile(w io.Writer) //

2020-11-27 10:10:36 681

原创 Django-错误处理exceptions

settings.py中定义REST_FRAMEWORK = { 'common.middleware.exception.exception_handler', // 路径}exceptionfrom django.core.exceptions import PermissionDeniedfrom rest_framework import statusfrom rest_framework.response import Responsefrom rest_framework.e

2020-11-27 10:09:38 777

原创 Django-模型model及属性

常用的字段1、AutoField ---自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。2、CharField ---字符串字段 单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField。必须 max_length 参数,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。3、BooleanField ---布尔类型=tinyint

2020-11-27 10:07:19 534

原创 Django-中间件middleware-启用-执行-自定义

如何启用中间件将其添加到 Django 配置文件settings.py的 MIDDLEWARE 配置项列表中。Django中可以不使用任何中间件,如果你愿意的话,MIDDLEWARE 配置项可以为空。但是强烈建议至少使用 CommonMiddleware,最好是保持默认的配置,这有助于你提高网站的安全性。MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.mid

2020-11-27 10:06:01 471

原创 Django-日志logger

level:级别一个记录器是日志系统的一个实体,每一个记录器是一个已经命名好的可以将消息为进程写入的“桶”。每一个记录器都会有一个日志等级,每个等级描述了记录器即将处理的信息的严重性,python定义了以下六个等级:级别值描述CRITICAL50关键错误/消息,描述已经发生的严重问题ERROR40错误,描述已经发生的主要问题WARNING30警告消息,描述已经发生的小问题INFO20通知消息,普通的系统信息列表内容DEBUG10调

2020-11-27 10:03:25 543 1

原创 golang_day11-单元测试

单元测试点击查看文档详情需要测试的文件 + _test.go需要测试的函数, func Test + 函数名go test -v // 测试所有go test -v xxx_test.go // 测试文件中所有函数go test -v -run Test hello_test.go //测试hello_tst.go文件中所有以Test开头(正则)的函数go test -v -run Test$ hello_test.go //只测试Test函数func Split(str string

2020-10-13 16:29:40 162

原创 golang_day10-flag包

flag用来获取参数例如:go build生成xxx.exegocode$ xxx.exe -name=“xsn” -age=18 // 方法1 name := flag.String("name", "xsn", "请输入姓名") age := flag.Int("age", 18, "请输入年龄") ct := flag.Duration("d", time.Second, "运行时间") // 方法2 var city string flag.StringVar(&ci

2020-10-13 16:29:04 107

原创 golang_day9-TCP-UDP

互联网协议OSI七层应用层 - 表示层 - 会话层 - 传输层 - 网络层 - 数据链路层 - 物理层OSI五层应用层 - 传输层 - 网络层 - 数据链路层 - 物理层[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ShbQ1F5R-1602577641704)(https://www.liwenzhou.com/images/Go/socket/osi.png)]socket编程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m5

2020-10-13 16:27:53 88

原创 golang_day8-互斥锁-sync

互斥锁应用场景:防止同一个goroutine,对数据进行操作var lock sync.Mutexlock.Lock()lock.Unlock()读写互斥锁应用场景:读>写 的场景很多特点:1.读的场景,后续的goroutine来了,能读不能写2.写的场景,厚度的goroutine来了,不管是读还是写,都需要等待var rwLock sync.RWMutexrwLock.RLock() // 读锁rwLock.RUnlock()rwLock.Lock()rwLock.U

2020-10-13 16:26:48 95

原创 golang_day7-goroutine-channel

并发之goroutine并发和并行的区别goroutine的启动将要并发执行的任务包装成一个函数,调用函数的时候,前面加上go关键字,就能够开启一个goroutine去执行该函数的任务。goroutine对应的函数执行完,改goroutine就结束了。程序启动的时候会自动创建一个goroutine去执行main函数main函数结束了,那么程序就结束了,由该程序启动的所有其他goroutine也就都结束了。goroutine的本质goroutine的调度模型:GMPM:N 把m个gorout

2020-10-13 16:26:15 91

原创 golang_day6-time-log-定时器

time2006-01-02 15:04:05.000时间类型time.Time: time.Now()时间戳:time.Now().Unix() 1970.1.1到现在的秒数 time.Now().UnixNano() 1970.1.1到现在的纳秒数时间间隔类型time.Duration 时间间隔类型const { Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1

2020-10-13 16:25:41 113

原创 golang_day5-package-interface

包包的定义 --> package关键字,包名通常是和目录名一直,不能包含-一个文件夹就是一个包文件夹里面放的都是.go文件包的导入 import包的导入路径是从$GOPATH/src后面的路径开始写起单行导入多行导入为导入的包起别名匿名导入 – 导入之后会执行initGO不支持循环导入包中的标识符(变量名/函数名/结构体名/接口名/常量)可见性 --> 标识符首字母大写表示对外可见init()包导入的时候会自定执行一个包里面只有一个init()init

2020-10-13 16:24:54 89

原创 golang_day4-自定义类型-类型别名-结构体和方法

自定义类型和类型别名type MyInt int // 自定义类型type newInt = int // 类型别名类型别名只在代码编写过程中有效,编译完成之后就不存在,内置的byte和rune都属于类型别名。结构体基本数据类型:变成是代码解决现实生活中的问题:var name = "CYW"结构体是一种数据类型,可以保存多个维度数据的类型type Addr struct { city string}type person struct { name string

2020-10-13 16:24:18 787

原创 golang_day2-运算符-数组-切片-指针-map

运算符算数运算符+ - * /逻辑运算符|| && !位运算符| & >> << ^赋值运算符+= -= = ……++ 和 -- 是独立的语句,不是运算符比较运算符> >= < <= == != ……数组 arrayvar age [30]intvar age = [3]int{1,2,3}var names [20]string数组包含元素的类型和个数,元素的个数(长度)属于数组的一部分数组

2020-10-13 16:23:26 104

原创 day1-go安装-基本数据类型-for循环

go安装go envgo命令go build: 编译GO程序go build -o “xx.exe”:编译成xx.exe文件go run main.go:像执行脚本一样执行main.go文件go install:先编译后拷贝go语言文件基础语法存放go源代码文件后缀名:.go文件第一行:package关键字声明包名如果要编译可执行文件,必须要有main包和main函数(入口函数)// 单行注释/*多行注释*/go语言的函数外,必须以关键字开始函数内部定义的变量,必须使用变

2020-10-13 16:21:36 81

转载 nginx例子

一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上.http {: upstream myproject {: server 127.0.0.1:8000 weight=3;: server 127.0.0.1:8001;: server 127.0.0.1:8002;: server 127.0.0.1:8003;: }

2017-07-28 12:50:20 396

转载 nginx安装

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。ububtu平台编译环境可以使用以下指令12apt-get install build-essentialapt-get install libtoolcentos平台编译环境使用如下指令安装make:1yum-yinstal

2017-07-28 12:48:50 219

转载 APP API如何维护多个版本

1、第一种形式:api版本号放在url路径中https://api.example.com/v1/user/IDhttps://api.example.com/v2/user/IDhttps://api.example.com/v3/user/ID2、第二种形式:api版本号放在url参数中https://api.example.com/user/ID?versio

2017-07-27 16:45:39 837

转载 flask发送错误日志到邮箱

loging 模块,无疑就是用来记录app在服务器中运行时所发生的错误信息,在flask中也不例外,先看以下代码1:ErrorMail(将错误信息发送报告到指定邮箱里头,提醒管理员)ADMINS = ['[email protected]']if not app.debug: import logging from logging.handlers import SMTPHandle

2017-07-27 16:44:14 1214

转载 python加密

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0

2017-07-27 16:41:39 289

原创 python基础技巧

1.取出Unicode中的值:[u'10115', u'10116', u'10117', u'10118'] 请问下,我想将列表里面的unicode去掉,怎么去 啊?①list1 = [u'10115', u'10116', u'10117', u'10118']list2 = []for i in list1:   list2.append(i.encode()

2017-07-27 16:40:47 277

转载 python 处理时间

1.将字符串的时间转换为时间戳复制代码代码如下:方法:a = "2013-10-10 23:40:00"#将其转换为时间数组import timetimeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")#转换为时间戳:timeStamp = int(time.mktime(timeArray))timeSta

2017-07-27 16:39:00 191

转载 两个 list 之间的交集,并集,差集,有嵌套的交集

有时候,为了需求,需要统计两个 list 之间的交集,并集,差集。查询了一些资料,现在总结在下面:1. 获取两个list 的交集方法一:a=[2,3,4,5]b=[2,5,8]tmp = [val for val in a if val in b]print tmp#[2, 5]方法二print list(set(a).intersection(set(

2017-07-27 16:37:52 805

转载 tornado 实现文件上传和下载

Tornado中实现文件的上传与下载 文件的上传:#!/usr/bin/env python# -*- coding: UTF-8 -*-import tornado.ioloopimport tornado.webimport osclass UploadFileHandler(tornado.web.RequestHandler): def get(sel

2017-07-27 16:36:18 3361

原创 torndb操作方法

torndb 不支持python3.x,需要修改源码:↓return [Row(itertools.izip(column_names, row)) for row in cursor]修改为:zip(column_names, row)github上源码其实已经修改完了,但是下载过来的还是旧版本的代码,原因不得而知。提供的方法execute  

2017-07-27 16:34:42 1935

原创 tornado连接mysql的坑

tornado连接mysql,用torndb的一个小坑:    get就是取一行数据,返回Row类,其实就是dict    tornado 是异步的,所以查询mysql的时候,单条异步连接    可以用类似    get();    query();    insert();    update();    这样的方式,    但是在get中,完成查询,一定要写

2017-07-27 16:32:54 1323

原创 tornado使用put方法的body内容限制

在最近写的一个RESTful API Server过程中,发现tornaod对解析POST BODY的内容有限制。设置header的Content-type参数,为 application/x-www-form-urlencoded,否则tornado不会解析request body中的内容。put方法,访问指定URLvalues = {'user':

2017-07-27 16:31:28 1745

转载 数据库设计规则

◆  简  介在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计领域的大师。以下列出的 11 点是我对自己在平时项目实践和阅读中学习到的经验总结出来的个人见解。我个人认为它们对我的数据库设计提供了很大的帮助。实属一家之言,欢迎拍砖 : )我之所以写下这篇这么完整的文章是因为,很多开发者一参与到数据库设计,就会很自然地把 “三范式” 当作银弹一样来使用。他们往往认为遵

2017-07-26 14:43:06 222

转载 数据库设计2

数据库设计在软件开发过程中占有重要的地位,国内开发者MeteorSeed在博客中结合自己的实际经历全面总结了关系型数据库设计需要注意的各个方面,包括Codd的基本法则、设计阶段、设计原则和命名规则。MeteorSeed认为在项目早期应该由开发者进行数据库设计,后期调优则需要DBA:“一个精通OOP和ORM的开发者,设计的数据库往往更为合理,更能适应需求的变化”。他引用了关系数据库之父Cod

2017-07-26 14:42:02 315

转载 数据库设计

1. 数据库设计步骤1) 需求分析(根据数据的属性和特点设置数据类型); 2) 逻辑设计(ER图); 3) 物理设计(选择开发环境); 4) 维护优化(新建表、索引、拆分);2. 术语关系:一个关系对应通常所说的一张表; 元组:表中的一行为一个元组; 属性:表中的一列为一个属性;每一个属性有一个名称为属性名(表字段); 候选码:表中的某个属性级,它可

2017-07-26 14:38:41 257

转载 git代码撤消与回退

1.        回退已提交的代码Git reset --hard HEAD回退整套代码到最近一次提后的状态。参数 --hard 表示删除自该次提交后所有的修改记录(未跟踪文件除外)。如果需要保留目前的修改,则执行git reset -- soft HEAD。git reset --hard 回退代码到指定的某次提交状态。(hashcode是该

2017-07-26 14:35:36 283

转载 Git常用命令

查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工

2017-07-26 14:34:24 217

转载 mysql解决大量time_wait

命令查看TIME_WAIT连接数netstat -ae|grep "TIME_WAIT" |wc -l早上登陆服务器的时候输入netstat -an|grep mysql发现存在大量TIME_WAIT状态的连接tcp        0      0 127.0.0.1:3306              127.0.0.1:41378             TIME_WAIT

2017-07-26 14:33:00 3788

转载 screen工具命令详解

功能说明: 使用telnet或SSH远程登录linux时,如果连接非正常中断(远程机器关闭),重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。 我的用法:1,开启一个screen并进入:screen -

2017-07-26 14:31:28 1467

转载 Centos 7.2 安装 Ambari 2.2.2 + HDP 2.4.2 搭建Hadoop集群的环境配置

1.安装环境说明安装前先安装好 Centos 7.2, jdk-8u91, mysql5.7.132.操作系统环境准备2.1 配置SSH免密码登录主节点里root用户登录执行如下步骤ssh-keygencd ~/.ssh/cat id_rsa.pub >>authorized_keyschmod ~/.sshchmod ~/.ssh/authorized_keys先在从

2017-07-26 14:30:12 345

转载 CentOS 7安装和配置ssh

1. 安装openssh-serveryuminstall -y openssl openssh-server2. 修改配置文件用vim打开配置文件/etc/ssh/sshd_config将上图的PermitRootLogin,RSAAuthentication,PubkeyAuthentication的设置打开。启动ssh的服务:systemctlst

2017-07-26 14:27:32 287

oss接口手册

阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高 可靠的云存储服务。用户可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上 进行上传和下载数据。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大 规模数据的服务。

2018-10-08

空空如也

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

TA关注的人

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