내일배움캠프 28일차 TIL - Filter
·
내일배움캠프 Spring 5기
240527오늘의 학습     ●  1. Filter    ●  2. 스프링 숙련 5주차 까지 수강 완료 Fiter필터란 Web 애플리케이션에서 관리되는 영역으로 클라이언트로 부터 오는 요청과 응답에 대해 최초/최종 단계의위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있다.주로 범용적으로 처리해야 하는 작업들, 예를들면 로깅 및 보안 처리에 활용한다.또한 인증, 인가와 관련된 로직들을 처리할 수도 있다.필터를 사용하면 인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있다는 장점이 있다.필터는 한 개만 존재하는 것이 아닌 여러 개가 Chain 형식으로 묶여서 처리가 될 수도 있다.  Filter 사용 방법Filter로 사용할 클래스에 Filter interf..
내일배움캠프 27일차 TIL - JWT
·
내일배움캠프 Spring 5기
240524오늘의 학습     ●  1. HTTP 상태 유지 방법    ●  2. JWT( JSON Web Token ) HTTP 상태 유지 방법 인증과 인가1. 인증 ( Authentication )인증은 해당 유저가 실제 유저인지 인증하는 개념이다.스마트폰에 지문인식, 사이트에 로그인 등과 같이 실제 그 유저가 맞는지를 확인하는 절차즉, 로그인 정보에 대한 유효성 체크이다.( 로그인시 유효성 체크 ) 2. 인가 ( Authorization )인가는 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념이다.예를들면 일반 유저가 관리자 페이지에 접근을 할 때 접근이 불가능하게 처리해주고관리자가 관리자 페이지에 접근할 때 접근이 가능하도록 허가를 해주는 개념이다.( 회원 및 비회원 접근 권한 )..
내일배움캠프 26일차 TIL - JPA핵심 및 관계, 3계층 분리
·
내일배움캠프 Spring 5기
240523오늘의 학습     ●  1. 3 계층 분리    ●  2. JPA 핵심    ●  3. JPA 관계 3 Layer Architecture서버 개발자들은 요청에 대한 처리 과정으로 Controller, Service, Repository 3개의 클래스로 분리하였다.이유는 Controller에서의 처리가 많아져서 가독성과 유지보수가 불편했었고 이를 해결하기 위한 방법이 3 Layer Architecture 즉, 3계층 분리를 통해 유지보수성과 가독성을 높이게 되었다. Spring Web Project에서의 3계층 분리1. Controller클라이언트의 요청을 받고 요청에 대한 로직 처리는 Service에게 전담을 한다.요청에 대한 값이 존재하는지와 올바른 요청인지를 판단하는 역할을 하는 것 같다..
내일배움캠프 25일차 TIL - 외래키
·
내일배움캠프 Spring 5기
240522오늘의 학습     ●  1. 외래키 및 외래키 제약조건 외래키(foreign key)테이블의 데이터 중복값을 최소한으로 만들기위해 테이블을 쪼개게되는데 그것을 정규화라고 한다. 정규화로 쪼개진 테이블의 관계를 맺어줄 때 테이블간의 알아볼 수 있는 외래키(일반 컬럼)를 만들어 접근을하게 된다. 이때 알아볼 수 있는 외래키는 보통 1:N 관계에서 1의 테이블의 PK를 이용하여 저장이될 N 테이블의 외래키를 만들게 된다.* 외래키는 하나의 일반컬럼이다. * 외래키(foreign key) 제약조건1. 관계형 데이터베이스에서 테이블간의 참조 무결성을 보장하기 위해 제약을 걸어둘 수 있는 하나의 제약조건이다.2. 외래키에 대한 제약조건을 명시하여 강제적으로 외래키의 개념을 다룬 것이다. 외래키(fore..
내일배움캠프 24일차 TIL - Generic Static Method
·
내일배움캠프 Spring 5기
240521오늘의 학습     ●  1. Generic Static Method  오늘 공부를 하면서 의문점이 들었던 부분 자바 api문서를 보면서 의문이든 부분이 있었다. 기본적으로 자바에서 스태틱 메서드를 배울때는 아래의 예제 코드와 같이접근제어자 static여부 반환타입 메서드명(매개변수) 생김새로 배우게되고 가장 많이 보게 된다.// 기본적인 메서드 정의public static void Test(test) { }  하지만 api를 보다가 아래의 예제 코드와 같은 메서드를 보게 되었다. ( 이게 뭐지? )public static void Test(T test) { } 그래서 오늘은 이 문법에 대해 알아보고 나서의 리뷰를 작성하기로 생각을 했다. 제네릭 정적 메서드(Generic Static Met..
내일배움캠프 23일차 TIL - JVM
·
내일배움캠프 Spring 5기
240520오늘의 학습     ●  1. JVM 1. 자바 프로그램을 실행하기 위한 구성 요소 3가지2. JVM의 동작 원리3. 자바 프로그램의 생명주기 앞서 나가기 전에 알아두면 좋은점자바는 객체지향 프로그래밍 언어이며 절차적,구조적 프로그래밍 또한 지원하는 언어이다.절차적 : 코드를 순차적 즉, 절차적으로 진행한다는 의미이다.구조적 : 함수 즉, 메서드라는 개념을 통해 프로그램 흐름을 분기하는 개념이다. 유지보수가 좋아짐.0. 자바의 클래스와 객체의 차이사람이라는 클래스는 이름, 나이, 성별 이렇게 추상화된 요소를 가지고 있다. 사람이라는 클래스를 통해 객체를 만들면 이름 : 홍길동, 나이 : 230, 성별 : 남 이렇게 객체는 클래스를 구현했다고 봐도 무방하다. 즉, 객체는 클래스의 구현체인 셈이다..
내일배움캠프 22일차 TIL - Annotation
·
내일배움캠프 Spring 5기
240517오늘의 학습     ●  1. Annotation    ●  2. 리플렉션 개념    ●  3. Stream & Lambda  Annotation애너테이션이란?자바에서 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공하는 것이 애너테이션이다. 메타 애너테이션 메타 애너테이션은 애너테이션을 위한 애너테이션이다. @Target : 애너테이션이 적용 가능한 대상을 지정하는데 사용한다. @Documented : 애너테이션 정보가 javadoc으로 작성된 문서에 포함되게 한다. @Inherited : 애너테이션이 자손 클래스에 상속되도록 한다. @Retention : 애너테이션이 유지되는 범위를 지정하는데 사용한다. @Repeatable : 애너테이션을 반복해서 적용할 수 있게 한다..
내일배움캠프 21일차 TIL - Spring(IoC, DI)
·
내일배움캠프 Spring 5기
240516오늘의 학습     ●  1. 스프링 DI / IoC    ●  2. ComponentScan / Component    ●  3. Autowired 1. DI( Dependency Injection ) - 디자인 패턴DI는 객체지향의 디자인 패턴 중 하나이다.Dependency Injection는 "의존성 주입" 이라는 뜻을 가지고 있다. 1. 의존성 이란?클래스 내부에서 다른 클래스를 생성하면서 이용하는 것을 의존성 이라고 한다.2. 의존성 주입 이란?클래스 내부에서 다른 클래스를 생성하는 것이 아닌 만들어 놓은 객체를 받는 필드 같은 곳에 선언만해둔뒤 생성자나 메서드, 필드 등등을 활용하여 외부에서 객체를 생성해서 넣어주는 것을 의존성 주입이라 한다. 2. IoC( Inversion of..
내일배움캠프 20일차 TIL - Spring(API)
·
내일배움캠프 Spring 5기
240514오늘의 학습     ●  1. API    ●  2. Restful API     ●  3. Controller & RestController    ●  4. ModelAttribute     ●  5. RequestBody  1. API ( Application Programming Interface )시스템과 시스템간의 상호작용을 하기 위한 규칙이러한 규칙이 있기에 개발자는 복잡한 시스템의 내부 구현을 몰라도 특정 기능을 사용하거나 데이터를 주고받을 수 있습니다. 2. Restful APIREST(Representational State Transfer)자원의 이동에 대한 규칙을 의미한다. GET/POST/PUT/DELETERestful API는 웹 API의 한 종류이다.Restful AP..
내일배움캠프 19일차 TIL - Iterator
·
내일배움캠프 Spring 5기
240513# 오늘 꼭 기억 해야 할 것!오늘의 학습     ●  1. Iterator Iterator룰 사용하면 컬렉션의 list를 표준화된 방식으로 값을 뽑을 수 있게된다. 이게 만들어진 목적인거같다.즉, list, map, set 등등을 각자 다른 방식으로 값을 뽑게되는데 Iterator인터페이스를 통해 하나의 표준화된 방식으로값을 뽑는다는 의미이다. Iterator는 인터페이스이다. 컬렉션의 최상위 인터페이스인 Iterable인터페이스에 Iterator인터페이스를반환타입으로 둔 iteraotr() 추상 메서드가 존재한다. 즉, 구현해야하는 추상 메서드가 존재한다는 말이다.public interface Iterable { Iterator iterator();}이 추상 메서드를 직접 구현한 클래스는 ..