- 博客(49)
- 收藏
- 关注
原创 Java请求体和响应体
是一个私有属性,但由于它是抽象类的一部分,子类可以根据需要选择是否覆盖其getter和setter方法,或者添加额外的逻辑。这种设计提供了足够的灵活性,以适应不同的API请求需求。的类的JSON输出都将遵循大驼峰命名法。这有助于保持API的一致性和可预测性,使得前端或其他客户端更容易解析和理解返回的JSON数据。综上所述,这样的设计结合了抽象类、接口、注解和Lombok库的优点,使得代码更加复用、模块化、一致和易于维护。等方法,这大大减少了代码量,并降低了出错的可能性。:通过使用Lombok的。
2024-04-26 11:17:41
356
2
原创 系统架构师02-架构设计 20分
是对系统质量属性进行识别和优先级排序的重要工具。包括:性能:效率指标,处理任务所需时间或单位时间内的处理量。可用性:可靠性:容错:出现错误后人能保证系统争取运行,且自行修正错误。健壮性:错误不对系统产生影响,按既定程序忽略错误。安全性:系统提供服务并阻止非法用户的能力。可修改性:使故障对架构的。可拓展性:因松散耦合更易实现新特性/功能,不影响架构。结构重组:不影响主体进行的灵活配置。可移植性:适用于多样的环境(硬件平台,语言,操作系统等)。功能性:需求的满足程度。
2023-04-23 12:28:33
431
原创 2006, “MySQL server has gone away (ConnectionResetError(104, ‘Connection reset by peer‘))“
MySQL server has gone away
2022-09-05 10:11:42
901
原创 kubernetes基础01
1.定义什么是 Kubernetes?Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。Kubernetes 服务、支持和工具广泛可用。Kubernetes 组件Kubernetes 集群由代表控制平面的组件和一组称为节点的机器组成。Kubernetes APIKubernetes API 允许您查询和操作 Kubernetes 中对象的状态。Kubernetes 控制平面的核心是 AP
2022-03-23 20:01:40
821
原创 Django的中间件(Middleware)
1.什么是中间件Middleware?注入在Django 请求/响应 处理流程中的钩子框架,能对request/response作处理。2.广泛的使用场景登录认证,安全拦截日志记录,性能上报缓存处理,监控告警3.自定义中间件的2中方法1.使用函数实现2.使用类实现3.Django的应用...
2022-03-11 00:02:03
1238
原创 python 内存中字符串的读取
buf = io.StringIO(blob_content)while True:# 每次读取一行 content = buf.readline()
2021-08-01 20:21:26
302
原创 解决upstream prematurely closed connection while reading response header from upstream
问题 :访问一个接口时,出现502 Bad Gateway分析: 1.报错显示和nginx有关,所以查看nginx的错误日志error.log 2.发现报upstream prematurely closed connection while reading response header from upstream在从上游读取响应头时,上游过早关闭连接 这里猜测上游应该指的是服务器,因为后端架构是 nginx+gunicron 3.....
2021-07-30 16:23:25
35535
2
原创 google.auth.exceptions.TransportError: HTTPSConnectionPool(host=‘oauth2.googleapis.com‘, port=443):
问题:google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f98871c9e80>: Failed to estab
2021-05-27 10:37:22
2261
2
原创 google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/load-balan
问题:google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/load-balancer-logging?projection=noAcl&prettyPrint=false: 932681033225-compute@developer.gserviceaccount.com does not have storage.buckets.get access to the Go
2021-05-26 16:25:10
1081
原创 import 模块 错误
问题: 在pycharm中程序是正常执行的,但是在命令行中,却出现找不到模块原因:程序执行的时候默认是从项目名称下面搜索模块的,所以是程序没有在项目名称所在目录下执行。解决方案:1.PYTHONPATH=./ python scripts/statistics_tool_run.py进入到项目名称下,然后用上面的PYTHONPATH2.在执行的Python文件里面,加入 project_path = os.path.dirname(path) 但是project_pat
2021-03-22 18:05:28
261
原创 数据库存储时间时区UTC,如何转换为北京时区
背景数据库部署在谷歌云平台,而且表里面的字段的时间为UTC时间,现在需求:按月展示每天最大的带宽解决方案1. 当传递月份的时候,转换为utc时区时间,然后按天分组,查出每天最大的带宽,最后将结果集转换为北京时区。 结果悲催了,结果集里面3月份会有2月份的数据。 原因是:按天分组的时候,会把小时给截取了,按utc查出来的时间,再转换为北京时区+8的时候,时间是不准确的。2.按北京时区的时间分组,这样把小时截取的时候,是不影响正常结果的,但问题是如何获取查询按北京时区分组。
2021-03-05 17:32:01
2745
1
原创 请求钩子
1Flask中请求钩子的理解和应用before_first_request: 在处理第一个请求前运行before_request:在每次请求前运行after_request:如果没有未处理的异常,在每次请求后运行。teardown_request:即使有未处理的异常抛出,在每次请求后运行。class WingsAppHolder(object):def init(self, app, db):“”“init before request”""self.app = app # flask对象
2021-02-12 17:59:06
258
1
原创 索引
关系型数据库索引的CRUD1.索引的类型unique: 不可以出现相同的值,可以有null值Index:允许出现相同的索引内容primary key:一个表只能有一个primary_key索引2.索引的创建alter table : 适用于表创建完毕之后再添加。alter table 表名 add 索引类型(unique,primary key,fulltext,index)[索引名](字段名)eg:1.alter t...
2021-02-03 23:02:41
96
原创 Java反射详解
一,反射–1,概述Reflection(反射) 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“ 自审”,也有称作“自省”。反射非常强大,它甚至能直接操作程序的私有属性。我们前面学习都有一个概念, private的只能类内部访问,外部是不行的,但这个规定被反射赤裸裸的打破了。反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方 法,构造器等),并且可以操纵类的字段、方法、构造器等部分。–2,作用–
2021-01-27 18:41:33
217
原创 socket
网络编程/socket/套接字–1,概述在网络间,完成数据的传输. 把数据抽象的在网络间传递.对于电脑来讲,都可以完成收和发的过程.socket通信,本质上就是把数据 抽象成 IO流的形式在网路中传输.–2,工具类–ServerSocket–此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操 作,然后可能向请求者返回结果。–创建对象ServerSocket(int port)创建绑定到特定端口的服务器套接字。–常用方法Socket accept()
2021-01-27 18:41:06
121
原创 正则表达式
正则表达式regex–1,概述就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字 符串”用来表达对字符串的一种过滤逻辑 对于字符串规定好的一个规则 --2,语法 [0-9][a-z][A-Z] --是指可以出现范围内的数据,只能出现1次 {n} --出现指定的n次 [0-9]{10} --出现数字0-9范围内的就可以,可以出现10次--3,测试 package cn.tedu.ex; import java.util.Scanner; //测
2021-01-27 18:40:11
98
原创 mybatis spring springMVC
unit10-mybatis框架[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ZIyKRxA-1611577268155)(第二阶段讲义04.assets/a0a2eb9fa872009998f7cd818925095d.png)]课程计划:1、MyBatis快速入门2、MyBatis对数据库中数据的增删改查操作3、#{}占位符的应用4、动态SQL的应用5、MyBatis的Mapper接口开发MyBatis简介(了解)什么是MyBatisMyBatis
2021-01-26 17:59:00
421
原创 AOP
1Spring AOP 简介1.1AOP 概述1.1.1AOP 是什么?AOP(Aspect Orient Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程(OOP)的一种补充和完善。它以通过预编译方式和运行期动态代理方式,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。如图- 1 所示:图-1AOP 与 OOP 字面意思相近,但其实两者完全是面向不同领域的设计思想。实际项目中我们通常将面向对象理解为一个静态过程(例如一个系统有多少个模块,一
2021-01-26 17:58:14
101
原创 File
IO–1,概述–主要是把 程序中的数据 和磁盘里的数据 进行交互–in/I :从磁盘里读取到程序里–out/O : 从程序里写出到磁盘中–无论进行读in还是写out,都可以用字节流和字符流完成–到底用哪种流读写呢?–根据操作数据的单位不同.jpg .txt .mp4??–字符流 只能操作字符文件.txt–字节流 可以操作任何数据 – 应用的更加广泛–2,工具类–File:专门操作文件的工具类–字节流–读InputStream – FileInputStream – Buffered
2021-01-25 03:00:17
92
原创 日期类
二,Date–1,概述对于日期进行各种操作–2,创建对象Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。–3,常用方法int getDate()已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。int getDay()已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。int getHours()已过时。 从 JDK 1
2021-01-25 02:56:24
142
原创 包装类
一,包装类–1,概述为对应的基本类型,提供丰富的功能–基本类型 byte short int long float double char boolean–包装类型 Byte Short Integer Long Float Double Character Boolean–2,Number类–是所有数字类型 包装类的父类,被修饰成了抽象类,不能new–提供的共性方法 --是可以把包装类型转回成基本类型byte byteValue
2021-01-25 02:54:51
191
1
原创 超类object
Object–1,概述类 Object 是类层次结构的根类。每个类都使用 Object 作为超类–2,创建对象Object()–3,常用方法int hashCode()返回该对象的哈希码值。String toString()返回该对象的字符串表示。 boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。–4,测试1package cn.tedu.api;//测试 Object工具类public class Test1_Object {pu
2021-01-25 02:52:33
132
原创 Stringbuffer和Stringbuilder区别
StringBuilder / StringBuffer–1,概述专门优化字符串拼接–2,创建对象StringBuilder()构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。–3,常用方法StringBuilder append(String str)将指定的字符串追加到此字符序列。–4,测试package cn.tedu.api;//测试 字符串拼接//1,工具类的使用场景:当有大量的字符串拼接需求时//2,使用步骤: 先创建对象 ,然后调用append()追加
2021-01-25 02:50:46
152
原创 异常
一,异常–1,概述异常是指程序中出现的bug.被封装成了对象.–2,继承结构–Throwable–Error:系统错误,不关心–子类,孙子类–Exception:软件里的bug,是程序中所有异常的父类–子类,孙子类–3,异常处理–当一段代码出现异常时,可以有两种解决方案:捕获和抛出–捕获:自己处理异常,别人调用就没有后患–推荐–语法:把有问题的代码包起来try{代码代码代码}catch(异常类型1 异常名){合理的解决方案1}catch(异常类型2 异常名){合理的解
2021-01-25 02:23:29
62
原创 java对象的内存分配示意
一,构造方法–1,概述–创建对象时会自动调用构造方法–构造方法和其他方法一样也可以重载–作用:完成对象的创建或者完成对象的初始化–2,语法:–普通方法:修饰词 返回值 方法名(参数列表){方法体}–构造方法:修饰符 类名(参数列表){方法体}–3,构造方法完成创建对象package cn.tedu.oop;//测试 构造方法Constructor / 构造器//总结//1,触发的时间节点:构造方法摆在那儿不会主动执行,需要new来触发//2,构造方法可以重载,为了方便各种new..
2021-01-25 02:20:24
113
原创 数组
数组的创建过程一,数组工具类Arrays–1,专门用来对数组的操作提供一组方法–2,常用方法–toString(数组)–把数组里的数据变成字符串展示–sort(数组)–把数组里的数据排序–copyOf(m,n)–m是原数组的名称,n是新数组的长度–3,测试package cn.tedu.arrays;import java.util.Arrays;//测试 数组工具类Arrayspublic class Test1_Arrays {public static void ma.
2021-01-25 02:09:40
76
原创 java基本类型
一,入门案例说明 --1,代码 //单行注释 /* 多行注释 */ /* * 第一行代码的作用:用来定义一个包 * package -- java里的关键字,专门用来定义包的 * cn.tedu.hello -- 包名 -- 全小写 + 公司的域名倒着写 * ; -- 类似于句号,是java语句的结束符 */ package cn.t...
2021-01-25 01:54:27
147
原创 jdk
一,jdk–1,概述想要进行java开发,第一件事就是把jdk这个软件进行下载安装和配置jdk是java开发的核心,里面包含了很多java提供的工具包.–2,下载和安装–略,去百度找资源,建议使用jdk8这个版本.–略,傻瓜式安装 –3,配置–详情参考网页版笔记–JAVA_HOME – 指定jdk的安装位置–Path – 让系统找到jdk里的各种工具–固定值: %JAVA_HOME%\bin–4,运行dos命令检验C:\Users\pc>java -versionjava
2021-01-25 01:52:01
137
原创 事务
一、事务概念 逻辑上的一组操作,要么同时完成要么同时不完成。 例子:银行转账 create database day17; use day17; create table account( id int primary key auto_increment, name varchar(20), money double ); insert into account values (null,'a',1...
2021-01-24 22:57:23
133
原创 http协议
HTTP协议9.1.什么是HTTP协议?用来规定浏览器客户端和服务器之间进行通信的方式9.2.三个基本原则(1)基于请求响应模型(2)一次请求对应一次响应(3)请求只能由客户端发出, 服务器只能被动的等待请求, 做出响应.9.3.HTTP协议详解9.3.1.http请求HTTP请求信息由3部分组成:1.请求行:包含 请求方式 请求的资源 所遵循的协议2.请求头: http中的请求头非常多3.实体内容: 需要传递给服务器的内容请求行:...
2021-01-24 22:47:29
207
原创 python基础知识必备
python是静态还是动态类型?是强类型还是弱类型?动态类型语言动态还是静态指的是编译期还是运行期确定类型 无类型声明强类型:js数字转字符串会自动转换是弱类型 不会自动转换python作为后端语言的优缺点?1.胶水语言,轮子多,应用广泛2.语言写起来快3.性能比较慢,python2 python3 不兼容什么是鸭子类型?关注对象的行为【方法】,而不是类型比如file StringIO socket 对象都支持read/write方法(file like object..
2021-01-23 21:09:10
183
原创 加密算法
对称加密算法 发送者用密钥加密,接受者用密钥解密RSA非对称加密算法 双方有一对儿钥匙,一个是保密的,称为私钥,另外一个是公开的,称为公钥。用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密。CA:信任机构问题数字签名:我是谁的问题数字证书:法律上承认我是谁的问题https: 解决了在不可信的互联网上,通过加密,ca机构,个人证书,保证了信息安全可靠的双方直接的通信。 消息摘要:hash算法生成一个消息摘要。 数字签
2021-01-20 15:53:54
126
原创 面试题
1.分别说出http,https,ftp,talnet,redis,Mysql、Postgres,Redis,ZooKeeper、kafka的默认端口号 http: 80 https: 443 ftp: 21 talnet: 23 redis: 6379 mysql: 3306 oracle:1521 postgres:5432 zookeeper:2181 kafka:9092...
2021-01-20 15:36:41
101
原创 Zookeeper
Zookeeper定义Zookeeper是一个开源的分布式(多台服务器处理一项任务)的,为分布式应用提供协调服务的Apache项目。Zookeeper = 文件系统+通知机制(客户端通知)Zookeeper工作机制zookeeper从设计模式角度来理解:是一个具于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反映。1.服务器启动时去注册信息(创建
2021-01-14 20:16:27
2592
1
原创 yum
rpm常用指令:1.rpm -qa 查看所有已安装的rpm包2.rpm -qa | grep xxx 根据xxx关键字查找rpm的安装信息3.rpm -ivh xxx.rpm 安装某个rpm包
2021-01-14 01:34:59
86
原创 flume
flume1.flume:一个高可用,高可靠的,分布式的海量日志采集,聚合,传输的系统,flume基于流式架构,灵活简单。2.flume组成架构?一个flume叫一个agentSource数据输入端的常见类型有: 文件夹 exec :命令行,执行linux命令, tail -F 文件 监控文件变化 syslog netcat avro:序列化Channel是位于Source和Sink之间的缓冲区Flume 自带两种Ch
2021-01-12 23:45:18
138
原创 tcp和udp区别
我们说TCP是可靠连接,那么TCP就一定优于UDP吗?答: 不是的。根据应用场景,来选择更优的协议1. TCP协议的应用 :用于可靠传输的情况比如:文件传输,重要状态更新的场景2. UDP协议的应用 :用于高效传输和实时性要求较高的通信领域比如:早期的QQ,视频传输,另外还可以用于广播...
2021-01-12 20:38:13
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人