본문 바로가기

#2 Framework ✍️

(5)
Buffer (버퍼) Buffer (버퍼) 란? Node.js에서 Buffer는 바이너리 데이터를 저장할 수 있는 특수한 유형의 객체 Why 왜 사용할까? 버퍼가 도입되기 이전에는 자바스크립트에서는 바이너리 데이터를 처리할 방법이 없었음 속도가 느리고, 바이너리를 처리할 전문적인 도구가 없기 때문에 기존에는 문자열과 같은 원시 값들을 이용해야 했음 그렇기 때문에 비트와 바이트를 조금 더 쉽게, 그리고 성능에도 유리한 방법으로 조작 할수있도록 제공 됨 How 어떻게 사용할까? 처리하는 방식이 자바스크립트의 배열과 유사함 slice, concat, length, 등을 사용할 수 있음 또한 이터러블하며, for-of에서도 사용 가능 Node.js는 버퍼클래스를 전역 스코프에 expose 하므로 import나 require를 할 필..
[Node.js] NPM vs NPX npm이랑 npx는 뭐가 다른걸까?? NPM (Node Package Manager) Node.js 환경에서 사용되는 패키지 관리자 패키지를 다루는 작업을 편리하고 안전하게 수행하기 위해 사용되는 툴 라이브러리가 코드의 작성을 위해 사용되는 코드의 묶음이라면 패키지는 코드의 배포를 위해 사용되는 코드의 묶음 package.json 파일에 의존성에 대한 정보를 확인할 수 있도록 저장하면 사용자가 사용하고자 하는 패키지의 dependency를 패키지 매니저를 통해 쉽게 설치하도록 도울 수 있음 NPX (Execute Npm Package Binaries) npm을 좀 더 편하게 사용하기 위해 npm에서 제공해주는 하나의 도구 npm에 속해 있는 npm 패키지 실행 도구 패키지 임시 설치 및 실행 npm으로 ..
[Node.js] Node.js 란?? JavaScript 런타임(프로그래밍 언어가 실행되는 환경), 브라우저가 아닌 곳에서 JS를 실행하게 해주는 어플리케이션 서버 측 프로그래밍 Node.js는 V8을 사용 V8: 구글에서 개발한 JavaScript 엔진, JavaScript를 브라우저에서 실행해줌 nodejs runtime 은 몇 가지 dependency 가 있는데 그 중 가장 중요한 것이 v8 engine과 libuv v8 engine이 없다면 nodejs는 javascript를 이해할 수 없음 v8 engine이 javascript 코드를 컴퓨터가 이해할 수 있는 머신 코드로 변환해주기 때문 libuv는 비동기 IO를 집중적으로 개발하는 오픈소스 라이브러리 libuv를 통해 노드는 파일시스템과 네트워킹 등의 컴퓨터 운영체제의 기능들에 ..
[Spring] 어노테이션 (Annotation) 정리 Annotation이란? 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공 런타임시 특정 기능을 실행하도록 정보를 제공 Annotation 종류 @ComponentScan @Component와 @Service, @Repository, @Controller, @Configuration이 붙은 클래스 Bean들을 찾아서 Context에 bean등록을 해주는 Annotation @Component Annotation이 있는 클래스에 대하여 bean 인스턴스를 생성 @ Component 개발자가 직접 작성한 Class를 ..
[SpringFramework] 스프링프레임워크 (SpringFramework) 스프링프레임워크 (SpringFramework) 란? 자바 개발을 편리하게 해주는 오픈소스 프레임워크 경량 컨테이너로서 자바 객체를 직접관리 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로 부터 필요한 객체를 얻어 옴 제어의 역전(IOC)이라는 기술을 통해 어플리케이션의 느슨한 결합을 도모 컨트롤의 제어권이 사용자가 아닌 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출 의존성 주입 (DI, Dependency Injection)을 지원 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결해 줌 관점지향프로그래밍 (AOP, Aspect-Oriented Programming)을 지원 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기..

LIST