본문 바로가기

전체 글50

DTO, VO vs DAO DTO vs VO Data Transfer Object 레이어간 데이터를 전달하는 객체 데이터 접근 메스드 외에 기능 x 정렬, 직렬화 등 데이터 표현을 위한 기능은 가질 수 있음 데이터의 캡슐화를 통해 유연한 대응이 가능 로직을 가지고 있지 않은 순수한 데이터 객체, 속성과 속성에 접근하기 위한 함수 Value Object 값을 가지는 객체 값 자체로 의미를 가지고 변하지 않는 값을 가지는 객체 값이 변하지 않음을 보장하여 코드의 안정성과 생산성을 높힘 특정한 비즈니스 로직을 가질 수 있음 공통점과 차이점 레이어간 데이터를 전달할때 사용가능 DAO Data Access Object DB의 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체를 말한다. DB에 접근을 하기위한 로직과 비즈니스 로직을 .. 2021. 5. 25.
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.
Jupyter NoteBook 폰트 변경 방법 C:\Users\사용자\.jupyter\custom 폴더에 custom.css 파일을 만들고 다음과 같이 설정하면 된다고 하는데... .CodeMirror pre {font-family: Consolas; font-size: 11pt; line-height: 110%;}이 방법이 한번에 적용되지 않아서 한참 삽질을 하다가 주피터 테마를 한번 설정했다가 해제한 뒤, 생성된 파일에(기본 파일들이 생성된다) 저 코드를 추가하니 적용이 잘 되었다. 테마 설정 방법 >pip install jupyterthemes >jt -l //테마 리스트 보기 >jt -t onedork //onedork 테마 적용 >jt -r //테마 되돌리기참고로 테마는 그렇게 이쁜게 없다... 개인적으로 2021. 5. 5.