내일배움캠프 46일차 TIL -
·
카테고리 없음
240621오늘의 학습    ●  AccessToken    ●  RefreshToken   Token을 사용하는 가장 간단하면서 대표적인 이유로는 로그인을 유지시키기 위함이다.웹 환경에서는 HTTP 프로토콜 기반으로 사람과 사람이 컴퓨터를 통해 통신을 하게 된다. 여기서 사람과 사람은 클라이언트와 서버가 될 수 있다. 요청을 하는 곳은 클라이언트 요청을 받아서 올바른 요청에 대한 데이터를 전달해주는 곳이 서버이다. 누가 서버고 클라이언트고는 중요하지 않다. 결국 누구나 서버가 될 수 있고, 누구나 클라이언트가 될 수 있다. StatelessHTTP 프로토콜은 Stateless하다는 특징을 가지고 있다.그렇다는건 웹은 HTTP프로토콜 기반으로 동작하기 때문에 웹은 결국 Stateless하다는 것이다.여기..
내일배움캠프 44일차 TIL - 아웃소싱 프로젝트 설계
·
카테고리 없음
240619오늘의 학습    ●  1. 아키텍처 패키지 구조 프로젝트를 설계하며 고민한 부분 아키텍처 패키지 구조스프링 프로젝트의 패키지 구조는 크게 레이어 계층형 구조와, 도메인형 구조 2개가 존재한다. 계층형 구조controller └ UserController └ BoardController └ CommentControllerservice └ UserService └ BoardService └ CommentServicerepository └ UserRepository └ BoardRepository └ CommentRepository계층형 구조는 계층별로 구분을 하여 패키지 전체적인 구조를 알아보기 쉬운 장점이 존재하고, 단점으로는 하나의 디렉터리에 많은 클래스가 존재할 수 있어 프..
내일배움캠프 42일차 TIL - 톰캣, 서블릿
·
내일배움캠프 Spring 5기
240617오늘의 학습    ●  1. 톰캣, 서블릿 웹 서버 ( Web Server )HTTP 프로토콜을 기반으로 클라이언트의 요청을 받아주고 정적인 리소스를 제공해주는 역할을 한다.정확히는, 정적 리소스를 WAS에서 받아서 해석해서 클라이언트에게 전달해주는 역할을 한다.  웹 애플리케이션 서버 ( Web Application Server )웹 서버가 존재해야지만 존재할 수 있는 서버이며, 동적인 컨텐츠를 제공해주기 위해 존재하는 서버이다.동적인 컨텐츠로는 DB조회나 다양한 로직 처리 및 계산 등 처리를 해서 웹 서버로 전달을 해주는 역할을 한다. 스프링부트 환경에서 내장 서버스프링부트는 웹 서버 & 웹 애플리케이션 서버를 합친 서버를 내장 서버인 "아파치 톰캣"을 가지고 있다.아파치 제단에서 만든 아..
내일배움캠프 41일차 TIL - Spring AOP
·
내일배움캠프 Spring 5기
240614오늘의 학습    ●  1. Spring AOPSpring AOP핵심기능과 부가기능을 관점을 나누어 관점을 기준으로 각각 모듈화를 시켜주자는대부분의 부가기능은 핵심기능을 보조해주는 역할로써 같이 사용하는 경우가 대부분이다. 핵심 기능에 부가 기능을 추가하게 된다면 모든 핵심 기능에 똑같은 부가 기능을 추가해줘야 한다면 모든 메서드에 부가 기능을 넣기에는 많은 힘듦이있을 수 있다. 그래서 이를 해결을 하려면 핵심 기능과 부가 기능을 모듈화를 시켜 분리를 해야 된다.  1. 핵심기능각 API 별 수행해야 할 비즈니스 로직 ( 하나의 API라고 보면 된다. )ex) 상품 등록, 상품 수정, 상품 삭제, 상품 키워드 검색, 관심상품 등록, 회원 가입, 로그인 등등이 있다. 2. 부가기능핵심기능을 보조..
내일배움캠프 40일차 TIL - Spring Test
·
내일배움캠프 Spring 5기
240613오늘의 학습    ●  1. 테스트 코드    ●  2. 단위 테스트    ●  3. Given - When - Then 패턴    ●  4. Mockito    ●  5. 자주 사용하는 애너테이션테스트 코드를 작성하는 이유테스트 코드를 작성하지 않고 배포를 진행했다가 추후에 문제가 생기면 사용자에 대한 비용과 운영환경에서의 비용이 기하급수적으로 증가하기 때문에 이러한 문제를 미연에 방지하고자 테스트 코드를 작성하는 것이다.결제 시스템과 같이 버그나 문제가 생겼을 때 비용이 많이 드는 기능들은 반드시 테스트 코드를 작성을 해줘야 한다. 단위 테스트란?작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하는 테스트 기법이다.쉽게 말하면 하나의 기능(메서드)에 대해 독립적으로 진행되는 가장 작은..
내일배움캠프 39일차 TIL - 소셜 로그인 API(OAuth)
·
내일배움캠프 Spring 5기
240612오늘의 학습     ●  1.  카카오 소셜 로그인 API    ●  2.  API 요청하기    ●  3.  인가코드 받기    ●  4.  토큰 발급 받기    ●  5.  사용자 정보 가져오기 ( 토큰을 이용 ) 카카오 소셜 로그인 API모든 출처와 참고는 카카오 로그인 REST API 문서에서 가지고 왔습니다.(출처) API 문서 - https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 카카오 소셜 로그인 API 이용하기 전..
내일배움캠프 38일차 TIL - 뉴스피드 프로젝트
·
내일배움캠프 Spring 5기
240611프로젝트 목차    ●  1.  API 명세서    ●  2.  전체 구현 기능    ●  3.  내가 맡은 기능    ●  3 - 1. 게시글 CRUD    ●  3 - 2. 게시글 좋아요    ●  3 - 3. CustomException 구현과 ExceptionHandler를 이용한 예외처리    ●  4. ERD    ●  5. 프로젝트 전체적인 설계 ( Figma ) 뉴스피드 프로젝트기간 : 24/06/04 ~ 24/06/10 ( 주말 / 공휴일 제외한 실제 구현 기간 4일 )인원 : 4명 1. API 명세서https://goldenrod-foxtail-d8b.notion.site/ba2533c176864fe4a6aae7ba5c4795f1?v=68d5318fbf9441578ca29b1..
내일배움캠프 37일차 TIL - 시큐리티 수정 중
·
내일배움캠프 Spring 5기
240610오늘의 학습     ●  1.  시큐리티 Spring Security 프레임워크스프링 서버에서 필요한 인증 및 인가를 위해 많은 기능을 제공을 해줌으로써 개발자의 수고를 덜어준다.( 마치 스프링 프레임워크가 웹 서버에 편의를 제공해주는 느낌 ) 스프링 시큐리티는 필터 기반으로 동작을 한다. package com.sparta.springauth.config;import org.springframework.boot.autoconfigure.security.servlet.PathRequest;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import..
내일배움캠프 36일차 TIL - 스프링 빈 라이프사이클
·
내일배움캠프 Spring 5기
240607오늘의 학습     ●  1.  @UniqueConstraint    ●  2.  스프링 빈의 라이프 사이클    ●  3.  PostConstruct & PreDestroy  @UniqueConstraintDB 컬럼에 unique제약 조건을 추가해주는 애너테이션이다. 묶어서 unique 제약조건 또한 걸 수 있다.해당 애너테이션은 @Table 애너테이션의 uniqueConstraints {} 바디 내부에 만들어서 이용할 수 있다.@Table(uniqueConstraints = { @UniqueConstraint(columnNames = {"user_id", "board_id"})})이렇게 여러 컬럼들을 묶어서 제약조건을 줄 수 있다. 두 개가 묶여서 unique인 것이다.  스프..
내일배움캠프 35일차 TIL - Enum
·
내일배움캠프 Spring 5기
240605오늘의 학습     ●  1. Enum    ●  2. 팀 프로젝트 게시글 기능 구현 Enum( 열거타입 )자바 1.5버전부터 새롭게 추가된 기능이며, 자바에서 Enum은 한정된 값들의 집합상수들의 집합을 의미한다.Enum은 Enumeration의 약자이며, Enumeration은 열거형이라고 부르며 목록, 알림표와 같은 의미를 가지고 있다.Enum은 열거타입이며, 열거타입은 데이터 중에 한정된 값을 갖는 데이터를 열거타입이라고 한다.즉, 한정된 값은 상수를 의미하며, 한정되어 있으므로 데이터의 변경이 있어서는 안된다는 규칙이 존재한다.ex) 월, 화, 수, 목, 금, 토, 일 ( 7개 ) / 봄, 여름, 가을, 겨울 ( 4개 ) Enum 열거형열거타입은 참조 타입이므로 null값으로 초기화가..