전체 글 38

[Spring API 계층] DTO(Data Transfer Object)

DTO란? 데이터를 전송하기 위한 용도의 객체 정도로 생각 클라이언트에서 서버 쪽으로 전송하는 요청 데이터, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터의 형식으로 데이터 전송이 이루어진다. 이 구간에서 DTO를 사용 DTO 클래스가 요청 데이터를 하나의 객체로 전달 받는 역할을 해준다 @RestController @RequestMapping("/v1/members") public class MemberController { @PostMapping public ResponseEntity postMember(MemberDto memberDto) { return new ResponseEntity(memberDto, HttpStatus.CREATED); } ... ... } DTO 클래스를 사용하면 유효성..

Framework/Spring 2022.12.07

[Spring] Spring Framework 개념 및 정리

Spring Framework이란? 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다. Spirng Framework는 컨테이너로 자바 객체를 담고 직접 관리한다. Java 기반의 웹 애플리케이션 개발을 위한 Framework에 Spring Framework만 있는 것은 아니다. Apache Struts2나 Apache Wicket, JSF(Java Server Faces), Grails 같은 Java 또는 JVM 기반의 Web Framework들이 존재하며, 현재도 꾸준히 그 기능들이 업데이트되고 있다. 자주 사용하는 이유는 대부분의 기업들이 기업용 엔터프라이즈 시스템용 애플리케이션 개발에 있어 Fram..

Framework/Spring 2022.10.17

[Java] Getter, Setter 메서드 정리

Getter, Setter 사용 이유 자바에서는 데이터 보호와 은닉을 위한 효과적인 방법으로 접근 제어자를 사용한다. 객체지향의 캡슐화의 목적을 달성하면서도 데이터의 변경이 필요한 경우는 getter와 setter 메서드를 사용한다. 대표적으로 private 접근제어자가 포함되어 있는 객체의 변수의 데이터 값을 추가하거나 수정하고 싶을 때 사용 코드 예시 public class GetterSetterTest { public static void main(String[] args) { Worker w = new Worker(); w.setName("김코딩"); w.setAge(30); w.setId(5); String name = w.getName(); System.out.println("근로자의 이름은 ..

Language/Java 2022.10.11

[Network] REST API 개념 및 성숙도 모델

REST API란? REST API는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다. 여기서 REST는 Representational State Transfer의 약자로 로이 필딩의 박사학위 논문에서 웹(HTTP)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개되었다. REST API 성숙도 모델 REST 성숙도 모델은 총 4단계로 나누어진다. 그러나 실제로 엄밀하게 3단계까지 지키기 어렵기 때문에 2단계까지만 적용해도 좋은 API디자인이라고 볼 수 있고, 이런 경우 HTTP API라고도 부른다. 성숙도 모델 0단계 단순히 HTTP 프로토콜을 사용하기만 해도 된다. 하지만 해당 API를 REST API라..

Network 2022.10.10

[Java / 자료구조] Deque 개념 및 정리

Deque 정의 Deque는 Double Ended Queue의 양방향 대기열이라고도 불리는 자료구조이다. 양방향으로 열려있는 구조로 Queue와 외형적으로 비슷한 구조이다. 그러나 Deque는 Stack과 Queue와 달리 LIFO, FIFO와 같은 순서에 구속되지 않는다. Deque 특징 Stack 및 Queue를 모두 사용할 수 있다. Deque는 양쪽으로 데이터를 추가하고 삭제할 수 있어서 Stack과 Queue를 구현할 수 있다. 추가와 삭제를 양쪽에서 제어할 수 있어서 여러 형태로 사용할 수 있다. 추가를 제한하는 구조 한쪽에서만 데이터 추가가 가능하고 삭제는 양방향에서 가능하게 구현한다면 아래와 같은 구조 데이터 추가의 방향이 정해진 상태가 된다. 왼쪽으로 삭제하는 형태는 Stack과 같고 ..

Language/Java 2022.10.10

[DB] 데이터베이스 정규화 (1NF, 2NF, 3NF) 개념 및 정리

정규화 (Normalization) 데이터베이스의 설계를 재구성하는 기술이다. 정규화를 통해 불필요한 데이터를 없앨 수 있고 삽입, 삭제, 갱신 시 발생할 수 있는 각종 이상현상들을 방지할 수 있다. 이상현상 갱신 이상 (Update anomaly) 삽입 이상 (Insertion anomaly) 삭제 이상 (Deletion anomaly) 갱신 이상 동일한 데이터가 여러 행에 걸쳐 있을 때에 어느 데이터를 갱신해야 하는지에 대한 논리적 일관성이 없어 발생 다음과 같이 두 개의 레코드가 동일한 사람일 때 (519번) 갱신을 하는 경우 어떤 데이터를 해야 하는지에 대한 문제가 발생 삽입 이상 데이터 삽입을 못하는 경우 Dr.Newsome이 아직 가르칠 수업이 정해지지 않은 경우에는 데이터를 추가하지 못하는 ..

Database 2022.10.09

[DB] MySQL DDL, DML, DCL 등 명령어

SQL 문법 종류 Data Definition Language(DDL) Data Manipulation Language(DML) Data Control Language(DCL) Data Query Language(DQL) Transaction Control Language(TCL) Data Definition Language(DDL) DDL은 데이터를 정의할 때 사용하는 언어이다. 테이블을 만들 때 사용하는 CREATE, 테이블을 제거할 때 사용되는 DROP 등이 해당된다. 데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용한다. CREATE : 테이블을 생성하거나 데이터베이스를 생성하는 명령어 // 데이터베이스 생성 CREATE DATABASE [데이터베이스명]; // 테이블 생성 CREATE TA..

Database 2022.10.07

[DB] 데이터베이스 관계 (1:1, 1:N, N:M) 정리

관계형 데이터베이스 키워드 정리 데이터 : 각 항목에 저장되는 값 테이블(table or relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다. 칼럼(column or field) : 테이블의 한 열을 가리킨다. 레코드(record or tuple) : 테이블의 한 행에 저장된 데이터이다. 키(key) : 테이블의 각 레코드를 구분할 수 있는 값이다. 각 레코드마다 고유한 값을 가진다. 기본키(Primary Key)와 외래키(Foreign Key)등이 있다. 1 : 1 관계 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다. 각 전화번호가 단 한 명의 유저와 연결되어 있고, 그 반대도 동일하다면 1:1 관계이다. 1:1 관계는 자주 사용하지 않는다. 1:1..

Database 2022.10.06

[DB] SQL (Structured Query Language)과 NoSQL 개념 및 정리

SQL이란? 데이터베이스 언어로 주로 관계형 데이터베이스에서 사용한다. 예를 들어 MySQL, Oracle, SQLite, PostgreSQL 등 다양한 데이터베이스에서 SQL 구문을 사용할 수 있다. 일반적인 프로그래밍 언어와 달리 대화식 언어이기 때문에 명령문이 짧고 간결하다. SQL은 데이터베이스 용 프로그래밍 언어이다. 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다. 쿼리(query)는 질의문이라는 뜻을 가지고 있다. 쿼리는 저장되어 있는 데이터를 필터 하기 위한 질의문이라고 볼 수 있다. 그리고 SQL은 데이터가 구조화된 테이블을 사용하는 데이터베이스에서 활용할 수 있다. 다시 말해 SQL을 사용하기 위해서는 데이터 구조가 고정되어 있어야 한다. ACID ACID는 데이터..

Database 2022.10.05
반응형