목록전체 글 (82)
호비시의 끄적끄적
아파치(Apache) 아파치 소프트웨어 재단의 오픈소스 프로젝트 WS (Web Server) 80번 포트로 클라이언트 요청(GET, POST, 등)이 왔을 때만 응답함. 정적인 데이터만 처리(HTML, CSS 등) 기본적으로 멀티 프로세스로 구현되어 있음. 설정에 따라 멀티 쓰레드를 같이 운용 가능 톰캣 (Tomcat) 동적 웹을 만들기 위한 웹 컨테이너. 서블릿 컨테이너 WAS (Web Application Server) 8080 포트로 처리 JSP, 서블릿 처리, HTTP 요청 수신 및 응답 동적인 데이터 처리가능(DB 연결, 데이터 조작, 다른 응용프로그램과 상호작용) 요청을 처리하기 위한 쓰레드 풀을 관리함. 요청이 오면 해당 쓰레드 풀에서 쓰레드를 꺼내 요청을 처리함.
maven 과 gradle maven과 gradle은 모두 빌드 관리 툴이다. 프로젝트 생성, 테스트, 빌드, 배포 등의 작업을 위한 프로그램이다. 외부 라이브러리들을 손쉽게 import 할 수 있다. maven 아파치 메이븐은 자바용 프로젝트 관리 도구이다. 아파치 Ant의 대안으로 만들어졌다. 아파치 라이센스로 배포되는 오픈 소스 소프트웨어이다. POM Project Object Model 프로젝트의 정보를 담고 있는 파일 pom.xml로 관리 프로젝트 정보 빌드 설정 빌드 환경 pom 연관정보 gradle 빌드, 프로젝트 구성/관리, 테스트, 배포 도구 안드로이드 앱의 공식 빌드 시스템 빌드 속도가 Maven에 비해 10~100배 가량 빠름 JAVA, C/C++M Python 등을 지원 빌트툴인 A..
AOP란? Aspect Oriented Programming 의 약자로 관점 지향 프로그래밍이라 부른다. 객체 지향 프로그래밍 만으로는 중복을 줄일 수 없는 부분이 생겨, 종단면(관점)에서 바라보고 처리한다. 주로 Logging, Transection, Error Handler 등 비지니스단의 메서드에서 세밀하게 조정할 때 사용한다. Sequence Diagram AOP 사용 전 AOP 사용 후 AOP의 주요 개념 Aspect 흩어진 관심사를 묶어서 모듈화 한것 Target Aspect 가 가지고 있는 Advice가 적용되는 대상(class, method) 등 Advice 어떤 일을 해야할 지에 대한 정보 Join Point 메서드 실행 지점. Advice가 적용될 위치를 나타낸다 Point Cut Jo..
DI Dependency Injection 의존성 주입을 말한다. DI란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이나믹하게 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 즉, 각 객체간의 의존성을 스프링 컨테이너(Spring Container)가 자동으로 연결해주는 것으로, 개발자가 빈(Bean) 설정파일에 의존관계가 필요한 정보를 추가해주면, 스프링 컨테이너가 자동적으로 연결해 준다 의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. 의존성 주입은 IoC(Inversion of Control: 제어의 역전)원칙 하에 객체 간의 결합을 약하게 해주고 유지보수가 ..
Filter Dispatcher Servlet에 요청이 전달되기 전 후에 작용 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있음 Spring Context 외부에 존재하기에 Spring과 무관한 자원에 대해 동작 CORS , XSS , LOG , 인증 등 init() - 필터 인스턴스 초기화 doFilter() - 전/후 처리 destory() - 필터 인스턴스 종료 Interceptor Controllet로 요청이 전달되기 전 후에 작용 Spring Context 내부에서 처리 모든 빈 객체에 접근 가능 여러개로 chaining 하게 사용 가능 로그인 인증, 권한 체크, 프로그램 실행시간 계산작업 로그 확인 등 preHandler() - 컨트롤러 메서드가 실행되기 전 postHandler..