[백엔드 기초] 클라우드 개념 이해하기 (보충작성 필요)
·
Spring/백엔드 기초
오늘의 학습목표 💡1. 클라우드 컴퓨팅의 개념을 이해하고 사용해야하는 이유를 설명할 수 있다.2. AWS가 무엇이고, AWS를 활용하는 방법을 학습하여 프로젝트에 적용할 수 있다.3. EC2를 생성하고 개발환경을 설정하여 콘솔과 터미널로 EC2를 실행할 수 있다.4. 리눅스의 개념을 이해하고 터미널을 다룰 수 있다.5. AWS RDS 에 대해 학습하고 구성할 수 있다.6. 배포에 대해 이해하고 배포를 진행할 수 있다.7. 배포된 애플리케이션에 DB를 연결하여 사용할 수 있다.클라우드 컴퓨팅이란?: 인터넷을 통해 서버, 저장공간, 데이터베이스, 네트워크, 소프트웨어 같은 컴퓨팅 자원을 필요할 때 빌려쓰는 기술 클라우드를 사용해야하는 이유?안정적인 인프라 환경에 대한 수요가 증가하고 클라우드에 자신들의 인..
[Spring 실습] 이커머스 백오피스 프로젝트
·
Spring/Spring 실습
내배캠 수강 중 드디어 본격적인 첫 팀 프로젝트를 경험하게 되었다. 문제의 요건에 따라 API 명세서를 작성하고, WBS & Task 를 통해 계획을 수립 및 이행하는 과정을 설계하면서 전반적인 팀 프로젝트의 큰 진행방향을 다시 알게 되었다. 이번에 맡아서 진행하게된 부분은 고객에 관한 CRUD 구현과정이었고 그 과정에서 챙겨봐야할 내용들을 정리하고 넘어가고자 한다. 💡 어느 개념이 이해가 되지 않았는가List를 통한 응답과정과 그 범위가 어느정도인지 이해가 되지 않았음 단순한 List 는 전체 데이터를 한번에 보내주는 방식(데이터가 적을때 유용)페이징(Page)은 List + 메타정보(page, size, totalElements)를 같이 보내는 방식→ PageResponse 구조로 감싸서 응답해야..
[백엔드 기초] Validation 개념 정리
·
Spring/백엔드 기초
특강으로 진행된 Validation 개념에 대해서 정리하고자 한다. 이번에 진행했던 과제에서 가장 많이 접했고 이해를 기반으로 사용되어야 하는 개념으로 중요하다고 생각했다. Validation이란 ?시스템이 미리 정의한 사양에 부합하고 있는지 검증하는 것 Validation의 역할검증을 통해 적절한 메세지를 유저에게 제공검증 오류로 동작이 안되는 Case를 방지사용자가 입력한 데이터는 유지된 상태여야 함실습 및 과제 진행간에는 주로@RestController 와 @RequestBody를 통해 연결했던 경우가 많았다. 유의해야할 부분은 필드별로 적용되는 것이 아니라 객체 단위로 적용된다는 점, RequestDto는 비슷하게 생겼어도 확장성과 유지보수성을 고려하여 따로 분리해서 사용할 필요가 있다는 점 또한..
[Spring 실습] 점심 추천 & 투표 서비스 만들기 V2
·
Spring/Spring 실습
MyBatis → Jpa 과정에 대한 전반적인 과제 기본 요건 수정이 이뤄지면서 새로운 형식의 과제를 구현하게 되었고 그에 따른 트러블 슈팅 및 해결방법을 기록하고자 한다. ☠️ 트러블 슈팅발생한 Issue ① 회원가입 API 구현 이후 포스트맨으로 Request Body를 전송해도 응답이 되지 않는 (401 error) 현상이 발생Spring Security 의존성을 추가하게 되며 모든 요청이 Security에 막힌 상황② JwtUtil에서 선언한 필드(@Value)에 왜 final이 붙으면 에러가 뜨는지 이유가 궁금했음인증(Authentication)과 인가(Authorization) 의 개념과 정의에 대해 명확히 알지 못해 필터를 구현할때 메서드 선언부에서 혼선이 발생 ③ DB 테이블 기준으로는 R..
[Spring 실습] 점심 추천 & 투표 서비스 만들기 v1
·
Spring/Spring 실습
☠️ 트러블 슈팅발생한 Issue 1. Mybatis ↔︎ JPA 로의 전환 과정에 대한 개념 이해가 필요했음왜 이렇게 수정해야하며 어떤 기능을 대체하는 것인가?2. Mapper → Repository 로의 전환 과정에서 놓치지 말아야 할 부분이 무엇인지 확실하지 못했음기존에 사용되었던 RoundTodayRounds() 와 getRound의 개념을 이해해야 했음왜 메서드네이밍으로 구현하지 못하고 JPQL로 처리해야하는지에 대한 이해가 부족했음 해결방법 / 찾아본 내용1. MyBatis ↔︎ JPA의 차이 정리MyBatis는 SQL이 중심, JPA는 엔티티 가 중심 (생산성 및 일관성을 향상시키는 장점을 가지게 됨)→ XML 매퍼/Mapper 인터페이스를 @Entity + Repository로 바꾸는 과정..
[백엔드 기초] RestTemplate
·
Spring/백엔드 기초
Spring 에서는 서버에서 다른 서버로 간편하게 요청할 수 있도록 RestTemplate 기능을 제공하고 있다.Servcer To Server로 Client 입장의 서버로 다른 서버의 API를 활용하면 간단하게 기능 구현을 할 수 있게 된다. 실습과정에서 경험했던 가벼운 RestTemplate 개념을 정리하고 넘어가고자 한다. 2개의 프로젝트를 통해 Client 입장의 서버는 8080 포트를 이용, Servcer 입장의 서버는 7070 포트로 동시에 실행을 시켜 보는 과정이다. Client 입장 서버RestTemplateControllerpackage com.sparta.springresttemplateclient.controller;import com.sparta.springresttemplatecl..