自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田培融的博客

https://budongfeng.gitee.io/weekly/ 个人博客地址

  • 博客(120)
  • 资源 (2)
  • 收藏
  • 关注

转载 lombok @Accessors用法

Accessor的中文含义是存取器,@Accessors用于配置getter和setter方法的生成结果,下面介绍三个属性fluentfluent的中文含义是流畅的,设置为true,则getter和setter方法的方法名都是基础属性名,且setter方法返回当前对象。如下@Data@Accessors(fluent = true)public class User { priv...

2019-09-24 15:42:47 182

原创 python爬虫 CSS选择器

通过 CSS选择器爬取网页内容。需要先学习CSS选择器的语法 。

2019-09-20 08:51:57 532

原创 XPATH入门

语法

2019-09-18 18:49:49 136

原创 scrapy运行

在上一文中我们使用pycharm创建了一个scrapy项目, 并使用命令初始化了一个scrapy模板。 这一文中我们就让这个scrapy爬虫脚本运行起来。第一步 在根路径下创建一个py文件直接右击创建就可以。这个py文件的名称可以自定义。第二步编写main.py文件内容。# execute 可以调用scrapy的执行脚本from scrapy.cmdline import execu...

2019-09-18 08:12:27 2317

原创 python正则表达式入门二

至少出现一次。 和*号的区别在于* 可以出现零次。+示例line = "tpyyyyyyypbpr123"regex_str = ".*?(p.+?p).*"match_result = re.match(regex_str, line)if match_result: print(match_result.group(1))运行结果pyyyyyyyp如果不加非...

2019-09-16 08:23:41 147

原创 python正则表达式入门一

正则表达式入门导包import re常用示例以某个字符串开头^任意字符 .就是一个英文的句号任意多次*示例line = "tpr123"regex_str = "^t.*"if re.match(regex_str, line): print("匹配成功")结果D:\pythonworkspace\regexp\venv\Scripts...

2019-09-10 19:51:14 175

原创 python3安装scrapy

第一步创建envmkvirtualenv myscrapy第二步:安装scrapypip install -i https://pypi.douban.com/simple/ scrapy注: 国内往的原因要使用国内源 https://pypi.douban.com/simple/...

2019-09-10 19:13:24 158

原创 并发500时hystrix熔断解决

接上文,我在接口的并发量压到了500。 发现了A服务调用B服务的时候请求失败,直接进入熔断。经过hystrix和dashaboard监控发现B服务没有接受到请求。 推断是A服务的hystrix配置有问题。现将实践配置粘到下方。#hystrix的超时时间hystrix: command: default: execution: timeout: ...

2019-09-10 10:14:00 1254

原创 spring cloud zuul网关配置实践

zuul: okhttp: enabled: true # 使用okhttp方式请求,正常来说okhttp比较速度快一点 semaphore: max-semaphores: 500 # 并发处理数,值越大越好,但到到达一个临界点之后,就不会提高响应速度了 host: socket-timeout-millis: 30000 # socket超时时间,如果使用s...

2019-09-09 17:56:45 542

原创 性能优化入门--记录一次并发数从8到100的过程

背景目前在弄的一个项目是一个由spring cloud搭建的微服务项目。项目仍然处于开发阶段,但是在做单元测试的时候就发现了一些接口响应速度比较。由于项目数据就是开发时的测试数据,量是非常小的,只能证明我们代码写的是非常烂的。整体的业务设计也是非常有问题的,...

2019-09-09 10:28:50 780

原创 Docker无法启动容器时如何修改配置

问题描述在docker容器中安装了Mysql5.6,但因修改错配置文件,导致容器无法重新启动,怎么办?解决方式方式一:在当前主机中存放了docker容器中的配置信息(一般默认目录是:/var/lib/docker/overlay/),那只要找到这个配置文件,修改后就可以重新启动了方式二:使用docker cp命令,把docker容器中的配置文件复制到主机中来,然后修改完后再复制到doc...

2019-09-04 14:56:35 3467

转载 mysql查询某一个字段是否包含中文字符

在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是:SELECT col FROM table WHERE length(col)!=char_length(col)网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回...

2019-08-15 10:45:47 977

原创 CompletableFuture 组合式异步编程

本节内容:创建异步计算并获取计算结果.使用非阻塞操作提升吞吐量.设计和实现异步API.如何以异步的方式使用同步的API.如何对两个或多个异步操作进行流水线和合并操作.如何处理异步操作的完成状态.现在,很少有网站或者网络应用会以完全隔离的方式工作。更多的时候,我们看到 的下一代网络应用都采用“混聚”(mash-up)的方式:它会使用来自多个来源的内容,将这些内 容聚合在一起,方便用...

2019-08-14 13:34:29 391

原创 java并行流

在java7之前,处理并行数据非常麻烦. 第一:你得明确的把包含的数据结构分成若干子部分. 第二:你要给每个子部分分配独立的线程. 第三:你需要在恰当的时候对他们进行同步,来避免不希望出现的竞争条件,等待所有线程完成,最后把这些结果合并起来.在前面的文章中,我们介绍了 Stream接口,让你可以很方便的处理它的元素,可以调用ParallelStream 方法把集合转换成并行流.并行流就是把一个...

2019-08-13 15:55:58 6668 3

原创 java 用流收集数据

前言我们已经在前面两篇文章中用过 collect 终端操作了,当时主要是用来把 Stream 中所有的 元素结合成一个 List 。在本章中,你会发现 collect 是一个归约操作,就像 reduce 一样可以接 受各种做法作为参数,将流中的元素累积成一个汇总结果。具体的做法是通过定义新的 Collector 接口来定义的,因此区分 Collection 、 Collector 和 colle...

2019-08-13 11:05:40 505

原创 java 流使用

前言在本章中,你将会看到许多Stream API支持的许多操作.这些操作能让你快速完成许多复杂的查询.如筛选、切片、映射、查找、匹配和归约。 接下来,我们会看到一些特殊的流:数值流,来自文件和数组等多种来源的流,最后是无限流.1 筛选和切片在本节中,我们来看看如何选择流中的元素:用谓词筛选,筛选出各不相同的元素,忽略流 中的头几个元素,或将流截短至指定长度。1.1 用谓词筛选filter...

2019-08-12 13:52:14 516

原创 函数式数据处理(一)--流

前言集合是Java中使用最多的API。要是没有集合,还能做什么呢?几乎每个Java应用程序都会制 造和处理集合。集合对于很多编程任务来说都是非常基本的:它们可以让你把数据分组并加以处 理。很多业务逻辑都涉及类似于数据库的操作,比如对几道菜按照类别进行分组 (比如全素 菜肴),或查找出最贵的菜。你自己用迭代器重新实现过这些操作多少遍?大部分数据库 都允许你声明式地指定这些操作。比如,以下SQ...

2019-08-12 10:44:06 893

原创 Lambda 表达式

前言前片文章讲到,使用匿名类来表示不同的行为并不令人满意:代码十分啰嗦,这会影响程序 员在实践中使用行为参数化的积极性。在本章中,我们会教给你Java 8中解决这个问题的新工 具——Lambda表达式。它可以让你很简洁地表示一个行为或传递代码。现在你可以把Lambda 表达式看作匿名功能,它基本上就是没有声明名称的方法,但和匿名类一样,它也可以作为参 数传递给一个方法。本章的行文思想就是教你如...

2019-08-12 09:48:42 237

原创 设计模式-责任链-项目真实践

责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可...

2019-08-09 15:24:03 227

原创 通过行为参数化传递代码

行为参数化就是可以帮你处理频繁变更的需求的一种软件开发模式.一言以蔽之,它意味 着拿出一个代码块,把它准备好却不去执行它。这个代码块以后可以被你程序的其他部分调用, 这意味着你可以推迟这块代码的执行。例如,你可以将代码块作为参数传递给另一个方法,稍后 再去执行它。这样,这个方法的行为就基于那块代码被参数化了。打个比方吧:你的室友知道怎么开车去超市,再开回家。于是你可 以告诉他去买一些东西,比...

2019-08-09 14:21:06 293

原创 python django入门

创建虚拟环境这里是指在windows环境下, 并且已经安装了python。pip install virtualenvpip install virtualenvwrapper-winmkvirtualenv webtestworkon webtest创建app这里使用的工具是pycharm,当然不使用也一样,进入到项目目录中执行命令就可以了。1.打开命令窗口2.执行命...

2019-08-05 08:37:23 158

原创 springboot打印activiti的sql日志

logging: level: com.len.mapper: DEBUG org.activiti.engine.impl.persistence.entity: trace

2019-08-01 11:03:48 2754

原创 Pull Request流程

首先fork我的项目把fork过去的项目也就是你的项目clone到你的本地运行 git remote add looly git@github.com:looly/elasticsearch-definitive-guide-cn.git 把我的库添加为远端库运行 git pull looly master 拉取并合并到本地翻译内容commit后push到自己的库(git push or...

2019-07-23 08:36:59 629

原创 jenkins执行脚本npm: command not found解决

1、查看系统环境变量echo $PATH1/usr/local/node/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/www_app/.local/bin:/home/www_app/bin2、把服务器的环境变量添加到jenkins Node Properties &...

2019-07-16 10:36:46 21673 4

原创 shell脚本删除批量项目进程

NAME=zhfwdev echo "---------------"echo 'killing ->' $NAME ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'`echo 'found ID list:' $IDfor id in $ID do # 杀掉进程 kill ...

2019-07-08 16:09:58 881

原创 Linux中查看进程占用内存的情况

Linux中查看某个进程占用内存的情况,执行如下命令即可,将其中的[pid]替换成相应进程的PID号:cat /proc/pid/status说明/proc/[pid]/status中所保存的信息除了内存信息,还包括进程IDs、信号等信息,此处暂时只介绍内存相关的信息。字段 说明VmPeak 进程所使用的虚拟内存的峰值VmSize 进程当前使用的虚拟内存的大小VmLck 已经锁住...

2019-07-08 16:07:22 12236

原创 jenkins + maven+ gitlab 自动化部署

现在都有docker 和k8s了。 那个需要一点时间成本去学习。因此决定先用jenkins maven gitlab 这种方式去实现自动化部署。环境预装gityum install gitmaven//进入一个目录cd /usr/local//创建一个文件夹mkdir maven//下载maven的tar包wget http://mirrors.hust.edu.cn/apa...

2019-07-05 11:25:30 611

转载 Command line is too long

报错内容:Error running ‘ServiceStarter’: Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.解法:修改项目下 .idea\workspace.xml,找到标签 , 在标签里加一行 ...

2019-07-02 09:35:29 2918

原创 RabbiMQ讲解三topic消息模式

前情回顾上一章,我们说了如果不指定exchange就会默认的exchange。而默认的exchange的交换类型是direct。也就是说只有RoutingKey和消息队列的名称完全一致的情况下,exchange(交换机)才会将消息转发到消息队列中。这一篇我们说一下topic消息模式。topic exchangetopic是可以根据RoutingKey的规则,将一个消息转发到多个消息队列中。...

2019-06-28 08:48:02 1302

原创 RabbitMQ讲解二快速入门

接上篇文章, 这一篇主要是对rabbitMQ做一个快速入门。在上篇文章中我们说到交换机可以绑定多个队列。 而一个消息传递到服务器后,传递到哪一个队列就是由交换机规则的。交换机传递消息的规则就是RoutingKey。下图黄色框为RoutingKey工作的区域。 消费者只需要监听一个队列就行了是不需要经过exchange的。下面的就是代码示例package com.bfxy.rabbitmq...

2019-06-26 21:51:56 260

原创 spring boot jpa 实现拦截器

我们项目重构加上了很多数据权限的东西,项目中使用了mybatis 和 jpa。经手的人多了就是这样。 mybatis 我们使用的是拦截器给sql动态拼接,现在jpa也需要这样做。以下是jpa 拦截器的配置。第一步: 实现 hibernate接口。重写方法public class JpaInterceptor implements StatementInspector { @Ov...

2019-06-19 17:23:10 11663

原创 RabbitMQ讲解一 AMQP协议介绍

简介RabbitMQ是一套基于AMQP协议使用erlang语言开发的消息队列。下面首先来介绍一下AMQP协议以上这段文字来源于维基百科。要注意其中的两点一个是与JMS的不同。 还有一点就是消息是作为字节流进行传递,而这个协议是规定了字节流内容的格式。关于rabbitMQ的特别,我个人感觉就是快(使用了erlang语言开发),并具有良好的集群模型和可靠性(这两点以后的文章会介绍)。 我比...

2019-06-17 20:43:54 434

原创 linux安装rabbitMQ

rabbitMQ是使用erlang写的,因为在安装rabbitmq之前需要在linux上安装erlang环境。erlang和mq版本匹配一定要符合这个版本匹配要求。安装erlang下载自己想要的版本,并上传到Linxu服务器上。cd /usr/local/ mkdir rabbitmq cd rabbitmq rpm –import http://packages.er...

2019-06-11 14:46:09 603

原创 springboot 获取resources目录下的文件

获取资源ClassPathResource resource = new ClassPathResource("license.xml"); 获取输入流 license = resource.getInputStream();

2019-06-11 10:03:52 5550 2

原创 maven打包本地依赖包

在要使用本地包中添加依赖 <dependency> <groupId>com.bdyh.common</groupId> <artifactId>common</artifactId> <version>0.0.1</version> ...

2019-06-05 10:06:54 3262

原创 工作流中文乱码问题解决

2019-06-03 15:14:32 913

原创 springboot+mybatis日志显示SQL

在yml配置文件中添加下面的配置。需要注意的是,com.bdyh.operation.mapper为自己项目中mapper接口的路径。这种方式也同时支持mybatis-plus。logging: level: com.bdyh.operation.mapper: debug...

2019-05-31 14:39:12 8840 2

原创 spring cloud zuul网关上传大文件

两步:1.在请求路径上添加 /zuul 这样就可以越过zuul的springmvc2.在资源服务器yml加个配置spring: servlet: multipart: max-file-size: 10MB # 单个文件大小,默认是1MB max-request-size: 30MB # 请求总上传的数据大小 enabled: ...

2019-05-30 18:00:51 3217 2

原创 shell 脚本部署项目

以下是我写的脚本用于我们测试环境中#!/bin/bashcd /home/apps/zhfwps -ef|grep zhfw |cut -c 9-15|xargs kill -9nohup java -jar zhfw-eureka.jar > /home/apps/zhfw/eureka.log 2>&1 &nohup java -jar zhfw-ga...

2019-05-23 14:47:04 1386 1

原创 关闭selinx nginx无法使用代理

nginx无法使用代理有可能是Linux中selinx 没有关闭查看selinx是否关闭getenforce 关闭 setenforce 0就可以使用nginx代理了

2019-05-22 16:00:36 232

编写导入从mysql导入 es的规则jdbc.conf

要使用logstash服务. 它的作用就是将mysql和es的建立一个通道,实现一个全量索引构建。编写导入从mysql导入 es的规则和sql

2020-08-14

自定义样式的java开发的网址导航

自定义样式的java开发的网址导航,后端采用springboot,beetl做为模板引擎。用户可以将自己开发的样式上传。

2020-05-06

空空如也

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

TA关注的人

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