- 博客(42)
- 收藏
- 关注
原创 在SpringBoot项目里配置Flyway并借助TestContainer写集成测试
配置flyway配置application.yml文件可以在Spring Boot Reference Documentation的Application Properties中找到关于application.yml的各种配置配置数据源spring: profiles: active: ${SPRING_PROFILE} datasource: url: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME} usern
2021-11-03 22:52:19
791
原创 命令别名设置alias,如何永久生效
命令别名设置aliasalias/bin目录下存放用户可执行的命令,alias命令也在/bin目录下使用alias增设默认的选项在一些常用的命令上面,可以预防一些不小心误杀文件的情况发生的时候。设置方式示例说明在命令行中输入alias,按回车,即可看到当前所有的命令别名如果需要查询隐藏文件,并且需要长的列出与一页一页翻看,则需要执行ls -al | more这个命令,命令太长需要简化该怎么做呢?方式一(仅在当前进程生效)在命令行中输入alias lm=‘ls -al | more’(注意
2021-04-05 14:16:35
2541
原创 springboot怎么加载yml中的配置项
在app.yml中加入如下配置项company: apartment: - data - phone - business在代码中定义如下类,则可以加载yml中的配置项@Configuration@ConfigurationProperties(prefix = "company")@EnableConfigurationProperties(CompanyConfig.class)@Getter@Setterpublic class CompanyConfig { pri
2020-12-25 10:45:14
472
1
原创 mac下su切换至root时,输入完密码提示sorry的解决方案
问题描述在mac系统的命令行输入su,接着系统提醒你输入密码,一般是电脑的开机密码,结果出现如下所示的提示:su: Sorry解决方案在命令行输入如下命令:sudo su命令行提醒你输入密码Password,输入完成后,会出现sh-3.2#接着在命令行中输入passwd命令行出现提示:Changing password for root.Changing password for root. ##提示New password:
2020-12-24 13:26:07
3535
原创 解决 can‘t find artifact com.sun:tools:jar:1.8 at specified path /usr/local/Cellar/openjdk/14.0.1/lib
问题描述在maven项目中引入如下依赖 <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.8</version> <scope>system</scope> <
2020-12-23 23:24:29
3446
1
原创 Junit4, Junit5, Jupiter之间的联系,Jupiter的使用指南,用IDEA和Jupiter生成可读性更好的测试报告
一次因为Jupiter而引发的思考Jupiter和Junit5之间有什么联系?Jupiter提供了哪些新的测试方法?如何用IDEA和Jupiter生成可读性更好的测试报告?Junit5目前Java领域内最为流行的单元测试框架 ------ JUnitJunit的最新版本JUnit5于2017年发布。Junit 5 = Junit Platform + Junit Jupiter + Junit VintageJunit Platform: Junit Platform是在JVM上启动
2020-12-12 12:16:36
19733
原创 java:javaTask:source release 8 requires target release 8的两种解决方案
在IntelliJ的Java8项目中,尽管已经将Project SDK和Project Launguage Level设置为Java 8,在运行单元测试的过程中,如果报java:javaTask:source release 8 requires target release 8,请按如下两种方式解决* 方案1在IntelliJ的【Preferences】->【Compiler】->【Java Compiler】中将Target bytecode verion改为1.8,如下图所示
2020-12-12 12:14:13
517
原创 command校验的实现方式 - 全参构造器,重写Builder
Command校验@Builderpublic class StudentCommand { private long id; private String name; private String description;}通过new的方式实现@Builderpublic class StudentCommand { private long id; private String name; private String description; public static
2020-12-12 10:04:25
587
1
原创 IDEA Terminal替换成Git Bash
IDEA Terminal替换成Git Bash在IDEA中,打开settings,设置相应的bash路径settings -> Tools -> Terminal -> Shell path: C:\Program Files\Git\bin\bash.exe
2020-12-07 18:08:13
121
原创 IDEA如何解决某个文件的文件类型无法改变的情况
preferences->editor-> file types找到text,删除里面你的那个文件名或者后缀就可以了
2020-12-03 20:11:58
846
原创 Java中的所有类都是从Object这个类继承出来的,Object类是所有类的源头,是所有类的父类
Object类在Java中的所有类都是从Object这个类继承出来的,Object类是所有类的源头,是所有类的父类。你可以想象自己写的类是这样声明的:public class Dog extends Object {}Object类的部分方法:1.equals(Object o) //判断是否相等Dog a = new Dog();Cat c = new Cat();boolean b = a.equals(c); //false2.getClass()Cat c =
2020-11-18 23:55:17
1830
原创 Java抽象类和抽象方法如何定义
抽象类具体的类是可以被初始化为对象的,在类的声明前面加上抽象类关键词abstract,则该类就会成为一个抽象类。abstract public class Canine extends Animal { public void roam () {}}编译器不会让你初始化抽象类,抽象类代表没有人能够创建出该类的实例。public class MakeCaninw { public void go() { Canine c; c = new Dog(); //这是可以的,因为你可以赋值
2020-11-18 23:46:06
2299
原创 走进Java继承的世界
继承“子类继承父类”,继承的关系意味着子类继承了父类的方法。当提及“类的成员”时,成员的意思就是实例变量和方法。设计继承找出具有共同属性和行为的对象,用继承来防止子类中出现重复的程序代码。设计代表共同状态与行为的类#mermaid-svg-B29MnQGq4ms9HgjS .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#m
2020-11-08 23:09:52
109
原创 JS变量和函数式编程-var、let、const、全局变量、局部变量、块级作用域、循环作用域
变量变量作用域全局变量在函数外声明的变量作用域是全局的全局变量在 JavaScript 程序的任何地方都可以访问var carName = "Volvo"; // 这里可以使用 carName 变量 function myFunction() { // 这里也可以使用 carName 变量}函数内的局部变量在函数内声明的变量作用域是局部的(函数内)函数内使用** var** 声明的变量只能在函数内访问,如果不使用 var 则是全局变量。// 这里不能使用 car
2020-09-13 11:20:23
782
原创 JavaScript简介-<script>、document.getElementById、JavaScript事件、JavaScript字符串、JavaScript数据类型
JavaScript简介JavaScript是脚本语言。JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript:直接写入HTML输出流document.write("<h1>这是一个标题</h1>");只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。
2020-09-13 11:15:33
411
原创 HTML资源与工具-div、span、ul、ol、a、img、form、button、h1、h2、h3
HTML资源与工具html在线验证:http://www.freeformatter.com/html-validator.html(该网站上还有很多别的工具)html在线格式化代码:http://www.cleancss.com/html-beautify/W3School上的HTML基础教程:http://www.w3school.com.cn/html/index.aspHtml5新特性(了解即可):http://www.w3school.com.cn/html5/index.
2020-09-13 11:11:22
434
原创 CSS-body、.center、#main、伪元素
CSS的资源与工具CSS在线验证:http://codebeautify.org/cssvalidate(该网站上还有很多别的工具)学习CSS布局:http://learnlayout.com/CSS基础教程:http://www.w3school.com.cn/css/index.aspCSS3新特性(了解即可):http://www.w3school.com.cn/css3/CodeForDream上提供的CSS课程:http://www.codefordream.com/courses/c
2020-09-13 11:06:24
623
原创 带你走进ThoughtWorks文化-3 PILLARS、TWU、站会、迭代会议、回顾会议、代码评审、反馈
通过学习Markdown语法,以下是对第一次线下培训所做的总结 线下培训ThoughtWorks文化WHO AM I ?专业IT 服务型 公司5000+人,14个国家,40间办公室由Roy Singham于20世纪80年代后期创立3 PILLARS经营可持续的业务咨询服务: IT组织优化,技术咨询,测试策略,客户体验构建定制化系统和定制化产品: 和客户一起完成极其复杂的项目和软件,尽可能快速地将概念转化为价值客户遍及电信、金融、出版、传媒、航运、能源、制造、互联网、旅游
2020-09-13 10:52:44
905
原创 TDD(Test Driven Development)测试驱动开发-概述及编码方式
TDD概述TDD(Test Driven Development)测试驱动开发TDD定义一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。TDD编码方式先分解任务,分离关注点列Example,用实例化需求,澄清需求细节写测试,只关注需求,程序的输入输出,不关心中间过程写实现,不考虑别的需求,用最简单的方式满足当前这个小需求
2020-09-13 10:46:09
656
原创 Tasking任务分解学习总结
Tasking-任务分解输入Where:从哪来?When:触发事件Who:权限处理过程Where:hard code的数据有哪些?What:过程描述How:怎么实现Why:设计输出Where:到哪去?编程的精进之法任务列表法任务列表要达到完全穷尽,各自独立PDCAPDCA是Plan-Do-Check-Action四个词的组合。这是这是著名的戴明环。讲究从计划开始,经过实践,再反思,产生的改进行动再纳入下一轮计划的持续改进过程
2020-09-13 10:43:41
941
原创 IntelliJ IDEA快捷键设置及使用
学习使用键盘来代替鼠标执行操作,节省大量的时间,高效的完成开发任务。 设置快捷键版本Windows and Linux:File|Settings|Keymap|DefaultmacOS:IntelliJ IDEA|Preferences|Keymap|Mac OS X 10.5+快捷键参照表挑战快捷键1万能的 Alt + EnterAlt + Enter(mac) / Alt + Enter(windows/Linux)自动创建类(按 Alt + Enter选择Create c
2020-09-13 10:31:33
537
原创 IntelliJ IDEA配置JDK和环境变量
IntelliJ IDEA配置JDK和环境变量学习资源与工具IntelliJ IDE 下载链接(请下载Community版)设置快捷键版本快捷键参照表下载IntelliJ IDEA下载地址配置JDK首先要下载Java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html在下载页面点击接受许可,并根据自己的系统选择对应的版本。下载成功后,双击图标即可安装,安装过程中直接下一步即
2020-09-12 11:29:57
7500
1
原创 如何更好的提问-在提问之前试试Stack Overflow、小黄鸭调试法
提问是学习过程中必须掌握的技能,它又分为两个场景:如何当面向人请教技术问题;如何在问答网站上提问。 如何提问学习资源与工具技术类问答网站(国内)Segmentfault技术类问答网站(国外)stackoverflow提问的智慧小黄鸭调试法提问的智慧简介提出有挑战性的问题,能激发思维的好问题,值得反复咀嚼玩味的好问题。像赢家那样提问 – 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。在提问之前在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到
2020-09-12 11:25:25
954
原创 Linux命令基础
Linux命令基础学习资料常用命令行介绍:https://github.com/tws-practice/console/blob/master/COMMANDS.md每个程序员都应该知道的8个Linux命令:http://www.imooc.com/article/1276慕课网上更多Linux相关课程:http://www.imooc.com/course/list?c=linux书籍《鸟哥的Linux私房菜》:https://book.douban.com/subject/4889838/
2020-09-12 11:23:43
174
原创 Git基础
学习使用基本git指令对项目进行版本控制;学习使用github作为项目托管平台。学习资料git教学网站:http://try.github.com/git完整命令手册地址:https://git-scm.com/docsgit bash下载地址:https://gitforwindows.org/git commit资料:http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.htmlgit小步提交资料:http://w
2020-09-12 11:20:54
120
原创 java8新特性
java8新特性Lambda表达式Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。)语法(parameters) -> expression或(parameters) ->{ statements; }lambda表达式的重要特征:**可选类型声明:**不需要声明参数类型,编译器可以统一识别参数值。**可选的参数圆括号:**一个参数无需定义圆括号,但多个参数需要定义圆括号。**可选的大括号:**如果主体包含了一个语句,就不需要使用大括号。**
2020-09-12 11:20:04
73
原创 Java基础语法
Java基础语法对象、类、方法、实例变量对象:对象是类的一个实例,有状态和行为。类:类是一个模板,它描述一类对象的行为和状态。方法:方法就是行为,一个类可以有很多方法。实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。基本语法大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass。方法名
2020-09-12 11:13:26
147
原创 gradle安装和学习使用gradle管理项目
gradle安装下载网址,选择想要安装的发布版本,gradle-x.x-bin.zip是需要下载的安装发布版,gradle-x.x-src.zip是源码,gradle-x.x-all.zip则是下载全部的文件。Gradle下载的源码不需要安装,我们将下载的压缩包在本机的目录下直接解压即可。接下来我们为Gradle配置环境变量,安装过jdk的朋友对环境变量的配置应该不陌生了。我们右键**“这台电脑”–>“属性”–>“高级系统设置”–>“环境变量”–>“系统变量”,按照上述步骤
2020-09-12 11:12:42
207
原创 IDEA中java文件出现小黄色的J
IDEA中java文件出现小黄色的J打开项目工程的工程结构设置(File -> Project Structure)(快捷键:ctrl+alt+shift+s)选择第一栏的Modules然后在第三栏选择source删除当前的内容跟路径点击添加内容根路径选择项目根路径,点击ok,一直确认就行IntelliJ的工程提示:Cannot Resolve Symbol …File->Invalidate Caches/Restart 清除缓存重启...
2020-09-12 10:51:11
3457
原创 Java面向对象-继承、多态、封装
Java继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。类的继承格式class 父类 {} class 子类 extends 父类 {}继承类型单继承public class A{......}public class B extends A{......}多重继承public class A{......}public class B extends A{......}
2020-09-12 10:41:21
47
原创 Java面向对象的概念
面向对象的概念What对象(Object):对具象的抽象状态(state)行为(behavior)类:抽象的抽象Abstract属性(Property)方法(method)怎么抽象?上下文(context)领域(domain)数据模型(Data Model)业务模型()技术模型()业务场景(User Case)逻辑(Logic)OO思想抽象(abstract):建模封装(Encapsulation):模块化access contro
2020-09-12 10:39:44
71
原创 Java函数库API-以ArrayList为例
Java函数库API可以在Java API 在线文档网站上查询API文档,或者查阅参考书。最大的区别是参考书会告诉你方法需要什么参数,以及返回何种类型的数据,如果需要更多的相关细节,则需要查阅API文档。例如ArrayList,在参考书中你会知道它有一个indexOf()方法,indexOf()取用一个对象参数并返回int类型的索引值,而API文档会告诉你indexOf()在找不到相符对象的情况下会返回-1。public int indexOf(Object o)Returns the index
2020-09-09 00:23:05
191
原创 Java8 Optional类
Optional类是Java8新增的一个类,用于解决NullPointerExxception异常。可以用Optional类来消除代码中的null检查。定义一个Student类:public class Student { private String id; private String name; //get set 和 构造方法 @Overri...
2019-12-14 22:52:10
62
原创 如何理解RPC(远程过程调用)?
**RPC(Remote Procedure Call)**是指远程过程调用本地过程调用:比如你妈现在在家,需要扫地,她自己拿起扫帚开始打扫。远程过程调用:比如你妈现在不在家,需要扫地,她发微信告诉你,你拿起扫帚开始打扫。使用RPC要解决的问题:解决分布式系统中,服务之间的调用问题。远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。比如有一个计算器的接口Coun...
2019-12-10 22:26:52
455
原创 查看电脑ip
Windows查看ip:使用Windows+R键打开“运行”窗口,然后输入cmd进入命令提示窗口进入命令窗口之后,输入:ipconfig/all 回车即可看到整个电脑的详细的IP配置信息IPv4地址是电脑的ip地址物理地址,即MAC地址Mac查看ip:打开终端terminal在终端中输入“ifconfig”,回车ether是物理地址,即MAC地址inet是ip地址...
2019-12-05 23:25:40
281
原创 什么是OpenAPI?
OpenAPI规范(也称为Swagger规范)是REST API的API描述格式。OpenAPI文件可以描述整个API:可用端点(/users)和对每个端点进行操作(GET /users,POST /users)操作输入参数和输出参数认证方式联系信息,许可,使用条款和其他信息API规范(OpenAPI 3.0规范)可以用YAML或JSON编写。Swagger是围绕OpenAPI规范...
2019-12-05 22:26:59
2652
原创 JVM JDK(Oracle JDK和Open JDK) JRE的区别与联系
JVM(Java Virtual Machine):Java虚拟机是可以运行Java字节码(即后缀名为.class的文件)的虚拟机。JVM针对不同的操作系统(Windows, Linux, macOS)有特定的实现,基于此,也就印证了Java的一大特性 — 跨平台。相同的字节码,在不同的操作系统上,会得出相同的结果。不能运行已编译的Java程序。JRE(Java Runtime Environm...
2019-11-20 22:45:02
428
原创 面向过程与面向对象的区别
面向过程:面向过程性能比面向对象高。而面向过程没有面向对象易维护、易复用、易扩展。例如:C++。面向对象:面向对象易维护、易复用、易扩展。而面向对象性能比面向过程低。例如:Java。类:类是对象的蓝图。类不是对象,是用来创建它们的模型,它会告诉虚拟机如何创建某种类型的对象。对象:对象本身已知的事物被称为实例变量(instance variable)。对象可以执行的动作称为方法(methods...
2019-11-19 22:57:07
175
原创 Java的程序结构:源文件、类、方法
源文件(source file):源文件(扩展名名为.java)带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包在花括号里面。类存于源文件里面。类:类中带有一个或多个方法。方法必须在类的内部声明。方法存于类中方法:在方法的花括号中编写方法应该执行的指令。方法代码是由一组语句所组成。语句(statement)存于方法中public class MyFirst...
2019-11-18 21:57:05
1619
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人