当前位置: 首页 > news >正文

【9-2:代码规范】

算法级思想

  • 代码规范(java)

代码规范(java)

  1. 方法参数必须一致,不要出现自动装箱拆箱操作
  2. SimpleDateFormat是线程不安全的
  3. 使用equals注意空指针
  4. 异常日志
    • 事务场景中如果出现异常被捕时注意回滚
    • 不要再finally中使用return方法
    • 应用中不可直接使用日志系统:log4j
  5. 单元测试
  • 好的单元测试必须遵守 AIR 原则
    • 单元测试在线上运行时,感觉像空气(AIR)一样并不但在测试质量的保障上,却是非常关键的,好的特点。
    • 单元测试宏观上来说,具有自动化、独立性、可重复执行
  • 单元测试应该是全自动执行的,并且非交互式的
    • 输出结果需要人工检查的测试不是一个好的单元测试。
    • 单元测试中不准使用 system.out来进行人肉验证,必须使用 assert 来验证。
  • 单元测试是可重复执行的,不能受外界影响
  1. 数据隐私信息应该做脱敏处理
  2. 用户请求传入的任何参数都必须做有效性验证
    • page size 过大导致内存溢出
    • 恶意 order by 导致数据库慢查询
    • 缓存击穿
    • 服务器端请求伪造(SSRF)
    • 任意重定向SQL注入,shel注入,反序列化注入·正则输入源串拒绝服务 ReDoS

相关文章:

【9-2:代码规范】

算法级思想 代码规范(java) 代码规范(java) 方法参数必须一致,不要出现自动装箱拆箱操作SimpleDateFormat是线程不安全的使用equals注意空指针异常日志 事务场景中如果出现异常被捕时注意回滚不要再finally中使用retu…...

std::filesystem::current_path().generic_string()的bug

这行指令出来会出来大小写的盘符&#xff0c;如D 或者d&#xff0c;似乎随机 #include <iostream> #include <filesystem>namespace fs std::filesystem;bool arePathsSame(const fs::path& p1, const fs::path& p2) {return p1 p2; }int main() {fs::p…...

Python excel知识库批量模糊匹配的3种方法实例(fuzzywuzzy\Gensim)

前言 当然&#xff0c;基于排序的模糊匹配&#xff08;类似于Excel的VLOOKUP函数的模糊匹配模式&#xff09;也属于模糊匹配的范畴&#xff0c;但那种过于简单&#xff0c;不是本文讨论的范畴。 本文主要讨论的是以公司名称或地址为主的字符串的模糊匹配。 使用编辑距离算法进…...

stm32使用单通道规则组ADC

Driver_ADC.c 如果需要关闭adc转换&#xff0c;只需要设置CNT&#xff0c;将其置为0&#xff0c;后面再转换一次就停止了。 #include "Driver_ADC.h"void Driver_ADC1_Init(void) {/* 1. 时钟配置 *//* 1.1 adc时钟 */RCC->APB2ENR | RCC_APB2ENR_ADC1EN;RCC-&g…...

[python][whl]causal-conv1d的python模块在windows上whl文件下载

【模块介绍】 causal-conv1d&#xff0c;即因果一维卷积&#xff08;Causal 1D Convolution&#xff09;&#xff0c;是一种在深度学习特别是时序数据处理中广泛应用的卷积技术。它主要特点在于其“因果性”&#xff0c;即输出的每个元素仅依赖于输入序列中它之前的元素&#…...

介绍 CM3leon,一个更高效、最先进的文本和图像生成模型

近几个月来&#xff0c;随着让机器理解和表达语言的自然语言处理技术以及可根据文本输入生成图像的系统的进步&#xff0c;人们对生成式人工智能模型的兴趣和研究也在加速。今天&#xff0c;我们要展示的是 CM3leon&#xff08;发音类似于 “变色龙”&#xff09;&#xff0c;它…...

HTTPS和HTTP有哪些区别

两者的主要区别在于安全性和数据加密&#xff1a; 加密层&#xff1a;HTTPS 在HTTP 的基础上增加了SSL/TLS 协议作为加密层&#xff0c;确保数据传输的安全性,即使数据被截获&#xff0c;没有相应的密钥也无法解读数据内容。而HTTP 数据传输是明文的&#xff0c;容易受到攻击。…...

Docker 安装 PostgreSQL

1. 启动 PostgreSQL 容器 docker run --name ffj-postgres -p 5432:5432 -e POSTGRES_PASSWORDCisc0123 -d postgres docker run&#xff1a;启动一个新的容器。--name指定容器名称为 ffj-postgres。-p 5432:5432&#xff1a;将主机的 5432 端口映射到容器的 5432 端口。-e P…...

实践致知第12享:如何新建一个Word并设置格式

一、背景需求 小姑电话说&#xff1a;要新建一个Word文档&#xff0c;并将每段的首行设置空2格。 二、解决方案 1、在电脑桌面上空白地方&#xff0c;点击鼠标右键&#xff0c;在下拉的功能框中选择“DOC文档”或“DOCX文档”都可以&#xff0c;如下图所示。 之后&#xff0…...

Rust vs Go: 特点与应用场景分析

目录 介绍Rust的特点Go的特点Rust的应用场景Go的应用场景总结 介绍 Rust和Go&#xff08;Golang&#xff09;是现代编程语言中两个非常流行的选择。凭借各自的独特优势和广泛的应用场景&#xff0c;吸引了大量开发者的关注。本文将详细介绍Rust和Go的特点&#xff0c;并探讨它…...

2024的开放式耳机排行榜,看这六个耳机选购的小Tips

寻找一款既能聊天又能听歌的耳机并不容易&#xff0c;但是开放式耳机可能会是一个理想的选择。与传统的入耳式耳机相比&#xff0c;开放式耳机可以让你更加自然地与周围环境互动&#xff0c;并且不容易掉落。当然&#xff0c;在市场上选择一款适合自己的开放式耳机也是至关重要…...

JAVA-报表模糊搜索询易实现

背景: 一般文件报表经常会需要搜各个表头对应内容&#xff0c;如果支持全部类型切换搜索&#xff0c;操作起来就不够便捷。而且这个报表是测试自己用的&#xff0c;准确性可以不用太要求&#xff0c;所以更想要那中输入关键字命中任意表记录内容的模糊匹配功能。 方法一:解析搜…...

牛客 7.13 月赛(留 C逆元)

B-最少剩几个&#xff1f;_牛客小白月赛98 (nowcoder.com) 思路 奇数偶数 奇数&#xff1b;奇数*偶数 奇数 所以在既有奇数又有偶数时&#xff0c;两者结合可以同时删除 先分别统计奇数&#xff0c;偶数个数 若偶个数大于奇个数&#xff0c;答案是偶个数-奇个数 若奇个数…...

FPGA之术语

FPGA之术语 IOSTANDARDDIFF_SSTL12:LVCMOS33:sys_clk_p/n:rst_n:UART时钟JTAG:GPIOONFIPCIe IOSTANDARD 在电子工程领域&#xff0c;DIFF_SSTL12和LVCMOS33是两种不同的电气标准&#xff0c;用于定义信号的电压级别和特性。 IOSTANDARD是一个在FPGA&#xff08;现场可编程门阵…...

WPF透明置顶窗口wine适配穿透问题解决

一、透明窗口全屏时&#xff0c;鼠标不穿透 问题描述 我有一个透明窗口&#xff0c;它是一个全屏置顶窗口&#xff0c;窗口里面有一个工具条&#xff0c;可以通过鼠标拖动工具条的位置&#xff0c;程序启动后&#xff0c;在不点击工具条的时候&#xff0c;鼠标是可以穿透的&a…...

浅析Kafka Streams中KTable.aggregate()方法的使用

KTable.aggregate() 方法是 Apache Kafka Streams API 中用于对流数据进行状态化聚合的核心方法之一。这个方法允许你根据一个键值&#xff08;通常是<K,V>类型&#xff09;的流数据&#xff0c;应用一个初始值和一个聚合函数&#xff0c;来累积和更新一个状态&#xff0…...

java word转pdf、word中关键字位置插入图片 工具类

java word转pdf、word中关键字位置插入图片 工具类 1.pom依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency><dependency><groupId>org.apa…...

jail内部ubuntu apt升级失败问题解决

在FreeBSD jail 里安装启动Ubuntu jammy系统&#xff0c;每次装好执行jexec ubjammy sh进入Ubuntu系统后&#xff0c;执行apt update报错。 这个问题困惑了好久&#xff0c;突然有一天仔细去看报错信息&#xff0c;查看了(man 5 apt.conf) &#xff0c;才搞定问题。简单来说就是…...

迎接AI新时代:GPT-5的技术飞跃与未来展望

引言 随着人工智能技术的迅猛发展&#xff0c;大语言模型在过去几年取得了显著进步。OpenAI最新的声明表明&#xff0c;GPT-5将在一年半后发布&#xff0c;并将带来从高中生智力水平到博士生智力水平的飞跃。这一突破引起了科技界和公众的广泛关注。本文将从技术突破预测、智能…...

Snap Video:用于文本到视频合成的扩展时空变换器

图像生成模型的质量和多功能性的显著提升&#xff0c;研究界开始将其应用于视频生成领域。但是视频内容高度冗余&#xff0c;直接将图像模型技术应用于视频生成可能会降低运动的保真度和视觉质量&#xff0c;并影响可扩展性。来自 Snap 的研究团队及其合作者提出了 "Snap …...

如何一键保存整个网页?告别滚动拼接的终极解决方案

如何一键保存整个网页&#xff1f;告别滚动拼接的终极解决方案 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrome-extensio…...

从URP到Built-in:手把手教你迁移Unity第三人称模板并成功换人(解决Shader报错)

从URP到Built-in&#xff1a;Unity第三人称模板迁移全流程实战指南 当你在Unity中打开官方提供的Third Person模板&#xff0c;准备将其应用到自己的项目时&#xff0c;可能会遇到一个棘手的问题——这个模板是基于URP&#xff08;Universal Render Pipeline&#xff09;设计的…...

Pure Live:你的纯净直播聚合解决方案,告别平台切换烦恼

Pure Live&#xff1a;你的纯净直播聚合解决方案&#xff0c;告别平台切换烦恼 【免费下载链接】pure_live A Flutter project can make you watch live with ease. 项目地址: https://gitcode.com/gh_mirrors/pu/pure_live 你是否曾为同时关注多个直播平台的主播而感到…...

如何学会自己写代码控制STM32(裸机)-GPIO篇

//总结自己的工作经验&#xff0c;帮助学习单片机的入门者&#xff0c;快速上手写代码该文章是基于STM32F401裸机代码编写思路&#xff0c;后续会更新增加STM32FreeRTOS首先想要写单片机的程序&#xff0c;你必须有扎实的C语言基础&#xff0c;从我多次面试的经验总结&#xff…...

GitHub Desktop汉化神器:3分钟让英文界面变中文

GitHub Desktop汉化神器&#xff1a;3分钟让英文界面变中文 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop的英文…...

告别混乱搜索:Visual Paradigm 17.0 企业模型查找器(Enterprise Model Finder)深度使用指南

Visual Paradigm 17.0企业级模型检索革命&#xff1a;从精准定位到团队协作的全链路优化 在大型软件工程或复杂系统设计项目中&#xff0c;建模师们常常陷入"模型迷宫"的困境——当项目积累到数百个UML图、上千个业务流程图时&#xff0c;找到一个特定类定义或流程节…...

美国签证预约神器:3步告别熬夜抢号,智能锁定更早面试时间

美国签证预约神器&#xff1a;3步告别熬夜抢号&#xff0c;智能锁定更早面试时间 【免费下载链接】us-visa-bot US Visa Bot 项目地址: https://gitcode.com/gh_mirrors/us/us-visa-bot 还在为美国签证预约的漫长等待而焦虑吗&#xff1f;每天手动刷新页面却总是错过最佳…...

别再新建空文件了!手把手教你用CodeBlocks创建可调试的C/C++工程(避坑中文路径)

别再新建空文件了&#xff01;手把手教你用CodeBlocks创建可调试的C/C工程&#xff08;避坑中文路径&#xff09; 刚接触编程的新手常常会遇到这样的困惑&#xff1a;明明按照教程写好了代码&#xff0c;设置了断点&#xff0c;按下F7却毫无反应。这种挫败感往往源于一个被多数…...

ChromeKeePass终极指南:如何在Chrome浏览器中实现KeePass密码自动填充

ChromeKeePass终极指南&#xff1a;如何在Chrome浏览器中实现KeePass密码自动填充 【免费下载链接】ChromeKeePass Chrome extensions for automatically filling credentials from KeePass 项目地址: https://gitcode.com/gh_mirrors/ch/ChromeKeePass ChromeKeePass是…...

长期使用Taotoken Token Plan套餐在项目开发中的成本优势体会

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken Token Plan套餐在项目开发中的成本优势体会 在项目开发中&#xff0c;尤其是涉及大模型API调用的场景&#xff0…...