自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次自动化测试demo

import com.yhr.entity.Product;import com.yhr.entity.enums.ProductStatus;import com.yhr.util.RestUtil;import org.junit.BeforeClass;import org.junit.FixMethodOrder;import org.junit.Test;import or...

2019-03-26 16:30:08 451

原创 SpringBoot的两种统一错误处理方式

1.使用继承BasicErrorController 来实现SpringBoot为我们提供了自动处理异常的BasicErrorController 其返回的JSON数据如下:“timestamp”:…“status”:…“error”:…“exception”:…“path”:…“message”:…但一般 前端只需要我们传的message 信息,那么我们需要重新构造返回的JS...

2019-03-26 14:00:33 1638

原创 Gradle自动构建工具的使用(二)之gradle的使用

1.下载和安装(1)下载网址:https://gradle.org/install/ 这里我下的是二进制版本(2)解压(3)配置环境变量 添加系统环境变量 GRADLE_HOME:F:\gradle\gradle-5.3编辑path 最后添加 : ;%GRADLE_HOME%/bin;(4)查看是否安装成功控制台 gradle -v2.创建gradle工程打开idea新建...

2019-03-25 15:27:23 203

原创 Gradle 自动构建工具的使用(一)之groovy的学习

1.Gradlegradle使用 groovy 这种基于JVM的敏捷开发语言,groovy比java 更简洁,是作为java 的一种脚本语言来使用。使用gradle 我们必须先了解和熟悉groovy语言2.groovy 与java的区别我们来看一个groovy的入门demopublic class ProjectVersion{ private int major; //大版本 ...

2019-03-25 15:10:49 201

原创 利用自定义注解实现一个简单测试框架demo

思考:在单元测试的时候 在主方法上加上@Test注解 然后去顺序执行每一个方法,如果方法很多很复杂如何去简单的实现一步测试?结论:这里可以用到自定义注解去对每个方法进行测试自定义注解 @Check 使得加上该注解的方法都会执行 然后抛异常输出到文本文件1.首先我们先定义一个注解接口package com.yhr.annotation.demo;import java.lang.ann...

2019-03-13 09:10:35 613 1

原创 探究反射的实现原理及使用方式

反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制好处:可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。获取Class对象的方式:Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象多用于配置文件,将类名定义在配置文件中。读...

2019-03-12 17:57:20 486

原创 探究注解的实现原理及使用方式

注解:概念:说明程序的。给计算机看的注释:用文字描述程序的。给程序员看的定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。概念描述:JDK1.5之后的新特性说明程序的使用注解:@注解名...

2019-03-12 17:55:41 431

原创 docker部署 elasticsearch问题和总结 及IK安装 head安装

1.首先从国内下载elasticsearch镜像docker pull registry.docker-cn.com/library/elasticsearch2.启动docker由于这里我使用的阿里云的轻量级学生服务器 内存只有2个g这里我们必须指定elasticsearch的jvm内存大小才能启动成功,之前我没有注意到这个问题,多次启动都失败了,设置jvm内存大小来启动elasti...

2019-03-08 14:27:56 1089

原创 使用logstash 同步数据库数据到elasticsearch

1.下载logstash 并解压如图所示测试logstash 的命令 这里就不提示了 网上有 主要是 logstash -e …但是实际业务环境中 使用 logstash -f filepath2.进入logstash-5.6.8 在目录下新建一个mysqletc文件夹在mysqletc文件夹下导入mysql-connector-java的jar包 并创建mysql.conf 内容如...

2019-03-08 10:40:01 1493 2

原创 Elasticsearch ik分词器的配置和使用

1.下载 elasticsearch-analyze-ik-5.6.8压缩包2.解压包解压出来一个名为elasticsearch的文件夹如下图3.将 elasticsearch 文件夹重命名为ik4.将ik文件夹放入 elasticsearch目录的plugins文件夹下即可如下图所示5.在浏览器输入http://127.0.0.1:9200/_analyze?analyzer=i...

2019-03-07 10:53:57 856

原创 Elasticsearc安装、 解决安装head插件 以及跨域问题

1.启动Elasticsearch下载Elasticsearch压缩包 ,直接解压即可进入bin目录 cmd运行例如C:\Users\Administrator\Desktop\tensqure\elasticsearch-5.6.8\bin elasticserachElasticsearch 会启动两个端口 9200 9300 。9300是专门提供给java使用的2.安装el...

2019-03-07 10:27:11 528

原创 浅谈数据库优化

目前先浅谈自我总结的数据库优化1.物理主外键 中间表对于架构师来说:在实际开发过程中,设计表结构时,为了业务拓展和迭代开发,很少去建立物理主外键或中间表。比如A表 和B表,A表中放入B表B.id ,在写入数据时,A表中的外键(Bid)必须要插入B.id,不写不行,不能将其空着,且要求B中的id必须要有值。在实际开发中不一定一上来就定完外键,为了方便后期开发者容易 ,一般使用逻辑主外键,就是...

2019-03-06 14:34:13 85

原创 成员变量(全局变量)和局部变量的区别

局部变量和成员变量1.定义的位置不一样(重点)局部变量:在方法的内部成员变量:在方法的外部,直接写在类中2.作用的范围不一样(重点)局部变量:只有方法当中才可以调用,出了方法就不能再调用成员变量:整个类都可以通用3.默认值不一样(重点)局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样局部变量:栈内存成...

2019-02-22 19:35:52 2362

原创 浅谈java 内存划分 及 运行时的内存调用顺序

一、java的内存划分为五个部分1.栈(stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中局部变量:方法的参数,或者是方法()内部的变量作用域:一旦超出作用域,立刻从栈内存中消失。2.堆(Heap):凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址值:16进制(比如0x1231)堆内存里面的数据都有默认值,规则:如果是整数 默认为0如...

2019-02-22 19:30:10 349

原创 20180827 linux服务器矿机事件

一、解决方法(1)查看阿里云服务器监控,发现两台linux的CPU占用率飙升100%且一直保持,查看ZYBD服务日志,依然有打卡数据显示。使用ssh登录两台linux,用top命令查看占用CPU最高的进程,但无奈发现只有两行代码如下图2-1所示图2-1显然top命令已被入侵木马进行删除或者修改,来隐藏CPU占用率最高的进程。从阿里云上态势感知企业使用版(非企业版不能查看详细信息)能够查到恶...

2019-02-19 09:56:53 319

原创 JavaScript知识总结二

1.DOM document object modeldom的查找:(1)直接查找:var obj=document.getElementById('id1')(2)间接查找:文件内容操作:(1)innerText 仅文本innerHTML 仅内容(2) valueinput value 获取当前标签中的值select 获取选中的value值 (selectedInd...

2018-12-29 11:09:53 147 1

原创 JS小练习

1.作业 实现登录 注册框 并且有必填项的提示<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Tit

2018-12-17 17:52:50 132

原创 JavaScript知识总结一

1.JavaScript简介独立的语言,浏览器本身就是一个JavaScript的解释器 js要加分号是因为网页上要尽量把js代码压缩成一行,所以必须加分号来识别哪个是一行2.JavaScript代码存在形式:head中 (一进入网页就触发)1. < script> // js代码 alert(123); ...

2018-12-17 17:51:00 105

原创 CSS知识总结

CSS1. 在标签上设置style属性:background-color:#2459a2;height:48px; ...2. 编写css样式:可以写在标签的style属性里 <div style="background-color:#2459a2;height:48px;&quo

2018-12-14 10:15:52 117

原创 html 知识总结

HTML1.其实就是一套规则,浏览器认识的规则2.开发者:- 学习html规则- 开发后台程序:- 写html文件 (充当模板的作用)- 数据库获取数据,然后替换到html文件的指定位置 (web框架就是帮我们做这些事的)3.本地测试- 找到文件路径,直接浏览器打开- pycharm 打开测试 (pycharm会自己给你起个socket)4.编写html文件- doctyp...

2018-12-14 09:28:20 128

原创 小杨学python(十七) 堡垒机

集中式认证 ldap ad 域(windows)堡垒机作用:权限可控,用户审计主流堡垒机:1.商业堡垒机:齐治 堡垒机 被360投资了2.开源堡垒机:比如jumpserveralex写的 crazyeye今天成为了改过paramiko 源代码的人从github上下载paramiko源代码包找到demos文件夹由于现在paramiko 的demos不支持python3需要修改 de...

2018-12-11 15:15:08 241

原创 小杨学python (十六) mysql ORM框架 sqlachemy

1.关系型数据库Oracle 收费Mysql 开源 被oracle收购了SqlServer 微软DB2 IBMPostgresqlSqlite 轻量级access 轻量级2.基本sql操作就不写了 看博客(1)讲下外键:建立外键 外键约束KEY ‘key_name’(‘class_id’), CONSTRAINT ‘key_name’ FOREIGN KEY(‘class...

2018-12-05 19:14:26 158

原创 小杨学python (十五)redis

1.缓存系统(broker)进程间通过缓存实现内存共享(进程到缓存系统(broker 中间件)采用socket)主流缓存系统 Redis mongodb memcache 自己也可以写几个缓存系统的区别:mongodb 不需要配置,直接持久化 往内存存东西,会同步到硬盘redis (半持久化)默认存在内存,必须要手动或者配置才能同步到硬盘memcache 只能在内存里,不能持久化(轻...

2018-12-03 11:40:47 102

原创 小杨学python(十四) 消息队列 rabbitmq

1.独立进程间的通信(比如不同应用,注意不是多进程的通信)(1)通过磁盘写入,读出(2)建立socket(3)通过broker(中间件代理,到broker也是通过建立的socket)2.常见的消息队列RabbitMQ ZeroMQ ActiveMQ kafka(日志系统)RabbitMq、ActiveMq、ZeroMq、kafka之间的比较:转载:https://blog.csdn....

2018-12-03 11:32:21 145

原创 小杨学python(十三) 进程

1.IO(磁盘,网络等)操作不占用CPU计算占用CPU,例如1+1多线程使用场景:python多线程不适合CPU密集操作型的任务,适合IO密集型的任务(例如socket server )2.进程每一个进程都是由默认父进程启动的(每一个子进程都是由主进程启动的)比如在pycharm启动程序 ,在windows上是pycharm为父进程:主进程的父进程为pycharm比如在linux终...

2018-11-27 09:48:51 136

原创 小杨学python (十二) 多线程批量管理主机

通过多线程实现基于paramiko的ssh,sftp的批量管理主机功能需求:1.主机分组2.登录后显示主机分组,选择分组后查看主机列表3.可批量执行命令、发送文件,结果实时返回4.主机用户名密码可以不同只能执行paramiko.exec_command能执行的指令,例如top等不能执行通过多线程实现从data目录读取主机数据(ip,pwd等)利用paramiko实现ssh登录执行命令...

2018-11-21 14:26:48 131

原创 小杨学python (十一) 线程

线程与进程1.线程:os调用CPU进行运算的最小单位,被包含在进程中(就是一堆指令)小知识点运算速度比较:CPU>RAM>>磁盘CPU 稍大于RAM(内存),RAM远大于磁盘每一个程序的内存都是独立的,不能互相访问单核CPU只能同时执行一个任务,但是因为太快了,在CPU内进行上下文切换(线程的上下文本质上是一组CPU的寄存器,有正在执行

2018-11-21 14:24:29 92

原创 小杨学python(十) paramiko模块

1.paramiko 通过python实现模拟ssh批量登录在linux系统上 ssh本身也可以用来传文件,例如:使用 scp -r /opt/test root@remote_host:/opt 命令也可以执行传输文件到远程主机。(小知识点:Linux中 l.可以查看隐藏文件,ls -a 查看所有文件(包含隐藏文件),密钥存放的位置id_rsa、id_rsa.pub和know_host的位...

2018-11-21 13:11:27 113

原创 小杨学python(九) socket网络编程

1.ftp server 的运行流程:(1)读取客户端发过来的文件名(2)检测文件是否存在(3)打开文件(4)检测文件大小(5)发送文件大小和md5给客户端(6)等待客户端确认(7)开始边读边发(8)发送md52.粘包问题什么是粘包:两条send 挨着 容易被当成一条send (linux 上这种问题比较明显 )3.socketserver(实现多个请求并发)(1)你必须自...

2018-11-16 11:38:08 148

原创 小杨学python(八) 类

1.static_method,class_method,property_method方法(1)static_method 静态方法静态方法:实际上跟类没有什么关系,相当于是类下的一个函数,与类没有关系(很少用),只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性(比如说python的sys模块,相当于是很多方法的集合类似于工具包,其中在sys类中各种方法都是使用的静态方法)...

2018-11-12 11:28:42 270

原创 小杨学python (七) 选课系统

二、作业使用面向对象技术设计模拟选课系统,使用pickle作为序列化存储方式github地址:https://github.com/yyyhhhrrr/xuanke

2018-11-08 15:48:48 240

原创 小杨学python(六) 面向对象

一、面向对象编程三大特性:封装、继承、多台。一切皆对象,把一个类变成 一个具体对象的具体过程叫实例化(初始化一类,造了一个对象)1.封装类中的函数:(1)构造函数:在实例化时做一些类的初始化的工作,将实例的属性存入内存(2)类的方法:类的功能(动态属性)(3)析构函数:def __del__(self):析构函数:在实例释放、销毁(程序结束)的时候自动执行的,通常用于做一些收...

2018-11-08 15:33:16 118

原创 小杨学python(五) 常用模块

常用模块学习(1)什么是模块模块的定义模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本职就是.py结尾的python文件(2) 导入方法:(2)time模块#!/usr/bin/env python# coding:utf-8# Author:Yangimport timeprint(time.time()) # 时间戳print(help(...

2018-11-07 14:42:54 137

原创 小杨学Python (四)装饰器ATM 小练习

(1)装饰器:相当于对一个函数进行功能的添加,装饰器是由高阶函数和嵌套函数的结合使用装饰器装饰函数时,不能修改原函数的调用方式。比如登录认证时会用到装饰器装饰器能够带参数,一下是一个高级装饰器列子#!/usr/bin/env python# coding:utf-8# Author:Yang# 装饰器高级版import timeuser="yang"pwd=&a

2018-11-05 13:14:13 166

原创 小杨学python (三) 读写流

(1) 文件读写:r’:读‘w’:写‘a’:追加‘r+’ == r+w(可读可写,文件若不存在就报错(IOError))‘w+’ == w+r(可读可写,文件若不存在就创建)‘a+’ ==a+r(可追加可写,文件若不存在就创建)‘rb’  ‘wb’  ‘ab’  ‘rb+’  ‘wb+’  ‘ab+’加b是以二进制形式打开文件读的方式:f.read() 一次读所有 放入内存。当...

2018-10-31 09:58:09 161

原创 小杨学Python (二) 基本数据结构

(1)关于python “”.join() 出错TypeError: sequence item 0: expected string需要将list转为string在list转string时,如果list元素不为string时需要转换为string(2) list的方法names = ["a","b&qu

2018-10-30 10:53:50 162

原创 小杨学python (一)介绍

老男孩14期自动化运维day1随笔和作业(1)python2.x版本支持到2020年,目前最好使用python3(2)python 2.x与python3.x一项区别为 python2.x默认编码格式为ascll,不使用utf-8写中文要乱码。python3.x默认使用utf-8编码。(3)字符编码:最早为ASCLL码,将后127位交给中国产生出GB2312,但依然有很多字符未能录入,于是G...

2018-10-29 10:09:08 160

空空如也

空空如也

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

TA关注的人

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