- 博客(44)
- 收藏
- 关注
原创 Docker安装Elasticsearch以及ik分词器
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。项目上如果要使用Elasticsearch则需要先搭建相应的环境,用docker可以快速的搭建Elasticsearch环境。本文主要介绍如何用docker安装elasticsearch和ik分词器。
2023-11-29 11:02:03
695
原创 SpringBoot项目使用docker-maven-plugin插件构建docker镜像以及推送到docker hub或docker registry私服
本文介绍的方式是使用docker-maven-plugin的方式构建SpringBoot的docker镜像以及推送到私服或docker hub服务器上。
2022-10-17 15:01:26
3970
原创 CentOS安装Docker
Docker是一个开源的容器引擎,它有助于更快地交付应用。本文是针对初学者推出的CentOS上安装Docker环境的详细步骤。
2022-06-14 16:09:24
1464
原创 Python使用pandas从mysql数据库读取数据并导出到Excel
工作中我们经常会从数据库中提取数据,处理之后,将结果整理为excel输出。本文主要介绍使用python的pandas工具从mysql数据获取数据,按要求处理之后,导出到excel文件。安装依赖首先确定已经安装PyMySQL,pandas,sqlalchemy,openpyxl包,本文会使用这几个包:pip install PyMySQLpip install pandaspip install sqlalchemypip install openpyxl程序代码程序中先从m.
2021-11-26 16:02:55
5305
1
原创 Python常用数据库连接以及常用数据操作
使用python处理数据的时候,数据经常会由数据库提供而来。python连接不同的数据库使用的驱动以及连接方式都有所差异,本文主要记录python3连接不同数据库的方式。包含mysql, sqlite, access, sql server, neo4j和redis数据库的连接以及获取数据的使用方式。mysql数据库这里介绍使用pymysql连接mysql数据库,首先安装pymysql包:pip install pymysqlpython代码中初始化数据库连接以及查询数据:imp
2021-11-24 14:30:49
1735
原创 Mybatis使用collection分页问题
项目中mybatis分页的场景是非常高频的,当使用ResultMap并配置collection做分页的时候,我们可能会遇到获取当前页的数据少于每页大小的数据问题。使用PagerHelper插件同样会遇到该问题。
2021-11-22 14:06:05
7321
原创 Windows平台安装Solr并注册为服务
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。项目或者产品中我们经常会使用Solr提供全文检索功能。本文主要介绍如果在windows环境中安装solr以及注册为windows服务。获取Solr安装包从官方下载solr安装文件,solr下载地址:Solr Downloads - Apache Solr。安装Solr下载文件之后,解压文件。解压后目录结果如下:管理员身份打开命令行工具,进入bin目录,直接运行命令:solr start -f.
2021-11-18 14:29:37
1277
原创 SpringBoot通过自定义字段注解以及反射获取对象
SpringBoot中通过自定义字段注解以及反射,实现从数据转换并初始化对象。应用场景主要是通过外部接口,数据库,文本或者Excel读取数据,然后通过反射以及字段注解自动转换为对象,灵活的处理外部数据到对象的转换。
2021-10-09 15:34:53
4835
原创 SpringBoot项目Spring Retry重试的使用
项目中为了保证处理更健壮,容错性更高,更不容易失败,使用自动重试的失败的操作,可提高后续操作的可用性,保证容错性。Spring实提供了自动重试机制Spring Retry,功能简单实用。
2021-07-01 14:59:05
716
原创 SpringBoot定时任务Task常用开发方式
目录SpringBoot定时任务基于注解的定时任务@EnableScheduling开启定时任务@Scheduled开发定时任务@Scheduled开发示例开启多线程定时任务开启异步定时任务新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出
2020-12-31 23:20:16
482
原创 SpringCloud Gateway跨域CORS问题解决方案
最近使用SpringCloud搭建微服务,使用Gateway网关统一对外提供API接口,项目使用前后端分离,前端开发对接接口的时候抛出接口提示跨域问题不能调用。才注意到Gateway网关没有跨域相应的配置,默认情况下,是不允许任何跨源请求的,必须显式配置以指示应允许的内容。通过官网文档查阅、网上其他网友总结,最后使用官方文档描述的方法通过配置的方式解决了Gateway网关跨域的问题。spring: cloud: gateway: discovery: lo.
2020-12-18 22:27:20
3470
原创 Windows服务器Nginx安装以及常用配置,配置中遇到的常见问题
背景最近项目组完成了个项目,部署到客户那里,客户提供的是Windows服务器并要求部署的站点使用HTTPS安全访问。本来以为是比较简单的事情,给域名申请个证书,然后给站点配置好HTTPS接可以了。结果因为项目是前后端分离的项目,前端域名使用HTTPS访问,导致前端无法通过HTTP请求访问后端的接口,我们必须要为后端的接口也申请证书配置HTTPS。由于后端接口由多个服务提供,那我们需要为不同的后端接口服务申请多个证书并配置HTTPS。客户只给我们申请了前端域名的证书,对于客户来说,他只需要前端访问的域名启
2020-12-04 23:07:32
758
原创 SpringCloud Gateway结合注册中心启用负载均衡配置uri包含下划线的一个坑
最近在使用SpringCloud搭建微服务,注册中心使用Eureka,网关使用Gateway,在配置Gateway网关的时候遇到一个问题,导致请求通过网关无法转发到对应的服务上去。抛出问题Gateway网关中配置各个微服务的route,uri使用lb协议开启负载均衡功能,但是有些route可以正确的转发到对应的服务,有些route却无法转发到对应的服务,通过调试提示valid host。Gateway中route的配置部分示例如下:spring: application: name
2020-11-27 21:44:56
2746
2
原创 SpringBoot项目中ModelMapper配置以及使用
项目中对象与对象赋值转换使用的频率非常的高,比如数据库表实体对象(Entity)与业务类对象(Model)之间的赋值传递,或者模型对象(Model)与视图对象(ViewModel)之间的赋值传递。如果我们一个一个字段的赋值,将是非常繁琐并且毫无价值的重复工作,此时虽然我们可以自己通过反射提取个公共的方法来处理,但是更高效的方式是查看是否有第三方已经提供了比较成熟稳定的工具包,避免重复造轮子的工作。在C#中我们一般使用AutoMapper作为对象转换工具(AutoMapper配置使用参考:https://
2020-11-26 21:35:04
9632
原创 SpringBoot数据库连接池Hikari配置
在项目中,一般情况下访问数据库,会创建一个连接,用完后就关闭它,对于简单的系统这样不会带来什么明显的性能上的开销。但是对于一个复杂的系统,频繁的建立、关闭连接,会极大的减低系统的性能,因为对于数据库连接的使用可能会成为系统性能的瓶颈。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。SpringBoot默认使用HikariSpringBoot项目如果
2020-11-17 22:42:35
27124
2
原创 SpringBoot中使用Mybatis持久层框架操作数据库
SpringBoot项目中绝大多数的数据都是存储在数据库中,所以项目与数据库的交互是很常有的操作。SpringBoot项目中我们可以使用JDBC去连接数据库,但是有非常多的 JDBC 代码、手动设置参数以及获取结果集会耗费很多时间。MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。创建项目配置pom.xml使用IDEA开发工具创建一个空的Maven项目,pom.xml引入springbo
2020-11-16 22:40:08
998
原创 SpringBoot前后端分离项目上传文件功能
SpringBoot前后端分离项目开发中,上传文件的功能还是比较常见的。SpringBoot是支持上传文件功能,默认的单个文件大小限制为spring.servlet.multipart.max-file-size=1MB,单个请求限制为spring.servlet.multipart.max-request-size=10MB。项目中可以设置单个文件上传大小限制以及单个请求大小限制,以及文件超过最大限制后返回自定义Restful风格的Json字符串。功能开发接口开发比较简单,直接在接口中处理Mult
2020-11-12 16:47:43
1878
2
原创 Java微信支付官方wxpay-sdk无法继承WXPayconfig类问题
在开发微信支付的过程中,微信官方提供了wxpay-sdk以及README.MD文件中开发demo。官方暂时未提供maven项目依赖,我们需要自己将wxpay-sdk代码引入项目或者自己手动打包到本地或者私服通过maven来管理。微信支付官方sdk地址:https://pay.weixin.qq.com/wiki/doc/api/download/WxPayAPI_JAVA.zip问题当自己打包到本地或者私服项目通过maven管理wxpay-sdk,创建自己的实现类MyWXPayconfig继
2020-11-05 10:01:28
2895
4
原创 IDEA中使用Mybatis Generator自动生成数据库持久层相应的代码
当项目中我们使用Mybatis作为ORM框架是,Mybatis的XML配置以及对应的实体类以及Mapper类的创建会占用我们大量的时间,如果我们在这上面耗费太多的时间就太浪费了。官方给我们提供了Mybatis Generator工具,只需要简单的配置,就能够自动为我们生成简单的CURD对应XML配置、数据库表对应的实体类以及Mapper类,把我们从简单重复的工作中解放出来,专注于业务的开发。本文主要介绍IDEA开发工具中,常用的mybatis generator的配置以及基于maven方式运行mybat
2020-11-02 21:58:29
858
原创 SpringBoot自定义注解 AOP以及拦截器方式
SpringBoot项目中自定义注解的使用,通过继承HandlerInterceptorAdapter类使用拦截器的方式以及AOP切面的方式。
2020-11-01 18:10:16
1298
原创 SpringBoot中事件的使用
项目中很多场景可以使用事件来对系统进行解耦,让系统更便于维护和扩展。SpringBoot项目默认是支持事件的,我们只需要自定义事件,然后发布事件,之后监听事件处理业务逻辑即可。SpringBoot中我们会用到事件抽象类ApplicaltionEvent,事件监听接口ApplicationListener,事件发布接口ApplicationEventPublisher。本文基于用户注册成功之后发送短信以及邮件功能作为业务场景,将用户注册成功作为事件,模拟发送短信以及发送邮件作为用户注册成功事件的监听器。
2020-10-17 23:05:15
1092
1
原创 Java中正则表达式结合appendReplacement方法替换字符串中部分特殊字符
Java开发中字符串的替换比较常用,一般情况下replaceAll方法可以满足需求,但是遇到一些特殊的情况,replaceAll方法并不能满足需求,如果使用Pattern与Matcher,使用Matcher中的find、group、appendReplacement和appendTail方法结合StringBuffer可以解决替换字符串中某些特殊的字符。比如需要将字符串中的 - ( ) { } [ ] : 特殊字符前添加转义符\。 使用replaceAll方法不是很好处理,可以一个一个特殊字符处理,但是
2020-09-22 16:31:42
1493
原创 SpringBoot整合Swagger2接口文档
在项目中如果对外提供接口,那么接口文档的非常有必要的,是其他对接人员了解接口的唯一途径。如果接口文档写得不好,对接人员是非常痛苦的。而对于开发人员来说,写好文档本来是一件比较困难的事情。在SpringBoot中我们可以使用Swagger工具自动生成接口文档,项目中按照Swagger的注解可以很标准的输出接口文档。...
2020-09-17 21:45:57
354
原创 Python pandas数据分析以及处理的常用功能
在项目开发过程中或者生活上,我们经常会处理和分析数据,使用pandas可以大大的提高分析和处理数据的效率,将数据分析和数据处理过程中常用的方法以及经验做一个记录。pandas官方Get Start使用文档:https://pandas.pydata.org/docs/getting_started/index.htmlpandas官方接口文档:https://pandas.pydata.org/docs/reference/读取数据保存数据分析数据...
2020-09-10 21:46:05
758
原创 电信光纤天翼网关将默认的路由模式修改为桥接模式
前两年将家里的电信宽带升级到光纤,光猫也随之进行了升级,当时升级好后,电信工作人员介绍说新的光猫带有wifi功能,如果连接路由器可以不用配置路由器的拨号设置,说是升级到光纤后可以直接连接网线上网,不用再拨号了。当时也没怎么在意,网线连上路由器之后,果然没做宽带的账号设置就可以正常上网了。最近在使用一个软件客户端的时候需要设置宽带拨号的方式更换IP才能使用某个功能,然后才发现家里的宽带升级到光纤后,无法使用原来的拨号方式上网了。通过网络搜索,是因为升级光纤后,将连接的模式设置为路由模式,导致无法使用拨号上
2020-08-14 22:57:54
124329
11
原创 SpringBoot验证的使用及@Valid和@Validated区别
在开发SpringBoot项目的时候,验证的使用是必不可少的,项目中常用的@Valid和Validated来实现验证。相同点与区别 @Valid @Validated 标准 标准JSR-303规范 增强JSR-303规范 包 javax.validation org.springframework.validation 验证结果 BindingResult result BindingResult result 分组支持 不支持.
2020-08-08 23:14:20
2441
原创 SpringBoot中Logback常用配置以及自定义输出到MySql数据库
之前基于SpringBoot开发的项目运行一段时间后,客户使用网站偶尔会出现接口调用失败的情况,每次产品经理询问是怎么回事的时候,都需要让运维提下最近的日志才能分析具体原因,这样时效性和便利性不能满足当前的要求。项目之前的日志框架使用的是Logback,日志直接存入服务器上的文件中,现在计划将日志存入MySql数据库中,然后开发系统日志查询功能,这样可以通过项目直接分析日志,不用每次需要分析日志都需要麻烦运维人员。Logback输出日志到控制台和文件项目之前是将Logback的日志输出到文件中.
2020-07-01 22:35:22
4292
6
原创 SpringBoot中LogBack生产环境解决log.path_IS_UNDEFINED目录问题
通过启动服务的时候设置系统变量解决自动生成log.path_IS_UNDEFINED目录问题,-Dlog.path=D:/logs参考:https://www.cnblogs.com/alexgl2008/articles/12462720.html
2020-06-05 22:54:30
12353
原创 SpringBoot项目注册为windows服务
在SpringBoot项目开发过程中,特别是前后端分离的项目,一般在开发过程中需要将SpringBoot发布出来供前端人员调用,在windows服务器上通过命令行很容易的让SpringBoot项目发布出来,但是如果命令行界面关闭了获取服务器重启了,我们的SpringBoot项目也停掉了。使用NSSM工具注册为windows服务...
2020-05-12 21:27:29
1913
原创 IDEA设置类和方法的注释模板
博主最近从.NET转Java,Java的开发工具使用IDEA,所谓工欲善其事,必先利其器,首先要熟悉IDEA工具的使用,才能为后续的开发提高效率。本篇博客主要记录IDEA关于注释模板的配置和使用。一般我们开发程序都会涉及到注释,注释对于项目很有必要的,特别是对于项目后的维护。IDEA中我们可以为新建的类、接口、枚举等文件设置注释模板,为方法设置注释模板,统一注释风格以及提高添加注释的效率。为IDEA配置全局编码格式在IDEA中打开File-> Settings...弹出框中,选择Ed.
2020-05-11 21:41:59
476
原创 Scrapy爬取重庆安居客二手房并存入mysql数据库(下)
上篇中我们获取了重庆的一二级区(Scrapy爬取重庆安居客二手房并存入mysql数据库(上)),这一篇我们根据二级区获取相应的二手房信息。初始化数据库创建二手房信息数据库表,house表存放二手房信息,house_price存放价格(定期获取分析价格趋势):CREATE TABLE `house` ( `id` int UNSIGNED AUTO_INCREMENT, `a...
2019-12-04 21:28:46
1114
1
原创 Scrapy爬取重庆安居客二手房并存入mysql数据库(上)
scrapy是什么Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。官网地址:https://scrapy.org/官方文档:https://docs.scrapy.org/en/latest/Github:https://github.com/scrapy/scrapy准备工作本项目环境:python...
2019-12-04 21:28:40
845
原创 Python中re模块正则表达式
正则表达式的概念正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。应用检验字符串是否符合正则表达式的规则;从字符串中通过正则表达式获取我们需要的部分字符串。博主主要是学习python的爬虫,爬虫中会正则表达式的应用非常的广泛,主要从爬取的内容中通过正则表达式获取加工成我...
2019-12-01 13:16:47
205
原创 .NET MVC使用HtmlSanitizer过滤XSS攻击
什么是XSS通过“HTML注入”篡改了网页,插入了恶意脚本,从而在用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。XSS属于客户端代码注入,通常注入代码是JavaScript。区别于命令注入,SQL注入属于服务端代码注入。为什么要过滤XSS最近接到维护性项目,客户反馈网站的富文本编辑器中图片无法保存,通过排除发现是客户的服务器最近设置了XSS拦截,导致带有标签<im...
2019-10-28 13:58:58
3397
原创 .NET Framework项目中 AutoMapper的配置使用
项目中对象与对象赋值转换或者集合与集合的赋值转换使用的频率非常的高,比如数据库表实体对象(Entity)与业务类对象(Model)之间的赋值传递,或者模型对象(Model)与视图对象(ViewModel)之间的赋值传递。如果我们一个一个字段的赋值,将是非常繁琐并且毫无价值的重复工作,此时虽然我们可以自己通过反射提取个公共的方法来处理,但是更高效的方式是查看是否有第三方已经提供了比较成熟稳定的工具包...
2019-10-23 15:42:32
2931
原创 .NET MVC过滤器ActionFilterAttribute验证权限以及Model
项目使用.NET MVC开发,在开发过程中网站权限以及页面ViewModel的验证是比较常见的,本文主要记录在维护以前.NET MVC项目时将权限和Model的验证通过过滤器ActionFilterAttribute的方式来进行优化,达到简化程序代码提高效率。最近接到维护性项目的反馈说网站有冗余的数据,通过查看和分析代码发现项目以前在创建数据的时候为添加Model验证以及权限验证,通过页面加上...
2019-10-22 15:39:27
1025
原创 微信公众号网页授权开发笔记
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。本文主要记录网页授权开发过程中的一些步骤以及遇到的问题。1.申请订阅号或者服务号订阅号与服务号(是否认证)接口权限不同,根据项目需要申请不同类型的公众号以及选择是否认证,官方接口权限详情:https://developers.weixin.qq.com/doc/offiaccount...
2019-10-21 14:23:29
307
原创 Windows平台安装Python环境
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。Python目前在各个领域的应用都比较广泛,所以博主准备学习一下Python,在学习Python之前必须得安装环境,本文主要记录安装环境中的一个过程以及该过程遇到的问题。Python下载官方下载地...
2019-10-20 12:29:24
224
原创 Windows平台安装MySQL数据库
MySQL是目前应用最广泛的开源关系数据库之一。提供了面向C、C++、Eiffel、Java、Perl、PHP、Python、.NET以及Tcl等编程语言的编程接口。在项目程序决定采用MySQL作为数据库后,首先我们得先安装MySQL数据库,本文则主要记录在windows系统中安装MySQL的一个过程,以及遇到的问题以及如何解决的。MySQL数据库下载首先官方提供了多个版本,作为开发我们选...
2019-10-20 12:01:05
1228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人