- 博客(137)
- 资源 (4)
- 收藏
- 关注
原创 To Lower Case
To Lower CaseImplement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.Example 1:Input: "Hello"Output: "hello"Example 2:Input: "here"Output: "h...
2019-01-06 22:46:59
415
原创 Max Increase to Keep City Skyline
In a 2 dimensional array grid, each value grid[i][j] represents the height of a building located there. We are allowed to increase the height of any number of buildings, by any amount (the amounts can...
2019-01-03 21:39:50
370
原创 Range Sum of BST
Range Sum of BSTGiven the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive).The binary search tree is guaranteed to have unique values....
2019-01-03 11:08:01
270
原创 Jewels and Stones(宝石和石头)
1 问题抛出You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of ...
2019-01-02 22:41:41
247
原创 3.golang: gorm不定条件查询和分页操作
gorm+gin不定条件查询和分页操作gorm+gin不定条件查询不定参数参数多用于table在后端的多条件筛选,这样的场景是无法预知用户需要使用那些筛选条件.只有当参数传递给后端时才清楚.所以后端需要根据传递的参数动态生成符合查询条件的sql语句或者orm操作.在gorm可以分别任选上述两种中的任意一种:1.orm操作; 2.拼接原生sql语句;分页操作...
2018-09-04 11:28:16
25387
8
原创 2.golang: golang读取配置文件(toml文件形式)
golang读取配置文件使用golang编写web服务,常常需要配置很多信息,常见的配置文件格式有.ini,json文件,yaml和toml等.本文将会介绍使用golang读取toml格式的文本信息.我们以mysql和gin的配置信息为例作为说明.使用toml记录配置信息TOML 的目标是成为一个极简的配置文件格式。TOML 被设计成可以无歧义地被映射为哈希表,从而被多...
2018-08-27 21:00:09
3207
原创 1.golang : gorm + gin实现restful 接口
golang : gorm + gin实现restful 接口gorm操作数据库golang可以使用gorm工具对数据库进行操作,实现对数据的一系列操作.gorm的中文文档如下: https://jasperxu.github.io/gorm-zh/主要实现的功能如下:全功能ORM(几乎)关联(包含一个,包含多个,属于,多对多,多种包含)Callbacks(创建/...
2018-08-20 14:24:12
7026
原创 django: django rest framework 嵌套序列化
django: django rest framework 嵌套序列化django rest framework序列化在其他的章节中进行了讲解,
2018-07-10 21:14:24
4188
6
原创 1.leetcde:在一个正整数数组中找到和为某个值的两个整数下标集合
在一个正整数数组中找到和为某个值的两个整数下标集合这个问题描述如下:例如一个整数集合nums = [2, 11, 32, 18, 5], 给出一个目标整数target = 29,则返回结果[1, 3],因为29 = 11 + 18。假设这个处理函数为twoSum。给出函数的实现。class Solution: def twoSum(self, nums, target)...
2018-07-10 09:37:17
628
原创 django: django rest framework 数据的查找、过滤、排序
django: django rest framework 数据的查找、过滤、排序对于管理系统,常常需要展示列表数据,我们对于列表内的数据常常需要查找、过滤、排序等操作,其中查找等操作大部分是在后台进行的。django rest framework可以轻松的实现数据的查找、过滤等操作。接下来我们将以实际的例子进行介绍。示例代码github地址:https://github.com/ji...
2018-06-23 22:59:14
11885
4
原创 django: django rest framework Viewsets 和 Serializers
django rest framework Viewsets 和 Serializers使用drf的Viewsets和Serializers可以大大简化视图和对数据进行增删该查的编写代码。本文将会通过一个示例项目,详细地介绍利用drf对数据进行操作。示例代码github地址:https://github.com/jinjidejuren/drf_learn项目的结构如下所示: ...
2018-06-22 18:13:01
797
原创 django: django rest framework 分页
django rest framework pagination在drf中对于数据的返回支持多种分页技巧,在官网中主要向我们介绍了PageNumberPagination、LimitOffsetPagination、CursorPagination。
2018-06-22 13:41:43
2430
原创 kubernetes学习: 8.安装flannel插件
安装flannel插件安装flannel网络插件如果在各node节点上安装了docker服务,查看网卡信息发现各节点的docker0网卡的ip都是172.17.0.1:[root@wecloud-test-k8s-4 ~]# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ...
2018-04-13 10:54:39
3080
原创 kubernetes学习:7.部署master节点
k8s部署master节点在之前的章节介绍过,k8s的控制节点扮演者整个调度和管理的角色,所以是非常关键的一部分。k8s的master节点主要包含三个部分: 1. kube-apiserver 提供了统一的资源操作入口; 2. kube-scheduler 是一个资源调度器,它根据特定的调度算法把pod生成到指定的计算节点中; 3. kube-controller-manager 也...
2018-04-11 10:04:56
5241
2
原创 kubernetes学习:6.创建etcd集群
etcd集群etcd 是由CoreOS开发,用于可靠地存储集群的配置数据的一种持久性,轻量型的,分布式的键-值数据存储。表示在任何给定时间点处的集群的整体状态。其他组件在注意到存储的变化之后,会变成相应的状态。作为一个分布式系统,etcd的一致性算法采用:Raft算法。关于etcd所涉及的算法详细介绍在这篇博文中多有涉猎: https://www.jianshu.com/p/5aed...
2018-04-10 09:04:23
881
原创 kubernetes学习:5.创建 kubeconfig 文件
创建 kubeconfig 文件kubelet、kube-proxy 等 Node 机器上的进程与 Master 机器的 kube-apiserver 进程通信时需要认证和授权,所以需要生成相关的配置信息。在master节点上创建相关kubeconfig文件,然后将文件拷贝到node节点上。kubernetes 自1.4引入了一个用于从集群级证书颁发机构(CA)请求证书的API。这个a...
2018-04-07 21:30:47
4296
原创 kubernetes学习:4.安装kubectl命令
kubernetes学习:安装kubectl命令kubectl是k8s的集群命令的管理工具,通过kubectl可以完成对k8s各种资源的操作(查看、添加、修改等)。在管理工具界面使用kubectl语法运行如下命令:kubectl [command] [TYPE] [NAME] [flags]kubectl作为一个管理工具,需要安装在master节点上,在我们的本次实验中,需要安...
2018-04-07 19:37:49
2000
原创 kubernetes学习:3.创建tls证书和秘钥
kubernete tls证书和秘钥传输k8s各组件之间的通信可以使用http方式,但是为了安全起见,生产环境需要使用https方式通信,所以我们需要生成tls证书进行加密传输。构建环境再次介绍下我们本次搭建的环境: 节点名称 ip 配置 wecloud-test-k8s-1(master) 192.168.99.183 4核,4G,50G...
2018-04-01 18:58:03
5664
1
原创 kubernetes学习:2.kubernetes集群搭建(一)架构介绍
kubernetes集群搭建:架构介绍作为一个容器的编排管理工具,k8s的性能出众而且社区力量强大,连docker官方也已经默认k8s为容器编排的首选工具。所以我们更有必要去学习和了解它。k8s的整体架构主要分为两个部分: master(控制节点)和node(计算节点)。 从以下图中可以清晰的看到两者的关系和各自负责的功能: 1.左边是master节点的内容: 作为k8s的控...
2018-03-31 20:29:59
1232
原创 kubernetes学习:1.构建harbor镜像仓库
构建harbor镜像仓库Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以在测试和生产环境中部署harbor对业务上的镜像进行统一的管理。harbor 的官方网站如下所示: https://vmware.github.io/harbor/cn/一般来讲我们在生产环境部署harbor的时候需要使用多节点方案。将数据库从配置项中抽取出来,后端的镜像资源存储使...
2018-03-27 09:32:25
2403
1
原创 2.idea下springboot项目的热部署
idea下springboot项目的热部署热部署步骤1.在pom.xml文件中添加依赖包:添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></depe
2017-09-26 14:12:33
433
原创 1.golang学习笔记:数组是一种值类型
golang中数组–值类型区别于C语言, golang中将一个数组看作是一个值类型,这里与C语言作为对比进行解释。在C语言中,例如定义一个int类型的数组int array[10] = {12, 23, 34, 45, 56};则array实际上代表的是一个地址,例如在函数的参数传递中,实际参数传递一个int数组的数组名, 实际上把该数组的地址传递给了函数。#include <stdio.h>voi
2017-07-23 14:38:22
1097
原创 13.zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式。本篇文章向大家介绍短信报警。短信报警设置短信报警的设置和邮件报警的思路是类似的,主要划分为一下几个过程:1.编写短信报警的脚本; 2.在zabbix的操作界面添加短信报警媒介; 3.对指定的用户添加短信报警方式; 4.设置动作何时进行短信报警;我
2017-02-10 17:04:38
19350
2
原创 1.django学习:安装django并且部署一个应用
安装django并且部署一个应用django是python一个应用广泛的web开发框架,关于django的使用介绍在中文官方文档中已经有了详细的介绍,有兴趣的同学可以学习django的基础内容,地址如下: http://python.usyiyi.cn/django/index.html本系列的文章希望可以使用django+salt等工具可以实现一个资产管理及自动化的运维平台,可能会遇到很多的坑。
2016-12-22 17:14:43
7614
原创 5.saltstack使用指南:使用saltstack部署nginx
使用saltstack部署nginx搭建环境:1.服务器列表:salt-master: 192.168.42.131salt-minion: 192.168.42.128(minion-192.168.42.128) 192.168.42.130(minion-192.168.42.130)2.环境: (1)服务器之间互相可以通信(火墙关闭或者火墙允许通信)
2016-12-07 21:19:27
2461
2
原创 3.saltstack使用指南:Jinja使用技巧
saltstack中使用Jinjajinja简介Jinja是基于python的模板引擎,在saltstack中我们使用yaml_jinja渲染器来根据模板生产对应的配置文件,对于不同的操作系统或者不同的情况通过jinja可以让配置文件或者操作形成一种模板的编写方式。一般在diango或者saltstack这种python环境下使用较多。在saltstack中使用jinja使用的步骤比较简单: 1.
2016-12-05 16:27:28
3084
原创 8.python学习笔记:python发送邮件
python发送邮件python发送普通文本邮件之前在设置zabbix邮件报警的时候使用mail命令进行发送,其实python也有自己的模块支持邮件发送(smtplib模块),下面给出示例,向大家介绍如何使用python进行邮件发送。代码示例如下:#!/usr/bin/env pythonimport smtplibimport stringHOST = "smtp.sina.com"SUBJE
2016-11-28 16:33:08
909
原创 12.zabbix学习笔记:zabbix监控之邮件报警
zabbix监控之邮件报警在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段。这样才能保证服务的稳定运行。报警的方式是多种多样的,微信、短信和邮件报警是我们比较常见的方式。而且报警的频率和策略直接影响着运维人员的重视程度和检错效率。如果整个报警列表中都是一些无关痛痒
2016-11-23 17:37:22
19769
4
原创 4.docker学习笔记:创建自己的registry
4.docker学习笔记:创建自己的registry一般情况下我们获取(pull)和推送(push)镜像都是在docker hub上进行的,非常的快捷方便。但是某些时候,因为外网不方便访问和速度的问题,我们更愿意在公司的内部搭建本地的registry。接下来就是告诉大家如何搭建内部docker registry。整体的思路是参照docker的官方文档介绍的,官方文档的地址如下: http://do
2016-11-18 23:46:40
1753
原创 2.docker学习笔记:制作docker镜像
制作docker镜像构建镜像的方式上篇章节介绍了如何从docker hub上拉取镜像,同时我们也可以制作镜像上传到docker hub上。首先我们需要做一些准备工作:1.在docker hub上进行注册: docker hub官网地址: https://hub.docker.com/ 2.登录docker hub:可以选择在官网进行登录,也可以使用命令行进行登
2016-11-11 00:05:50
9963
原创 1.docker学习笔记:docker的安装和基本使用
docker的安装和基本使用docker简介和虚拟化docker是一种可以把应用程序自动部署到容器的开源引擎,他和虚拟化相比具有轻量和快速部署删除的特点,可以使软件开发偏向于微服务架构方向。从资源成本和管理方式上都比传统的虚拟化有着太多的优势,但是对运行环境的要求较高。docker的组件包含以下四个:(1)docker的客户端和服务端; (2)docker镜像(images); (3)regis
2016-11-10 16:32:56
3488
原创 11.zabbix学习笔记:zabbix监控oracle
zabbix监控oracle可监控项使用zabbix监控oracle数据库需要借助第三方的插件,目前使用较多的是orabbix。目前维护到了1.2.3版本。关于oracle自带的监控项目有以下几个: DB Version (i.e. Validity of package)数据库版本 Archiving (Archive log production with trend an
2016-11-07 21:28:24
11930
原创 10.zabbix学习笔记:记一次zabbix故障引发的排查过程
zabbix学习笔记:记一次zabbix故障引发的排查过程背景在今天下午实验的时候部署zabbix3.2.1版本,安装完成后使用的时候突然发现系统选择里的语言无法更换为中文,它提示我中文无法切换。如下图所示: 解决的方法由下文展开?解决步骤因为之前安装配置过很多次,从来没有遇到过这个问题。突然就说中文复发支持。我的解决步骤和思路如下:1.首先它给出了提示“you are not able to
2016-11-02 10:17:34
2802
原创 10.nginx源码分析之数据结构:ngx__rbtree_t
nginx源码分析之数据结构:ngx__rbtree_t除了之前介绍的list、array、queue等线性数据结构之外,nginx还提供了查询效率较高的红黑树结构,这种二叉平衡查找树的使用极大提高了查找效率。关于红黑树的声明和定义在ngx_rbtree.h和ngx_rbtree.c中。关于查找方式一般我们会给出两种数据结构:hash表和二叉平衡查找树。(1)hash的代表产品是r
2016-10-31 20:05:06
598
原创 5.nginx学习笔记:nginx+php
nginx学习笔记:nginx+phpnginx连接php可以使nginx支持更多的应用。接下来我们搭建nginx和php 之间的架构。安装前准备(1)php的安装需要多种组件,使用yum安装:[root@rsync ~]# yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libc
2016-10-31 11:17:21
509
原创 9.nginx源码分析之数据结构:ngx__queue_t
nginx源码分析之数据结构:ngx__quque_tngx_queue是nginx中的双端队列,该双端队列为了满足通用性,整个结构中没有指向数据节点的部分。typedef struct ngx_queue_s ngx_queue_t;struct ngx_queue_s { ngx_queue_t *prev; //指向前一个节点 ngx_queue_t *next;
2016-10-29 15:56:15
398
原创 8.nginx源码分析之数据结构:ngx_list_t
nginx源码分析之数据结构:ngx_list_tngx_list_t是一个单项链表,在nginx的头文件ngx_list.h中主要定义了两个结构体来描述链表:单链表的控制信息:typedef struct { ngx_list_part_t *last; //链表的最有一个节点地址 ngx_list_part_t part; //链表的头节点 si
2016-10-29 11:50:22
557
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人