自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaobai_ol的博客

九层之台,始于垒土

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

原创 Django使用DataTables插件总结

基本使用Bootstrap的Datatables插件是一款方便简单的展示数据的列表插件。关于基本使用,官方网站上的已介绍的很详细,这里我再稍微过一下。 1. js配置。包含jquery和datatables的js javascript <script src="https://code.jquery.com/jquery-3.3.1.js"

2018-09-15 16:03:51 9432 10

原创 Go切片中两个冒号的理解

先看下面的一段代码:package mainimport "fmt"func main() { var numbers4 = [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} myslice := numbers4[3:6:8] fmt.Printf("myslice为 %d, 其容量为: %d\n", myslice, cap(myslice)) myslice2 = myslice[:cap(myslice)] fmt.Printf(

2020-05-31 09:54:45 5017

原创 Go设置代理

注意,下面的步骤适合于1.13版本以上的Go环境步骤在安装完Go环境后,在GOPATH的src目录下创建 goland.org/x/ 目录,进入此目录,执行命令:$ git clone https://github.com/golang/tools.git$ git clone https://github.com/golang/lint.git注意:直接在https://github.com/golang/tools 网址界面download这个tools-master包解压后的大小,没

2020-05-29 15:20:10 9566 2

原创 Linux下MySQL8.0修改初始密码

背景在安装完MySQL后,使用如下命令sudo service mysql start启动mysql服务后,再使用登陆命令mysql -u root -p时根据提示,无论尝试输入什么密码都报错。看网上大多的都是先在配置文件中加入 skip-grant-tables 参数,然后重启mysql服务,使得mysql能无密码登入,然后再使用命令来设置mysql密码,但是设置密码的这个命令中因为有 *password()*函数,结果在MySQL8.0版本后就会报错,因为这个版本下已经没有password

2020-05-26 23:22:39 10525 3

原创 Redis HyperLogLog学习记录

说明之前在说Redis集合数据结构的时候,我们知道集合中存储的是互不相同的元素,它的SADD命令用来添加元素,SCARD命令用来获取集合中元素的数量,故我们可以利用从该命令制作一个“唯一计数器”。例如记录一个网站的ip访问量。但是当一个网站热度很高被大规模访问时,我们要记录更长时间的访问量(例如一年),那如果再使用集合制作的唯一计数器来计数的话,将会非常的吃内存资源,且性能大幅度下降。这时我们就...

2020-05-04 11:12:25 174

原创 Redis有序集合学习

说明有序集合顾名思义具备了“有序”和“集合”的两种特性,它在存储元素成员的时候,会给每个成员设置一个分值,这些成员会自动按照分值的大小进行排列。其中分值除了是数字以外还可以是“+inf”(无穷大)和“-inf”(无穷小)。正因为具备了有序和集合两种特性,所以它的结构非常灵活,同时有具备了列表和集合的一些特性。而一想到有序集合的结构,我们就联想到百度的明星排名或者微博的热搜(每个热搜是按照搜索的热...

2020-05-03 11:14:01 211

原创 Redis集合学习记录

Redis的集合是一种无序的结构,它之中存储的是一些互不相同的元素,它不像Redis列表结构那样有序排列,故它也没有索引取值、队列、栈的功能。命令SADDSADD set element [element ...]将一个或多个元素添加到集合中,若集合中已存在要添加的元素,则添加时的对应元素会被忽略,该命令最终返回添加成功的元素数量。SREMSREM set element [elem...

2020-05-02 09:14:25 112

原创 Redis列表学习记录

概括redis列表是一种有序的线性结构,它之中的数据可以重复。正是因为它是有序的,所以它能作为一些常用的数据结构,如队列、栈等。也能进行一些相应的操作,比如遍历、索引取值等。操作命令推入、取出操作:LPUSH、RPUSH、LPOP、RPOPLPUSH、RPUSH、LPOP、RPOP这四个命令分别对应于左边推入、右边推入、左边弹出、右边弹出这四个操作,其中推入操作可一次推入多个值,如果按照从...

2020-05-01 11:13:19 284

原创 python使用dohq-tfs操作TFS(Team Foundation Server)的Work Item

背景因工作需要,现需要将jira切换到微软的TFS(Team Foundation Server),并自动化创建TFS的任务(即 Work Item)。根据该需求,我首先使用了它的REST API进行尝试,但发现有些麻烦,后面找到了一个python库dohq-tfs,该库文档友好,操作简单方便,很适合快速的开发相应的脚本。条件准备1. 安装库使用pip安装dohq-tfs库,如下:p...

2020-04-18 11:42:34 1838 1

原创 Docker下搭建mongodb副本集

背景有需求需要对mongodb做一个容灾备份。根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾。副本集的优势在于:”有自动故障转移和恢复特性,其任意节点都可以是主节点,并能实现读写分离,提供高负载“。官方建议副本集最低配置三个节点。关于副本集的原理更多请参考这位小姐姐的博客搭建步骤制作mongodb镜像首先需要做一个mongodb的docker镜像,...

2020-04-02 11:23:26 622

原创 docker login Harbor时报错403 Forbidden

背景在本地搭建了harbor后,在进行了相关配置后,还是报错:Error response from daemon: login attempt to http://10.xx.xx.xx:8000/v2/ failed with status: 403 Forbidden.其中http://10.xx.xx.xx:8000 是我搭建的harbor服务的网址。前提首先根据命令:syste...

2020-04-02 11:20:32 4137

原创 使用dockerfile 搭建django系统(nginx+redis+mongodb+celery)

背景有需求需要对django系统进行docker化,以达到灵活部署和容灾。该系统基于django 2.2版本开发,数据库采用mongodb,服务器使用nginx,因系统有部分异步任务,异步任务则采用clelery+redis实现。基于该需求,所采用的思路是:“基于ubuntu16.04”源镜像,根据dockerfile制作各个运行环境的镜像。因docker提倡单应用单镜像,故这里将djang...

2020-04-02 11:18:46 479

原创 Harbor使用自签名证书配置https认证

背景我们知道Harbor是用来存储docker镜像的仓库系统。目前docker从镜像仓库pull或push镜像都是采用https形式的(例如官方的Docker hub),故有必要将Harbor配置成https访问,并使其他Docker机器能成功推送、拉取镜像。步骤关于Harbor配置https的文档官方有非常详尽的说明。这里主要对一些我遇到的问题做一个补充。因我这里配置Harbor的机...

2020-03-27 16:53:45 2309 3

原创 kubernetes 基础总结

注: 文章中的部分图片及部分内容借鉴了《Kubernetes 从上手到实践》和《云原生技术公开课》,若有侵权,请告知删除,谢谢!简单介绍kubernetes简称k8s(后续大多以k8s代替说明),是一个用于对容器化应用进行编排、管理的工具。由Google于2014年开源。经过几年沉淀,k8s已成为容器编排领域事实上的标准。从定义看出k8s是对容器进行编排(编排在这里可理解为部署、扩容、监...

2019-12-30 19:18:12 703

原创 基于grpc的流式方式实现双向通讯(python)

grpc介绍grpc是谷歌开源的一套基于rpc实现的通讯框架(官网有更完整的定义)。在搞懂grpc之前,首先要弄懂rpc是什么。下面是自己理解的rpc定义,若有不对,望指出:rpc官方称为 远程过程调用 。我这里理解为远程函数调用,即一个本机程序调用另一个机器的程序中的某个函数。因不是同一机器调用,故需要远程访问操作。与远程过程调用相反的则是“近程过程调用”(哈哈,自己乱起的)。其实就是...

2019-12-07 11:47:12 6763 2

原创 Django 用Session和Cookie分别实现记住用户登录状态

简介由于http协议的请求是无状态的。故为了让用户在浏览器中再次访问该服务端时,他的登录状态能够保留(也可翻译为该用户访问这个服务端其他网页时不需再重复进行用户认证)。我们可以采用Cookie或Session这两种方式来让浏览器记住用户。Cookie与Session说明与实现Cookie说明Cookie是一段小信息(数据格式一般是类似key-value的键值对),由服务器生成,并发送...

2019-07-01 17:31:05 4766

原创 Django 实现登录后跳转

Django 实现登录后跳转说明实现网页登录后跳转应该分为两类:即登录成功后跳转和登录失败再次登录成功后跳转。参考网上内容,基本都只实现了第一类。而没有实现第二类。实现为了能让登录失败后再次登录成功后还能实现跳转。我这里采用了笨办法, 即:无论登录成功与否,都将跳转链接在前后端进行传递 ,这样跳转链接就不会在登录失败后消失。不多说,上代码后端 views.pyfrom djan...

2019-06-29 12:41:40 9836

原创 python 装饰器基本原理

定义关于python中装饰器的定义,我们这里参考廖雪峰大神的python3教程中的定义:在某个函数(代码)运行期间,在不更改该函数的功能下,动态给该函数添加功能的方式,我们称之为“装饰器”。从定义中看出,这个装饰器势必要在实现中传入原函数,并在其功能中使原函数功能不受影响。由此我们想到的一种实现装饰器的方法就是:“实现一个功能(可是一段代码/函数),该功能的实现要传入一个函数。”翻译过来就是通...

2019-04-20 19:06:59 224

原创 利用python 查询操作JIRA中的issues

背景描述最近有个需求是获取某些符合条件的jira数据,在统计后使用echarts可视化度量出来。后端代码打算用 Python实现问题解决这里着重说下后台获取jira数据的代码。python有一个非常好用的jira操作库jira-python。这里有其非常友好的文档说明。下面权当是对文档的摘抄复述吧!安装如果Python环境中集成了pip的话,可以直接使用如下命令安装:pip ins...

2019-03-23 13:19:04 9605 2

原创 解决toastr的escapeHtml属性失效问题

问题背景js的toastr提示通知插件还是非常好用的。官方它escapeHtml属性可以使toastr里面body(即内容)中含有的html代码被转义识别。但我在开发使用中发现无论是使用如下的toastr.options = { "escapeHtml": true}还是以下的这种写法(当把这句放在**toastr.success(…)**后面时发现能暂时起作用)toastr...

2019-03-16 12:00:39 693 2

原创 在JointJS元素中使用html

问题背景在工作中有个需求需要画一幅“树图”,本想使用echarts进行绘制的。奈何echarts的label中不支持formatter html,即html文本的渲染。故为了使图的节点更具有交互性,这里选择使用jointjs。问题解决jointjs是一个js图表库,其可在浏览器的网页中创建可交互的图表工具,它依赖于js与SVG。(这个在网页渲染后可以在浏览器按F12查看页面元素看到)基...

2019-01-26 15:45:19 1650 1

原创 解决echarts中多次数据异步加载后触发事件叠加问题

解决echarts中多次数据异步加载后触发事件叠加问题问题描述echarts中数据通过ajax等方式多次异步加载数据后,当点击图表中的同一位置时,其触发事件也会随之触发多次。在官方的教程中有这样一局原话“所有数据的更新都通过 setOption实现,你只需要定时获取数据,setOption 填入数据,而不用考虑数据到底产生了那些变化,ECharts 会找到两组数据之间的差异然后通过合适的动画...

2019-01-12 11:59:02 2912

原创 将mongoDB数据转化为json---Python实现

前提背景 我们知道,mongoDB数据库表中的一条数据(document)在呈现的时候,很像json。在平时的使用中,有时候会有这样的需求:我们需要将数据库中的数据读出来,并将其传送(例如ajax请求)到前端页面去解析呈现。显然此时,为了更容易解析,我们需要将数据转为为json形式。mongoengine作为一个操作mongoDB数据库的python解析库,其在将表中的数据转化为js...

2018-09-08 17:46:50 12689 2

原创 PHP利用Rest API实现远程操控Jenkins

我们知道,Jenkins的Rest API可以使我们更加方便的去操控Jenkins。curl可以很容易的利用它去实现管理jenkins的配置和job。关于用curl工具去操控jenkins这里不再提,具体可以详细看这篇博客点击打开链接。这里要说的使用php去实现curl工具同样的功能。我们知道,php自身包含的有curl库,那么我们也完全可以用它自己的库去实现。通过刚刚那篇博客的介绍,我们可以大概...

2018-02-26 19:47:10 591

原创 windows64位下用apache2.4.29部署django1.11.7项目并使在局域网内可访问(mod_wsgi.so可下载)--超详细

网上关于将django项目部署到apache上文章有很多,这里只将我踩到的一些坑记录下来。条件准备:1.你的django项目,例如这里的项目名为:MyTest2.apache安装包3.适配你当前python版本,apache版本和windows系统的mod_wsgi.so文件。开始部署:django项目是你目前已经准备好的。这里就不再多说。

2017-12-07 00:53:40 1297

原创 解决Android Studio报错 Cause: error in opening zip file

今天把android Studio升级到3.0后,在打开原来的一个项目时,该项目构建时,出现了以上的错误。原来,我的project下的gradle文件夹下的wrapper文件夹下的gradle-wrapper.properties文件中,我设置的gradle的版本是gradle-3.3-all的,即如下:distributionBase=GRADLE_USER_HOMEdistribut

2017-10-26 19:14:21 4918

原创 python利用windows编译的sqlcipher工具对sqlite数据库加密

用python进行sqlite加密,这里选择的还是sqlcipher。其实在python中,python也集成了python的sqlcipher扩展包:pysqlclipher,奈何在这里安装这个扩展包我觉得很麻烦(关于安装方法点这里),于是我放弃了这个,打算用已经编译好的windows的sqlcipher工具。  这里,关于sqlcipher.exe的下载链接可以看这个:点击打开链接,我这里

2017-07-17 11:15:05 9088 8

原创 Android加密已有的sqlite数据库---sqlcipher

android中数据库的加密,通过百度都可以看到,大多都使用的是sqlcipher,好处之一是因为:1.它是开源的,免费的。2.它的运用非常简单,方便,跟sqlite的操作一样,只不过是换成了sqlcipher的包而已。好的,废话不多说,网上的文章加密数据库,基本上都是新建一个数据库,而对已有的数据库进行加密,却少之又少。我找了好半天,也才找到下面两篇,大家可以作为参考。 文章1文

2017-07-13 19:34:04 4170 1

原创 python-jenkins安装教程

python-jenkins是python为操作Jenkins而作的一款插件,这款插件包含了许多操作Jenkins的接口,包括获取Jenkins的job、新建job、copy job、获取Jenkins插件信息、获取构建信息等,具体可以看官方的文档,当前最新版插件为0.4.14,下载及安装点这里。好了,废话不多说。        首先我们需要下载python-jenkins插件和pip插件(我

2017-04-05 22:54:31 5371

原创 systrace 的log中标签时间计算原理

在Android的性能优化上,大多数人都会用到systrace来抓取应用的启动过程,分析过程中哪些帧数绘制过长或者卡顿等其他原因。抓取的结果是以html形势展现的,而这里要讲的,其实跟Android没有多大关系,只是说抓取的html中,各个标签的时间是怎么得出来的。当你点击其中的某一个标签,比如应该启动时绘制的activityStart标签,下面就会显示这个标签的时间或者使用键盘的按键“M”,

2017-02-24 23:35:04 3233

原创 函数指针和回调函数

因为在做一个项目要统计apk的大小时,在用反射机制调用一个回调函数,onGetStatsCompleted(),具体可以搜这个函数。当时是将apk大小用listview显示出来的,结果当listview列表显示出来的数据出现了问题,最后定位了是因为回调函数还没有调用完,因此就想弄明白什么是回调函数。废话不多说,网上搜回调函数时,都说回调函数的使用方法其实是函数指针的一种使用。因此这里首先讲一下

2017-02-23 22:18:21 576

原创 python 相关细节知识

以前学习python只是看了一些网上教程,便快速的去写。前不久买了本书看了下,打算系统的重新学习下基础知识。现将一些自己认为的一些要注意的基础知识整理一下。(以下的python知识不涉及python3.0)1. 将指转换为字符串的函数有两种,除了str函数,还有repr函数,str(x);   repr(x)。2. 普通字符串在进行跨行时,可以在后面加上反斜线“\”,其

2017-02-06 19:19:16 408

原创 python dom方法遍历某文件夹下所有xml

最近刚开始学习Python,要实现这一样一个函数,遍历一个Android app代码中res\\value目录下的xml文件。因为其xml文件格式基本为下面这种,比较单一。string.xml ActivityLife Hello world! Settings可以看到,其实在resources父节点下有三个string子节点。因刚开始学Python,

2016-09-06 09:00:15 7950

原创 python 遍历文件夹得到子一级文件夹列表

Python遍历文件夹的子一级文件夹列表。有什么更好的方法请告诉我哈

2016-09-05 19:42:19 28435 5

空空如也

空空如也

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

TA关注的人

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