- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 数据库表设计的20条黄金规则
这就是数据库表设计的20条规定的详细解释和正反面例子。在数据库表设计中,虽然没有固定的20个规定,但可以根据广泛接受的数据库设计原则和最佳实践来总结出一些关键规定。解释:表名和列名应该清晰地描述它们所代表的数据或概念,使其他开发者能够轻松理解表的用途。解释:为每个列选择最合适的数据类型,既能确保数据的完整性,又能优化存储空间和查询性能。解释:使用空格或特殊字符可能会导致在SQL查询中需要额外的引号,增加出错的可能性。解释:对于有限集合的值,使用枚举类型或查找表可以确保数据的一致性和完整性。
2024-10-10 15:11:38 685
原创 【无标题】
IntelliJ IDEA是一款流行的Java集成开发环境(IDE),它提供了许多强大的功能,以帮助开发人员更高效地编写和调试代码。其中,TODO功能是其核心特性之一,它可以帮助开发人员在代码中标记出需要注意、尚未完成或需要进一步处理的部分。在IntelliJ IDEA中,TODO是一种特殊的代码注释,用于标记代码中需要注意、尚未完成或需要进一步处理的部分。使用TODO注释可以帮助开发人员在代码中标记出需要关注的地方,以便后续迭代、修复或优化。
2024-09-09 19:45:48 461 1
原创 几款收藏的神级IDEA插件分享
CodeGlanceGsonFormatLombokMybatisXChinese (Simplified) Language Pack / 中文语言包GitToolBoxVisualGCSonarLintany-ruleTabnine。
2024-06-20 00:22:38 650
原创 LinkedList、ConcurrentLinkedQueue、LinkedBlockingQueue对比分析
demo Lesson2ConcurrentLinkedQueuePerform:在使用ConcurrentLinkedQueue的情况下100个线程循环增加的元素数为:33828193。demo Lesson2LinkedBlockingQueuePerform:在使用LinkedBlockingQueue的情况下100个线程循环增加的元素数为:33827382。
2024-05-27 19:28:49 277
原创 深入浅出-CAS算法原理
CAS:Compare and Swap,即比较再交换。jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是一种独占锁,也是是悲观锁。
2024-05-27 01:29:58 922
原创 java queue详细分析
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。Queue的实现。
2024-05-27 01:27:57 809
原创 深度学习流程
模型选择:介绍不同类型的深度学习模型,如卷积神经网络、循环神经网络、自动编码器等,以及它们适用的场景。超参数调优:探讨超参数调优的方法,如网格搜索、随机搜索、贝叶斯优化等,以及如何选择最佳的超参数。模型评估:讨论模型性能评估的指标,如准确率、召回率、F1 值等,以及如何进行交叉验证和模型评估。模型训练:讨论模型训练的过程,包括损失函数、优化器的选择,以及训练过程中的迭代和收敛。模型部署:介绍如何将训练好的模型部署到实际应用中,包括模型的序列化、部署平台的选择等。
2024-05-19 23:02:12 560
原创 阿里云OSS权限开通步骤及最佳实践
您可以正确配置和管理阿里云OSS的权限,确保数据的安全和访问控制。合理控制权限将有助于提高存储空间的安全性,并为团队提供更好的管理和协作体验。希望这篇博文能对您有所帮助,如果您有任何问题或需要更多详细信息,请随时向我提问。
2024-05-13 13:56:30 1021
原创 全球首位AI程序员诞生,将会对程序员的影响有多大?
近期,全球首位AI程序员Devin的出场,不禁让我想到了一个有趣的问题:AI程序员会不会抢程序员的饭碗呢?虽然AI技术在编程领域越来越广泛,但它真的能完全替代我们程序员吗?
2024-04-05 23:08:52 935
原创 Linux系统中如何安装rz、sz命令
rz、sz是用来在windows和Linux上互转文件的一个命令, lrzsz在linux里可代替ftp上传和下载。一、rz、sz简介:rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。sz命令(Send ZMODEM)通过ZMODEM协议,可将多个文件从远程服务器下载到本地。注意不能下载文件夹,如果下载文件夹,请先打包再下载二、安装步骤:2.1 yum安装2.2 源码安装三、示列。
2024-03-31 01:28:34 692
原创 急速解决代码扫描Mybatis的SQL注入问题
在后端代码和数据库中都开启对sql注入的验证,同时用专业的注入工具查找本系统的漏洞进行修复,也可以进行账号诱骗,将一些如“admin”之类的容易受到攻击的用户设置上千位的密码,让攻击者的软件因为解析量大而负载过大,从而耗尽资源而宕机。sql注入见名知意,是指一些非法用户通过将一些特殊字符或者sql语句插入到要提交的表单之中,从而让服务器在不知情的情况下执行恶意的sql命令,从而引发一系列的安全隐患。这就是典型的系统漏洞,因此sql注入对系统的危害是非常大的,做好防止sql注入也是系统必须完善的。
2024-03-25 18:02:22 1152
原创 nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:
这个是安装nginx的时候没有开启ssl功能 解决方案。
2024-03-13 00:59:27 2407
原创 程序员缺乏经验的 7 种表现!
缺乏经验的开发人员会因为自己的效率低下进而降低整个团队的效率。他对待自己工作的错误态度,会让其在职业发展中错失很多机会。了解并避免这种错误的态度和工作方式,是聪明人的做法。如果你不幸染上了这些坏习惯,随着时间的推移,你会越来越难以摆脱。希望你能避开这些陷阱,早日获得职业上的成功。
2024-02-29 12:01:02 937
原创 SpringMVC利用@ControllerAdvice和ResponseBodyAdvice接口统一处理返回值
利用@ControllerAdvice和ResponseBodyAdvice接口统一处理返回值
2023-11-28 22:25:52 1630
原创 SpringMVC进阶 - 利用HandlerMethodArgumentResolver接口实现自定义参数类型解析
HandlerMethodArgumentResolver接口实现自定义参数类型解析
2023-11-27 00:50:01 860
原创 HandlerInterceptor、Filter处理器拦截器机制全解
当当前某个拦截器的preHandle方法返回false 时,DispatcherServlet 会假定拦截器本身已处理完毕请求(例如,已经渲染了合适的视图),此时将尝试直接倒序执行此前已放行的拦截器链的afterCompletion 方法,随后retrun结束处理,不会继续执行执行链中的后续其他拦截器和Handler实际处理程序(业务逻辑)以及后续其他流程。拦截器链和过滤器链的预处理和后处理的调用顺序都是相反的,即预处理调用时按照链从前向后调用,而后处理调用时则按照链从后向前调用。
2023-11-14 14:34:35 1027
原创 装饰者模式
装饰者模式是23种设计模式中结构型模式的一种,它的核心思想是在不必改变类文件及不使用继承的情况下,通过装饰者包裹目标对象,动态地扩展目标对象的功能。
2023-11-02 14:47:31 46
原创 IDEA最好用的插件推荐,吐血整理!
俗话说:“工欲善其事,必先利其器”。为了助力大家的学习和进阶,本小节介绍几个对 Java 学习非常有帮助的 IDEA 插件,代码反编译和反汇编工具,以及非常不错的网站等。本文重点介绍了 Java 学习和工作中常用的软件、插件、网站等。熟练地使用这些工具,将有助于提高我的开发效率和编程体验。
2023-09-29 22:33:34 2985
原创 软件(敏捷)开发中工作量与工时评估模型
软件开发中如何合理的预估项目的开发时间始终是一个难题。因为项目中不确定性的因素太多。这里我们根据日常项目中开发的规律总结出一种工作量预估的模型。
2023-03-30 16:38:26 5062
原创 Redis内存分析方法【老旧项目的共用redis缓存分析方案】
通过使用redis-rdb-tools + sqlite的方式,可以方便的对redis实例的内存情况进行静态的分析。整个过程也比较简单,获取到rdb之后即可实际使用中,发现过一个List积攒了10多G的内容,也发现过43M以上的string类型的value, 往往不仅能解答用户的疑惑,而且能够帮助用户排除业务中潜在的风险点,找到业务性能瓶颈。总的来说,整个分析的过程简单而实用,是每一个Redis的用户都非常值得掌握的一个方法。
2023-03-13 13:41:27 176
原创 java中如何使用Flyway管理数据库的版本变更
随着项目的不断迭代,数据库表结构、数据都在发生着变化。甚至有的业务在多环境版本并行运行。数据为王的时代,管理好数据库的版本也成为了迫切的需要。如何能做到像 Git 之类的版本控制工具来管理数据库?Java 项目中常用 Flyway 和 Liquibase 来管理数据库版本。其中 Flyway 相对来说比较受欢迎。
2023-02-10 10:49:41 360
原创 Disruptor 内存高性能消息队列
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。与Kafka、RabbitMQ用于服务间的消息队列不同,disruptor一般用于线程间消息的传递。基于Disruptor开发的系统单线程能支撑每秒600万订单。
2022-10-19 17:21:16 1426
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人