JPA
·
TIL
JPAJPA(Java Persistence Api)는 자바에서 제공하는 인터페이스로 ORM 기술에 대한 표준 명세이다.관계형 데이터베이스를 사용하는 방식을 나타내며 ORM이므로 자바 클래스와 DB table을 Mapping한다.ORM : Object - Relational Mapping(객체 관계 매핑)객체와 관계형 데이터베이스의 데이터를 매핑하는 기술ORM 프레임워크가 객체와 데이터베이스 중간에서 매핑객체와 테이블을 매핑하여 패러다임 불일치 문제 해결JPA 동작JPA는 애플리케이션과 JDBC 사이에서 동작한다.JPA는 JDBC API를 사용하여 데이터베이스와 데이터를 주고받게 된다.JPA를 사용하는 이유기존의 개발 방식은 SQL 중심적인 개발이였다.이런식의 개발은 직접 SQL문을 작성해야 DB에 접근할..
IoC & DI
·
TIL
IoC (Inversion of Control)란 ?IoC란 제어의 역전이라 부른다제어의 역전이란 메서드나 객체의 호출 작업을 개발자가 아닌 외부에서 결정되는 것을 의미한다.객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게하여가독성 및 코드 유지 보수를 편하게 할 수 있게 한다. DI (Dependency Injection)란 ?DI란 의존성 주입이라 부르며 객체를 직접 생성하는게 아닌 외부(IoC 컨테이너)에서 생성한 후 주입시켜주는 방식이다.DI를 사용한다면 의존성이 줄어들고 가독성이 높아지며 코드의 재사용성이 높아진다는장점이 있습니다. 의존성 주입 방식으로는 3가지가 있다.생성자 주입Set 메서드를 이용한 주입필드 주입 이 3가지 중에서 스프링에서 권장하는 의존성 주..
ResponseEntity
·
TIL
오늘 과제 마감 후 튜터님이 실시간으로 과제를 해셜해주셨다 근데 해설을 보는데내가 이번 과제에서 응답을 보내줄 때 사용한 방식은ResetController을 이용한 @ResponseBody방식으로 보내줬다. @GetMapping("/scheduler") public List getAllSchedules(){ return schedulerService.getAllSchedules(); }그런데 이번 해설 세션에서 Controller 단에서 응답을 보내 줄때 튜터님이 처음보는 ResponseEntity를 이용하여 보내시는거였다 저게 뭔지 궁금해서ResponseEntity에 대하여 정리해보려고 한다. ResponseEntity란 Spring Framework에서 제..
Spring MVC 구조 이해하기
·
TIL
MVC란 ? MVC는 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나이다.MVC는 애플리케이션의 개발 영역을 Model, View, Controller로 구분하여 각 역할에 맞게분리하여 개발하는 방식입니다. ModelSpring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달받으면요청 사항을 처리하기 위한 작업을한다. 처리한 작업의 결과를 클라이언트에게 돌려주어야 할 때,클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model이라고 한다. ViewView는 Model을 이용하여 웹 브라우저와 같은 애플리케이션의 화면에 보이는 리소스를 제공하는 역할을한다. ControllerController은 Model과 View 사이의 상호작용을 조정하고 제어한다..
Lombok
·
TIL
Lombok이란?자바 개발 시 반복적으로 작성해야하는 코드는 개발자의 생산성을 저하시키는 요인 중 하나이다.롬북(Lombok)은 이러한 문제를 해결하기 위해 등장한 라이브러리로,어노테이션을 사용하여 자동으로 코드를 생성해주는 기능을 제공한다. Lombok  자주 사용하는 어노테이션@Getter@Getterpublic class Memo { private String username; private String contents;}// @Get어노테이션을 사용하면// 아래처럼 get() 메서드를 자동으로 추가public class Memo{ private String username; private String contents; public String getUserName(){..
Request와 Response
·
TIL
Request와 Response에 대해 알아보기전에 HTTP부터 알아보자. HTTP (HyperText Transfer Protocol)HTTP는 데이터를 주고 받는 양식을 정의한 "통신 규약" 중 하나이다.클라이언트가 브라우저를 통해 어떤 서비스 url을 통하거나 다른 방법으로 요청(Request)을 하면, 서버에서는 해당 요청에 맞는 응답(Response)을 하는 형태로 동작한다. Request 클라이언트가 서버에게 연락하는 것을 요청(Request)이라고 하며, 요청에 대한 정보를 담아 서버로 보낸다. - Request Method 종류GET리소스를 검색하고, 반환받기 위해 사용되는 메서드원하는 정보를 서버에 요청할 때 쓰인다.HEADGET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포..
Database - DBMS, SQL
·
TIL
데이터 베이스란 ?데이터베이스는 한 마디로 '데이터의 집합'이라고 할 수 있다.      -  회원가입한 회원들의 정보, 게시판의 게시글 정보 모두 기록된다. DBMSDBMS(Database Management System)는 데이터베이스를 관리하고 운영하는 소프트웨어이다.예를 들어 여러 명의 예금 계좌 정보를 모아 놓은 것을 데이터베이스라고 했을 때 예금 계좌 주인, 은행 담당 직원, 인터넷 뱅킹, ATM 기기 등 모두 접근이 가능한 이유는 DBMS가 있기 때문이다. DBMS의 종류대표적으로 MySQL, 오라클, SQL Server, MariaDB등이 있습니다.DMBS작동 운영체제MySQL Unix , Linux , Windows ,Mac MariaDB Unix , Linux , WindowsPostg..
SRP - 단일 책임 원칙
·
TIL
"어떤 클래스를 변경 해야 하는 이유는 오직 하나뿐 이어야 한다 - 로버트 C 마틴"  단일 책임 원칙 : SRP (Single Responsibility Principle)SRP는 객체는 단 하나의 책임만 가져야 한다는 원칙을 의미한다.여기서 '책임' 이라는 의미는 하나의 '기능 담당'으로 보면 된다.즉,하나의 클래스는 하나의 기능만을 담당하여 하나의 책임을 수행하는데 집중되어 있어야 한다는 의미다. 하나의 클래스에 여러 기능(책임)을 넣는 설계와 클래스를 분리하여 기능(책임)을 분산시키는 설계는 프로그램의 유지보수와 밀접한 관련이 있다. 클래스를 따로 분리하지 않고 하나의 클래스에 여러 기능(책임)을 넣는 설계를 한다면 클래스 내부에서 서로 다른 기능을 수행하는 코드끼리 강하게 결합될 가능성이 높아진..