- 博客(664)
- 资源 (22)
- 问答 (1)
- 收藏
- 关注
转载 数据库-视图(VIEW)详解
文章介绍了视图在数据库中的作用,如简化查询、数据安全和减少冗余。视图是一种虚拟表,不存储数据,但可以通过SELECT语句定义并进行查询。它可以用来提供定制的查询视图给不同用户,保护敏感数据。文章还详细阐述了如何创建单表和多表视图,以及视图的更新、修改和删除操作,并提到了视图的优缺点,包括简化查询逻辑和可能带来的维护成本。————————————————
2024-10-29 14:27:34 27
转载 java命令执行jar包的多种方法(四种方法)
这篇文章主要介绍了java打jar包的几种方式,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
2024-01-23 16:55:51 12338
转载 Lock wait timeout exceeded; try restarting transaction问题分析
因为使用的数据库为mysql,而InnoDB表类型会出现锁等待的情况,在出现锁等待时,会根据参数innodb_lock_wait_timeout(默认50s)的配置,判断是否需要进行timeout的操作,如果等待时间超过了设置的时间就会报错。本次问题是因为update语句导致的锁表,因为是在疲劳测试(压测12小时)过程中出现的问题,使用10并发进行压测,每秒差不多15笔申请调用,所以上述的1234都不符合,查看发现mysql资源不足,内存达到100%,确认实际异常原因。此时,B会等A提交事务,释放行锁。
2024-01-10 17:58:06 279
转载 maven进阶——开发自定义插件
maven不仅仅只是项目的依赖管理工具,其强大的核心来源自丰富的插件,可以说插件才是maven工具的灵魂。本篇文章将对如何自定义maven插件进行讲解,希望对各位读者有所帮助。我们先在idea中创建一个maven项目,并在pom文件中写入如下配置,这里的目的是标识我们这个项目是maven插件项目,需要按照插件的方式来进行打包。其次,引入插件开发所需要的依赖,这里版本不一定需要和我一致,只要两个依赖之前版本不要差距过大就行。--这个依赖引入了插件开发需要的相关基础类-->
2023-08-31 11:36:14 1656
转载 Spring Web 数据脱敏
数据脱敏百度百科中是这样定义的:数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。总的来说,数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
2023-08-14 17:26:44 424
原创 Canal+Kafka实现Mysql数据同步
译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费,应用场景十分丰富。目前canal主要支持mysql数据库。
2023-08-10 14:46:35 2018
原创 开发-异常错误码规范
正例:错误码回答的问题是谁的错?反例:一个五位数字 12345 ,第 1 位是错误等级,第 2 位是错误来源, 345 是编号,人的大脑不会主动地 拆开并分辨每位数字的不同含义。说明:在无法更加具体确定的错误场景中,可以直接使用一级宏观错误码,分别是:A0001(用户端错误)、【强制】编号不与公司业务架构,更不与组织架构挂钩,以先到先得的原则在统一平台上进行, 审批生效,编号即被永久固定。【推荐】在获取第三方服务错误码时,向上抛出允许本系统转义,由C转为B,并且在错误信 息上带上原有的第三方错误码。
2023-08-10 14:36:23 370
原创 RESTfulAPI规范
修改为请求头含有X-Encrypt=v1时,网关对请求结果和返回响应进行v1版本加解密算法( 算法为 base64(aes(body)) ),对请求解密和对响应加密。如果 POST /v1/pb/user 需要升级 则将整个微服务/v1升级到/v2, 同时保证版本兼容的api老版本可以继续访问。无法用名词+请求方法表述的可以扩展为 /域对象/动词 例如 POST /user/login。要求兼容上一个版本 如果当前是 /v3 则 /v2 要求可以正常使用 /v1 不做要求。
2023-08-10 14:31:55 155
原创 开发命名规范
4、谨慎记录日志,生产环境避免输出debug日志,有选择地输出 info 日志,注意日志输出量的问题,避免无意义的大段不可阅读的日志。5、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚准确,细粒度,不要嫌名字长;接口设计应立足于本服务自身,服务核心提供什么对外的能力,接口用于匹配自身的能力,接口设计以通用为准,避免被需求牵着走,提供一大堆极度相似的接口给维护带来困难。3、所有代码:包括项目代码、测试代码、临时性代码、脚本统统加入Git仓库进行版本管理,避免误删除、误操作丢失。
2023-08-10 14:25:31 539
原创 代码评审(Code Review)规范
Code Review由项目负责人发起,一个项目过程中至少2-3次,主要集中在项目中后期,如果项目规模较大,功能较多,时间比较宽裕,也可适当增加。1、大型项目,增加/修改超过10个文件或超过500行代码的,需组织CodeReview会议,邀请相关同事及高阶同事参与代码Review。2、小型项目,小需求修改(少于10个文件变更或少于500行代码的),至少需要1~2位同事帮忙进行代码Review并提出点评建议。代码的一致性、编码风格、代码的安全问题、脱敏问题、代码冗余、是否正确设计以符。
2023-08-10 14:21:27 2330
原创 Git 代码分支规范
使用release发布生产成功后,三日之内把release分支合并到master上并打tag。使用realase分支创建tag版本,使用tag进行线上部署生产流水线自动打tag不接受commit,只接受来自realase分支的merge操作分支必须开启分支保护,只有维护者可以操作可从test/master分支上拉取;不接受commit,只接受来自对应test分支的合并操作;普通开发人员不具有合并权限,需要管理员才能合并release分支用于发布预生产环境部署;上线成功后必须立即。
2023-08-10 14:16:02 1139
转载 Java中的注解可以继承吗?
注解想必大家都用过,也叫元数据,是一种代码级别的注释,可以对类或者方法等元素做标记说明,比如Spring框架中的@Service@Component等。那么今天我想问大家的是类被继承了,注解能否继承呢?可能会和大家想的不一样,感兴趣的可以往下看。自定义注解可以通过标记元注解@Inherited实现注解的继承,不过这只适用于类。如果要继承定义在接口或方法上的注解,可以使用Spring的工具类。
2023-07-07 11:37:12 368
转载 wait notify之虚假唤醒详解
所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的情况发生,所以必须使用while作为循环条件。下面来举例实验
2023-06-12 16:08:29 176
转载 interrupt()、interrupted()和isInterrupted()的区别与使用
interrupt()是给线程设置中断标志interrupted()是检测中断并清除中断状态isInterrupted()只检测中断。
2023-06-12 15:21:47 688
转载 Python中【__all__】的用法
如上所述,__all__应该是list类型的不应该动态生成__all__,比如使用列表解析式。__all__的作用就是定义公开接口,如果不以字面量的形式显式写出来,就失去意义了。即使有了__all__也不应该在非临时代码中使用语法,或者用元编程手段模拟 Ruby 的自动import。Python 不像 Ruby,没有Module这种成员,模块就是命名空间隔离的执行者。如果打破了这一层,而且引入诸多动态因素,生产环境跑的代码就充满了不确定性,调试也会非常困难。按照 PEP8 建议的风格,...
2022-12-05 15:55:46 415
转载 Java的RunTime.getRunTime().addShutdownHook的用法
RunTime.getRunTime().addShutdownHook的作用就是在JVM销毁前执行的一个线程.
2022-11-30 17:24:11 662
转载 Java 断点下载(断点续传)服务端及客户端(Android)代码
最近在研究断点下载(下载续传)的功能,此功能需要服务端和客户端进行对接编写,本篇也是记录一下关于贴上关于实现服务端(Spring Boot)与客户端(Android)是如何实现下载续传功能断点下载功能(下载续传)解释:客户端由于突然性网络中断等原因,导致的下载失败,这个时候重新下载,可以继续从上次的地方进行下载,而不是重新下载。
2022-08-22 17:28:28 583
转载 python面试:关于 [lambda x: x*i for i in range(4)] 理解
当我们执行 m(2) 时,运行到foo()内部函数,发现变量 i 并不是foo()中的变量,于是就到外部函数func中寻找变量 i ,但此时外部的 for 已经循环完毕,最后的 i =3。执行m(2),i 的值都是 3 ,因此,最终结果会是 [6, 6, 6, 6]。(但不是在全局作用域)的变量进行引用,那么内部函数就被认定是闭包。及延时绑定的知识(Python作用域)。实际输出:[6, 6, 6, 6]如果在一个内部函数里,对外部。3、外部函数返回内嵌函数。2、对外部函数变量引用。.........
2022-08-16 10:01:18 1003
转载 详解Python中字符串前“b”,“r”,“u”,“f”的作用
后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。例:r"\n\n\n\n” 表示一个普通生字符串 \n\n\n\n,而不表示换行了。如:send 函数的参数和 recv 函数的返回值都是 bytes 类型。b" "前缀表示:后面字符串是bytes 类型。例:u"我是含有中文字符组成的字符串。去掉反斜杠的转移机制。.....
2022-08-04 14:52:58 8697
转载 Idea-Git与命令行操作合并多次commit为一个/合并提交--图解
实际开发会有这种场景:开发在开发分支修复了某个bug,但提交了多个commit,将它cherry pick到测试分支很麻烦,如果只将一个提交cherry pick到测试分支就会很方便。action含义pick:git会应用这个补丁,以同样的提交信息(commit message)保存提交reword:git会应用这个补丁,但需要重新编辑提交信息edit:git会应用这个补丁,但会因为amending而终止squash:git会应用这个补丁,但会与之前的提交合并。......
2022-08-04 13:52:51 6375
原创 基于python ttkbootstarp的密钥生成器
接口验证序号,是用于验证API接入合法性的。接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话可以理解成是登陆网站的用户名。比如淘宝联盟的API接口,就是淘宝客网站开发的必要接入,淘客程序通过API接口直接对淘宝联盟的数据库调用近亿商品实时数据。AppKey和AppSecret配合在一起,通过其他网站的协议要求,就可以接入API接口调用或使用API提供的各种功能和数据。,是跟AppKey配套使用的,可以简单理解成是密码。AppSecret简称API接口。......
2022-07-29 17:54:57 3124
转载 程序落地部署——python库打包分发
Python包的分发方式可分为两种①以源码包的方式发布源码包的本质是一个压缩包(.zip/.tar.gz等),其安装的过程是先解压→再编译→最后安装,所以它是跨平台的,由于每次安装都要进行编译,相对二进包安装方式来说安装速度较慢。②以二进制包的方式发布二进制包(.egg/.wheel)的安装过程省去了编译的过程,直接进行解压安装,所以安装速度较源码包来说更快,由于不同平台的编译出来的包无法通用,所以在发布时,需事先编译好多个平台的包。注意在上传到PyPI之前,需要在PyPI上注册账号。......
2022-07-29 15:38:23 925
转载 Pyinstaller打包详细教程
3)再把E\FinalPic路径下的程序依赖(如文件夹ui、set、MvSdkLog、hik_sdk)都放入dist文件夹中,删除其余多余文件夹(如build、__pycache__等),只剩下dist文件夹。2)为了方便,在dist文件夹中新建main文件夹,把E\FinalPic路径下的FinalPic.py、FinalPic.spec、init.py,主文件放入main文件夹中。如果未安装(如结果二所示),继续步骤3.。1)“Windows”+“R”,输入“cmd”,打开控制台窗口。...
2022-07-28 09:58:57 12840 2
转载 详解常见负载均衡算法在Java中的实现
一致性哈希算法中,就利用哈希环结构+哈希取模判断每个请求该落入的服务器,由于服务器IP、客户端IP或缓存的Key都是相同的,所以在服务器数量不变的情况,相同的哈希条件进行哈希取模,最终计算出来的值永远都是相同的。与前面分析的最小活跃数算法一样,最优响应算法也是一种动态算法,但它比最小活跃数算法更加智能,因为最小活跃数算法中,如果一台节点存在故障,导致它自身处理的请求数比较少,那么它会遭受最大的访问压力,这显然是并不合理的。遍历之前配置的服务器列表,用随机索引与每个节点的权重值进行判断。...........
2022-07-16 02:11:35 2113 1
转载 SEO人员必懂的几个高级搜索指令
一些常用的高级搜索指令,平常人可能不太了解,但对于SEO人员来说是必须要懂的,因为通过这些高级搜索指令,我们可以更好的查看和分析数据,为网站优化提供依据。常见的高级搜索指令有哪些呢?1、site指令(网站收录查询)格式为:site:网址,比如说site:www.liuxinseo.com用于查询网站页面的收录情况,site出来的结果包含收录的页面和页面数量。比如说查询本博客的收录情况,那么就在搜索引擎搜索框里面输入:site:www.liuxinseo.com 2、domain指令(网站相关域查询)格式为:
2022-07-12 22:48:51 1731
转载 Java调用Linux系统命令
有时候,我们在使用Java做一些操作时,可能性能上并不能达到我们满意的效果,就拿最近工作中的遇到的一个场景来说,需要对大量的小文件进行合并成一个大文件。最开始的想法是使用Java做文件操作,遍历所有小文件然后往一个文件写(可以做成并发写),但是发现操作过程中遇到个问题,写一千多个小文件在本机Windows下需要花费几十秒的时间,即使在Linux环境下高配置的机器也需要将近十秒,这明显对接口的响应时间产生重要影响。这块怎么优化下呢?我们都知道在Linux下可以进行大文件的分割和合并,分别采用split和cat
2022-07-12 22:33:59 2676
转载 yt-dlp 8k下载神器使用简介
2022年6月5日更新线————(请配合视频观看)https://www.bilibili.com/video/BV1AB4y1U7aU/ 本视频涉及的代码如下⬇️// 仅下载音频的参数如下,这样它会把下载的文件转换为mp3格式-x --audio-format mp3// 查看视频支持的规格,举例比如 这个视频:RT8ukqunTEE,代码如下 ./yt-dlp RT8ukqunTEE -F // 下载分段视频的参数如下,举例,很长,注意双引号,前半部分的路径为你电脑的路径,请明辨--split-cha
2022-06-24 22:09:53 2213 1
原创 Java中的“>”、“>>”、“>>>”三个符号的区别
在读jdk源码时, 我们不难发现,有很多关于运算的编码我们在日常开发中,很少运用到,特别是专注于J2EE开发的朋友们,运算 的世界里,永远和进制挂钩,当然我们这就不赘述太多。
2022-06-16 13:51:29 613
转载 java中bridge method(桥接方法)详解
桥接方法是 JDK 1.5 引入泛型后,为了使Java的泛型方法生成的字节码和 1.5 版本前的字节码相兼容,由编译器自动生成的方法。我们可以通过Method.isBridge()方法来判断一个方法是否是桥接方法,在字节码中桥接方法会被标记为ACC_BRIDGE和ACC_SYNTHETIC,其中ACC_BRIDGE用于说明这个方法是由编译生成的桥接方法,ACC_SYNTHETIC说明这个方法是由编译器生成,并且不会在源代码中出现。...
2022-06-15 11:13:49 876
转载 @FeignClient注解详解
首先来个基本的普及,怕有些同学还没接触过Spring Cloud。Feign是Netflix开源的一个REST客户端,通过定义接口,使用注解的方式描述接口的信息,就可以发起接口调用。GitHub地址:GitHub - OpenFeign/feign: Feign makes writing java http clients easier下面是GitHub主页上给的一个最基本的使用示列,示列中采用Feign调用GitHub的接口。...
2022-06-14 17:21:45 30272
转载 ⽤redis做榜单,分数相同时根据时间先后排序
项⽬⾥⾯有⼤量的榜单需求,很多场景下都是⽤zset来实现的。需求⾥⾯⽆⼀例外的都提到⼀个要求:分数相同的情况下,先到该分数的排前⾯。由于zset是分数优先,分数相同的时候⽤zset的member的字典序排列,并不满⾜先来后到这种需求。以前的做法基本都是分数拼凑⼀个时间量的做法:将zset的score值分成两部分:⾼位存分数,低位存时间差时间差⼀般是定⼀个截⽌时间x,x-now作为时间差⽤户a在x1时间达到了分数N,⽤户b在时间x2达到了分数N,x1<x2,那么x-x...
2022-05-30 15:07:09 1065
转载 Java-ForkJoinPool详解
今天和大家分享JDK1.7中出现的ForkJoinPool类。我们将从三个维度介绍ForkJoinPool。首先介绍ForkJoinPool出现的背景与思想,其次介绍ForkJoinPool使用方法以及性能比较,最后通过手写一个ForkJoinPool来展示其原理。
2022-05-30 00:13:02 11350 1
转载 自定义spring-boot-starter自动配置模块操作
一)spring-boot-starter命名规则自动配置模块命名规则:xxx-spring-boot,如:aspectlog-spring-boot启动器命名规则:xxx-spring-boot-starter,如:aspectlog-spring-boot-starter如两者只有一个模块:建议以xxx-spring-boot-starter方式命名。springboot建议以xxx前缀的方式对自己的自动配置命名的。二)spring-boot-starter条件注解 注解
2022-05-23 17:06:25 432
转载 栈的入栈和出栈的顺序规律
栈的入栈和出栈的顺序规律是先进后出,所以出栈的可能数目跟入栈的可能排列数目是一致的。a的出入有2中可能,b的出入有2种可能,c的出入有2种可能,d只需要关系入,只有一种可能。所以出栈方式数为2*2*2*1=8种。1.出栈的每一个元素的后面,其中比该元素先入栈的一定按照入栈逆顺序排列。举例说明:已知入栈顺序:1 2 3 4 5判断出栈顺序:4 3 5 1 2,结果:不合理,原因是出栈元素3之后有 5 1 2 这三个元素,其中1 2 是比3先入栈的,根据规律,这两个出栈的顺序必须和入栈顺序相反,也就是 2
2022-04-13 16:48:04 38568 11
转载 Mysql MVCC机制原理详解
目录什么是MVCCMysql的锁和事务隔离级别Mysql的undo logMVCC的实现原理什么是MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。我们知道,一般情况下我们使用mysql数据库的时候使用的是Innodb存储引擎,Innodb存储引擎是支持事务的,那么当多线程同时执行事务的时候,可能会
2022-04-11 14:49:44 313
ffmpeg调用工具包.zip
2020-06-19
音视频直播点播解决方案.zip
2020-06-18
Java开发手册泰山版.pdf,发布时间2020-04-22
2020-04-22
DateConvertUtil.java
2020-04-03
官方ffmpeg-4.2.1.tar.gz安装包
2020-01-16
vagrant_2.2.6_x86_64.rpm
2020-01-16
最新Xsell6个人/家庭 免费版
2019-01-02
exe4j 64位 含注册码
2018-06-12
IDEA 日志输出样式插件grep console
2018-06-12
xps viewer 1.1.0
2018-06-12
VirtualBox-5.2.12-122591-Win.exe 官方资源32与64都可用
2018-05-20
EditPlus 文本编辑器 已破解
2018-05-20
springboot 与 javaFX 集成 自定义starter
2018-05-20
springsource-tool-suite 适应eclipse 4.7的spring插件
2018-05-20
Java 后台reponse 返回视频的流, 前台使用ckplayer 怎么播放视频?
2019-06-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人