Java 5

[Java/Spring] 빌드 관리 도구 Maven vs Gradle

1. 빌드 관리 도구란? 정의 개발을 하다보면 자주 보는 몇 가지 단어가 있다. 그 중에서 Maven과 Grable을 각각 스프링과 스프링부트에서 본적이 있을 것이다. 우선 이 둘은 빌드 관리 도구이다. 빌드란? 소스코드 파일을 컴파일에서 실행할 수 있는 가공물로 변환하는 과정 또는 결과물이다. 다시말하면 우리 작성한 소스코드(java), 프로젝트에서 쓰인 각각의 파일 및 자원등(.xml,jpa,jpg,properties)을 JVM이나 톰캣같은 WAS가 인식할 수 있도록 패키징하는 과정 및 결과물이라고 할 수 있다. 빌드 관리 도구란? 소스코드에서 어플리케이션 생성을 하면서 여러가지 라이브러리를 사용하는데, 이 빌드 관리 도구는 사용자가 직접 관리할 필요 없이 필요한 라이브러리들을 자동으로 관리한다. 초..

Java 2022.11.09

[Java] Java Bean

Java Bean 이란? 특정한 정보 (id, password, name, job...)등을 가지고 있는 클래스를 표현하는 하나의 규칙이고, 데이터를 표현하기 위한 목적을 지니고 있음. 이 규칙(규약)을 지닌 클래스를 Java Bean 이라고 함. Java Bean의 규약 반드시 클래스는 패키지화 되어야 함 멤버변수는 property(프로퍼티)라고 함 멤버변수는 private로 지정하고, 외부접근을 위한 get, set 메소드를 정의해야 함 get, set 메소드는 public으로 지정 JavaBean JavaBean은 데이터를 표현하는 것을 목적으로 하는 자바 클래스로서 아래와 같은 형태. JavaBean 규약에 따르는 클래스를 자바 빈 이라고 부르며, jsp에서 사용되는 자바 빈은 아래와 같은 형태...

Java 2022.11.03

[Java/Spring] 서블릿과 디스패처 서블릿 (Servlet & Dispatcher Servlet)

Servlet 이란? - JAVA를 사용하여 웹을 만들기 위해 필요한 프로그래밍 기술이다. (Servlet 클래스의 구현 규칙을 지켜야합니다.) - 또한, 이러한 웹 기반의 요청에 대해 동적으로 처리해주는 역할로서 Server Side에서 작동(WAS)한다. - 웹 페이지 개발 시, 웹 화면(HTML)은 JSP로 표현하고, 복잡한 프로그래밍은 서블릿으로 구현하여 조화롭게 사용한다. - 클라이언트가 요청을 하면 그 결과를 다시 전송해주는 프로그램이다. - HttpServlet이라는 Java의 클래스를 상속받는다. Servlet Life Cycle 1. Servlet 객체 생성 (1회) 2. init() 호출 (1회) 3. service(), doGet(), doPost() 호출 (요청시 매번) 4. des..

Java 2022.11.03

[Java] String StringBuffer StringBuilder 비교

Java에서 문자열을 다루는 대표적인 클래스로는 String, StringBuffer, StringBuilder 가 있다. 연산이 많지 않을 때는 어떤 것을 사용하더라도 이슈가 발생할 가능성은 거의 없으나, 연산횟수가 많아지거나 멀티쓰레드, Race condition 등의 상황이 자주 발생하는 경우, 각 클래스의 특징을 이해하고 상황에 맞는 적절한 클래스를 사용해야 한다. String vs StringBuffer, StringBuilder String과 StringBuffer, StringBuilder 의 가장 큰 차이점은 String은 불변(immutable)의 속성을 갖는다는 점이다. String str = "hello"; // ① str = str + " world"; // ② ①에서 "hello"..

Java 2022.10.15

[Java] 정규 표현식 - String.replaceAll() 메서드를 활용한 String 치환

정규식 메타 문자 : . ^ $ * + ? { } [ ] \ | ( ) .x: 임의의문자 + x ex) a.c : abc, a0c ,, ex) a..c : abbc, a00c ,, x* : x의 0번 이상 반복 x+ : x의 1번 이상 반복 ^x : 문자열이 x로 시작 ex) "^[.]" : "."으로 시작 x$ : 문자열이 x로 끝남 ex) "[.]$ : "."으로 끝남 x? : x가 존재할수도, 하지 않을 수도 있음 ex) ab?c : ac, abc 모두 가능 x|y : x 또는 y ex) (x|y)z : xy 또는 yz 모두 가능 x{n} : x의 n번 반복 x{m,n} : x의 m번 이상 n번 이하 반복 x{n,} : x의 n번 이상 반복 ex) "\\.{2,} : "."의 2번 이상 반복 (* ..

Java 2022.07.27