流水账-20240229

2024-02-29 20:44
文章标签 流水账 20240229

本文主要是介绍流水账-20240229,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • git
    • 本地回滚到到`120bc409ee3b8f63a23d0060e55118bcce557acf`提交记录
    • 本地提交到已有代码分支
  • IDEA
    • 批量导入快捷键无效
    • 更换背景主题
    • 快捷键
      • 快捷键可以设置eclipse模式,但是有些不生效,可能是冲突了
      • `Ctrl+单击`,`Eclipse`里面是可以跳转到代码内部;`IDEA`是跳转到引用该方法的地方(`Ctrl + Alt +B`是跳转到方法内部)
      • 格式化代码快捷键:`Ctrl+Alt+L`
      • 转换大小写:`Ctrl+Shift+Y`(*eclipse*)或者`Ctrl+Shift+U`
      • 下划线转驼峰的用插件 `CamelCase`,快捷键是 `Shift + Alt + U`
    • 在这里插入图片描述
      • 外部修改了文件名称,类内部名称需要修改,进入类内部,点击`Alt + Enter`,可以选择改成和外部名称一致,或者外部名称改成和内部一致
      • `Ctrl+E`查看最近打开文件记录列表
      • Alt + 箭头左右 (回到之前操作的文件)
    • 设置打开代码窗口无上限
    • Ctrl+Shift+O去除无用import,变成了导入.*,导致checkstyle不通过
  • java
    • org.springframework.util.ReflectionUtils
    • 比对相同实体的属性值是否相同
      • 源码

git

本地回滚到到120bc409ee3b8f63a23d0060e55118bcce557acf提交记录

git reset --hard 120bc409ee3b8f63a23d0060e55118bcce557acf

在这里插入图片描述
强制推送到远程仓库,废弃掉之前的提交(这样做可能会改变其他人已经拉取的分支):

git push origin --force --all

本地提交到已有代码分支

在您本地对直接导入并解压缩的代码文件进行修改后,要同步到下载的Git代码分支上,可以按照以下步骤操作:

  • 首先确保你已经在本地的这个项目文件夹下初始化了Git仓库,并且已经关联到远程的GitHub仓库。如果没有,请执行以下命令:

    cd 你的项目文件夹路径
    git init
    git remote add origin 远程仓库地址
    
  • 将修改的文件添加到暂存区:

    git add .
    

    这里.代表所有修改过的文件,如果你只想添加特定文件,可以用git add 文件名

  • 提交本地更改:

    git commit -m "你的提交描述信息"
    
  • 推送到对应的远程分支(假设是master分支):

    git push origin master
    
  • 如果远程分支不是master,比如是dev分支,则改为:

    git push origin dev
    
  • 如果在推送时遇到权限问题或者需要推送到一个新分支,可能需要使用-u参数创建与远程分支的追踪关系,以及-f参数强制推送:

    git push -u origin 新分支名称 -f
    

    请谨慎使用-f参数,因为它会覆盖远程分支上的内容。

IDEA

批量导入快捷键无效

Alt+Enter,批量导入类无效,可以尝试打开下面开关
在这里插入图片描述

更换背景主题

在这里插入图片描述

快捷键

快捷键可以设置eclipse模式,但是有些不生效,可能是冲突了

在这里插入图片描述

Ctrl+单击Eclipse里面是可以跳转到代码内部;IDEA是跳转到引用该方法的地方(Ctrl + Alt +B是跳转到方法内部)


格式化代码快捷键:Ctrl+Alt+L


转换大小写:Ctrl+Shift+Y(eclipse)或者Ctrl+Shift+U


下划线转驼峰的用插件 CamelCase,快捷键是 Shift + Alt + U

在这里插入图片描述

外部修改了文件名称,类内部名称需要修改,进入类内部,点击Alt + Enter,可以选择改成和外部名称一致,或者外部名称改成和内部一致


Ctrl+E查看最近打开文件记录列表


Alt + 箭头左右 (回到之前操作的文件)


设置打开代码窗口无上限

在这里插入图片描述

Ctrl+Shift+O去除无用import,变成了导入.*,导致checkstyle不通过

通过下面设置,默认超过5个就变成导入*
在这里插入图片描述

java

org.springframework.util.ReflectionUtils

ReflectionUtilsSpring框架提供的一个工具类,主要用于简化 Java反射相关的操作。这个类包含了多个静态方法,可以帮助开发者在运行时执行一些常见的反射任务,比如:

  1. 获取和设置私有字段的值:无论字段是否为私有,都可以通过 ReflectionUtils 访问其值。
  2. 调用方法:包括私有方法在内的任意方法都可以通过 ReflectionUtils 被安全地调用。
  3. 检查类、接口、方法和字段是否存在:辅助进行类结构的探测。
  4. 遍历类层次结构:递归查找父类或接口上的方法和字段。
  5. 设置访问权限:通过 makeAccessible() 方法临时改变访问控制,使得原本不可见的成员变为可见。
  6. 处理异常:对于可能出现的反射异常进行了封装和统一处理。
  7. 获取所有字段:不论继承层次深浅,都能获取到类的所有字段。

通过使用 ReflectionUtils,开发者可以减少手动编写反射代码的复杂度,降低潜在的错误风险,并使代码更具可读性和可维护性。在 Spring 框架中,这个工具类广泛应用在依赖注入、AOP代理、事件处理等方面。

使用场景就是表里面codevalue字段存放的是属性名称、属性值,现在就是把表数据和具体实体做个映射,给实体属性set值(惭愧,作为一个老程序员,第一次用这个工具类,特此记录一下

  • 设置属性值
    在这里插入图片描述
  • 具体方法
    public static void setProperty(Object target, String propertyName, Object value) {Field field = ReflectionUtils.findField(target.getClass(), propertyName);if (field != null) {ReflectionUtils.makeAccessible(field);try {field.set(target, value);} catch (IllegalAccessException e) {throw new RuntimeException("无法设置属性值", e);}} else {throw new IllegalArgumentException("找不到名为 " + propertyName + " 的属性");}}
    

比对相同实体的属性值是否相同

在这里插入图片描述

源码

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;/*** 比较实体,返回相同和不同的属性*/
public class EntityCompareTest {private static Map<String, Object> differences = new HashMap<>(); // 用于存储不同属性及其新旧值private static Map<String, Object> unchanges = new HashMap<>(); // 用于存储值未发生改变的属性及值public static void main(String[] args) throws IllegalAccessException {DemoEntity leftEntity = new DemoEntity();leftEntity.setAge(32);leftEntity.setId(20240229L);leftEntity.setName("Tom");leftEntity.setSex(1);DemoEntity rightEntity = new DemoEntity();rightEntity.setAge(31);rightEntity.setId(20240229L);rightEntity.setName("July");rightEntity.setSex(2);Class<?> leftClass = leftEntity.getClass();Class<?> rightClass = rightEntity.getClass();if (!leftClass.equals(rightClass)) {throw new IllegalArgumentException("Entities must be of the same type");}Field[] fields = leftClass.getDeclaredFields();for (Field field : fields) {field.setAccessible(true);Object leftValue = field.get(leftEntity);Object rightValue = field.get(rightEntity);if (leftValue == null && rightValue != null) {differences.put(String.valueOf(field), new ComPareValue<>(leftValue, rightValue));} else if (leftValue != null && !leftValue.equals(rightValue)) {differences.put(field.getName(), new ComPareValue<>(leftValue, rightValue));} else {unchanges.put(field.getName(), leftValue);}}System.out.println("变更信息:" + differences.toString());System.out.println("未变更信息:" + unchanges.toString());}
}
import lombok.Data;/*** demo实体类*/
@Data
public class DemoEntity {private Long id;private String name;private Integer sex;private Integer age;
}
import lombok.Data;/*** 存储差异值.** @param <L>* @param <R>*/
@Data
public class ComPareValue<L, R> {private L left;private R right;public ComPareValue(L left, R right) {this.left = left;this.right = right;}}

这篇关于流水账-20240229的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760016

相关文章

前端菜鸡流水账日记 -- pnpm的学习

哈咯哇大家,我又来了,最近稍微悠闲一些,所以就趁着这个机会学习一些新的知识,今天就是碰巧遇到了pnm,这个可以看作是npm的升级版本,比npm要快,用起来也更得劲更迅速 官网地址:https://pnpm.io/zh/installation 我们使用的话主要是从官网中找到对应的这部分就可以了,先在npm的基础上全局安装pnpm mac本的伙伴需要sodo 一下,给个权限才可以全局安装

DDD(领域驱动设计)系列主题 - 战术设计案例讲解:代码结构优化之如何避免写流水账代码?

本文转自:微信公众号 阿里技术 目录 导读 2 Interface接口层 2.1 接口层的组成 2.2  返回值和异常处理规范,Result vs Exception 2.3  接口层的接口的数量和业务间的隔离 3 Application层 3.1  Application层的组成部分 3.2  Command、Query、Event对象 3.3  ApplicationSer

大二期末小学期的实验流水账(PCN Point Completion Network以及小部分GAN论文直播课的想法)(更新至7.7)

这一周多的时间几乎全部的工作都为了调试一个loss函数的bug。 期末后小学期第一周,我开始研究怎么跑起这个PCN网络的代码,PCN是点积云补全的生成网络,大概的功能就是可以补全三维点积云物体的特征,就是下面这种样子。 论文地址,我得记一下,怕丢。 论文地址 在论文提供的代码地址下载了代码,一开始想着看看代码能不能跑起来,先不管电脑配置的原因。因为我的笔记本上面有Pytorch的环境,

某对象存储元数据集群改造流水账

软件产品:某厂商提供的不便具名的对象存储产品,核心底层技术源自HDFS和Amazon S3,元数据集群采用了基于MongoDB的NOSQL数据库产品和MySQL数据库产品相结合。 该产品的元数据逻辑示意图如下: 业务集群现状:当前第3期建设的元数据集群中存在约50亿条对象文件记录。当前共3期建成规模,元数据记录总量约400亿条。当前集群中对象文件的读写存在明显时延,读写性能已不满足业务应用

流水账-20240314

目录 Linux系统删除文件后,磁盘大小没变化mysql事务和neo4j事务冲突误诊描述解决方法网上提供的方法重置Neo4j密码,成功解决问题高版本低版本 Linux系统删除文件后,磁盘大小没变化 lsof +L1|grep 删除的文件名kill进程 mysql事务和neo4j事务冲突误诊 org.springframework.transaction.CannotC

日常开发流水账

2021-01-19 1、今天在设计表的时候遇到一个纠结的问题,表有了自增主键,每条记录也有了唯一编码,在做关联的时候,就不知道用主键关联还是用唯一编码关联好。。。 2、新项目使用shiro过滤的时候,发现swagger请求也被拦截了,所有配置都是拷贝老项目的,怎么会这样,令人大吃一惊,随后发现老项目配置的时候,不仅用来上下文路径,每个请求都的url都有一个固定的路径/web,然后定义shir

20240229笔记

浏览器预加载器 手动:prefetch preload <link rel="prefetch" href="next.html"> <link rel="preload" as="style" href="styles.css"><link rel="preload" as="javascript" href="1.js"> 会尽早加载但不会过早执行script 自动:浏览器自身

20240229笔记

浏览器预加载器 手动:prefetch preload <link rel="prefetch" href="next.html"> <link rel="preload" as="style" href="styles.css"><link rel="preload" as="javascript" href="1.js"> 会尽早加载但不会过早执行script 自动:浏览器自身

市场复盘总结 20240229

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 60% 最常用的二种方法: 方法一:指标选股找强势股 select * from dbo.ResultAll where 入选类型 like '%指标选股%' and 入选日期='20240

暴风一期 黑群晖折腾流水账

起因是想和女友一起分享各自手机中的小猫照片,经过上网查资料了解到了群晖,可惜正版白群晖售价太高: 无奈选择了黑群晖,白群晖其实也可以简单理解为一台电脑多装了几块硬盘,然后装了一个文件服务器系统,这个系统也就是群晖系统。现在网上已经有很多大佬开元出的系统引导,所以系统问题也就没什么好担心的了。 开始硬件选配: 机箱:         机箱一定要上服务器机箱,这是可能它与普