- spring 특징
- Java를 이용하는 프레임워크
- POJO(Plain Old Java Object) 기반의 구성
- DI(Dependency Injection, 의존성 주입)을 통한 객체 간의 관계 구성
- AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 지원
- 편리한 MVC 구조
- WAS에 독립적인 개발환경
- node.js 특징
- Chrome V8엔진 위에서 구현된 Javascript 런타임
- 빠른 프로퍼티 접근(Fast Property Access)
- 동적인 기계어 코드 생성(Dynamic Machine code Generation)
- 비동기 입출력(Non-Blocking IO)
- 스프링과 노드의 장단점
- Spring의장점
- 정량화 된 패턴이 많고 레퍼런스가 많아 안정적이다.
- 크기와 부하 측면에서도 경량이다
- Spring 단점
- 설정이 복잡하다
- js기반으로 개발자 진입 장벽이 낮음
- 싱글 스레드, 비동기 io처리에 기반한 빠른 속도를 가진다
- cpu사용률이 높은 애플리케이션에는 사용을 권장하지 않음
- 싱글 스레드이기 때문에 에러가 나면 프로세스가 죽을 수 있다.
스프링과 노드의 차이점
-멀티스레드와 싱글스레드
[설명]
- 스프링
-프레임워크-아키텍처에 해당하는 골격코드로 뼈대역할(뼈대에 살을 붙여 사용한다)
-POJO -Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어
-DI 추가설명 - 의존성 주입의 종류는 '생성자를 통한 주입'과 'set 메서드를 이용한 주입'으로 구분가능
-AOP - 횡단 관심사를 별도 모듈로 분리하는 프로그래밍 패러다임
-횡단 관심사(cross-concern) - 스프링에서는 시스템에서 비즈니스 로직은 아니지만 보안, 로그, 트랜잭션과 같이 반드시 처리가 필요한 부분
-MVC - model(데이터 담당), View(화면담당), Controller(model과 view사이 중재)
-was(Web application Server) -웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
web server와 was의 차이점-https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
- 노드
-v8 -웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진
-런타임- 일련의 구성 요소들로 이루어진 실행 환경
-라이브러리-프로그램을 개발하기 위해 쓰는 공구와 같은 도구들
-프로퍼티 - 일부 객체 지향 프로그래밍 언어에서 필드(데이터 멤버)와 메소드 간 기능의 중간인 클래스 멤버의 특수한 유형
-비동기 입출력(Non-Blocking IO) -처리가 완료되지 않으면 에러를 회신하고, Block 상태로 만들지 않는다.
'Spring' 카테고리의 다른 글
@Autowired (0) | 2021.05.17 |
---|---|
페이징처리 (0) | 2021.05.10 |
hibernate란? (0) | 2021.05.09 |