Conference, 강연4 SLASH21 #테스트 커버리지 100% 클린코더 - 테스트 커버리지 100% 권장, 프로덕션 코드 4천, 테스트코드 6천, 커버리지가 낮으면 배포되지 않게 설정 모든 코드가 자신있게 커버되는 환경이 되면 자신있게 배포를 누를 수 있게 된다, 배포를 하고 나고도 눈치보는 일이 없어진다, 거침없는 리팩토링 가능 - 코드 가독성 유지 불필요한 프로덕션 코드가 제거된다 - 남아 있는 코드는 테스트해야되니까.. 완벽히 프로덕션 코드를 이해하게 된다 - 그래야 테스트를 할수 있으니 테스트 작성이 점점 쉬워짐 테스트 커버리지를 올리기 위해서 가장 필요한건 믿음, 시간 어떤 코드는 테스트 할 수 있다는 믿음 프로젝트 초기부터 커버리지가 높은 상태로 유지하는게 중요 인간의 의지는 도구로 대신할 수 있다. Gradle의 JaCoCo 플러그인 jacocoTest.. 2021. 5. 16. 우아한테크 세미나 #우아한 객체지향 우아한 객체지향 https://www.youtube.com/watch?v=dJ5C4qRqAgA&t=1843s 의존성을 이용해 설계 진화시키기 의존성 Dependency B가 변경될때 A도 변경되는 것, A dependes-on B 같이 변경되는 코드를 같이 넣어야 된다 클래스 이름, 메서드, 구현등이 변경될 가능성 클래스 의존성의 종류 연관 관계 - 영구적 경로 classA{ private B b; } 의존 관계 - 협력을 딱 하고 헤어지는 경우 class A{ public B method(B b){ return new B(); } } 상속 관계 class A extends B{ } 실체화 관계 class A implements B{ } 패키지에 포함된 클래스 사이의 의존성 어떤 패키지 안의 클래스가 다.. 2021. 5. 14. NDC - Kafka를 이용한 비동기 메시지 시스템 구현 https://www.youtube.com/watch?v=ALaQ642ZACg Monolithic -> Microservices **Microservices Architecture 개념의 등장** 서비스 단위로 별도의 프로세서 또는 어플리케이션으로 독립적으로 운용 자기가 필요한 데이터나 서비스는 통신의 개념으로 요청받고 제공한다 (REST ful API) 계정 보안 서비스를 만든다... 다른 지역에 로그인이 되었을때 알림, kick out, 계정 잠금 필요한 서비스를 정의하고 각각들이 참조할 수 있는 REST ful 플라스크? 에 맞춰 정의했지만.. 이 서비스들이 제공하는 서비스에 따라 조건에 따라 처리를 해줘야하는 중앙 제어부가 생김 다른 서비스들이 수정되었을때 중앙 제어부도 수정되어야 한다 마이크로 .. 2021. 5. 11. SLASH21 #토스 서비스를 구성하는 서버 기술 컨퍼런스 내용 요약과 새롭게 찾아본 내용 정리 Opening keynote 토스는 송금뿐 아니라 보험, 금용, 투자등 금용회사로 변모, 사용자 1800만 토스팀에서는 성취를 느낄수 있다. 사용자들의 입장에서 불편함을 해결하기 위해 모든 기술적인 역량을 집중한다. 토스 컨퍼런스에서 고객만족을 위해 토스팀의 엔지니어들이 문제를 해결하기위한 과정을 확인 할 수 있다. 토스 서비스를 구성하는 서버 기술 Data Center x 2(Active - Active) + AWS 일부 서비스 Active - Active? L4 스위치등 로드밸런싱을 통해 기능이나 성격에 따라 두개의 서버중 한곳에서 처리하도록 한다 이후 DB에 접근할때도 2개 이상의 서버를 사용 Active-Standby도 서버를 이중화 해서 구성하지만 .. 2021. 5. 7. 이전 1 다음