自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热爱技术,热爱生活

美貌与智慧并重,英雄和侠义的化身

  • 博客(99)
  • 收藏
  • 关注

原创 Python - 实战 - 使用urllib发送application/json格式的post请求

实际使用python过程中,http请求是常有的行为。现在常用的模块应该是requests模块,毕竟它是基于urllib开发的模块,封装性和易用性都更好一些。但作为python标准库自带的发送网络请求的模块,urllib的实战使用也要大概了解一下。本文设定一个使用场景,如何发送json模式的post请求Python2中使用# encoding=utf8''' 判定是否在tasklist...

2020-04-05 22:05:13 4739

原创 Linux - 实战 - 如何判断系统是Centos还是Ubuntu

方式一radhat或centos存在: /etc/redhat-release 这个文件cat /etc/redhat-releaseubuntu存在 : /etc/lsb-release 这个文件cat etc/lsb-release方式二看看安装指令,有yum的就是Centosyum -help有apt-get的就是Ubuntuapt-get -help...

2020-04-05 21:40:51 2750

原创 Git实战 - 两个常用的命令

如何查看某文件的修改历史git log – filename(git log filename)可以看到该文件相关的commit记录git log -p filename可以显示该文件每次提交的diffgit show comit_id filename可以查看某次提交中的某个文件变化git show commit_id查看某次提交如何将某次或某几次的提交重新...

2020-04-05 21:35:40 254

原创 Python - 实战 - 通过参数名传递参数值

我在前几天的文章中介绍了在Shell中是如何通过参数名来传递参数值的。(Shell - 通过参数名传递参数值)。今天继续将这种场景延伸到Python中。1. 背景在多个文件或不同语言协同的项目中(比如python经常与shell协同),python脚本经常需要从命令行中获取参数。调用一个python前如果不看源码不知道该模块如何接受参数,不利于团队合作和模块透出。2. 看疗...

2020-03-08 23:11:24 771

原创 Shell - 实战 - 线程池

1. 预备知识{}& 在linux中表示整个代码块放入后台执行wait wait命令表示等待所有后台进程执行完成FIFO管道文件2. 实现思路实现进程池有很多种方式,比如创建文件来判断文件个数等。本文采用了利用fifo文件来实现线程池,同时利用了linux中read命令天然的阻塞来快速实现。3. 具体实现创建process_pool.sh,具体脚本如下:#!/bi...

2020-03-08 22:25:50 942 1

原创 Python - 实战 - 调用父目录的模块

随着项目的扩大,模块的抽象和提取必不可少,模块所在的目录也不会一直扁平。这时候经常遇到的一个问题是如何访问其它目录的模块呢,比如说import一些公共目录的公共模块?背景了解,import做了什么?当我们import module的时候python会搜索以下地方作为search path:当前执行这条import语句脚本所在的路径,或者是current working directo...

2020-03-04 11:02:43 897

原创 Shell - 通过参数名传递参数值

平常在写shell脚本都是用$1,$2…这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护。而且在调用该shell脚本传递参数时容易产出错误。Linux常用的命令都可指定参数名和参数值,我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?下面的例子定义了短参数名和长参数名两种获取参数值的方式。其实是根据getopt提供的特性进行整理而来。#...

2020-02-14 12:46:57 4896

原创 Python - Django框架 - REST API开发

1. Web应用模式1.1 前后端不分离在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。应用场景分析这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开...

2019-10-23 21:11:26 639

原创 Python3 - 安装

linux自带了Python2而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。输入python命令,查看可以得知是Python2.7.5版本 [root@Crx ~]# pythonPython 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 2...

2019-10-15 20:27:42 185 1

转载 Python - 定时任务

在项目中,我们可能遇到有定时任务的需求。其一:定时执行任务。例如每天早上 8 点定时推送早报。其二:每隔一个时间段就执行任务。比如:每隔一个小时提醒自己起来走动走动,避免长时间坐着。今天,我跟大家分享下 Python 定时任务的实现方法。请参考: Python定时任务(上) Python定时任务(下)1第一种办法是最简单又最暴力。那就是在一个死循环中,使用线程睡眠函数 sleep()。...

2019-10-08 19:51:20 278

原创 自动化测试 - Java、Python、Node.js在接口测试中如何快速进行diff测试

背景diff测试在自动化测试中发挥了四两搏千斤的作用,有以下两个场景不得不考虑diff测试。当一个项目需要重构时往往需要用到diff测试。diff测试以重构前的接口返回值或数据为基准,能够快速的起到回归的作用。另外,在接口测试过程中,当所测接口存在多个版本时,经常遇到需要对新旧接口返回值进行对比测试。方法方法1. 将新旧接口返回值以文件存储,然后利用文件对比、json对比的工具逐一比较进...

2019-10-08 17:44:24 431

原创 C++ bitset用法

背景C++中经常涉及到位运算,例如左移、右移、位与、位或、异或运算等。可能涉及到二进制转化的原因,位运算是让很多C++入门者头疼的一个篇章,即使C++有内置的运算符直接支持以上算法。但是bitset的出现让位运算更透明、更清晰、更简单,它让我们能够以数组的形式去操作一个数的二进制。我接触到它是因为在一个项目中涉及到数据编解码操作。为了节省内存空间,一些枚举值在编码阶段用位来存储(通信行业和地图...

2019-10-08 17:11:59 1018

原创 Python - 实战 - 如何筛选文本内容

今天同事向我抛了一个文件,让我帮他将一些特定的行筛选出来。由于时间紧急,我首先想到的处理方法是shell的grep命令,但很快发现grep实现不了。迅速转为python实现,python实现交工后,琢磨了下可以用awk命令能更快的实现。记录下此次实战过程。1. 需求同事要求将以下文件数据(示例,已脱敏)按要求拆分为3个文件:第一个文件要求筛选出第3列以"BS"或"BV"或"BX"或"BT"...

2019-09-12 20:57:07 6801 1

原创 Python - 常用库 - OpenCC(中文繁简体转换)

1. OpenCC介绍Open Chinese Convert(OpenCC)是一个开源的中文简繁转换项目,致力于制作高质量的基于统计预料的简繁转换词库。还提供函数库(libopencc)、命令行简繁转换工具、人工校对工具、词典生成程序、在线转换服务及图形用户界面。OpenCC具体如下特点严格区分「一简对多繁」、「一简对多异」和「地域用词差别」。支持异体字转换,兼容陆港澳台等不同地区用字...

2019-09-12 19:57:53 6670

转载 一行 Python 代码能实现什么丧心病狂的功能?

手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道)。这个数据结构,自然是 numpy 的 ndarray 对象,读取图像文件我习惯使用 PIL。因此,需要导入两个模块:import numpy as npfrom PIL import Im...

2019-09-05 16:53:38 510

原创 Linux常用命令之nohup

在应用Unix/Linux时,我们一般想让某个程序在后台运行有三种方式:将 & 跟在程序结尾来让程序自动运行。前面文章讲过的screen命令。Linux常用命令之screen今天要讲的nohup命令。1. 概述nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运...

2019-08-22 14:19:37 279

原创 10个顶尖的Django项目(2016版)

Django的一个很重要的优势就是它有一个稳定强大的核心代码,并且其他人可以在这个核心代码的基础上开发自己的扩展.那么有哪些好的扩展可供我们使用呢?下面是我在github上面发掘的10个优秀的扩展,它们都是2016年才出现的.1. django-zappa 在aws-lambda上运行zappa项目地址:https://github.com/Miserlou/django-zappa2...

2019-08-20 20:20:12 5363

转载 初识阿里DevOps

从源码到上线事情可不简单什么叫程序?或者说,什么叫软件?这里面好像有歧义。有时候指的是源代码,有时候指的是安装包或者安装光盘,比如“我下载了一个软件” 。有时指的是已经安装好随时可以运行的程序,比如“手机上新装了一个应用” 。还有的时候指的是正在运行中的,正在提供服务的程序,比如一个网站。这些不同的含义反映了一件事:单纯的源代码,还不能提供服务,不能...

2019-08-14 16:27:17 962

原创 Python学习 - 常用模块 - debug调试(pdb)

目录使用背景使用介绍使用示例使用背景首先,介绍一下 pdb 调试,pdb 是 python 的一个内置模块,用于命令行来调试 Python 代码。或许你会说,现在用 Pycharm 等编辑器来调试代码很方便,为啥要用命令行呢?这个问题,我曾经也这么想,直到有一次,代码必须要在 Linux 系统上跑(现在 Pycharm 也可以远程调试代码了,我们先不说这个)使用介绍如果你有C++代码开发经验,你一...

2019-08-07 15:55:51 666

转载 Python学习 - 核心编程

目录Python核心编程数据类型数据类型方法---字符串方法---列表方法---元组方法---集合方法---字典方法运算符及其优先级流程控制函数---函数的定义---函数的参数---函数的递归---函数的回调函数式编程---高阶函数---返回函数---函数的闭包---匿名函数---装饰器---内置函数---高级内置函数高级特性---切片---迭代---生成式---生成器---迭代器类---定义和...

2019-08-06 16:29:49 261

转载 Python学习 - 进阶 - 协程coroutine(1)

Python中的协程大概经历了如下三个阶段: 1. 最初的生成器变形yield/send 2. 引入@asyncio.co...

2019-08-01 20:41:01 151

转载 超全Python速查表登上GitHub热榜,标星4600+|资源

哪里不会,抄查哪里。GitHub上出现一份对Python用户非常友好的资源:Python Cheatsheet。内含超全代码示例,只需“Ctrl+C”+“Ctrl+V”“Ctrl+F”就可以快速上手使用。内容覆盖容器(Collections)、类型(Types)、语法(Syntax)、系统(System)、数据(Data)、库(Libraries)等等Python编程的主要类别,以及Advance...

2019-07-15 15:52:28 233

转载 西二旗程序员写给孩子的一封信

转载自: https://www.toutiao.com/a6710901364517503492/不知不觉,突然想给未来的你写封信。 你的爸爸是一个西二旗程序员。 就是前些日子朋友圈疯传的"月入5w,却活的不如5k"的那类特殊群体中的一份子。不过,你二十又八的爸爸没有月入5w,活得也并非他们说的那般凄凉。 之所以在这个时间给你写这封信,也是想以程序员的姿态与你分享一下这个年纪的我是如何对待...

2019-07-08 11:01:27 586

转载 Python - 模块库清单

Chardet,字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama,主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable,主要用于在终端或浏览器端构建格式化的输出。 difflib,Python标准库,计算文本差异 Levenshtein,快速计算字符串...

2019-05-10 23:06:36 1863

转载 Python技巧总结

Python常用技巧总结: http://litaotao.github.io/python-materials

2019-04-13 18:24:25 340

原创 设计模式-装饰器 (Python实现)

1. 意图动态地 向一个现有的对象添加新的功能,同时又不改变其结构。我们为了扩展一个类经常使用继承方式实现。由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。2. 设计图3. 设计分析(对照以上UML类图)4. 应用场景5. 代码展示用python实现,python除了可以用常规的实现方式外(与其它语言如java的实现一致),python自身在语法...

2019-04-13 16:04:47 333

转载 c++ GDB调试技巧

一、常用命令二、调试脚本三、图像界面一、常用命令 命令 命令缩写 命令说明 list l 显示多行源代码 break b 设置断点 break if b if 当满足某个条件时停止 delete d 删除断点 disable   禁用断点 ...

2019-04-13 15:16:05 860 1

转载 Python中的内建函数,可迭代对象,迭代器

求值标识id() #标识id 返回对象的唯一标识,CPython返回内存地址hash() #哈希, 返回对象的哈希值len(s) -->返回一个集合类型的元素个数range(start,stop[,step]) -->返回一个从start开始到stop结束,步长为step的可迭代对象。step默认为1类型判断type() #返回对象的类型isinstance(ob...

2019-04-13 15:10:34 161

原创 胡扯AI评测

评测即对算法的效果与性能进行评价测量,传统的语音类评测主要是结果导向(算法指标—WER、业务指标—达成率)。从测试的角度来看,测试case的覆盖往往是不够充分的,那么从asr算法模型的原理来看,另外一种评测思路:数据导向(通过对训练数据和评测数据的特征分布等进行分析,反推评测结果)。ASR算法模型分为两部分:声学模型和语言模型,前者负责语音解码,后者负责文本的搜索和输出。声学模型...

2019-03-28 19:38:26 311

转载 >jenkins 多个项目和Job串并联执行

在现实场景中可能会出现这么一种情况就是一个分布式的项目部署测试的时候需要发布顺序,后面发布的依赖于前面发布的,那么一个分布式的项目就会出现如下拓扑图的情况这样的话就可以建立一个Jenkins 的MultiJob ,将相应的job加进来,不同的任务顺序执行,相同任务中的job并发执行。那么下面我们就建...

2019-02-28 14:32:23 3099

转载 全链路压测经验

前言随着业务的快速发展我们日常遇到的系统性能压力问题也逐渐出现,甚至在部分场合会遇到一些突发的营销活动,会导致系统性能突然暴涨,可能导致我们系统的瘫痪。最近几年随着电商的各种促销活动,有一个词也渐渐进入我们眼帘--“全链路压测”。全链路压测被众多互联网公司的程序员定义为核武器,传统性能测试更多的是以事务为核心,更多的是由单个或者多个事务构成业务场景进行压测。那全链路压测...

2019-02-21 20:59:41 748 2

转载 Django拆分app

Django拆分app为多个小app 有些时候初学Django,经验不足会导致一种现象:app规划混乱。一个app混杂多个model,甚至这些model关联性不大。更严重的情况是整个Django项目只...

2019-01-14 16:33:27 517

转载 Django ORM基本配置

django ORM基本配置django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表1.修改project数据库配置(1)settigs.py里面默认DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path...

2018-12-21 19:25:15 1245

原创 Python pip 安装与使用

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 官网:https://pypi.org/project/pip/你可以通过以下命令来判断是...

2018-11-09 18:37:13 961

转载 用Google的gflags优雅的解析命令行参数

写了这么多年的Linux下C/C++代码,一直使用getopt_long来解析命令行参数,同时定义一个全局的struct来保存各个命令行参数的值。虽然用得比较“繁琐”,但也安于现状。最近突然发现了Google早在多年前就开源了一个解析命令行参数的“神器”gflags。赶紧来爽一把。安装 1、去官网下载一个...

2018-11-01 20:52:11 173

转载 Python web目前较火的三大框架

转载自: https://blog.csdn.net/chenming_python/article/details/79126243 1、Django Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内...

2018-10-23 20:16:19 504

原创 Python学习 - 初级第二回(面向对象)

初学Python时就被它精简、高效、人性的语法所折服,所以连夜将Python的语法和内置模块进行了研读,有点相见恨晚的感觉。精简在于它的语法非常简单实用,入门非常容易;高效在于它有很多内置模块对常用功能进行了封装,只需要很少的代码就能完成一个复杂的功能,如果内置模块不够用,还有很多第三方模块可以拿来直接使用;人性在于它的语法非常符合人的逻辑思维,读Python的代码就像在读一遍英语短文一样,...

2018-09-06 14:32:23 177

原创 Python学习 - 初级第一回(语法与函数)

初学Python时就被它精简、高效、人性的语法所折服,所以连夜将Python的语法和内置模块进行了研读,有点相见恨晚的感觉。精简在于它的语法非常简单实用,入门非常容易;高效在于它有很多内置模块对常用功能进行了封装,只需要很少的代码就能完成一个复杂的功能,如果内置模块不够用,还有很多第三方模块可以拿来直接使用;人性在于它的语法非常符合人的逻辑思维,读Python的代码就像在读一遍英语短文一样,...

2018-09-05 14:41:00 226

转载 PyCharm激活(License server)

打开激活窗口选择 Activate new license with: License server (用license server 激活)在 License sever address 处填入 http://xidea.online or http://idea.liyang.io点击 Activate 进行认证。认证完成就可以使用了。12345...

2018-08-30 16:48:01 93849 3

原创 java操作xml - dom4j

本文通过实现将一个XML中的所有id值由正数更新为负值为例,展示dom4j读取、遍历以及更新xml的操作。一、样例说明:以下xml中的id="-182655332",<tag k="id" v="-182655332"/>,<member type="Highway" role="road" ref="-159475967"/&

2018-08-27 18:18:26 184

空空如也

空空如也

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

TA关注的人

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