自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 Python 优雅的读取大内存文件

背景:使用 python 读取一个相对较大内存的文件,比如电脑运行内存只有1G,但是读取的文件大小为 2G,这个时候怎么处理呢?有人说直接用 open函数不就好了吗?但是如果你直接使用的话,会把文件一次性读取存在内存中,这个时候就会出现 OOM(内存溢出)即MemoryError,那么我们应该怎么处理呢?我们先来看看python读取文件后,获取文件内容的几种方法;方法作用f.read()读取文件中所有内容f.readline()读取第一行的内容f.readlines

2021-03-04 00:21:15 41

原创 Python线程中的互斥锁

互斥锁引入背景:# -*- coding=utf-8 -*-# Author: BoLin Chen# @Date : 2021-02-22import threading, timenum = 0def th1(temp): global num for i in range(temp): num += 1 print(f"----------in the th1 num is : {num}----------")def th2(temp): global num

2021-02-22 16:58:23 28 1

原创 Python中可迭代对象和迭代器

什么叫可迭代对象?不专业:可以直接作用于 for 循环的对象,统称为可迭代对象:Iterable稍微专业:通过 Python 内置方法 isinstance(obj, Iterable) 进行判断, 若返回为True则是,反之则不是;专业解释:该对象含有 __iter__ 方法则称为可迭代对象;from collections import Iterable, Iteratorclass Classmate(object): def __init__(self): self.na

2021-02-03 21:04:53 224 4

原创 Mac 安装 rabbitmq

本文讲述如何在mac下安装RabbitMQ如果你还没有安装过brew,那么请使用一下指令安装下这个mac平台里十分好用的包管理器/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"下载安装RabbitMQ// 更新brew资源brew update// 执行安装brew install rabbitmq当你看到下图中的文字,则证明已经安

2021-01-19 11:16:58 9

原创 Linux三剑客与管道使用(grep、sed、awk)

管道正则表达式grepsedawk管道,什么是管道?Linux 提供管道符 “|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入# 示例:echo "hello world"|grep 'hello'正则,什么是正则?正则表达式就是记录文本规则的代码常用的元字符代码说明.匹配出换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符的开始.

2020-12-14 20:50:54 60

原创 腾讯云服务器上安装Redis

redis是开源的,C语言开发的,安装步骤:先下载源码,再编译(依赖gcc环境),再安装设置。1. 检查是否安装gcc环境[root@VM_0_10_centos ~]# rpm -qa|grep gcc*libgcc-4.8.5-39.el7.x86_64libgcrypt-1.5.3-14.el7.x86_64pkgconfig-0.27.1-4.el7.x86_64gcc-gfortran-4.8.5-39.el7.x86_64gcc-c++-4.8.5-39.el7.x86_64gc

2020-09-26 23:24:49 164

原创 vim相关常用命令

命令模式vim编辑器启动就是命令模式,命令模式下可进入编辑模式或底线命令模式。命令模式一般常用来进行查看、复制、删除、粘贴操作。常用命令dd:删除光标所在行d 数字 d:从光标所在行开始,向下删除指定数字的行u:撤销上一步yy:复制光标所在行y 数字 y:从光标所在行开始,向下复制指定数字的行p:在光标所在行下面一行插入复制的一行或多行x:相当于deleteX:相当于backspacedw:删除一个词,注意光标应放在要删除词的首字母yw:复制一个词^:光标移动到当前光标的行首$

2020-09-06 13:04:22 29

原创 Django设置允许跨域访问

安装django-cors-headersip install django-cors-headers修改 setting.pyINSTALLED_APPS = [ ...... 'corsheaders', ......]MIDDLEWARE = [ ...... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', .

2020-08-06 18:35:25 81

原创 RESTful API 设计

推荐使用httpshttps 相比 http 较安全;域名问题https://api.example.com 会存在库库跨域问题https://example.com/api API 很简单版本URL,如:https://example.com/api/v1API,如:https://api.example.com/v1当然 请求头中也可以申明版本号path路径,视网络上任何东西均为资源,均使用名词表示(可复数)https://api.example.com/

2020-08-06 18:15:26 30

原创 Linux中通过搜索关键字查看日志

在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习。假设存在日志文件 logging.log,查询的关键字为"新增":在日志中搜索关键字cat logging.log | grep "新增"根据关键字查看后10行日志cat logging.log | grep "新增" -A 10根据关键字查看前10

2020-06-30 10:20:30 326

原创 python 读取和设置环境变量

获取环境变量值>>> import os>>> os.environ.keys()python2 输出结果如下:['LESS', 'VERSIONER_PYTHON_PREFER_32_BIT', 'TERM_PROGRAM_VERSION', 'LOGNAME', 'USER', 'PATH', 'HOME', 'ZSH', 'TERM_PROGRAM', 'LANG', 'TERM', 'Apple_PubSub_Socket_Render', 'COLOR

2020-06-22 19:33:24 255

翻译 docker search时列出tag

使用这个脚本docker-search.sh#!/bin/sh## Simple script that will display docker repository tags.## Usage:# $ docker-search.sh centosfor Repo in $* ; do curl -s -S "https://registry.hub.docker.com/v2/repositories/library/$Repo/tags/" | \ sed -e 's/,

2020-06-20 14:32:35 2219

原创 Django项目中 MySQL 数据库时间与真实插入时间相差8小时

视图函数执行后,数据库中新增了一条用户纪录,但插入时间与实际时间相差8小时.settings.py文件配置如下:LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = True如何才能做到插入一条新数据后,数据库,后台管理跟实际时间一致呢?settings.py文件作如下配置即可:LANGUAGE_CODE = 'zh-hans' TIME_Z

2020-06-14 13:11:43 131

原创 AJAX 基础-创建请求及处理响应

XMLHttpRequest 是 AJAX 的基础。XMLHttpRequest 对象所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。HMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。创建 XMLHttpRequest 对象variable=new XMLHttpRequest();老版本的 Internet Explorer (IE5 和 IE6)使用 A

2020-06-11 10:48:40 44

原创 flask路由与视图函数中参数传递

客户端(例如 Web 浏览器)把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask 程序实例。程序实例需要知道对每个 URL 请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理 URL 和函数之间关系的程序称为路由。在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修 饰的函数注册为路由。@app.route('/')def index(): return '<h1>Hello World!&

2020-05-15 18:51:22 453

转载 Git提交代码老出现.idea workspace.xml 问题

在使用idea进行提交代码时,执行提交时一直出现 modified: .idea/workspace.xml 非常让人烦恼。问题原因:原因在于 Git 的忽略,Git 在同步代码时,设置本地忽略文件的前提是,必须保证 Git 的远程端仓库中没有这个要忽略的文件。当远端包含有该文件时,本地设置的 ignore 将不再发挥作用。解决方法:在本地的.gitignore文件里面添加上.dea/...

2020-05-07 17:33:54 893

原创 docker 基础命令学习

1.拉取镜像docker pull nginx2.查看本地镜像列表docker images3.运行执行镜像 (docker run imegename)这里需要学习 docker 命令的参数使用,这里 -d 代表后台运行 -p代表端口映射 第一个是外面机器的端口,第二个是里面机器的端口号;docker run -d -p 80:80 nginx4.查看本地所有容器列表$ ...

2020-05-06 22:02:10 165

原创 from __future__ import unicode_literals

当你在查看一些python源码或者其他人的代码的时候,经常会在.py 的文件里看到from __future__ import unicode_literals在 Python 中有些库的接口要求参数必须是 str 类型字符串,有些接口要求参数必须是 unicode 类型字符串。对于 str 类型的字符串,调用 len() 和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个字符使用不同...

2020-05-06 15:56:59 77

原创 腾讯云搭建Docker环境

安装与配置 Docker安装 Docker首先安装 Docker 必要依赖包 :yum install -y yum-utils device-mapper-persistent-data lvm2由于自带 yum 没有 Docker-CE 所以我们需要先增加 docker repo:yum-config-manager --add-repo https://download.d...

2020-05-02 01:15:47 333

原创 服务器搭建Jenkins

Jenkins 简介Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Java 安装首先我们需要准备 Java 环境,使用下面命令来安装 Java:yum -y install java-1.8.0-openjdk-devel查看 Java 安装版本及执行路径查看 java 版本...

2020-04-29 01:37:41 238

原创 Python给数字前面补0的方法

背景:做自动化测试的时候,需要填写用户手机号码,但是手机号码又不能重复,所以需要随机生成手机号码;思路比如想用133XXXXXXXX系列的手机号码,则可以用字符串133拼接(000000001-99999999),但是在Python中随机数1前面是不会加上8个0的,这个时候解决这个问题就可以解决手机号码的问题了;Python中真的字符串有个 zfill 方法zfill 给字符串换...

2020-03-04 10:30:49 636

原创 linux配置ssh免密登录

SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux的系统首选方式。ssh提供两种安全验证的方法:基于口令的验证:用账户和密码来验证登录基于密钥的验证:需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较,该方式相较来说更安全。下面将展示如何配置ssh免密登录步骤在客户端(本地)生成公钥和私钥本...

2020-02-12 11:37:15 74

原创 Macaca 安装(Mac系统)

macaca 安装步骤首先安装 Homebrew/Node/npm/cnpm及Android-sdk 步骤略请安装 usbmuxd 以便于通过 USB 通道测试 iOS 真机,不需要测试真机则不用安装$ brew install usbmuxd请安装 ideviceinstaller 用来给真机安装 App。$ brew install ideviceinstaller...

2020-02-09 16:05:23 93

翻译 Macaca 简单介绍

简单介绍Macaca 是一套面向用户端软件的测试解决方案,提供了自动化驱动,环境配套,周边工具,集成方案,旨在解决终端上的测试、自动化、性能等方面的问题。Macaca 是 Monkey 的一种,含义引自(Monkey Test),取灵动、敏捷之意。多端支持随着移动时代和智能终端时代的到来,为给用户带来更优质、完整的体验,我们的产品已经遍布各终端,同时单一的运行时架构往往不能满足工程的需...

2020-02-08 23:30:05 109

原创 Python的__getattr__和__getattribute__

getattr__getattr__ 在当前主流的Python版本中都可用,重载__getattr__方法对类及其实例未定义的属性有效。也就属性是说,如果访问的属性存在,就不会调用__getattr__方法。这个属性的存在,包括类属性和实例属性。Python官方文档的定:Called when an attribute lookup has not found the attribute ...

2020-01-19 17:15:19 83

翻译 Celery 快速入门(二)

Redis 本地安装并启动Redis 安装此处不做过多讲述;请参考:Redis 安装传送门启动本地 Redis 服务redis-server /usr/local/etc/redis.conf可以查看 Redis 动态日志# 切换到安装 Redis 时日志配置文件路径 cd /Users/wawa/Logs ls -l# -rw-r--r-- 1 wawa staff...

2020-01-17 16:16:44 55

原创 Celery 快速入门(一)

Celery 快速入门前言:在一个应用服务中,对于时效性要求没那么高的业务场景,我们没必要等到所有任务执行完才返回结果,例如用户注册场景中,保存了用户账号密码之后,就可以立即返回,后续的账号激活邮件,可以用一种异步的形式去处理,这种异步操作可以用队列服务来实现。否则,如果等到邮件发送成功可能几秒过去了。Celery 是什么?Celery 是 Python 语言实现的分布式队列服务,除了支持即...

2020-01-17 11:05:17 69

原创 CentOS 7 安装 Node

​ 推荐二进制文件安装,源码安装编译浪费时间且麻烦。下载官方下载地址:传送门我这里还是选择Linux 64位版本,你们可以根据自己需求选择。wget 命令下载wget https://nodejs.org/dist/v12.14.1/node-v12.14.1-linux-x64.tar.xz解压安装包tar -xvf node-v12.14.1-linux-x64.tar.x...

2020-01-13 16:24:01 43

原创 requests 接口测试响应对象分析

requests API 演示demo 示例import requestsurl = 'https://ddsf.fangdd.com/ioux/loginByPassword'headers = {"content-type": "application/json"}data = { "username": "18688886666", "password": "Cwj123.."}...

2020-01-05 13:23:17 107

原创 字典的合并操作

字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。字典类型与序列类型的区别:存取和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始按数值顺序索引);映射类型可以用其他对象类型作键(如...

2019-12-31 17:18:46 100

原创 解决flask-cors只允许特定域名跨域

1.Flask中解决跨域问题方法1:添加 supports_credentials=True 参数from flask_cors import CORSapp = Flask(__name__)CORS(app, supports_credentials=True)方法2:添加 resources 参数from flask import Flask, jsonifyfro...

2019-12-02 17:08:21 431

原创 Mac 环境上安装 Redis

安装 (操作系统环境:macOS 10.14.2)笔者使用 Homebrew 安装 Redis; 默认安装 Redis 最新稳定版;Redis官网提供最新的版本和稳定版本;下载传送门用户可以根据自己意愿进行下载,但是使用 Homebrew 安装的话,默认就会是最新的稳定版本。执行该命令的前提是电脑已经安装好了 homebrew; 教程传送门1. 安装 Redisbrew inst...

2019-11-20 01:44:51 43

原创 Charles配置抓包HTTP/HTTPS

Mac 上 HTTP/HTTPS 接口抓包神器–Charles在 Windows 上有一款抓包神器叫做fidder,同样在 Mac 系统上有一款神器为 Charles,下面介绍 Charles 对实现对 HTTP/HTTPS 接口的抓包配置;配置HTTP打开Charles依次点击:(菜单栏)Proxy–Proxy Settings – Proxies设置下端口,如下图设置为998...

2019-10-17 22:30:51 90

原创 Python数据转json常见问题

问题一:含有中文转换时,自动转为Unicode编码import jsona = {"name": "科比"}b = json.dumps(a)print(b)# 结果如下{"name": "\u79d1\u6bd4"}解决方法:bb = json.dumps(aa, ensure_ascii=False)print(bb)# 结果如下:{"name": "科比", ...

2019-10-11 21:48:58 144

原创 CentOS 7 安装 JDK

Linux 环境CentOS 7.1 (64-bit system)JDK 8 (jdk-8u221-linux-x64.tar.gz) 下载传送门安装home 目录下建 downloads(也可以是任意目录)下用于存放下载的软件可以在Linux上直接使用 wget 命令下载也可以,也可以本地下载安装传到 Linux 上,只要把安装包弄到 Linux /home/download...

2019-10-01 16:00:07 285 1

原创 在linux下创建一个可运行shell脚本

1.创建 shell 脚本文件ouch xxxxx.sh2.编辑 shell 脚本内容vim xxxxx.sh内容格式如下:#!/bin/shcd /home/chenbolin/output/report;python3 -m http.server 99993.保存退出3.给该 shell 脚本赋权chmod 755 xxxxx.sh4.执行启动该脚本./xxxxx...

2019-09-17 10:23:59 646

原创 Mac 成功安装JPype1

Mac 成功安装JPype1 (最简单步骤) 笔者电脑系统情况:python2.7(系统自带)python3.6 (笔者安装的,主要使用)电脑系统 :10.14 Mojava 安装步骤:安装 conda 命令python3 -m pip install conda使用 conda 安装 gcc 命令安装命令:python3 -m conda instal...

2019-09-12 18:24:56 819

原创 错误记录:xcode-select: error: command line tools are already installed, use "Software Update" to install

执行命令$ xcode-select --install报错代码xcode-select: error: command line tools are already installed, use "Software Update" to install updates删除命令$sudo rm -rf /Library/Developer/CommandLineTools...

2019-09-12 17:42:01 3463 2

原创 Linux 查看端口占用情况

Linux 查看端口占用情况可以使用 lsof 和 netstat 命令1、lsof -i:端口号 实例查看服务器 8000 端口的占用情况:# lsof -i:8000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnodejs 26993 root 10u IPv4 37999514 0t0 ...

2019-09-12 15:40:03 698

原创 Mac系统查看端口占用和杀死进程

查看进程占用lsof -i tcp:8080该命令会显示占用8080端口的进程,有其 pid ,可以通过pid关掉该进程杀死进程kill pid

2019-09-11 20:43:10 32

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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