开发问题
文章平均质量分 69
开心的码字达
我是要成为架构师的男人
展开
-
Java根据当前第几周获取周一和周日的日期方法
前言:我们经常会遇到查询根据某日的日期查询数据,根据第几周查询数据,根据月份查询数据。但有的时候,接口可能需要一个开始日期和一个结束日期来查询相应的数据,然而前端的时间控件只能获取202213(2022年第13周)这样的入参,并不能给到我们13周的开始日期和结束日期,所以这时候就需要后端同学进行转换了。今天这篇文章就讲解下如何根据第几周获取周一和周日的日期和根据月份获取第一天和最后一天。正文:1.根据第几周获取周一和周日的代码...原创 2022-04-12 17:46:41 · 5205 阅读 · 2 评论 -
APP性能监测工具之友盟的 U-APM产品入门使用
前言:最近公司做了一款新的APP,要求能够看到用户每天的新增量和活跃量,还有一些页面的点击量、停留时间等的监测,还有更重要的一点就是能够监测到app的异常情况。于是开始对第三方工具开始一番研究,对比之后我选择使用了友盟。废话不多说,开始介绍下我的集成过程。这里有一个整体的流程图正文:第一步:集成准备友盟的应用性能监控平台 U-APM的传送门:https://at.umtrack.com/HHDSrm如果没有账号可以先注册一下,注册完登录后,直接点击进入后台进入后...原创 2021-10-21 16:22:20 · 10569 阅读 · 0 评论 -
Navicat导入excel表格的数据varchar类型字段多了小数点怎么解决!
前言:在开发测试阶段,经常需要造一些测试数据或者导入一些从uat环境拿过来的数据,所以通过Excel往Navicat导入数据经常会遇到。今天分享的问题就是往Navicat导入excel表格的数据varchar类型字段多了小数点怎么解决的方案。这里Navicat的版本是12.0.18,所以参考前看看自己的版本是不是比较接近。正文:一、复现问题1.数据库的表的结构2.导入的excel的表格结构3.开始导入,操作如下点开导入界面选择数据源...原创 2021-10-11 18:00:39 · 3816 阅读 · 2 评论 -
如何用Xshell同时查看多台服务器的日志?
前言:如果有个项目在多台服务器上做负载均衡,但是日志又没有做日志收集,怎么可以同时查看多台服务器的日志呢,今天就告诉你一个xshell的妙用!正文:打开xshell的撰写兰点击撰写栏的图标,选择全部会话。然后我们随便打几个字,就会发现打的指令会同步到多个窗口,有点群发的感觉这个办法只能算曲线救国总结:...原创 2021-07-22 16:34:08 · 803 阅读 · 0 评论 -
java.lang.UnsupportedOperationException解决方法
前言:在工作中我们会经常操作集合,有的时候会碰到程序抛出标题中提到的异常,这个翻译过来就很好理解,不支持操作的异常。但是你会很纳闷,明明自己操作的是集合的add方法,难道集合还不支持追加元素了?那是因为此集合非彼集合。正文:我们还是先复现问题,在分析问题,最后解决问题。1.复现问题public class Demo34 { public static void main(String[] args) { String[] array = {"1","2","原创 2021-07-22 11:21:40 · 8064 阅读 · 4 评论 -
Lambda表达式语法及应用
前言:JDK8后,源码中开始应用Lambda表达式,所以如果想读懂源码的同学学习它是绕不过去的,至于lambda表达式在不在开发中使用,就要看自己的需求啦,他的优点很明显,简洁,非常容易并行计算,提升开发效率,缺点是不并行计算时很多时候还没有for循环快,不容易调试,对于没有学过lambda表达式的程序员的可读性差,所以学不学看自己需求。这篇文章主要讲解下Lambda表达式语法及应用,感兴趣的...原创 2021-02-07 15:47:54 · 683 阅读 · 0 评论 -
mysql使用group by的小坑你知道吗?(mysql版本8.0.19)
前言:有很多东西经常在用,但是却有很多细节没有注意到,有一天突然发现原有还有这种限制呢,今天这篇文章就讲解下mysql使用group by和distinct关键字容易出现的问题!正文:废话不多说,还是先复现问题!一、复现问题总结:...原创 2021-01-08 16:44:14 · 2030 阅读 · 1 评论 -
高性能的Mysql读书笔记系列之六(查询性能优化)
前言:即使设计了最优的库表结构、建立了最好的索引,如果没有的合理的查询sql,也是无法实现高性能的。所以除了对索引优化、库表结构优化,查询优化也是需要齐头并进的。正文:一、MySQL执行一个查询的过程是怎么样的?MySQL到底做了什么?查询执行路径1.客户端发送一条查询给服务器。2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。4.MySQl根据优化器生成的执行计划,调原创 2020-10-09 14:14:04 · 598 阅读 · 0 评论 -
高性能的Mysql读书笔记系列之五(创建高性能的索引)
前言:正文:总结:原创 2020-09-21 16:22:37 · 1902 阅读 · 0 评论 -
高性能的Mysql读书笔记系列之四(Schema与数据类型优化)
前言:良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema,这往往需要权衡各种因素。例如,反范式的设计可以加快某些类型的查询,但同时可能使另一些类型的查询变慢。所以在进行库表设计的时候,需要根据具体的情况在范式和非范式之间进行取舍。正文:一、如何选择优化的数据类型1.更小的通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和cpu缓存,并且处理时需要的cpu周期更少。但是要确保没原创 2020-09-03 09:54:52 · 517 阅读 · 0 评论 -
高性能的Mysql读书笔记系列之三(Mysql的基准测试)
前言:正文:总结:原创 2020-08-31 15:00:16 · 370 阅读 · 0 评论 -
高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)
前言:MySQL的慢查询日志是Mysql提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中。这篇博客我们讲解如何开启Mysql的慢查询日志以及相关参数的意义。正文:一、Mysql中有主要以下几种日志文件:1.错误日志:(error log):记录mysql服务的启停时正确和错误的信息,还记录启动、停止、运动过程中的错误信息。2.查询日志:(general log):记录建立的客户端连接和执原创 2020-08-14 10:38:54 · 349 阅读 · 0 评论 -
高性能的Mysql读书笔记系列之一(Mysql的逻辑架构和常见的存储引擎)
前言: 为了充分发挥MySQL的性能并顺利地使用,就必须理解其设计。MySQL的灵活性体现在很多方面。例如,你可以通过配置使它在不同的硬件上都运行得很好,也可以支持多种不同的数据类型。但是,MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。(摘自高性能的Mysql)简而言之:为...原创 2020-08-07 17:17:38 · 498 阅读 · 0 评论 -
RPC的从0到1的认识
前言:我们在面试或者开发中经常听到RPC框架或者RPC协议,那么RPC到底是是什么呢?今天这篇文章就带你认识RPC。正文:一、RPC是什么?RPC(Remote Procedure Call):远程过程调用的意思。其中过程可以理解为一个程序或者一个功能接口,所以RPC也可以理解为远程程序的调用的或者远程接口的调用。RPC采用CS架构的方式进行应用与应用之间的通信,来达成数据交互。二、RPC与RMI的区别?RMI(Remote Method Invocation)远程方法调用是o.原创 2020-08-04 17:04:16 · 499 阅读 · 0 评论 -
互联网分布式系统架构演进之路
前言:这是一篇学习心得的分享,告诉大家一个小系统是如何变得越来越复杂的。正文:网站一开始就是大型的吗?我们应该一开始就设计一个大型网站吗?这应该没有一个确切的答案,只能根据具体情况而看。总结:...原创 2020-07-31 16:16:14 · 1216 阅读 · 0 评论 -
springboot中事务的使用
前言:我们在实际业务开发中,经常需要往A表插入的数据的同时,还需要同时往B表去插入数据,要不全部成功,要不全部不成功,这就需要事务管理了。事务其实就是指逻辑上的一组操作,组成这组操作的各个单元,要成功都成功,要失败都失败,从而保持数据的一致性,今天就和大家讲解下怎么在实际业务开发中使用事务。正文:一、Spring中事务管理分为两种方式1.编程式事务管理spring框架提供了两种编程式事务管理方式:使用TransactionTemplate和直接使用PlatformTransactionM原创 2020-07-29 22:22:34 · 1476 阅读 · 2 评论 -
时间维度表的生成和具体的使用场景
前言:正文:总结:原创 2020-07-28 13:19:16 · 3896 阅读 · 4 评论 -
springboot整合Mongodb以及Mongodb的安装(Mongodb版本4.2.3)
前言:由于想做一个问卷调查系统,所以想起了非关系型数据库Mongodb,毕竟要是用Mysql去存储一张问卷调查单的内容,得拆分成好几张表,但是对于Mongodb就会容易很多,因为它是一个面向集合的,模式自由的文档型数据库。它不像关系型数据库Mysql一样需要定义表的结构和数据类型,它是schema-free(模式自由的),比如我在一个集合(Collection类似mysql里Table的概念)里可以不断增加字段,而不用我们去执行alert 语句去修改表结构。{"name":"阿达"}{"name原创 2020-07-18 13:46:28 · 1996 阅读 · 2 评论 -
Mybatis的「if」 标签有坑之参数是0的时候会被过滤掉!
前言:米娜,今天的文章还是简确用的文章,希望可以帮到你们。Mybatis 有一些标签,用来支持动态 sql 语句,简单来说,这些标签可以控制 sql 语句的输出,设置某些条件来让Mapper输出不同的 sql 语句,今天这篇文章主要说一下使用<if>标签会遇到的坑。正文:一、复现问题1.数据库的数据2.Controller层代码@RestController@RequestMapping("/study")public class StudentContro原创 2020-07-10 11:53:00 · 3475 阅读 · 8 评论 -
Idea如何导入eclipse的聚合工程的项目
前言:由于工作的原因,很可能原来用eclipse建的聚合工程的项目,需要导入到idea里,那么idea是如何操作的呢,对于不是很熟悉Idea的小伙伴们可能会一脸懵逼,这篇博客就把操作流程梳理一番。正文:1.打开idea,选择Import Project2.选择整个聚合工程的项目文件3.选择Maven4. 一定要选择Search for projects recursively,这样才能扫描到项目的pom如果不勾选Search for projects r...原创 2020-05-15 20:18:51 · 1723 阅读 · 0 评论 -
nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping
前言:在使用mybatis的时候,有的mapper接口需要传入多个类型参数的接口,这时候一不小心就会出现题目中所提到的问题,这篇文章就这种情况出现的bug讲解下bug出现的原因以及解决方案。正文:一、复现问题首先看下我的各层代码:1.post请求界面2.controller层代码3.service层代码4.serviceimpl层代码5.dao层代码6.mapper.xml层代码错误信息:nestedexceptionisorg...原创 2020-05-14 19:19:36 · 39646 阅读 · 0 评论 -
Idea启动springboot项目的时候如何指定配置文件?
前言:我们在使用springboot项目开发的时候,可能会遇到这样一种情况,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,所以今天就分享下如何设置多个配置文件,并且用idea启动时指定配置文件。正文:一、总结:...原创 2020-05-14 13:03:32 · 11450 阅读 · 0 评论 -
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常
前言:先说一下我的项目框架,项目是springboot+mybatis-plus,开发工具idea,在mapper.xml写自定义的sql,并用postman调用相关的接口时,报的标题中出现的错误。在解决这个bug之前,我先和大家普及一个概念,这个概念很重要,也为后面解决bug的方向上起到了指导作用。idea的mapper.xml和dao的位置该怎么放?在idea中有两种处理的方式:1.把xml放到Java文件目录下并和dao放在一起这种时候,你需要在pom文件里配置xml的路径,以及m原创 2020-05-12 14:57:20 · 16100 阅读 · 9 评论 -
疫情期间无法出门,程序员如何在家观看樱花?
前言:随着人工智能的兴起,Python作为一种科学语言的流行程度急剧上升,有许多机器学习库就是用Python编写的。那么今天就带着大家用python做一个小动画,希望可以引起想学习python的小伙伴的兴趣。正文:一、想在windows的电脑上运行python的脚本需要先安装python环境,才可以运行写的python脚本,我们先进入python的官网下载python安装包p...原创 2020-03-13 12:32:27 · 1096 阅读 · 1 评论 -
ra_serf: The server sent a truncated HTTP response body的问题怎么解决。
框架原创 2020-03-13 10:10:21 · 9108 阅读 · 0 评论 -
@Data对类似sName属性不起作用
前言:开发时准守规范开发是真的重要,要不一个命名不规则,就会埋下小小的坑。这篇博客就是说下@Data对类似sName属性不起作用的情况,和暂时的解决方案!正文:一、复现问题1.实体类@Datapublic class Student {private String sName;}2.controller层代码(注意在controller上加@RestControll...原创 2020-01-16 17:17:18 · 570 阅读 · 0 评论 -
学会Mybatis-Plus,从此告别加班,谁用谁知道!
前言:MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。它的愿景就是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。要说起mp就得先说 mybatis和hibernate,mybatis的众所周知他的好处就是sql写起来很灵活,hibernate的好处就是不用写sql...原创 2020-01-16 13:16:28 · 2722 阅读 · 2 评论 -
Springboot开发请求参数的映射?
前言:说是讲的springboot开发如何接收前端参数,其实大部分还是springmvc的那些东西,有个别属于springboot的注解可能加强了效果,但是并不多。这篇博客主要从springboot开发时参数映射的几种情况展开,不涉及到源码解析。阅读前的一些知识讲解:1.@RestController注解的作用就是相当于 @Controller + @ResponseBody 合在一起...原创 2020-01-13 16:28:33 · 4465 阅读 · 1 评论 -
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException
前言:碰到这个异常,其实从字面的意思可以很简单的推断出来,就是创建bean出现冲突啦,一般要不就是你创建的模块太多啦,自己都忘了建了什么类,所以在不同的包下建了相同的类导致冲突。要不就是你接手同事的项目,在不清楚同事都建了什么类的时候,不小心与同事的类名重复,这篇文章来告诉你如何快速定位到问题,并解决冲突。正文:一、复现问题1.项目启动时报的如下的异常org.springfr...原创 2019-12-27 14:17:00 · 1870 阅读 · 1 评论 -
Could not find artifact xxx.xxx:ww-www-ww:pom:1.0.1-SNAPSHOT in xxxx(http://xxx.xxx.xxx:xxxx私服地址)
前言:在实际开发中,很多公司会搭建自己私服,把自己公司封装的jar包放到私服上供开发的同事使用,但是新人到公司也许会碰到从私服下载不下来jar的情况。就会出现标题Could not find artifact xxx.xxx:ww-www-ww:pom:1.0.1-SNAPSHOT in xxxx(http://xxx.xxx.xxx:xxxx私服地址)的错误。那么这篇文章就告诉你碰到...原创 2019-12-27 11:03:25 · 116812 阅读 · 3 评论 -
Postman如何导出接口,学会这招后台开发再交接工作时,保准不被喷!
前言:我的文章还是一贯的作风,简确用风格(简单确实有用),你们可叫我职场新人救星!好的废话不多说,今天这篇文章讲的是如何用postman导出接口文档!解决怎么把自己用postman测试的用例分享给同事,让同事直接导入到自己的postman里,快速了解熟悉项目。正文:一、新建接口文件夹1.选择左边目录的New Collection,新建一个接口文件夹,建完后就会出现在左边的Colle...原创 2019-12-25 17:52:25 · 29596 阅读 · 0 评论 -
echarts柱状图X轴坐标文字如何垂直或倾斜显示!
前言:我们再用echarts做柱形图显示的时候,有时候不想X轴文字横向显示,这篇文章就讲解下如何设置属性使得echarts柱状图X轴坐标文字垂直或倾斜显示!正文:一、我们先看一下普通的柱形图的X轴坐标文字显示1.示例代码<!DOCTYPE html><html><head> <meta charset="utf-8">...原创 2019-11-07 15:01:21 · 22654 阅读 · 1 评论 -
学会了条件判断语句case when,能帮你省很多事情!
前言:今天的前言没什么好说的,你在开发中见过case-when-then else end 那你就知道某些场景很好用,没见过的很可能很多时候你会用连表查的方式解决类似的问题。这篇文章就告诉大家case when 的一些基础用法,让大家感受下它的好用之处。正文:一、我们先举个例子1.建表语句-- 班级表CREATE TABLE example( id VARCHAR(20)...原创 2019-11-01 16:14:20 · 1520 阅读 · 0 评论 -
Java中将xml文件转化为json遇到特殊字符会报错!
前言:我们在项目开发中,有时候调用别人提供的接口,接收到的数据是xml,这时候为了方便后续开发中的使用,需要解析xml并把数据转化成json,今天这篇文章就讲解下如何把xml转化成json,并在这个过程中容易出现的问题。正文:一、测试项目的搭建1.需要引入的pom依赖<dependency> <groupId>com.google.code.gson</g...原创 2019-10-30 11:07:45 · 2530 阅读 · 0 评论 -
Idea用System.out.println()往控制台输出中文字符串乱码问题!
前言:我们在初学Java的时候,做一些测试验证自己的逻辑的时候,会经常用到System.out.println()往控制台打印参数,但是有的时候,会发现打印出来的中文字符串出现乱码。这篇文章讲解下,如何解决这个乱码的问题!正文:一、复现问题public static void main(String[] args) { User user = new User(); ...原创 2019-10-24 14:01:10 · 13677 阅读 · 4 评论 -
Spring的BeanUtils实现忽略大小写的copyProperties()方法!
前言:我们在开发中会经常遇到对象之间属性的copy,笨一点的可以取出来对象的属性值再给另一个对象赋值,但这并不优雅,代码也不够简洁。所以我们会用到一些copy属性的工具类,比如Spring的BeanUtils,但是原本的Spring的BeanUtils要求copy的属性要大小写一致,但实际开发中两个对象的字段大小写可能不一样,因此可以对本spring提供的工具类BeanUtils进行进一步封装...原创 2019-10-23 17:17:06 · 7308 阅读 · 9 评论 -
Java虚拟机如何运行Java字节码?
前言:作为一个java程序员,应该要知道一段代码是如何在jvm里运行的,所以今天这篇文章就讲解下java程序运行原理分析。正文:一、Java的class文件的内容1.首先编写一个简单的代码public class StringDemo { public static void main(String[] args) { String s=new Stri...原创 2019-07-09 10:33:49 · 4981 阅读 · 10 评论 -
Linux系统下安装redis详细步骤(亲测)!
前言:如果你在项目开发中用到redis做缓存,正好你们公司的又没有运维,需要你亲自安装,那么这篇文章比较适合你啦,这篇文章主要讲解redis如何安装到linux系统中。正文:一、安装步骤1.先通过xftp把准备好的redis-3.2.11.tar.gz的安装包上传到指定文件夹里2.然后解压到当前文件夹里(你也可以解压到指定文件夹里),解压的指令tar zxvf redis...原创 2019-03-28 13:04:54 · 1209 阅读 · 0 评论 -
java.net.UnknownHostException: [hostname] : [hostname] : Name or Service not known
前言:我先简单说下这个项目的架构,前端是vue框架,后台是普通的ssm(SpringSpringMVCMybatis)框架,项目是用Tomcat启动的,nginx用来间接解决前端和后端跨域的问题,然后用redis做缓存来减少直接访问数据库的压力。标题中出现的问题,是我在Linux环境下部署项目时出现的,我分别安装好了redis-3.2.11、nginx-1.14.0、apache-tomcat...原创 2019-03-27 21:33:40 · 7994 阅读 · 0 评论 -
Linux系统下常用的命令(后台在开发中常用的,不断更新中)
前言:之前有个小伙伴,希望我整理份Linux下开发常用的指令,由于中间断断续续被各种琐事打断,所以一直没有给到他,这篇文章就整理下我在实际开发中常用的指令。正文:一、当提示到没有权限启动某个软件时(比如tomcat),可以试试这个指令chmod -R 755 /dada 刷权限的指令/dada 是你项目和tomcat的根目录二、当你数据库的从账号没有操作权限时,一些m...原创 2019-03-27 13:28:20 · 445 阅读 · 0 评论