产品设计->产品上线流程
开发框架
SpringBoot
yml 通过什么方式区分开发、测试、生产
profile, application-dev,-test,-pro
maven 怎么区分环境
也是profile方式
配置属性
spring-config-process
全局异常处理
GlobalExceptionHandler
自定义异常的意义
try catch区分异常类型处理业务逻辑
系统标准输出,通过包装实体Resut方式实现
{
"data":object,
"msg":"xxxx",
"code":"xxx"
}
系统标准输出也可以通过spring#ResponseBodyAdvice输出
数据验证
Validated,@NotNull,@NotEmpty,@Length,@Range,@Max,@Min
事务处理
一般的@Transactional就可以满足.
SpringCloud
数据库是通用的吗,还是每个模块一个
每个模块单独
分布式事务怎么处理
二阶段/三阶段提交.先写日志,再处理业务,确保可以恢复现场
Redies 雪崩、穿透、击穿是怎么处理的
历史数据堆积问题
配置中心、数据总线
网关实现
认证中心
通过jwt实现
管理
API文档管理
swagger、雨雀
API版本
运维
自动发布流水线
k8s+docker+jenkis
前后端报错监控问题
自动化工具
基础代码自动生成EasyCode、MybatiesPlus代码生成工具
文章浏览阅读693次。文章目录常见Web攻击简介1 安全三要素2 安全方案3 浏览器安全策略4 跨站脚本攻击(XSS)5 跨站点请求伪造(CSRF)6 点击劫持(Click Jacking)7 SQL注入8 分布式拒绝服务(DDOS)8.1 CC攻击常见Web攻击简介1 安全三要素机密性:要求保护数据内容不能泄露,加密是实现机密性要求的常见手段完整性:要求保护数据内容是完整的、没有被篡改的,数字签名是常见手段可用性:要求保护资源是随需而得2 安全方案Secure by Default:设置白名单、黑名单最小_常用网页攻击 xss
文章浏览阅读9.7k次。\noindent和\setlength{\parindent}{0cm}只能在首段生效,如果在一个paragraph中间某些位置使用的话是不生效的。解决办法也很简单,用{}分隔作用域:## 反例:\setlength{\parindent}{0cm}You are beautiful.\setlength{\parindent}{0cm}I am cute.上面这段,第二句话I am cute.是没有办法取消缩进的.## 正确示范:{\setlength{\parindent}{0_latex取消首行缩进
文章浏览阅读73次。//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出。/* 【命名规则】 */常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH变量名建议用下划线方式分隔 // $var_name函数名建议用驼峰命名法 // varName定界符建议全大写 // <<<DING, <<<'DING'文件名建议..._两千行php学习笔记
文章浏览阅读143次。搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0解题思路:二分查找定义左侧下标left,右侧下标right,计算中间下标mid每次根据nums[mid]和ta_while i+1 and n not in seen
文章浏览阅读266次,点赞3次,收藏10次。1.背景介绍对象检测是计算机视觉领域的一个重要任务,它旨在在图像中识别和定位具有特定属性的对象。随着计算机视觉技术的不断发展,对象检测方法也不断演进,从传统的手工工程式方法逐渐发展到深度学习方法。在这篇文章中,我们将探讨对象检测的进化,从传统方法到SSD(Single Shot MultiBox Detector)和R-CNN(Region-based Convolutional Neural...
文章浏览阅读3.6k次。测试环境:Ubuntu16.04 +Kernel:4.4.0-31系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。在性能剖析阶段,需要借助于现有的profiling工具,如perf等。在..._simpleperf ubuntu
文章浏览阅读555次。再例如:我分组2,就代表我高两位用于配置抢占优先级,低两位用于配置响应优先级,这个时候我抢占优先级可以是0-3任意数,我响应优先级也可以是0-3任意数(两位二进制可以代表0-3任意数)使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,这里的优先级可以分为抢占优先级和响应优先级,可以对优先级进行分组。例如:我分组0就代表我没有设置抢占优先级,4位二进制全部用来表示响应优先级,这个时候我响应优先级可以是0-15任意数。通过分组后你就知道了抢占优先级和响应优先级可以设置的具体数是多少。_如何读取gpio的输入值
文章浏览阅读767次。Description编一程序,输出2~999之间的所有同构数。所谓同构数是指这样的数,它出现在它的平方的右侧,如5的平方=25,25的右端是5,所以5是一个同构数。Input输入仅一行,输入2个整数,比如2和 9Output输出多行,分行输出2到9之间的所有的同构数。Sample Input2 9Sample Output56SUBMIT#include <stdio.h>int main(){ int a,b,i,t; scanf("%_【问题描述】输出两个整数a,b (0<=a, b<=99)间的所有同构数 如果正整数n是它平方
文章浏览阅读169次。HP一维数组的排序可以用sort(),asort(),arsort()等函数,但是php二维数组的排序需要自定义。以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v..._php二维数组排序函数
文章浏览阅读4.6k次,点赞4次,收藏12次。立创EDA库导入AD库步骤_立创eda导入ad库
文章浏览阅读1.3k次,点赞32次,收藏13次。Tracking.js 是一个独立的JavaScript库,用于跟踪从相机实时收到的数据。跟踪的数据既可以是颜色,也可以是人,也就是说我们可以通过检测到某特定颜色,或者检测一个人体/脸的出现与移动,来触发JavaScript 事件。还有一个我觉得不错的功能就是,截取摄像头的图像,对于一些网站用这个功能来设置用户头像也是个很炫的功能。// 否则,使用Promise将调用包装到旧的navigator.getUserMedia。// 避免在新的浏览器中使用它,因为它正在被弃用。// 绘制图片(拍照功能)_face-api.js
文章浏览阅读2.9k次,点赞3次,收藏11次。有时我们做了外边距,但是没有取得所设想的效果,或者根本没有效果,那这是什么原因呢,这篇文章会为你解惑。_外边距塌陷问题