codespitz73_part1
코드스피츠73 part1코드짤때 LINT TIME(IDE에서 에러를 보여줌)컴파일 할때 COMPILE TIME(컴파일 시에 에러를 보여줌)런타임 RUN TIME(실행중일때 에러) 현대 패러다임 런타임 스크립트(자바 스크립트..) 복잡성을 정복하는것은 격리 lexical ...
Read more
POP_part4(OCP(Open-Closed Principle)/Naming is important)
원칙 프로그래밍 가이드 라인OCP(Open-Closed Principle)코드는 확장에 열려 있고 수정에 대해서는 닫혀있는 2가지 속성을 동시에 충족하도록 설계한다.확장에 대해서 열려있다는 말은 코드의 동작을 확장할 수있다는 의미이다.수정에 대해서 닫혀 있다는 말은 코 ...
Read more
POP_part3(SLAP(Single Layer of Abstraction Principle))
원칙 프로그래밍 가이드 라인SLAP(Single Layer of Abstraction Principle)추상화 수준의 통일 코드수준을 맞춘다. 코드에서 추상화 수준을 분리할 때는 상하 2계층이 아니라 기능 복잡도에 따라서 여러계층으로 분리된다.각각의 계층에서 자신의 계 ...
Read more
POP_part2(PIE(Program Intently and Expressively))
원칙 프로그래밍 가이드 라인PIE(Program Intently and Expressively)의도를 표현해서 프로그래밍 해라. 코드는 컴파일러가 아닌 사람이 읽기 위한것이다. 그래서 어떻게 하면 다른사람이 잘 이해하게 직관적으로 코딩하자. 코드는 소프트웨어 동작을 정 ...
Read more
circuit-breaker
circuit-breaker소프트웨어에 대한 복잡도가 높아지면서서비스에서 다른서비스를 호출하는 형태(예를들면 MSA 형태로 구성되어 API들을 호출하는 형태)들이보편화 되어 서비스 되고 있다. 응용프로그램을 만들때 환경에서 발생할 수 있는 일시적 장애에 민감해야 된다 ...
Read more
POP_part1(전제 프로그래밍 불변사실)
the_principles_of_programming전제 프로그래밍 불변사실프로그래밍에서는 은총알은 없다.왜? 본질적으로 소프트웨어는 난해하다. 복잡성 규모가 크면 수천 수만라인의 코드도 존재 하고 각 컨퍼넌트간에 종속성도 비선형적으로 증가함 동조성(호환성) ...
Read more
NGINX_proxy_pass
nginx proxy passapache 와 tomcat의 연동시에는 통상적으로 AJP(Apache JServ Protocol)를 활용 하여서 톰켓과 아파치의 연동을 설정해왔다. 익숙한 mod_jk가 해당 프로토콜을 활용해서 연동하는 방식이다. web서버를 apache ...
Read more
Apache_Kafka_GETTING_STARTED
Apache Kafka GETTING STARTEDkafka 1.0 기준으로 작성 했습니다. Apache Kafka®는 분산 형 스트리밍 플랫폼 입니다. 그게 정확히 무슨 뜻입니까?아파치 카프카는 분산 스트리밍 플랫폼입니다. 우리는 스트리밍 플랫폼이 세 가지 핵심 기능 ...
Read more
tomcat_maxHttpHeaderSize
tomcat_maxHttpHeaderSize기본적으로 tomcat에 헤더 사이즈를 설정 하지 않으면 tomcat 에서는 8 * 1024 bytes (8K) 지정이 된다 보통 상황에서는 문제가 없을것이다 하지만 헤더에 많은 정보를 담을수 밖에 없는 서비스를 만들때는 고 ...
Read more
CVE-2016-6816
tomcat CVE-2016-6816HTTP 요청 줄을 구문 분석 한 코드가 잘못된 문자를 허용한다는 사실이 발견되었습니다. 이는 유효하지 않은 문자가 허용되었지만 해석이 다른 프록시와 함께 HTTP 응답에 데이터를 주입하기 위해 악용 될 수 있습니다. HTTP 응답 ...
Read more