항해99

· 항해99
✔️ 동시성 이슈란? 동시성 뜻은 어떤 두 사건이 같은 시간에 일어나는 것을 이르는 말 예시) 특정 웹사이트에 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 📌기능 구현 목록 카드 관리 기능 카드 생성 컬럼 내부에 카드를 생성할 수 있어야 합니다. 카드 수정 카드 이름 카드 설명 카드 색상 작업자 할당 작업자 변경 카드 삭제 카드 이동 같은 컬럼 내에서 카드의 위치를 변경할 수 있어야 합니다. 카드를 다른 컬럼으로 이동할 수 있어야 합니다. 카드 상세 기능 댓글 달기 협업하는 사람들끼리 카드에 대한 토론이 이루어질 수 있어야 합니다. 날짜 지정 카드에 마감일을 설정하고 관리할 수 있어야 ..
· 항해99
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 ..
· 항해99
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)..
· 항해99
배포와 CICD 각자 해보기. -> 배포 먼저 성공시키시고, 그 다음에 CICD 바로 구성해보기. CICD를 체감하기 위해선 나중에 해서는 큰 의미가 없고, 프로젝트 시작부터 되어있어야 이 짧은 2주 동안 경험을 할 수 있기 때문에, 프로젝트 세팅만 간단하게 하고, health-check하는 api하나 만드시고요. CICD를 완성하시고, health-check api 호출해서 확인해보기를 가장 먼저 해보기. 동시성 제어하기. -> 제가 드린 예시를 생각하시면서 구현해보세요. -> 테스트 코드를 통한 시험(e2e로) -> 성능 테스트 프로그램 사용. (ex. Jmeter, k6, nGrinder...) -> Redis Lock사용하세요. (DB 건들지 않기, Redis는 도커로 사용하세요) 테스트 코드. ..
· 항해99
주특기 Lv.4 기술 매니저님 코드 리뷰 1. README.md를 너무 잘 작성하셨습니다. Use Case Diagram, API 명세서, ERD 그리고 추가 설명까지 너무 잘 썼습니다. 2. UserController api에 'users'가 있어야합니다. 그런데 이유를 들어보니 security 때문에 그랬다고 하시니, 이 컨트롤러가 로그인, 로그아웃과 관련된 컨트롤러더라구요. 이런 경우엔 UserController가 아니라 AuthController 이런 식으로 짓는게 좋을 것 같아요. 3. 보통 가독성 때문에 stream을 연속으로 잘 쓰진 않아요. 피하는게 좋을 것 같아요. 4. 쿠팡피셜 좋아요와 좋아요 취소는 하나의 api로 하는게 아니라 나누는게 좋다고 했습니다. 5. 전체적으로 너무 잘하셨습..
· 항해99
Lv.1 부터 Lv.5까지 과제를 다 끝내서 협업프로젝트 때 까지 대기를 해야한다. 일단 코드를 재검토해서 부족한 부분은 수정을 하였다. 유저 회원가입 서비스단 리팩토링 수정전 수정후 JWT에 예외처리 클라이언트에게 응답코드, 응답 매시지 전달 수정 수정전 수정후 중복된 코드가 많아서 더 수정하지 못하는게 아쉽다.
· 항해99
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 ..
· 항해99
스파르타 강의 사이트 서버 만들기 Use Case Diagram API 명세서 ERD 개발 오늘 하루 종일 해서 끝냈습니다, CRUD만 추가 했는데도 시간이 매우 많이 소모 됐습니다. 대댓글에서 조회 후 for문을 써서 댓글마다 추가를 해줄지, stream을 2번 쓸지 했지만 stream을 2번 쓰는 방향으로 갔습니다. JWT에서 로그인, 비밀번호 틀림, 권한 등 응답 메세지가 UTF-8이 깨지는 이슈를 수정 했습니다 코드 리뷰 1. casecade는 실무 안쓰는 추세 (매우 위험한 친구) 2. 명칭은 categoryies로 해야했었음 3. 수정 할 때 null 체크 후 setter 해주는게 좋음.
· 항해99
스파르타 백오피스(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..
blablax5
'항해99' 카테고리의 글 목록 (5 Page)