본문 바로가기

Computer Science19

2. 스프링의 핵심 - IoC / DI Spring의 핵심 2가지를 꼽자면, IoC/DI와 AOP를 말할 수 있습니다. 그 중, 이번 포스팅에서는 IoC와 DI에 대해서 설명하고자 합니다. IoC는 Inversion of Control의 약자로, 말 그대로 제어를 역전한다는 의미입니다.일반적인 프로그램에서는 필요 모듈을 위해 작은 부품들이 하나씩 생성되어 의존되는 관계를 띄게 됩니다.제품 > 부품 1 > 부품 2 > 부품 3 이런식으로요. 그러나 Spring같은 경우 부품들이 사전에 생성된 후, 필요한 부품들로 조립하여 제품이 완성되는 식으로 수행됩니다.즉, 제품 < 부품 1 < 부품 2 < 부품 3 이런식으로 진행됩니다. 이러한 서비스 흐름을 IoC라고 합니다. DI는 Dependency Injection의 약자로, 의존성 주입이라 합니다... 2016. 6. 29.
1. 스프링의 시작 스프링(Spring Framework)이란 : 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 애플리케이션 프레임워크(Framework) 1) 경량 컨테이너로서 자바 객체를 직접 관리. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 2) 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다. 3) 스프링은 제어 반전(IoC : Inversion of Control)을 지원. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스.. 2016. 6. 27.
node.js(socket.io + express) + redis를 이용한 분산 서버 이번 포스팅은 간단한 채팅 서버 제작 과정을 설명하려 합니다. 채팅 서버의 경우, 비교적 간단한 서비스로직을 수행하기에 단일스레드 모델 중 비동기 처리를 사용하는 TCP기반의 socket.io module을 사용하였습니다. 이 후 추가적으로, 사용자가 많아질 경우에 대비하여 코어 활용을 높이기 위해 clustering과 redis를 사용하여 분산 서비스 모델로 구축하였습니다. clustering은 master를 기반으로 core수 만큼의 worker가 생성되어, 작업을 분담하게 됩니다. 이 때, core들 간에는 다른 메모리 영역을 사용하기 때문에, client와의 session정보를 공유할 수 없게 됩니다. 따라서 redis라는 In memory기반의 key-value 형태 값이 저장가능한 DB를 활용.. 2016. 6. 27.
[Java] 자바 디자인패턴 #3 - Decorator Pattern 3. Decorator Pattern : - 객체에 추가 요소를 동적으로 더할 수 있다. - 데코레이터 패턴을 사용하면 서브 클래스를 만드는 경우에 비해 훨씬 유연하게 기능을 확장할 수 있다. - 특정 요소의 형식을 알아내서 그 결과를 바탕으로 작업해야 하는 코드에는 적합하지 않다. - 데코레이터는 팩토리나 빌더 같은 다른 패턴을 써서 사용되는 경우가 많다.[출처] 디자인 패턴 : 데코레이터 패턴(Decorator Pattern)|작성자 jidon333 1. Beverage.java(Abstract Class) 123456789101112131415161718package chap3; public abstract class Beverage { String desc = "No name"; public St.. 2016. 6. 27.