SDKMAN 설치
·
Java
Java/Spring Boot 등 자바 환경을 사용하면 JDK를 많이 설치하게 될 것이다.이때 아직도 정말 많이 사용되는 자바8을 필요하거나 11, 17, 21 등의 다양한 LTS 버전들도 필요로 할 것이다.개발환경에서는 IntelliJ 같은 IDE를 사용하면 정말 편하게 버전 설정들을 할 수 있는데 운영 환경에서는 프로젝트에 맞는 자바 버전들을 설치해줘야 할 것이다.이럴때 쉽게 자바 버전을 관리해주는 SDKMAN을 사용해주면 좋다.https://sdkman.io/# SDKMAN 설치curl -s "https://get.sdkman.io" | bash# 셸 재시작 또는source "$HOME/.sdkman/bin/sdkman-init.sh"# 설치 확인sdk version우분투 환경에선 zip과 unzi..
[자바] 자바 빈즈
·
Java
자바 빈즈란(Java Beans) Builder Tool에서 시각적으로 조작할 수 있는 재사용 가능한, 자바로 작성된 소프트웨어 컴포넌트 현재 실행되고 있는 JVM 프로세스 내에서 실행되고 있는 인스턴스이며 이 중 어떤 인스턴스들은 필요에 따라 내가 호출하여 사용할 수 있음 자바로 작성한 자바 클래스 중에 바 빈즈 컨벤션(Java Beans Convention) 에 맞게 작성된 클래스를 JSP에서 사용 가능 EJB(Enterprise Java Beans)와는 다른 것 자바 빈즈 사용 목적 JSP페이지의 로직 부분을 분리해서 코드를 재사용함으로 프로그램의 효율을 높임 프로그램의 모듈화(component)는 코드를 재사용하므로 프로그램의 작성 기간이 단축되고, 이미 실 시스템에 사용했던 코드를 사용하므로 코..
[JAVA] 어노테이션 설명
·
Java
타임리프 폼과 어노테이션.Key from Seokju Hong 타임리프 설명이 같이 있지만 메인은 어노테이션 설명이다. 의문점 스프링에서 쓰는 이 어노테이션이 도대체 뭐길래 달아주기만 해도 무슨 마법 같은 일이 일어날까. 하는 의문점이 들었다. 어노테이션이란 사전적 정의는 다음과 같다. 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술 메타 데이터 역할 (데이터를 위한 데이터) @Override @Deprecated @FunctionalInterface 우리가 자바를 사용하면서 다음과 같은 문구들을 보았을 텐데, 이것들은 단순히 주석처럼 사용되는 어노테이션들이다. 그리고 스프링을 사용하면서 본 어노테이션들로는 다음과 같다. @Controller @Servic..
스택트레이스를 적극 활용하자
·
Java
요약 요약 - 무조건 구글링만 하지 말고, 에러를 한 번 쭉 읽어보자. 에러를 통해 어느 부분이 문젠지 파악할 수 있다. - casued by: 예외 부분을 잘 찾아서 봐보자. - 스택트레이스를 볼 때는 아래에서 위 순으로 판단하자. (스택이니까) 개발을 하다보면 에러가 터지는 경우 많이 겪게 될 것이다. 그럴 때 마다 무작정 구글에다 에러 부분을 복붙하지 말고, 스택트레이스를 적극 활용해보자. 예전에 읽었던 글인데, 나 뿐만 아니라 다른 분도 많이 알아야 겠다 생각해서 정리해본다. 스택트레이스는 프로그램이 시작된 시점부터 현재 위치 까지의 메서드 호출 목록을 말한다. JVM이 자동 생성해주며 이를 통해 어디서 예외가 발생했는지 파악할 수 있다. 스택이란 단어가 정말 많은 곳에서 사용됨을 볼 수 있는데,..
[JAVA] Enum에 대해서
·
Java
만약 여자인지, 남자인지 판단해야 하는 코드가 있다 치자. 이전 같은 경우에는 다음과 같이 했어야 할 것이다. if (sex.equals("Male")) {} else if (sex.equals("Female")) {} 경우가 몇 가지 없는 경우면 내가 직접 문자로 쳐주면 되겠지만, 가지수가 늘어나면 오타를 낼 수 도 있다. 요샌 IDE가 똑똑하다지만 문자열까지는 잡아주기 어려울 것이다. 이런 문제를 해결할 수 없을까 해서 나온게 열거형 타입인 Enum 클래스가 나온 것이다. Enum을 사용해서 얻을 수 있는 이점은 아래와 같다. (출처 - 우아한블로그) 문자열과 비교해, IDE의 적극적인 지원을 받을 수 있습니다. 자동완성, 오타검증, 텍스트 리팩토링 등등 허용 가능한 값들을 제한할 수 있습니다. 리팩..