Engineering

· Engineering
CVE 링크 : https://nvd.nist.gov/vuln/detail/CVE-2021-44228 매우 유용하게 사용중인 아파치 오픈소스 중 로깅 유틸리티 프로그램인 LOG4J에서 매우 치명적인 취약점이 발견되어 요즘 뉴스, 인터넷이 뜨겁습니다. 로그를 이쁘게 찍어주는 매우 고마운 프로그램인데요, log4j에 대한 설명보다는 어떻게 처리했는지, 어떻게 그나마 쉽게 조치할 수 있었는지 적어보려고 합니다. 제가 일하고 있는 직장에서도 위의 취약점을 조치하여 보고하라고 해서 ㅠㅠ 늦은감이 없지않아 있지만 오늘 오후 급하게 부랴부랴 작업했습니다. 대상이 되는 log4j의 버전은 아래와 같습니다. □ 영향을 받는 버전 o Apache Log4j 2 - 2.0-beta9 ~ 2.14.1 모든버전 o Apache..
· Engineering
싱글톤 패턴, Singleton 객체를 여러 번 생성하려고 시도하더라도 하나의 인스턴스(객체)가 유지되도록 고안한 패턴 객체 생성에 필요한 자원의 요구 정도가 높은 객체를 빈번히 생성하지 않고 딱 한 번 만들어두고 계속 사용하기 위해서 적용 싱글톤 패턴이 적용되는 위치 리소스를 많이 사용하는 자원을 로드할 때 1번과 같은 자원들을 지속적으로 사용될 때 ex) JDBC 드라이버, Log(로그) 객체, static 블록, 초기화 블록, Initialization Block 클래스의 코드가 로드될 때 딱 한번만 수행하는 코드 블록 객체 생성(인스턴스화, 생성자 호출, new 객체()) 과는 무관하게 수행된다. 클래스 변수(정적 변수, static 변수)를 초기화할 때 사용한다. 클래스 변수에 단순 값 대입(초..
· Engineering
디자인 패턴, Design Pattern 잘 알려진 알고리즘들을 정리한 것 프로그램 설계 상 발생하는 문제(issue)에 대한 해답을 문서화한 것 프로그램을 개발하면서 자주 마주치는 상황(문제점)을 해결하기 위한 설계 노하우를 적용시킨 형태
· Engineering
프로그래밍 아키텍쳐, Architecture 프로그램 작성 구조 프로그램 코드의 기능별 구성 모델 1 비지니스 로직과 프레젠테이션 로직을 하나로 합쳐놓은 구조 모델 2 비지니스 로직과 프레젠테이션 로직을 분리해놓은 구조 비지니스 로직, Business Logic 클라이언트(사용자)한테 보이지 않는 부분 데이터를 처리(가공)하는 응용프로그램의 일부 영역 주로 데이터베이스 처리 작업을 수행한다 ex) 로그인 데이터 (id, password) 인증, 게시글 조회결과 가져오기 프레젠테이션 로직, Presentation Logic 클라이언트(사용자)한테 보이는 부분 출력 화면을 구성하는 응용프로그램의 일부 영역 모델 1 아키텍처, MODEL 1 비지니스 로직 + 프레젠테이션 로직을 하나의 파일로 구현한 것 장점과..
· Engineering
HTTP 통신(WEB 통신) 과정 WEB 서비스 HTTP 프로토콜 : WEB 서비스에서 사용되는 통신규약 HTTPS 프로토콜 : 보안 WEB 서비스에서 사용되는 통신규약 웹 서비스는 CS 프로그램 CS - Server - Client 통신 서비스 HEADER 영역 메세지의 속성, 설정 정보등을 담은 영역 BODY 영역 메세지의 내용물을 작성하는 영역
헌일