원칙 프로그래밍 가이드 라인OCP(Open-Closed Principle)코드는 확장에 열려 있고 수정에 대해서는 닫혀있는 2가지 속성을 동시에 충족하도록 설계한다.확장에 대해서 열려있다는 말은 코드의 동작을 확장할 수있다는 의미이다.수정에 대해서 닫혀 있다는 말은 코 ...
원칙 프로그래밍 가이드 라인SLAP(Single Layer of Abstraction Principle)추상화 수준의 통일
코드수준을 맞춘다.
코드에서 추상화 수준을 분리할 때는 상하 2계층이 아니라 기능 복잡도에 따라서 여러계층으로 분리된다.각각의 계층에서 자신의 계 ...
원칙 프로그래밍 가이드 라인PIE(Program Intently and Expressively)의도를 표현해서 프로그래밍 해라.
코드는 컴파일러가 아닌 사람이 읽기 위한것이다. 그래서 어떻게 하면 다른사람이 잘 이해하게 직관적으로 코딩하자.
코드는 소프트웨어 동작을 정 ...
circuit-breaker소프트웨어에 대한 복잡도가 높아지면서서비스에서 다른서비스를 호출하는 형태(예를들면 MSA 형태로 구성되어 API들을 호출하는 형태)들이보편화 되어 서비스 되고 있다.
응용프로그램을 만들때 환경에서 발생할 수 있는 일시적 장애에 민감해야 된다 ...
Apache Kafka GETTING STARTEDkafka 1.0 기준으로 작성 했습니다.
Apache Kafka®는 분산 형 스트리밍 플랫폼 입니다. 그게 정확히 무슨 뜻입니까?아파치 카프카는 분산 스트리밍 플랫폼입니다.
우리는 스트리밍 플랫폼이 세 가지 핵심 기능 ...
tomcat_maxHttpHeaderSize기본적으로 tomcat에 헤더 사이즈를 설정 하지 않으면 tomcat 에서는 8 * 1024 bytes (8K) 지정이 된다
보통 상황에서는 문제가 없을것이다 하지만 헤더에 많은 정보를 담을수 밖에 없는 서비스를 만들때는 고 ...
tomcat CVE-2016-6816HTTP 요청 줄을 구문 분석 한 코드가 잘못된 문자를 허용한다는 사실이 발견되었습니다.
이는 유효하지 않은 문자가 허용되었지만 해석이 다른 프록시와 함께 HTTP 응답에 데이터를 주입하기 위해 악용 될 수 있습니다.
HTTP 응답 ...