DDD Start! 1장 도메인 모델 시작
·
BE/design pattern
도메인 소프트웨어로 해결하고자 하는 문제 영역 = 도메인 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야할 모든 기능을 구현할 필요는 없다. 각각의 실무적 상황에 맞게 직접 구현할 수도, 다른 업체 (솔루션?)을 사용해서 구현할 수도 있다. 하위 도메인은 필수가 아니다. 해당 업체의 규모가 크지 않은 경우는 굳이 소프트웨어의 힘을 빌리지 않고 수작업으로 해결하도록 풀어나갈 수도 있다. 도메인 모델 도메인 모델 = 특정 도메인을 개념적으로 표현한 것, 도메인을 이해하기 위한 도구 사용하면 좋은 점: 여러 관계자들이 도메인에 대한 같은 모습을 알게 되고 지식을 공유하는 데 도움이 됨 예시 객체기반 모델링 상태 다이어그램을 통한 도메인 모델링 사실 표현방식은 중요하지 않다. 모두가 이해할 수 있는 표..
Kotlin's Experimental features (from Kotlin Everywhere Seoul 2019 event)
·
devlog/conference
My notes from Kotlin Everywhere Seoul 2019 event Experimental Features inline class avoids extra object allocation wrapper for only one value, no mutable property Contract allows to share extra information about the function behaviors with the compiler. Why can't compiler infer such information? the inferred information... can be implicitly change can break the code provides explicit behavior fo..
Sonarqube 란?
·
DevOps/cicd
소나큐브란? CI = continuous inspection 툴. 정적분석. 어떤 지표들이 있는가? Bug 잘못된 코드 또는 개발자의 의도대로 동작하지 않을 코드를 표시. Code Smells (=구린 코드) 정상동작은 하나 유지보수 하기 힘든 코드를 표시. ex) 중복코드, 너무 복잡한 코드, unit test에 포함되지 않은 코드 Security Vulnerability 보안에 취약한 코드를 표시. ex) SQL Injection, hard-coded 비밀번호, 제대로 핸들링 되지 않은 에러 Test coverage 품질 정책 품질 프로파일 코드 분석 규칙의 집합 각 언어마다 다른 품질 프로파일이 존재 품질 게이트 프로젝트 지표들로 설정된 임계값을 조합한 것. 품질 게이트를 통과하기 위해서는 모든 임..
Logrotate로 로그 정리하기
·
DevOps/etc
Logrotate를 사용해서 로깅이 좀 더 효율적으로 서버공간을 차지하도록 만들자 개발하고 있는 서비스의 로그 삭제 기준이 정해지지 않아 서버 disk 용량을 많이 차지했다. 최대한 가볍게 사용하려면 로그관리를 주기적으로 해줘야 함. 하지만 매번 수작업으로 한땀한땀 지울 수도 없으니까! Logroate를 사용하자! 어떤 프로그램들이 로그를 찍는가 개발하고 있는 서비스에서 로그를 찍는 프로그램: Redis Nginx Web Application logback tomcat 로그 Logrotate Web Application 은 logback 자체 설정과 톰캣의 log rotate 설정으로 인해 서버에서 특별하게 설정해 주어야 할 것은 없다. 반면에 Redis, Nginx에서는 해당 기능이 없기 때문에 자체적..
nginx를 사용해서 점검페이지를 띄워보자
·
DevOps/nginx
nginx 에서 간단하게 503 에러코드를 사용하여 점검페이지를 띄워보자! 서비스 점검 공지 서비스 점검 공지 페이지가 사용되는 경우가 종종 있습니다. 장애 무중단이 불가능한 빅 업데이트 주로 위와 같은 사유로 점검페이지를 사용합니다. Nginx 를 L4 뒤, application 앞에 두는 구조이기 때문에 점검 페이지를 nginx 쪽에서 관리하고 있습니다. 실제 점검 페이지는 html 파일로, 마크업/디자인 팀에서 전달받은 파일을 nginx 서버에 업로드 하여 사용합니다. nginx 설정 nginx에서 점검 페이지를 관리하려면 conf 파일에 수정을 해야합니다. http status code 503 을 사용하여 에러 페이지로 redirect 하도록 다음과 같이 설정. server { ... locati..
brew로 openjdk 설치하는 방법
·
devlog/TIL
brew update brew tap homebrew/cask-versions brew search java brew cask install java //this downloads the latest openjdk brew cask install java8 brew cask install adoptopenjdk // adoptopenjdk is also available