old posting

    [Node.js] 이벤트 기반(Event-driven)

    [Node.js] 이벤트 기반(Event-driven)

    1. 이벤트 기반(Event-driven) 이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식이다. 이벤트로는 클릭이나 네트워크 요청 등이 있을 수 있다. 이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 미리 등록해두어야 한다. 이를 이벤트 리스너(Event Listener)에 콜백(CallBack) 함수를 등록한다고 표현한다. 이벤트가 발생하면 이벤트 리스너에 등록해둔 콜백 함수를 호출하며, 발생한 이벤트가 없거나 발생했던 이벤트를 다 처리하면, Node는 다음 이벤트가 발생할 때까지 대기한다. 이벤트 기반 모델에서는 이벤트 루프(Event Loop)라는 개념이 등장한다. 여러 이벤트가 동시에 발생했을 때 어떤 순서로 콜백 함수를 호출할지를 이벤트 루프가 판단한다.

    [Node.js] Node.js와 Node의 내부 구조

    [Node.js] Node.js와 Node의 내부 구조

    Node.js란 : Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. 1. 런타임 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다. 따라서 Node는 Javascript Program을 컴퓨터에서 실행할 수 있다. 2. Node의 내부 구조 * Node는 V8과 더불어 libuv라는 Library를 사용하며, V8과 libuv는 C와 C++로 구현되어 있다. * libuv Library는 Node의 특성인 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다.

    [Spring] Null-safety

    Null-safety Spring framework5에 추가된 Null 관련 어노테이션 @NonNull @Nullable @NonNullApi (패키지 레벨 설정) @NonNullFields (패키지 레벨 설정) 목적 (툴의 지원을 받아) 컴파일 시점에 최대한 NullPointException을 방지하는 것

    [Spring] AOP와 Spring AOP

    [Spring] AOP와 Spring AOP

    AOP Aspect-oriendted Programming OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 AOP 주요 개념 Aspect와 Target Advice Join point와 Pointcut AOP 구현체 자바 AspectJ Spring AOP AOP 적용 방법 컴파일 로드 타임 런타임 Spring AOP 프록시 기반의 AOP 구현체 스프링 빈에만 AOP를 적용할 수 있다. 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈 어플리케이션에서 가장 흔한 문제에 대한 해결책을 제공하는 것이 목적이다. 프록시 패턴 기존 코드 변경 없이 접근 제어 또는 부가 기능 추가를 할 수 있다. Spring AOP Spring IoC 컨테..