专栏首页关忆北.企图变秃变强的第二天

企图变秃变强的第二天

1.DataIntegrityViolationException

今天遇到了这个异常,没有任何悬念,第一次遇见它,先百度,通过百度了解到: DataIntegrityViolationException是因为在Insert或Update数据时违反了完整性,例如违反了惟一性限制,在spring的文档中是这样解释的:

Exception thrown when an attempt to insert or update data results in violation of an integrity constraint. Note that this is not purely a relational concept; unique primary keys are required by most database types.

很明显了,没找到主键,说到主键,想起来另一个概念,外键。温习一下。 外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。 主键 主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。 我觉得这篇文章讲的比较形象: 主键外键

2.list优雅的判空

if(list == null){
	//意味着list在堆中不存在,根本没有地址,如果此时操作list会报空指针异常。
	...
	} else{
	...
}

优雅的方式:

if (CollectionUtils.isEmpty(list)){
	
}

这个是springframework.util中的一个类,官方是这样解释以及实现的:

	/**
	 * Return {@code true} if the supplied Collection is {@code null} or empty.
	 * Otherwise, return {@code false}.
	 * @param collection the Collection to check
	 * @return whether the given Collection is empty
	 */

	public static boolean isEmpty(@Nullable Collection<?> collection) {
		return (collection == null || collection.isEmpty());
	}

这个工具类用于判定我们传入的集合是否为空,如果是空返回false; 它在传入的参数中加了注解**@NonNull**,百度了一下这两个注解: @NonNull 可以标注在方法、字段、参数之上,表示对应的值不可以为空 @Nullable 注解可以标注在方法、字段、参数之上,表示对应的值可以为空, 所以这个参数加在这里,就是校验传入的参数是否为空呗,想起来Spring中的一个校验注解**@validated** ,以及lombok中的**@NonNull**。

其他的判断list是否为空的方式还有list.size(),list.isEmpty()。

今天还用到了StringUtils,这个类有springframework下的,还有apache下lang3包的,不过lang3包中的名副其实,只能做String类型的判空,而springframework则可以判断Obj类型,所有类的爸爸。

3.Jenkins部署,build完成之后去服务器执行脚本

当接口测试完成后,可以把代码部署到服务器,以前没做过,今天尝试了一下,感觉,有点刺激… 步骤就是先去Jenkins大老爷的后台,找到Build Now,大哥给我说,如果代码编译出错的话,有一个红色的小点点,在本地看一眼代码哪里出错了。编译成功是一种说不上来的颜色,我的颜色库比较匮乏,暂且叫蓝色。之后就是去远程仓库下执行脚本。阳哥告诉我sh和./都可以执行,因为懒,所以就./ +脚本名吧,这时候就等着服务器的重启服务就好了。

4.去服务器扒日志

当非本地环境代码出现异常,本地没有日志,就可以通过XFTP等工具去log文件夹下找对应服务的log文件,下载到本地,查看是哪里出了异常。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/weixin_42313773复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 企图变秃变强的第一天

    首先判断传入的实体是不是null,如果是null,哪玩完,上帝都救不了你,送你一个false,下次再来。然后断言TableInfo(数据库表反射信息)是true...

    关忆北.
  • 互联网程序员三大准则之一:变秃就能变强!

    现在脱发、秃顶不再是老年人的标志了,90后也已加入脱发主力军……,越来越多的年轻人陷入了脱发的困扰!尤其是身边的程序员。每天打招呼的方式很特别!

    一墨编程学习
  • 代码还原的技术: Unidbg调试浮点数运算(一)

    它们就是传说中的浮点数运算,今天我们来点亮一个很有用的技能树: Unidbg调试浮点数运算

    fenfei331
  • 互联网公司脱发白皮书

    今日,脱发届权威机构“拯救发际线协会”发布了备受广大互联网人关注的《互联网公司脱发白皮书》(以下简称《白皮书》)。

    测试小兵
  • 有趣的MySQL(一):“无序”的in运算符查询结果

      想必各位开发同学对于MySQL中的in运算符一定不陌生,今天闲鱼就想和大家来聊一聊in运算符。   分享in运算符的原因其实很简单,主要是前段时间在项目中使...

    brucebat
  • 在鹅厂当程序媛是什么体验?

    马上就到 3 月 8 日国际妇女节了,提前祝广大程序媛们:节日快乐,貌美如花,永远十八。 借此良机,我们也随机采访了几位鹅厂程序媛,在她们身上发现了一些有意思...

    腾讯技术工程官方号
  • 为什么自己的实验数据与别人不一致?究竟是谁在“说谎”?

    在检查了实验流程、理论推导后,始终找不到原因。在几乎脱发时,开始了灵魂拷问:我是谁?发生了什么?我为什么要做科研?

    百味科研芝士
  • 堆、栈、方法区—JVM 内存模型分析

    不论是正经或者不正经的程序猿要想变强不能光光变秃,你还必须掌握JVM相关的底层知识。

    用户4464623
  • 又是一年1024,今天不加班,加鸡腿!

    转眼间又到了一年一度的1024,广大程序员朋友们的日子。作为国内最大的互联网安全媒体,FreeBuf在这里祝各位Buffer节日快乐。

    FB客服
  • 剃头挑子、京韵大鼓、摆地摊,AI技术重现的老北京原声影像又火了,网友:这口音太过真实

    剃头挑子、街边地摊、京韵大鼓,多数人可能只在电影、电视剧中看过老北京的这些景象。但早在 90 年前,就有人将这些场景都拍了下来,而且完好地保存在美国南卡罗莱纳大...

    机器之心
  • kafka日志段如何读写?

    之所以写这篇文章是因为之前面试时候被面试官问到(倒)了,面试官说:“你说你对Kafka比较熟?看过源码? 那说说kafka日志段如何读写的吧?”

    Java3y
  • 学了十几种编程语言后,我有哪些感受?

    学编程 5 年多了,我学过十几种编程语言,比如 C、C++、Java、Python、JavaScript、Go、PHP、C#、SQL、Scala 等。

    程序员鱼皮
  • 一道有意思的腾讯算法面试题

    我只好把从果壳看来的防秃指南告诉她。虽然没有一招制胜的卵方法,但也打消了我写防秃水文的念头...

    Monica2333
  • 程序员脱发自救:用计算机视觉技术安全植发

    场景描述:面对日益严重的脱发问题,植发已经成了很多人的救命法宝。但植发市场的扩大,以及专业人员的缺乏,也让这项依赖专业医师的项目变得破朔迷离。而人工智能、机器人...

    小白学视觉
  • 网购黑产“新五毒”趁机作乱,腾讯云天御实时狙击

    憨牛、骏马、绵羊、灵狐、小章鱼,现实中的这些可爱动物,在互联网黑产的推波助澜中,摇身一变,成为黑产“新五毒”。它们借助网购高峰肆虐,给商家、用户造成严重损失。 ...

    腾讯云安全

扫码关注腾讯云开发者

领取腾讯云代金券