✔️ 동시성 이슈란? 동시성 뜻은 어떤 두 사건이 같은 시간에 일어나는 것을 이르는 말 예시) 특정 웹사이트에 100명이 동시에 버튼을 눌렀을 때 100번 DB의 입력이나 수정이 될텐데 누락되는 이슈 동시성 제어로 누락이 안되게 한다. 🤔 RDBMS 동시성 제어 1. 낙관적 락 어플리케이션 레벨에서 제어 (ORM) JPA에서 @Transaction에서 기본적으로 작동되는 락 여러 트랜잭션이 데이터를 접근 할 때, 충돌을 방지하기 위해 일단 데이터를 읽고 트랜잭션이 커밋하기 전에 충돌을 확인 충돌이 발생할 경우에 롤백하고 재시도 실제 사용시에는 Entity에 Version 어노테이션을 사용한다. 용도: 충돌이 많지 않고 수정시에 사용한다. @Entity @Getter @Table(name = "cards..
항해99

[MamomiDev] Gradation 📃ERD 🗺️ 와이어프레임 Figma Figma Created with Figma www.figma.com 📌API 명세서 Gitbook 회원가입 - 항해99 주특기 프로젝트 아이디/비밀번호를 생성합니다. hhero.gitbook.io 📌기능 구현 목록 카드 관리 기능 카드 생성 컬럼 내부에 카드를 생성할 수 있어야 합니다. 카드 수정 카드 이름 카드 설명 카드 색상 작업자 할당 작업자 변경 카드 삭제 카드 이동 같은 컬럼 내에서 카드의 위치를 변경할 수 있어야 합니다. 카드를 다른 컬럼으로 이동할 수 있어야 합니다. 카드 상세 기능 댓글 달기 협업하는 사람들끼리 카드에 대한 토론이 이루어질 수 있어야 합니다. 날짜 지정 카드에 마감일을 설정하고 관리할 수 있어야 ..

CI/CD (AWS EC2 환경) JENKINS + DOOD로 도커 이미지 배포 EC2에서 도커 컨테이너 안에서 도커를 사용을 할려고 하여서 검색을하여서 /var/run/docker.sock:/var/run/docker.sock을 마운트에 추가해주면 된다. docker run -d --name jenkins \ -v /var/run/docker.sock:/var/run/docker.sock \ -v jenkins:/var/jenkins_home \ -p 8080:8080 my-jenkins:0.1 하지만 컨테이너 안에서 docker 명령어를 실행하면 없는 명령어라고 뜬다. 구글에서 찾아보니 docker 명령어를 사용만 하는 docker-ce-cli를 설치를 해야한다고 한다. apt-get install ..

CICD (AWS EC2 환경) AWS에서 VPC, 라우팅, 게이트웨이를 다 지우고 시작을 해서 다시 생성을 해야 했었다. 1. VPC 생성 2. 서브넷 생성 3. 인터넷 게이트웨이 생성 인터넷 게이트웨이 -> 라우팅 테이블 -> VPC VPC에서 라우팅 테이블을 설정하는데 인터넷 게이트웨이를 라우팅 테이블에 추가 해야한다. (0.0.0.0으로 접근 허용을해서 인터넷 연결이 된다. 안해주면 인터넷 연결이 안됨) 밑의 블로그를 참고하여 재생성을 하였다. https://my-studyroom.tistory.com/entry/AWS-VPC-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0 [AWS 실습] VPC 생성하기 기존에 있는 default VPC가 아닌 새로운 VPC를 생성해본다. 1)..

배포와 CICD 각자 해보기. -> 배포 먼저 성공시키시고, 그 다음에 CICD 바로 구성해보기. CICD를 체감하기 위해선 나중에 해서는 큰 의미가 없고, 프로젝트 시작부터 되어있어야 이 짧은 2주 동안 경험을 할 수 있기 때문에, 프로젝트 세팅만 간단하게 하고, health-check하는 api하나 만드시고요. CICD를 완성하시고, health-check api 호출해서 확인해보기를 가장 먼저 해보기. 동시성 제어하기. -> 제가 드린 예시를 생각하시면서 구현해보세요. -> 테스트 코드를 통한 시험(e2e로) -> 성능 테스트 프로그램 사용. (ex. Jmeter, k6, nGrinder...) -> Redis Lock사용하세요. (DB 건들지 않기, Redis는 도커로 사용하세요) 테스트 코드. ..
주특기 Lv.4 기술 매니저님 코드 리뷰 1. README.md를 너무 잘 작성하셨습니다. Use Case Diagram, API 명세서, ERD 그리고 추가 설명까지 너무 잘 썼습니다. 2. UserController api에 'users'가 있어야합니다. 그런데 이유를 들어보니 security 때문에 그랬다고 하시니, 이 컨트롤러가 로그인, 로그아웃과 관련된 컨트롤러더라구요. 이런 경우엔 UserController가 아니라 AuthController 이런 식으로 짓는게 좋을 것 같아요. 3. 보통 가독성 때문에 stream을 연속으로 잘 쓰진 않아요. 피하는게 좋을 것 같아요. 4. 쿠팡피셜 좋아요와 좋아요 취소는 하나의 api로 하는게 아니라 나누는게 좋다고 했습니다. 5. 전체적으로 너무 잘하셨습..

Lv.1 부터 Lv.5까지 과제를 다 끝내서 협업프로젝트 때 까지 대기를 해야한다. 일단 코드를 재검토해서 부족한 부분은 수정을 하였다. 유저 회원가입 서비스단 리팩토링 수정전 수정후 JWT에 예외처리 클라이언트에게 응답코드, 응답 매시지 전달 수정 수정전 수정후 중복된 코드가 많아서 더 수정하지 못하는게 아쉽다.

Use Case Diagram ERD API 명세서 https://hhero.gitbook.io/99-5/ 회원가입 - 항해99 레벨5 http://ec2-43-202-207-123.ap-northeast-2.compute.amazonaws.com/api hhero.gitbook.io 요구사항 (구현 완료) 회원 가입 기능 이메일, 비밀번호, 성별, 전화번호, 주소, 권한을 저장할 수 있습니다. ADMIN, USER 권한이 있습니다. 이메일은 올바른 이메일 형식을 지켜야 합니다. 비밀번호는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9), 특수문자로 구성되어야 합니다. 회원가입 성공을 확인할 수 있는 값을 반환합니다. ex) HTTP Status Code, Error ..

스파르타 강의 사이트 서버 만들기 Use Case Diagram API 명세서 ERD 개발 오늘 하루 종일 해서 끝냈습니다, CRUD만 추가 했는데도 시간이 매우 많이 소모 됐습니다. 대댓글에서 조회 후 for문을 써서 댓글마다 추가를 해줄지, stream을 2번 쓸지 했지만 stream을 2번 쓰는 방향으로 갔습니다. JWT에서 로그인, 비밀번호 틀림, 권한 등 응답 메세지가 UTF-8이 깨지는 이슈를 수정 했습니다 코드 리뷰 1. casecade는 실무 안쓰는 추세 (매우 위험한 친구) 2. 명칭은 categoryies로 해야했었음 3. 수정 할 때 null 체크 후 setter 해주는게 좋음.

스파르타 백오피스(Admin) 서버 만들기 유스케이스 다이어그램 ERD API 명세서 https://hhero.gitbook.io/99-3/ 관리자 가입 - 항해99 레벨3 선택한 강사가 촬영한 강의 목록 조회 hhero.gitbook.io 목표 Spring Secutiry + JWT 구현 백오피스 기능 구현 리팩토링 Spring Secutiry 에서 요청 권한 체크 Spring Secutiry 작동 및 JWT는 제대로 쿠키에 저장이 되고있다. 권한이 체크가 안되는 이슈가 생겼는데, 권한을 DB에 제대로 저장하고있고 SecurityFilterChain에서 authorizeHttpRequests 설정을 했는데 403 응답코드를 받고 있다. http.authorizeHttpRequests((authorize..