-
前后端分离的接口规范2022/06/20
1. 前言随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自撸起袖子就是干,导致我......
-
Istio 可以代替 Spring Cloud 吗?2022/06/13
目录背景SpringCloud 与 K8S 对比SpringCloud vs IstioSpringBoot+K8SServiceMesh 的价值| 背景过去,我们运维着“能做一切”的大型单体应用程序。这是一种将产品推向市场的很好的方式,因为刚开始我们也只需要让我们的第一个应用上线。而且我们总是可以回头再来改进它的。部......
-
Tomcat JDBC Pool 源码实现简单分析2022/06/06
什么是连接池?池,不由自主的会想到水池。小时候,我们都要去远处的水井挑水,倒进家中的水池里面。这样,每次要用水时,直接从水池中「取」就行了。不用大老远跑去水井打水。数据库连接池就如此,我们预先准备好一些连接,放到池中。当需要时,就直接获取。而不要每次跟数据库建立一个新的连接。特别对数据库连接这类耗时,耗资源的操作。当连......
-
Spring Bean默认是单例的,高并发情况下,如何保证并发安全?2022/06/01
Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Controller中定义成员变量,如此一来,多个请求来临,进入的都是同一个单例的Controller对象,并对此成员变量的值进行修改操作,因此会互相影响,无法达到并发安全(不同于线程隔离的概念,......
-
Nginx在生产中的应用2022/05/23
反向代理在很多企业项目中,nginx都会被拿来做反向代理,那么究竟什么是反向代理呢?我们通过一张图来理解一下:当用户发起网络请求时,首先会由系统的网关接收到该请求,网关将请求转发给nginx服务器,nginx服务器再将请求转发给tomcat服务器,注意这里的网关是无法直接访问tomcat服务器的,这样做的好处是什么呢?......
-
这 11 种 Numpy 高级操作你都会吗?2022/05/16
一. 数组上的迭代NumPy 包含一个迭代器对象numpy.nditer。它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元素可使用 Python 的标准Iterator接口来访问。import numpy as npa = np.arange(0, 60, 5)a = a.reshape(3, 4)......
-
分享10个超实用的Python编程技巧2022/05/09
字典翻转首先我们来看字典的翻转,假设我们有下面类似的一个字典对象与数据car_dict = { "brand":"Tesla", "model": "Model Y", "year": 2017}......
-
优秀的代码都是如何分层的?2022/04/25
1、背景说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放......
-
解决 IDEA 占用大量 CPU 导致的卡顿问题!2022/04/18
昨晚有一次敲完代码运行完程序后,idea非常卡顿,连输入代码都不能进行,因为有点晚并且累了,所有就关了电脑,今天早上再次打开idea,还是一样卡顿。因为idea的试用期明天就到期了,所有就先破解了idea,破解完之后,还是非常流畅的,但是一运行程序就拉胯了,就先百度看一下解决方案,以下几个解决方案试了,基本问题还是没有......
-
IntelliJ IDEA 共享 IDE 8 点设置2022/04/11
01、通过 Settings Repository 共享设置02、使用条件03、配置 Settings Repository04、通过其他只读存储库共享更多设置05、通过 Settings Sync plugin 共享设置06、使用条件07、配置 Settings Sync plugin08、Sync pluginIn......