Think Deeply 3

gradle, 왜 쓰는가

먼저 Gradle이란? Gradle은 빌드 자동화 시스템이다 (CI/CD를 위해 아래 작업들을 자동화 시켜 주는 Groovy 기반의 오픈소스 빌드 도구) +) 빌드 도구란? 소프트웨어 개발에 있어서 소스 코드를 실행 가능한 어플리케이션으로 만들어주는 도구 빌드 과정을 자동화하여 관리하는 기능을 하기 때문에 빌드 관리 도구 도는 빌드 자동화 도구라고 불리기도 한다 Gradle을 사용하면 간편하게 Java 소스 코드를 실행한 가능한 jar 파일로 만들어준다 그리고 우리가 작성한 Java 코드를 설정에 맞게 자동으로 Build해준다 - Build란 소스 코드를 실행 가능한 결과물로 만드는 일련의 과정을 뜻한다 - 우리가 개발을 하면서 필요로하는 외부 라이브러리들을 dependencies 부분에 작성하면 Gra..

Think Deeply 2024.02.01

@RequireArgsConstructor와 직접 생성자 만들기의 차이점과 고민

controller를 만드는 와중에 필드에서 생성자를 만들어달라는 빨간 줄이 떠서 직접 생성자를 넣을 지 annotation을 쓸지 고민이 됐다. 지금같이 파라미터값으로 몇 개밖에 넣지 않는다면 생성자를 만드는 게 눈으로 어떤 파라미터가 들어가는지 알 수 있어서 보기에 좋지만 더더욱 많이 들어간다면 가독성도 좋지 않을 뿐더러 @RequireArgsConstructor와 직접 생성자를 만드는 게 어떤 차이점이 있는지 궁금해졌다. ---------------------------------------------------------------------------------------------------------------- 1. @RequireArgsConstructor 넣기 @RequireArgsCo..

Think Deeply 2024.01.29

static을 깊게 이해해보자

java 코드를 보다 static 키워드의 실사용성에 대해 궁금한 점이 생겨 찾아보고 정리한 부분을 블로그에 정리하려고 한다. public class hi { public static void main(String[] args) { Solution Foo1(); // static이 붙은 함수'Foo1'의 호출 방식 var sol = new Solution(); // static이 붙지 않은 함수'Foo2'의 호출 방식 sol.Foo2(); } public class Solution{ public static void Foo1() {} // static 선언 public void Foo2() {} } } new 키워드가 붙은 메모리는 heap공간에 할당이 된다 우리가 올리려는 것에 적당한 heap공간이 있..

Think Deeply 2024.01.13