전체 글

Server & Infra

🔒HTTPS 한 스푼 (대칭키, 개인키, 공개키)

HTTPS의 동작 원리에 대해 알아봅시다! 🔑 안전하게 메시지를 주고받기 위한 대칭키 한 쪽에서 다른 쪽으로 안전하게 메시지를 전달하는 방법은 무엇이 있을까요? 중간에 메시지를 탈취당하더라도 발신자와 수신자만 알아볼 수 있고 탈취되더라도 내용이 유출되지 않을 수 있는 방법이요. 대칭키 방식을 이용하면 될 것 같아요! 위와 같이 g는 11로, o는 22로 표기하기로 약속했다면, go 라는 메시지를 전하기 위해 1122 라고 전달하면 되는 겁니다. 그러면 중간에 탈취당하더라도 다른 사람들은 1122가 무슨 의미인지 알 수 없겠죠? g가 11, o가 22에 해당한다는 저 약속이 유출되지 않는다면 안전하게 메시지를 주고 받을 수 있을 것 같아요! 이렇게 전송 시점의 암호화, 수신 시점의 복호화에 같은 키를 사용..

우아한테크코스 4기

🐹 줍줍 스티커 제작기

스티커 제작 넛지: 회고덕 아마도 3차 스프린트 초반이었던 것 같습니다. 회고덕 팀의 스티커가 배부되었는데, 너무 예쁘게 잘 나와서 스티커 붙이기를 그닥 좋아하지 않던 제가 모니터 스탠드와 사물함에 회고덕 팀의 스티커를 붙였습니다. 우리 팀 줍줍도 마스코트 디자인이 너무 잘 나왔기 때문에 꼭 스티커를 만들어야겠다 생각했습니다만 팀원 모두가 지쳐있고 너무 바쁜 상황이어서 디테일 하나하나를 모두 합의하며 진행하기엔 다소 무리가 있겠다 생각했습니다. 그래서 회고덕 팀의 아리를 통해 회고덕 팀이 제품을 제작했던 업체를 확인했습니다. 필요한 진행을 모두 진행한 뒤 최종 결정 시점에 의사를 확인하고 피드백을 받는 정도로 진행해도 무리가 없는 무게감의 일이 아닐까 추측했기 때문입니다. 사실 이러한 일 처리 방식은 상..

Thoughts & Records

우아한테크코스 레벨3 팀 프로젝트 복기

프로젝트에 기여한 내용 프로젝트 코드 관련 Slack 메시지 생성 이벤트 대응 Slack 워크스페이스 최초 참여 이벤트 대응 로그인 시 토큰과 함께 최초 로그인 여부를 반환하도록 구현 여러 검색 조건에 대응하는 조회 API 구현을 위해 QueryDSL 도입 동적 검색 조건 관련 BooleanBuilder를 활용한 리팩터링 테스트 격리를 위한 DatabaseCleaner 구현 logback 을 활용한 로깅 기능 구현 local, dev 환경에서만 CORS가 허용되도록 구현 JpaRepository 대신 Repository를 사용하도록 설득 인프라 관련 Nginx 리버스 프록시를 활용한 CORS가 불필요한 서버 아키텍처 구현 Github Actions를 활용한 CI 테스트 자동화 Jacoco, SonarQu..

Server & Infra

SonarQube with Github Actions (PR Decoration)

EC2 인스턴스 생성부터 SonarQube 호스팅과 PR 데코레이션까지! 한 시간 내로 뚝딱! 전체 오퍼레이션 과정은 아래 영상을 참고해주세요 https://www.youtube.com/watch?v=5uS4yyl_WCE SonarQube, SonarCloud 둘 다 정적 분석 도구입니다. 차이점은 직접 호스팅을 해야하는지 여부입니다. 직접 서버를 구축해야 하는 SonarQube는 Community Edition은 오픈소스입니다. 이미 구축되어 있는 서버를 이용하는 SonarCloud는 제한된 기능까지 무료로 사용 가능합니다. 처음엔 SonarCloud를 사용하고 싶었는데요, woowacourse-teams 라는 하나의 Organization 안에 있는 하나의 Repository의 Collaborator..

Server & Infra

t4g 인스턴스와 ARM 아키텍처

우아한테크코스 4기 레벨3 진행 과정에선 EC2 인스턴스 유형으로 t4g 를 사용해야 합니다. 그로인해 Sonarqube 도커 이미지 등 일부 호환되지 않는 부분이 있었는데요, t4g는 무엇이고, ARM 아키텍처는 무엇인지 살짝 알아보겠습니다. EC2 인스턴스 중 T 패밀리의 발전사 AWS에선 지속적으로 시장의 수요에 맞춰 인스턴스 유형을 제공하려 노력해오고 있습니다. 2010년 T1 이후, 2014년의 T2는 성능을 세분화하였고, 2015년엔 가장 작은 nano 유형을 출시하였습니다. 2017년엔 Unlimited 유형을 출시하였고, 2018년엔 T3를, 그리고 2020년엔 T4g를 내놓기에 이릅니다. t4g는 5가지 인스턴스 패밀리 중 범용 목적 인스턴스에 속하는데요, t3 대비 성능은 40% 향상되..