Home
Jia's Blog
Cancel

Jooq와 QueryDsl

데이터 베이스란? 데이터들의 집합을 의미한다. DBMS (Database Management system) 데이터베이스를 관리하고 운영하는 소프트웨어로 MySQL, 오라클, SQL 서버, Maria DB 등이 존재한다. 이 안에 계층형, 망형, 관계형, 객체지향형, 객체관계형으로 분류가 되고 가장 많이 쓰이는 것은 관계형 DBMS...

Annotation을 이용한 Validation

환경: spring boot + gradle + java 회사에서 validation 처리를 하게 되었다. spring의 경우 손쉽게 annotation을 통해 validation 처리가 가능한데 그 방법을 알아보자. 기존 코드 public Response validationTest(final ValidationInput input) { // ...

String

String은 불변객체이다? 어떻게 String이 불변객체라는거지? “String이 불변객체라는 근거”와 “String을 불변객체로 설정한 이유”에 대해 알아보자. String이 어떻게 불변객체이지? String을 선언하는 방법은 2가지이다. String str1 = "hello"; // 1번 String str2 = new String("hello...

Java 질문과 정리

Object : 부모 객체를 의미한다. 모든 객체들은 기본적으로 Object를 부모로 갖는다. equals: 같은 값인지 확인하는 메소드 hasCode: 같은 주소값을 갖고 있는지 판별하는 메소드

Java와 Jpa

Java와 JPA가 어떻게 실행되는 건지 궁금해서 알아보았다! JAVA 객체지향언어로 개발된 프로그래밍 언어이다. JDK(Java Development Kit) java로 소프트웨어를 개발할 수 있도록 여러 기능들을 제공하는 패키지로 아래의 기능들을 제공한다. javac: 자바 컴파일러, 자바 소스 파일을 컴파일 코드로 변환한다. j...

test코드를 작성해야하는 이유

🤫 본 코드 짜기도 바쁜데 왜 테스트 코드를 작성해야 할까? 1. 한 메소드는 하나의 책임(기능)을 갖는다. 보통 여러개의 메소드가 유기적으로 연결되어있고 그 결과로 결과값이 도출되는데 이때 내가 예상된 결과값이 나오지 않는다면 어느 메소드에서 제대로 실행되지 않은건지 확인해야 한다. 이때, 모든 메소드에 디버깅을 찍어 하나하나 찾아보기 보다는...

test코드 유의사항

🤫 Junit 작성 시 유의사항 1. Junit의 테스트 코드는 순서를 보장하지않는다. 테스트 실행 순서는 정해져 있지 않기때문에 동시다발적으로 테스트가 돌아간다. 순서를 정하고 싶으면 @Order 를 넣어서 순서를 보장한다. @Test @Order(1) public void 책등록_test() { // 등록 테스트 } @Test @...

origin과 master, 그리고 main

git 이 꼬여서 최신의 코드를 확인할 수가 없다.. 어디서 부터 잘못된거지? [상황] develop 브랜치에서 pull 받음 -> 충돌 -> git rebase –continue -> 충돌 해결 -> git rebase -> 충돌 -> …-> 무한 반복 [원인파악] rebase를 하니 자꾸 같은 파일이...

Process와 Thread

Process : 컴퓨터에 연속적으로 실행되고 있는 컴퓨터 프로그램 Thread : 프로세스 내에서 실행되는 여러 흐름의 단위 멀티 프로세스 대신 멀티 쓰레드를 쓰는 이유는? = 프로그램을 여러개 실행할 바에는 하나의 프로그램에서 여러개의 작업을 한다.

PostConstruct와 Supplier Annotation

Annotation Spring을 사용하다보면 다양한 Annotaion을 사용하게 되는데 회사코드에서 처음보는 Annotation을 만나서 어떤 기능을 하는지, 왜 사용하는 건지 정리해보았다. @PostConstruct : DI(의존성을 주입) 한 이후에 실행되며 class 가 service로 올라가기 전에 실현된다. 한 클래스에서 하나의 메소드에만...