모르지 않다는 것은 아는것과 다르다.

Other 6

gradle 파일 이해하기

개요 지금까지 build.gradle 파일을 사용해서 java와 spring 파일들을 빌드했지만, 구조를 정확히 알지 못하는 느낌을 받았다. 그래서 gradle 파일이 어떤식으로 구성되는지 공부해 보려고 한다. settings.gradle rootProject.name = 'gradle-study' setting.gradle에는 루트 프로젝트의 이름이 설정되어 있다. setting.gradle에 서브 프로젝트를 추가하고, build.gradle에 각각에 맞는 스코프를 만들어 의존성을 주입하면 멀티 프로젝트를 구성할 수 있다. SourceSet gradle을 이용해서 프로젝트를 생성하면 아래와 같이 SourceSet을 구성해 준다. 그렇기 때문에 gradle로 프로젝트를 생성하지 않는다면 SourceSet..

Other 2022.06.11

SpringBoot Properties

SpringBoot Properties 란 스프링 부트의 기본 기능 전체를 튜닝하는 부트 전용 설정 프로퍼티를 말한다. 부트의 기능 거의 대부분을 제어한다. 기본값이 세팅되어 있어서 아무 것도 쓰지 않는다고 해도 디폴트 값으로 작동한다. 만약 설정을 자바 코드 레벨에서 하고있다면, Properties 로 관리할 수 있는지 여부를 체크해볼 필요가 있다. 자바코드 vs Properties 예를들어 아래와 같은 DataSorce 에 관한 설정이 있다고 해보자. @Configuration public class DataSourceConfig { @Bean public DataSource getDataSource() { DataSourceBuilder builder = DataSourceBuilder.create..

Other 2022.03.24

intellij 단축키

Mac Reformat Code : ⌥ + ⌘ + l 프로젝트 창 포커스 : ⌘ + 1 -> ESC 누르면 다시 에디터 창으로 돌아온다. 프로젝트 창 미리보기 : 파일 클릭하고 Space 에디터 창만 남기기 : shift + ⌘ + F12 에디터 창 이동 : ⌃ + tab 새 파일 생성 에디터에서 생성 : ⌃ + option + N 프로젝트 창에서 생성 : ⌘ + N 커서 이동 단어별 이동 : ⌥ + ← → 라인 시작/끝 이동 : fn + ← → 페이지 위/아래 : fn + ↑ ↓ 선택 확장/축소 : ⌥↑, ⌥↓ / ctrl + W, ctrl + shift + W 주석 처리 한 줄 주석 : ⌘ + / 블록 주석 : ⌥ + ⌘ + / 인덴트 : tab 인덴트 취소 : ⇧ + tab 자동 인덴트 : ⌃ + ..

Other 2022.03.14

JDK, JRE, SDK, JavaSE, JavaME, JavaEE 정리

JDK, JRE, JDK 비교 JDK Java Development Kit의 약자다. java 관련 각종 라이브러리가 들어있다. 개발자만을 위한 컴파일러(javac), 디버깅툴 등을 제공한다. 개발자 및 사용자를 위한 JAVA인 JRE(+JVM)을 포함한 종합 툴이다. java 는 컴파일한 후 바로 돌리는 compiled language 방식이 아니라, 자바가상머신으로 자신의 고유 환경을 구축한 후, 돌아가기 때문에 자바 컴파일러와 자바 가상 머신이 모두 필요하고, 이 둘을 묶어서 JDK 라고한다. 다시말해, Java로 된 언어를 컴파일하고 개발할 수 있도록 해주는 개발 환경의 세트를 의미한다. JRE Java Runtime Environment 의 약자다. JDK 같은 개발 키트 개념은 아니다. JDK..

Other 2022.02.28

java (Spring)로 Shell Script 실행 하기

shell scrip 작성 //결로 /tmp/sh_aaaa_7010.sh echo "test shell scrip!!" //결로 /tmp/sh_test_9010.sh echo "test shell scrip!!" //결로 /tmp/sh_xxxx_9010.sh echo "test shell scrip!!" tmp 디렉토리 하위에 3개의 shell scrip 파일을 생성한다. 파일 접근 권한 설정 sudo chmod 777 /tmp : tmp 디렉토리에 대한 r: 읽기권한, w: 쓰기권한 x: 실행권한 부여 sudo chmod a+x sh_aaaa_7010.sh sudo chmod a+x sh_test_9010.sh sudo chmod a+x sh_xxxx_9010.sh 위와 같이 세개의 shell scri..

Other 2022.02.28

Lombok 사용시 주의할 점

개요 실무에서 Lombok 사용시 주의할 점들을 정리해 보고자 한다. @Setter 를 지양하자 도메인 객체들에게 @Setter 를 사용하는 건 바람직하지 못하다. Setter 와 같이 데이터에 변경이 일어나는 메소드는 그에 합당한 명분이 필요하다. 그렇기 때문에 그에 합당한 메소드명을 명명해서 메소드의 의도를 정확히 표현하는 것이 바람직하다. 당연하겠지만, @Setter 를 포함하고 있는 @Data 도 지양하는 것이 바람직하다. 객체를 생성하고 싶을때에는 아래와 빌더패턴을 적용하는 것이 바람직하다. ToString 의 순환참조를 주의하다. 양방향 연관관계시 순환 참조로 인해서 문제가 발생한다. 아래와 같이 ToString 항목을 제외시킴으로써 해결할 수 있다. @ToString(exclude = "me..

Other 2022.02.28