Java

    Lombok

    Lombok Java에서 자주 반복되는 코드(Getter, Setter, 생성자 등.. )들을 어노테이션을 통해 자동으로 생성해 주는 라이브러리이다. 코드를 깔끔하게 작성하여 가독성이 좋은 장점이 있지만, Annotation의 무분별한 사용은 오히려 문제가 될 수 있다. @, Annotations @Getter,@Setter 클래스의 맴버 변수들에 대한 getter, setter 메소드를 생성한다. 생성된 메소드들은 기본적으로 public AccessLevel를 통해 접근제한자를 설정해 줄 수 있다. (PRIVATE, PROTECTED...) 원하는 변수에만 Getter 혹은 Setter를 설정해줄 수 있다. @Getter public class Member { private String name; @S..

    Gradle Wrapper

    이전 포스팅에서는 Gradle에 대해서 알아보았다. Gradle 포스팅 바로가기 이번에는 Gradle에서 적극적으로 사용하는 것을 권장하는 Gradle Wrapper에 대해 알아 보았다. Gradle Wrapper Gradle Wrapper의 기능 이미 존재하는 프로젝트를 새로운 환경에 설치할때 별도의 설치나 설치과정 없이 곧 바로 빌드 할 수 있게 해준다. Gradle Wrapper를 적극적으로 사용할 것을 권장한다. Java나 Gradle를 설치할 필요가 없다. 로컬에 설치된 Gradle 또는 Java의 버전도 신경 쓸 필요가 없다. 공식문서에서는 Wrapper를 선언 된 버전의 Gradle을 호출하여 필요한 경우 다운로드하는 스크립트라고 정의한다. 즉, Wrapper의 작동은 필요한 파일을 Temp..

    Gradle

    Build (빌드) 내가 개발한 앱을 Web Server에 배포하기 위해서는 Build라는 과정을 거칠 수 밖에 없다. 빌드란 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다. 즉, 소스 코드 파일(.java, .c)을 실행 코드(.jar, .exe, .a) 로 변환하는 과정이라고 할 수 있다. 빌드의 단계 중 컴파일이 포함이 되어 있는데 컴파일은 빌드의 부분집합이라 할 수 있다. 빌드 과정을 도와주는 도구를 빌드 툴이라 한다. 참고 빌드와 컴파일의 차이 컴파일은 특정 프로그래밍 언어를 다른 프로그래밍 언어로 옮기는 것 컴파일러에 의해 소스코드가 바이너리코드로 변환되는 과정 .java → .class 빌드는 독립(standalone) 소프트웨어 가공물로 변환하는 과정 소스코드 ..

    JAR & WAR

    JAR, WAR 모두 JAVA의 jar 툴을 이용하여 생성된 압축(Archive, 아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징 해주는 것이 주 역할이다. JAR ( Java Archive ) JAR란, Java ARchive의 약자로, .jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다. 쉽게 JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각하면된다. 실제로 JAR 파일은 플랫폼에 귀속되는 점만 제외하면 WIN ZIP파일과 동일한 구조이다. JAR 파일은 원하는 구조로 구성이 가능하며 JDK(Java Development Kit)에 포함하고 있는..

    String Method

    String (문자열) 프로그래밍 개발에서 자주 사용되는 클래스 중 하나는 문자열 문자열은 불변하는 객체이다. 그렇기 때문에 문자열의 내용이 변경되는 메소드를 사용하더라도, 문자열 자신이 변경되는게 아니라 변경된 새로운 문자열이 반환된다는 사실을 잊으면 안된다. 자주 사용하는 String(문자열) 함수 int length() 문자열에 있는 공백을 포함한 모든 문자 수 반환 s.length(); int indexOf(String str) 문자열이 나타나기 시작한 처음 인덱스를 반환한다. 찾지 못하면 -1 반환 s.indexOf("찾을문자"); indexOf(String str, int fromIndex) fromIndex 이후로 찾을문자열이 처음 나타나는 인덱스를 반환 찾지 못하면 -1 반환 s.index..

    Enum

    Enum, 열거형이란? 일반적으로 상수를 정의할 때, public static final String 로 상수를 정의한다. 하지만 이렇게 상수를 정의하면서 다양한 문제들이 발생하게 되었고, Java 1.5버전부터는 서로 연관된 상수들의 집합을 의미하는 열겨형 클래스 Enum을 도입하게 되었다. 자바의 열거형은 열거형이 갖는 값과 타입까지 관리하기때문에 보다 논리적인 오류를 줄일 수 있다. 상수값이 바뀌면, 해당 상수를 참조하는 모든 소스를 다시 컴파일해야되지만, 열거형 상수를 사용하면 기존의 소스를 다시 컴파일 하지 않아도 된다. 예시) Card 클래스 class Card { static final int CLOVER = : 0; static final int HEART = 1; static final ..