본문 바로가기

Programming/JAVA25

이론_25. 레이어 /* ◎ 개발의 종류와 관계 없이(웹, 프로그램 등), 향후 유지/보수의 용이를 위해 패턴을 가지고 개발하게 된다. ◎ 프레젠테이션 레이어(표현 계층)는 주로 사용자에게 보여지는 부분을 포함합니다. ◎ C#(프로그램)의 경우 윈폼(WinForm) 혹은 WPF(Windows Presentation Foundation), 자바의 경우 콘솔 혹은 AWT,Swing, 웹의 경우 컨트롤러(Controller)를 포함한 HTML, CSS 등이 PL 에 해당한다. ◎ 비즈니스 로직 레이어(비즈니스 논리 계층)은 주로 사용자로부터 넘겨 받은 값의 유효성 검사(정규화 등) 및 데이터를 DAL 로 전달하는 등의 로직을 포함한다. ◎ 로그인을 요청한 사용자의 이메일 및 비밀번호에 대한 유효성 검사를 하되 절대로 해당 이메일.. 2024. 3. 6.
이론_24. 구조체 /* ◎ 구조체(Struct)는 단일 타입으로 표현하기 힘든 데이터를 위해 별도로 만들어 사용하는 클래스(타입)이다. ◎ 엔티티(Entity)는 DBMS 의 테이블이 가지고 있는 열과 클래스의 멤버 변수가 1:1 로 매칭되는 구조체이다. ◎ equals(...), hashcode() 등의 동등 여부를 가릴 수 있는 메서드 등을 재정의(Override) 하는 편이다. ◎ 동등 여부는 주로 테이블이 가지고 있는 기본 키(Primary Key)의 동등 여부로 판단하는 편이다. ◎ DTO(Data Transfer Object)는 계층간 데이터 전달이 목적인 구조체이다. ◎ 가질 수 있는 멤버 변수에는 제한이 없지만 Getter 및 Setter 메서드를 제외한 로직을 구현하여서는 안된다. ◎ 멤버 변수 및 Get.. 2024. 3. 6.
이론_23. 의존성 /* ◎ 의존성(Dependency) 은 어떠한 프로젝트가 다른 배포된 프로젝트(들)에 대해 의존적인 것 혹은 그 자체를 의미한다. ◎ 직접 개발하기는 어려우며, 개발한다 하더라도 미션 크리티컬(Mission Critical)한 부분의 경우 메모리 릭(Memory Leak), 리소스 릭(Resource Leak) 및 취약점(Vulnerability) 등이 발생할 가능성이 농후함으로 잘 알려진(Well-Known), 공개적인(Public),전문가가 제작한 (Professional), 검증된(Verified) 의존성을 채택하는 것이 나은 경우가 대다수이다. ◎ 의존성 관리자(Dependency Manager)는 사용할 의존성을 컴파일된 형식(jar)을 직접 다운로드 받아 프로젝트에 수동으로 포함(Import.. 2024. 3. 6.
이론_22. JDBC /* ◎ JDBC(Java Database Connector) 는 주로 java.sql 패키지 아래에 위치한 인터페이스 집합을 의미한다. ◎ 이 인터페이스들은 자바 언어를 활용하여 DBMS 에 접속, 쿼리를 실행하기 위해 요구되는 요건을 지닌 인터페이스들이다. ◎ 각 다른 종류의 DBMS 는 이러한 JDBC 인터페이스를 각자의 DBMS 의 요구사항에 맞는 로직을 구현한 클래스들의 집합을 가진다. ◎ MariaDB : MariaDB Java Client (org.mariadb.jdbc : mariadb-java-client) ◎ MySQL : MySQL Connector/J (com.mysql : mysql-connector-j) ◎ PostgreSQL : PostgreSQL JDBC Driver (org.. 2024. 3. 6.