부트캠프 기록/Section4 15

4주차 멘토링 프로젝트 회고

개요 및 목적 프로젝트 종료 후 얻은 성과, 아쉬운 점 등을 서로 이야기하며 추후 개선해야할 점을 알아간다. 프로젝트의 성과 중 취업 자소서나 면접에서는 어떤걸 강조하면 좋을지 의견 나누고 피드백 얻는다. 아래 질문들은 프로젝트 회고 80% + 모의면접 20% 정도로 생각하고 진행한다. 질문 이번 프로젝트에서 자신은 구체적으로 어떤 파트를 맡아 개발, 구현했는지 ? 해당 파트에서 가장 챌린지 했던 기술 문제는 어떤 것이었는지 ? 24시간 단위로 변경해야 하는 데이터가 있었는데 공연 예약을 조회 할 때마다 해당 엔티티에 대한 DB가 업데이트 됐었다. 공연 판매 생성, 수정, 삭제, 공연 예약 생성, 수정, 삭제 등 공연에 대한 전반적인 걸 맡았다. 해당 기술문제 원인은 어떤 거 였는지? 혹은 원인 파악과정..

3주차 멘토링 정리

테스트코드가 익숙한지 확인하고 급하다면 테스트 코드를 작성하지 말고 http 로 테스트 하는게 좋을 듯 data.sql 꿀팁 https://www.notion.so/TCP-H2-SQL-init-cdcc41dfef584c0bba24e62a37e4f19b 일반적으로 yml에서 환경변수 설정 spring batch 의미 있을 듯 현업에서도 쓰이긴 함 멀티모듈 프로젝트 , setting.gradle 로 묶어놓음⇒ 다른 모듈에서 같은 JPA를 사용 가능 , 한 모듈에서 다른 모듈 사용 가능 멀티모듈 안하고 서버 안에 batch 사용도 가능 기능을 사용하지 않는데 만드는 건 좋지 않음 LGTM(Look Good To Me) Dto는 랩퍼타입으로 쓰는 게 통상적 @Getter , @NoArgsConstructor 를..

2주차 멘토링 정리

SSR 개발 방식도 잘 알아야 하나요? 회사가서 배우자. 다른 배워야 할게 많음. 우선순위 낮음 취업 잘 하고 싶은데 팁 좀 주세요 해당 도메인의 기획자의 글을 읽기 시간이 한정 돼 있으니 배움에 우선 순위를 정해서 효율적으로 공부하기 → 스프링, JPA 파는 게 더 의미있지 않을까. → CS 네트워크, linux, 언어자체를 파는거 → 비즈니스 생태계, 알고리즘 가장 중요한 건 시도해보는 거, 멘토님은 면접을 다니는 시기에 제일 실력이 늘었다고 함 면접 팁은 잘 모르는 거에 대해 아는 척 금지 “제가 잘모른다, 제가~~까지는 아는데, 모르는 부분이 많다”는 식으로 말하기 알고리즘은 어느정도 난이도로 해야할까요? 프로그래머스 레벨 3 정도이지만 꼭 3레벨 도달하지 못했다고 지원을 포기하는 마라 취업 시장..

뒤늦은 부트캠프 4달차 KPT 회고🖌

요즘 프젝때문에 바쁘다는 핑계로 블로깅에 소홀했네요.. 반성합니다😅 연말 다들 잘 보내셨는지 궁금하네요. 새해 복 많이 받으세요!! KPT를 기반으로한 개인 회고 목표 상기하기 Keep, Problem 작성하기 Try 작성하기 우선순위 정하기 1. 목표 상기하기 부트캠프에 입성했을 때 세웠던 다짐 지금보니 귀엽고 실현성 없는 계획이였음을...^^ 목표를 상기하기 위한 질문 현재 ‘내'가 학습을 통해 이루고자 하는 것은 무엇인가요? 졸업 후 좋은 회사 취업하기 + 좋은 개발자 되기 여러분이 현재 바라는 목표를 모두 이루었다면 ‘나'는 어떻게 변해 있을까요? 사회에서 생산/소비 모두를 하는 일원이 될 것이고, 보호자의 그늘에서 좀 더 벗어남으로써 더욱 성장한 사람이 될 것이다. 내가 바라던 직업을 갖게 돼 ..

[Cloud] Docker

컨테이너 장점 더보기 1. 개발과 배포 환경을 일치시킴 2. 수평 확장을 쉽게 해줌 3. 각 서버에 새로운 내용을 배포하기 쉽게 만들어줌 도커 핵심 키워드 더보기 1. 컨테이너 애플리케이션이 의존성, 네트워크 환경, 파일 시스템에 구애받지 않고, 도커라는 기술 위에 실행될 수 있도록 만든 애플리케이션 상자 2. 이미지 애플리케이션 및 애플리케이션 구성을 함께 담아놓은 템플릿 변경 사항을 추가/커밋해서 또 다른 이미지를 만들 수도 있음 3. 레지스트리 이미지 저장 도커 명령어 이미지 받아오기 docker image pull docker/whalesay:latest 컨테이너 실행(컨테이너 이름 뒤에 -rm 옵션이 붙으면 컨테이너를 일회성으로 실행) docker container run --name [컨테이너..

[Cloud] aws를 이용한 클라이언트 배포

1. 클라이언트 배포를 위한 환경설정 a. nvm 설치 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash b. 재부팅 후 설치확인 c. node.js 설치 nvm install 16 2. S3 호스팅 a. 정적 웹페이지 빌드 클라이언트 프로젝트 디렉토리에서 클라이언트의 의존성 모듈 설치 $ cd client $ npm install 환경 변수 설정 $ mv .env.exameple .env 빌드 $ npm run build b. 버킷 생성 및 정적 웹 사이트 호스팅 용으로 구성 c. 빌드된 정적 웹 페이지 업로드 d. 퍼블릭 액세스 차단 해제 및 정책 생성

[Cloud] aws를 이용한 서버 배포

AWS 용어 Cloud Computing 기존 서버 방식의 한계로 클라우드 서버가 등장 필요할 때마다 컴퓨팅 능력을 유연하게 조절 사용한 만큼의 요금만 지급 다른 컴퓨터로 즉시 이주(마이그레이션) 가능 제공 서비스 범위에 따른 클라우드 종류 SaaS, PaaS, IaaS Deploy 절대경로 대신 상대경로 사용 환경에 따라 포트를 분기할 수 있도록 환경변수를 설정 도커와 같은 개발 환경 자체를 통일시키는 솔루션 사용 EC2 Elastic Compute Cloud 컴퓨터를 한 대 빌리는 것 AMI를 통해 다양한 운영체제 선택 가능(CPU, RAM, 용량도) RDS Relational Database Service 데이터베이스 유지 보수와 관련된 일들을 전적으로 자동관리 오라클, 아마존 Aurora, MyS..

[Spring WebFlux] 리액티브 프로그래밍

리액티브 프로그래밍이란 리액티브 시스템에서 사용되는 프로그래밍 모델 리액티브 '반응을 하는', '반응을 보이는' 리액티브 시스템 클라이언트의 요청에 반응을 잘하는 시스템 - 리액티브 시스템 특징 MEANS 리액티브 시스템에서 사용하는 커뮤니케이션 수단 Message Driven 메시지 기반 통신을 통해 여러 시스템 간에 느슨한 결합 유지 FORM 메시지 기반 통신을 통해 리액티브 시스템이 어떤 특성을 가지는 구조로 형성되는지를 의미 Elastic 시스템으로 들어오는 요청량이 적거나 많거나에 상관없이 일정한 응답성 유지 Resillient 시스템의 일부분에 장애가 발생하더라도 응답성을 유지 VALUE 리액티브 시스템의 핵심 가치 Responsive 클라이언트의 요청에 즉각적으로 응답할 수 있어야 함 Mai..

[Spring Security] JWT 자격 증명을 위한 로그인 인증 구현

1. 사용자의 로그인 인증 성공 후, JWT가 클라이언트에게 전달되는 과정 클라이언트가 서버 측에 로그인 인증 요청(Username/Password를 서버 측에 전송) 로그인 인증을 담당하는 Security Filter(JwtAuthenticationFilter)가 클라이언트의 로그인 인증 정보 수신 Security Filter가 수신한 로그인 인증 정보를 AuthenticationManager에게 전달해 인증 처리를 위임 AuthenticationManager가 Custom UserDetailsService(MemberDetailsService)에게 사용자의 UserDetails 조회를 위임 Custom UserDetailsService(MemberDetailsService)가 사용자의 크리덴셜을 DB..

[Spring Security] OAuth2 란

✅ 학습 목표 OAuth 2가 무엇인지 이해할 수 있다. OAuth 2의 인증 방식에 대해 설명할 수 있다. Authorization 서버와 Resource 서버의 차이에 대해 이해할 수 있다 OAuth 2란? 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리케이션(GitHub, Google, Facebook 등)에서 사용자의 인증을 대신 처리해 주고 접근 권한에 대한 토큰을 발급한 뒤 해당 토큰을 이용해 써드 파티 애플리케이션의 서비스를 사용하게 해주는 방식 OAuth 2를 사용하는 애플리케이션 유형 써드 파티 애플리케이션에서 제공하는 API를 직접적으로 사용 추가적인 인증 서비스를 제공하기 위한 용도 OAuth 2의 인증 방식 +--------+ +---------------+ | |--(A..