본문 바로가기

📝 회고52

[일일회고] 22.06.02 - "검증문 실패해도 계속하기, 통합테스트를 위한 더미데이터 세팅, 코드스쿼드 선배 기수와 온라인 만남" 📚 배운 것 AssertJ의 assertAll JUnit5나 AssertJ의 검증 메서드(e.g. assertThat() ..)가 여러 개 있을 때 앞의 하나가 실패하면 뒤의 검증문을 실행하지 않는다. 이를 위해 묶어서 한 번에 실행할 수 있다. 글작성 : 2022.06.02 - [✅ 테스트코드] - JUnit5에서 검증문이 중간에 실패해도 멈추지 않고 검증문 모두 실행하기(AssertAll, AssertJ, SoftAssertions) 통합 테스트의 데이터베이스 테스트, 더미데이터 세팅 통합 테스트를 위한 데이터베이스의 초기값, 더미 데이터를 넣어야 하는 상황이 있었다. 생각해본 세팅 방법은 아래와 같다. 1. java 코드로 직접 data 넣기 (하나씩 넣거나 initDB() 와 같은 마더 클래스로 .. 2022. 6. 2.
[일일회고] 22.05.31 - "Github Actions을 활용한 배포 자동화, 빌드(테스트 통과)에 문제 없었지만 런타임에는 에러가 발생한 문제" 📚 배운 것 배포 자동화와 아키텍처 Airbnb 프로젝트 15일 중 7일 차 진행 중이다. 어제, 오늘은 Github Actions을 활용한 배포 자동화를 하였다. 아키텍처는 아래와 같다. AWS를 활용하였다. VPC을 사용하여 public, private subnet을 구분하여 Web Server와 DB를 구분하였다. 특별한 점으론 DB ec2 네트워크를 private subnet으로 설정하여 외부 User에서 곧바로 접속할 수 없도록 하였다. VPC NAT Gateway를 활용하여 아웃바운드만 허용하였는데 VPC NAT Gateway 비용 문제로 ec2를 활용해 NAT을 직접 구현하거나 잠깐 외부 접속이 필요할 때 Elastic IP를 인터넷 게이트웨이에 잠깐 붙여 통신하는 방법을 사용하였다. 자동화.. 2022. 6. 1.
[일일 회고] 22.05.23 - "AWS VPC, 숙박앱 프로젝트와 Events storming, Boris diagram, Snap-E" 📚 배운 것 AWS VPC 코드스쿼드 호눅스의 마스터 클래스 시간에 Network와 AWS의 VPC에 대해 이론과 실습을 배웠다. CIDR(Classless Inter-Domain Routing) CIDR는 클래스 없는 도메인 간 라우팅 기법으로, 기존 네트워크 클래스(A, B, C, ...)를 대체하였다. 기존 네트워크 클래스의 고정된 네트워크/호스트 개수를 유동적으로 변경하게 만들 수 있게 prefix를 커스텀 설정할 수 있다. 기존 네트워크 클래스를 대체했다고 생각 못하고 있었다. VPC AWS - VPC(Virtual Private Cloud)이란? : AWS에서 독립된 가상 네트워크 만들기 글을 쓰며 VPC 기본은 요약했었다. 부족했던 내용을 호눅스가 채워줬다. NAT을 사용하여 private .. 2022. 5. 23.
[일일 회고] 22.05.18 - "DB 트랜잭션, JPA를 배우기까지" 📚 배운 것 DB 트랜잭션에 대하여 코드 스쿼드 호눅스의 마스터 시간에 DB 트랜잭션에 대해 배웠다. 무척 값진 시간이었다. Jim Gray 소개 Jim Gray는 DB 발전에 큰 기여를 했다. 세계 최초의 관계형 데이터베이스인 System-R을 개발했다. 트랜잭션, 2 Phase Locking, Granularity Locking 개념을 제안했고 1992년 명저 "트랜잭션 처리: 개념과 기법(Transaction Processing: Concepts and Techniques)" 를 썼다. 트랜잭션의 성질 A: Atomicity(원자성) : all or nothing C: Consistency I: Isolation D: Durability 트랜잭션이란 트랜잭션은 작업의 완전성을 보장한다. 여러 읽기/.. 2022. 5. 19.
[프로젝트 회고] 스프링 카페 (Spring, 테스트 코드, 프로젝트 시간 관리) 스프링 카페 (전체 소스코드) 배운 것 Spring, Unit Test, H2 DB, JDBC Template, Heroku 배포 기간 22.02.28 ~ 22.03.18 (15일) 팀원 @쿠킴 Step 1 회원 가입 및 목록 기능 / 1단계 PR Step 2 글 쓰기 기능 구현 / 2단계 PR Step 3 DB에 저장하기 / 3단계 PR Step 4 로그인 구현 / 4단계 PR Reviewer @wheejuni, @Dion, @Roach 스프링 카페 프로젝트는 간단하게 게시글을 작성할 수 있는 웹 애플리케이션이다. 이 프로젝트로 스프링을 처음 시작했다. 당연하게도 프레임워크가 익숙하지 않고 코드에 퀄리티가 높지 않았다. 프레임워크가 제시한 강제성에 맞게 계층을 나눠 개발하니 너무나 색다른 경험이었다. .. 2022. 5. 1.