• 面试官Maven的package和install有什么区别?看看这篇文章

    1、Maven 是干什么的?Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟2、Maven 解决了什么痛点?① 添加第三方 jar 包手动会出现 jar 包冲突,版本冲突。通过统一的 Maven 仓库我们可以享受到一个完全统一规范的 jar 包管理体系。② jar 包之间的依赖关系M...

    Java 2021年01月16日 3150 0
  • JavaScript 中 10 个需要掌握基础的问题

    JavaScript 是一种客户端编程语言。全球超过**90%**的网站都在使用它,它是世界上最常用的编程语言之一。因此,今天我们业讨论 10 个有关 JavaScript 的常见问题。1.如何从数组中移除一个特定的项思路:首先,使用indexOf查找要删除的数组元素的索引(index),然后使用splice方法删除该索引所对应的项。splice()是一个非纯函数,通过删除现有...

    Java 2021年01月16日 989 0
  • 万字详解 Zookeeper 的五个核心知识点

    1 ZooKeeper简介ZooKeeper 是一个开源的分布式协调框架,它的定位是为分布式应用提供一致性服务,是整个大数据体系的管理员。ZooKeeper 会封装好复杂易出错的关键服务,将高效、稳定、易用的服务提供给用户使用。如果上面的官方言语你不太理解,你可以认为 ZooKeeper = 文件系统 + 监听通知机制。1.1 文件系统Zookeeper维护一个类似文件系统的树...

    Java 2021年01月15日 1046 0
  • 什么是分布式任务调度

    1.什么是任务调度我们可以先思考一下下面业务场景的解决方案:某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。某银行系统需要在信用卡到期还款日的前三天进行短信提醒。某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。12306会根据车次的不同,而设置某几个时间点进行分批放票。某网站为了实现天气实时展示,每隔5分钟就去天气服务器获取最新的实时天气信息。...

    Java 2021年01月14日 1112 0
  • Zabbix5.2实战系列之如何开启https(LAMP) PHP

    Zabbix5.2实战系列之如何开启https(LAMP)

    虽然大部分使用Zabbix的用户是放在内网,但是该掌握的还是需要的,万一要用到了呢?关于SSL的好处在此篇文章不再赘述了。可以自行度娘了,不过如果ssl证书在服务器解密会损耗机器的资源,当然你的这个前端并不是大众访问,所以基本可以忽略不计了,正常情况是前端挂负载或者nginx做证书解密。正文环境介绍系统版本:CentOS 8.2PHP版本:7.4Mariadb版本:10.3we...

    PHP 2021年01月14日 1486 0
  • java初探Tess4j识别图片文字

    想学习下识别图片中的文字,找到了Tess4j图文识别的方式,于是就初步探究下,玩下识别验证码。第一步,下载1、以3.4.2版本为例,下载Tess4j-3.4.2-src.zip。2、下载中文字库,chi_sim.traineddata。下载Tess4j参考:http://sourceforge.net/projects/tess4j/字库下载参考:https://github....

    Java 2021年01月13日 1507 0
  • 一种解决jar包冲突的实现:隔离机制

    业务背景随着业务的发展 和 架构的升级, 业务会越来越多的依赖公司内部提供的 中间件 ,如 rpc服务框架、分库分表框架、异步消息框架、公共工具包等等。每个中间件都有自己的 jar包依赖体系,最常用的如: logback、log4j、httpclient 、common-lang 、guava、zookeeper 等等 ,这些jar包依赖不仅会产生版本冲突,甚至会有jar包不兼...

    Java 2021年01月13日 1188 0
  • CodeReview规范

    CodeReview规范目标和原则提高代码质量,及早发现潜在缺陷,降低修改/弥补缺陷的成本促进团队内部知识共享,提高团队整体水平评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人理解系统是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码可以被用来确认自己的设计和实现是一个清楚和简单的鼓励相互学习对方的长处和优点高效迅速完...

    Java 2021年01月13日 1518 0
  • Dubbo 版 Swagger 来啦

    背景Swagger 是一个规范和完整的前端框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 规范也逐渐发展成为了 OpenAPI 规范。Springfox 是一个集成了 Swagger,基于 Sring MVC/Spring Webflux 实现的一个 Swagger 描述文件生成框架,通过使用它定义的一些描述接口的注解自动生成 Swag...

    Java 2021年01月13日 1396 0
  • 干掉mapper.xml!MyBatis新特性动态SQL真香

    当我们使用MyBatis的时候,需要在mapper.xml中书写大量的SQL语句。当我们使用MyBatis Generator(MBG)作为代码生成器时,也会生成大量的mapper.xml文件。其实从MBG 1.3.6版本以后,MyBatis官方已经推荐使用Dynamic SQL,使用这一新特性基本就不用写mapper.xml文件了,使用起来非常方便,推荐给大家!Dynamic...

    Java 2021年01月09日 1211 0
  • MybatisPlus全套Api小解(一)

    前言如果说ssm比ssh究竟好用在哪里,快速开发体验在哪里的话,那必然就是mybatis了,如果还要找一个比mybatis更优秀的dao层框架,那必然就是他的大哥——mybatis plus。一、MybatisPuls是什么? MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,只是为了简化开发提交效率而存在。官...

    Java 2021年01月09日 5291 0
  • 分布式系统 session 共享解决方案 JWT 实战笔记

    序言在分布式系统中,session 共享是一个必须要解决的问题。JWT 作为将信息放在客户端的解决方案,设计的非常巧妙,本节就和大家一起学习下 JWT 的使用。JWT 的优势或者说为什么使用 jwt?JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。传统方式互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。 2、服务器验...

    Java 2021年01月08日 2013 0
  • 从php到Golang系统的演变 PHP

    从php到Golang系统的演变

    前言工作这些年,先后经历过两家公司,有参与过php语言框架的开发和主导过go语言技术栈的落地工作,在此过程中有一些感悟和总结。我想以之前我主导的go语言技术栈为线索,来陈述当时遇到的一些问题,以及分析问题和解决问题的思路。主要目的是想陈述go技术体系在团队中落地的过程,分析我们在各个阶段中,遇到的一些问题,并将分析问题的思路和解决问题的方法记录下来,以便让后来的同学了解go语言...

    PHP 2021年01月08日 1788 0
  • Java中“附近的人”实现方案讨论及代码实现

    1|0前言在我们平时使用的许多app中有附近的人这一功能,像微信、qq附近的人,哈罗、街兔附近的车辆。这些功能就在我们日常生活中出现。像类似于附近的人这一类业务,在Java中是如何实现的呢?本文就简单介绍下目前的几种解决方案,并提供简单的示例代码注: 本文仅涉及附近的人这一业务场景的解决方案讨论,并未涉及到相关的技术细节和方案优化,各位看官可以放心阅读。2|0基本套路和方案目前...

    Java 2021年01月07日 1163 0
  • 可动态调节参数的线程池实现

    背景线程池是一种基于池化思想管理线程的工具,使用线程池可以减少创建销毁线程的开销,避免线程过多导致系统资源耗尽。在高并发的任务处理场景,线程池的使用是必不可少的。在双11主图价格表达项目中为了提升处理性能,很多地方使用到了线程池。随着线程池的使用,逐渐发现一个问题,线程池的参数如何设置?线程池参数中有三个比较关键的参数,分别是corePoolSize(核心线程数)、maximu...

    Java 2021年01月07日 1378 0
  • API接口的安全设计验证—ticket,签名,时间戳

    概述与前端对接的API接口,如果被第三方抓包并进行恶意篡改参数,可能会导致数据泄露,甚至会被篡改数据,我主要围绕时间戳,token,签名三个部分来保证API接口的安全性1.用户成功登陆站点后,服务器会返回一个token,用户的任何操作都必须带了这个参数,可以将这个参数直接放到header里。2.客户端用需要发送的参数和token生成一个签名sign,作为参数一起发送给服务端,服...

    Java 2021年01月07日 1409 0
  • java枚举类型,为什么强烈推荐使用?看看它的7种场景方法

    枚举是 JDK 1.5 新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错误码等。枚举类型不止存在在 Java 语言中,在其它语言中也都能找到它的身影,例如 C# 和 Python 等,但我发现在实际的项目中使用枚举的人很少,所以本文就来聊一聊枚举的相关内容,好让朋...

    Java 2021年01月07日 1180 0
  • SpringBoot 集成小程序推送

    1、订阅消息包括两种一次性订阅消息一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。长期订阅消息一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用...

    Java 2021年01月06日 1441 0
  • 善用HttpMessageConverter修改返回值

    近日,公司前台的小伙伴说我的返回值不对,处理起来太难了,他平白无故的增加了很多的工作量。我寻思:“纳尼?”。凑近一看,原来是接口的返回值,value为空的返回值都是null,增加了非空判断。例:{ "code": "1", "msg": "success", "data": { "orderId": "1313132", "address": null, "g...

    Java 2021年01月06日 1314 0
  • 用Spring Boot实现https ssl免密登录

    要让项目实现 ssl 免密登录,首先需要开启 https 。所以先从 Spring Boot 如何开启 https 说起。创建服务端证书为了开启 https ,我们需要一份证书。实际开发中,会在网上申请一个机构颁发的证书。这里为了方便,我会使用 openssl 命令自己生成一个证书来使用。openssl req -x509 -sha256 -days 3650 -newkey ...

    Java 2021年01月06日 1470 0
  • springboot 数据安全传输加密与解密

    环境:springboot2.2.6.RELEASE、Vue+axios通过继承RequestBodyAdviceAdapter实现对于请求的内容进行解密操作,实现ResponseBodyAdvice来对相应内容进行加密处理。定义加密解密的接口:SecretProcess.javapublic interface SecretProcess { /** * <...

    Java 2021年01月05日 1189 0
  • 如何开启MacOS11系统的自带的PHP环境 PHP

    如何开启MacOS11系统的自带的PHP环境

    我们都知道MacOS系统内置了Apahce服务,而且还内置php环境,今天在这里教大家如何开启apache服务和php环境!开启apache服务的方法打开终端,在终端里输入"sudo apachectl start",按回车键,输入密码检查apache开启的方法打开Safari浏览器输入"localhost",出现It works!页面就代表它启动好了开启/etc/apache...

    PHP 2021年01月03日 2096 0
  • 如何设计API接口,实现统一格式返回?

    目录前言接口交互返回格式控制层Controller美观优化优雅优化实现方案总结前言在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了)。一般系统的大致整体架构图如...

    Java 2021年01月03日 1322 0
  • 轻量级的原生JavaScript的Excel插件——JExcel

    介绍jExcel是一个轻量级的原生javascript插件,用于创建与Excel或任何其他电子表格软件兼容的基于Web的交互式表格和电子表格。可以从JS数组,JSON,CSV或XSLX文件创建在线电子表格表。可以从excel复制并直接粘贴到jExcel电子表格,反之亦然。集成任何第三方javascript插件非常容易,可以创建自己的自定义列,自定义编辑器,并在应用程序中自定义任...

    Java 2021年01月02日 6859 0
  • 有了Git这个功能,再也不需要依赖IDE了

    大家好,今天给大家介绍一个隐藏的功能——搜索。我们在写代码的时候经常遇到的一种情况就是,我们想要知道某一个函数是怎么定义的,这样我们才能知道该如何调用它。如果代码少的话我们当然可以自己人肉查找,但是如果代码量很大的话,人肉查找显然就不行了。如果使用IDE的话,现在的IDE当中当然一般都继承了这个功能,如果你像我一样喜欢编辑器而不喜欢IDE的话,可能就会麻烦一点。这个时候我们可以...

    Python 2021年01月02日 1681 0
  • Spring Boot 启动事件和监听器,太强大了

    大家都知道,在 Spring 框架中事件和监听无处不在,打通了 Spring 框架的任督二脉,事件和监听也是 Spring 框架必学的核心知识之一。一般来说,我们很少会使用到应用程序事件,但我们也不要忘了它们的存在,比如说在 Spring 框架内部都使用了各种不同的事件来处理不同的任务。毫无疑问,在 Spring Boot 框架中,事件和监听也得到了发扬光大,除了常用的 Spr...

    Java 2021年01月01日 1106 0
  • 查询附近范围的坐标点实现方案(java)

    需求说明需求来源于条友的一个项目,根据用户当前所在坐标,查询附近企业,并将距离进行倒排,这是个比价常见的需求,现在将实现过程简单描述一下。1、原方案从数据库中加载所有企业的坐标地址,数据量在万级,每个用户查询一次最近的企业,后台计算量就是数万次,N个用户每查询一次,就是N*数万次。2、优化方案先从数据库中查询出给定范围的企业,这样计算量就小很多,例如只需要查询1公里范围以内的企...

    Java 2020年12月31日 1444 0
  • 我用Builder优雅地实现了对象的创建

    使用构造函数直接属性赋值Java的对象创建大家都知道,当对象创建完之后,我们可以有几种方式给对象的属性赋值。比如在new的时候给属性赋值。像这样:这样在创建对象时就将属性赋值,的确很方便。但是如果对象的属性很多,我们这么赋值就很不优雅了。使用setter属性赋值一般我们实际开发中,实体类会有很多属性。这时我们可以使用setter方法给属性赋值,如下代码:我们一般也是这么写的,但...

    Java 2020年12月26日 1242 0
  • Spring Boot+CAS 单点登录,如何对接数据库?

    在前面和大家分享了松哥写的CAS Server 的搭建以及如何使用 Spring Security 搭建 CAS Client。但是前面的案例有一个问题,就是登录用户是在 CAS Server 配置文件中写死的,没有对接数据库,实际项目中,这里肯定要对接数据库,所以今天,松哥就来和大家聊一聊 CAS Server 如何对接数据库。松哥最近和 Spring Security 杠上...

    Java 2020年12月26日 1231 0
  • ASP.NET+MVC+使用+Log4net+记录日志笔记 C#

    ASP.NET+MVC+使用+Log4net+记录日志笔记

    前言:记录系统中的日志,是一个好的项目产品必备的一个环节。每一个产品最终的目的都是要交予客户使用,因为程序员代码的开发水平参差不齐,Bug就成为了项目运维成本最大的因素之一。如何降低项目运维的成本呢,最重要的是要缩短开发人员在系统运维排查问题的时间成本。如果你的系统中很好的集成了日志框架。那么你可以更快更高效的定位问题、解决问题。从而降低系统运维的时间成本。今天小编给大家介绍L...

    C# 2020年12月24日 1897 0