TIL

Today I Learned

매일 공부한 내용을 정리해서 올린다. NodeJS, Algorism, 자료구조, DB, 네트워크 등 모든 내용을 담는다.

제목맨 앞부분 []속에 구분자를 넣는다.

2023

[Docker] 도커와 CI환경 정리(1)

1 minute read

도커 이미지와 도커 컨테이너 정의 도커는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.

[TIL] SSR(서버 사이드 렌더링)

1 minute read

SSR 이란 ? Server Side Rendering은 서버에서 모든 데이터를 작성하여 클라이언트로 전송, 클라이언트는 해당 데이터를 해석해 웹사이트를 표시하는 방법의 웹 통신 방법 이라고 정의할 수 있다. 대척점에 있다고 볼 수 있는 CSR(클라이언트 사이드 렌더링) 보다 ...

Back to top ↑

2022

[Mysql] Explain

5 minute read

Explain Explain 구문은 Mysql이 명령문을 어떻게 실행하는지에 대한 정보를 보여주는데, 어떤 테이블을 어떻게 참고해서 몇개의 row를 가져올지 등등 Explain 해서 알 수 있는 정보들을 바탕으로 Mysql Opimizer는 최적의 방법으로 쿼리를 실행하게 된다. ...

[Mysql] GROUP BY

less than 1 minute read

최근 쿼리작업을 하면서 최신순으로 ORDER BY를 한 후 GROUP BY를 해야할 경우가 있었는데, ORDER BY를 한 후 GROUP BY를 할 때는 고려해야할 사항들이 있다.

[Thymeleaf] 타임리프 기본 문법

2 minute read

타임리프란 ? 컨트롤러가 전달하는 데이터를 이용해 동적으로 화면을 만들어주는 역할을 하는 뷰 템플릿 엔진이다. Spring boot에서 공식적으로 지원하는 뷰 템플릿이며, 서버상에서 동작하지 않아도 HTML 파일의 내용을 바로 확인 가능 순수한 HTML 구조를 유지

[Computer Science] - 기억장치

1 minute read

주기억장치 RAM(Random Access Memory), 주로 램/메모리 등으로 불림 컴퓨터가 켜지는 순간부터 CPU는 연산을 하고 동작에 필요한 모든 내용을 전원이 유지되는 내내 RAM에 저장함 휘발성이 있기 때문에, 컴퓨터 전원을 껐다 켜면 데이터가 없어짐 처...

스프링MVC1_3

1 minute read

MVC 패턴 - 개요 이전의 문제점 하나의 서블릿과 JSP만으로 비즈니스 로직과 뷰 렌더링을 처리하면 너무 많은 역할을 하게되고, 결과적으로 유지보수가 어려워진다. (예를들어, 비즈니스 로직을 호출하는 부분에 문제가 생겨도 해당 부분을 손대야하고, UI를 변경할 일이 있어도 비즈...

스프링MVC1_2

less than 1 minute read

SSR - 서버 사이드 렌더링 HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달 주로 정적인 화면, 복잡하지 않을 때 사용 관련 기술 -> JSP, 타임리프

스프링MVC1_1

3 minute read

웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 예) nginx, apache

HTTP - 7

4 minute read

쿠키 Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 사용자의 모든 요청에 쿠키 정보 자동 포함 사용 사용자 로그인 세션 관리 광고 정...

HTTP - 6

2 minute read

HTTP 헤더 HTTP 전송에 필요한 모든 부가정보가 담겨있음 예) 메세지 바디의 내용, 메세지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등 표준 헤더가 너무 많음 필요시 임의의 헤더 추가 가능

HTTP - 5

3 minute read

상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx(Informational): 요청이 수신되어 처리중 -> 요즘 거의 사용하지 않음 2xx(Successful): 요청 정상 처리 3xx(Redirection): 요청을 완료하려면 추가 행...

HTTP - 4

1 minute read

HTTP API 설계 회원관리 시스템 API 설계 - POST 기반 등록 회원 목록 /members -> GET 회원 등록 /members -> POST 회원 조회 /members/{id} -> GET 회원 수정/members/{id} -> ...

HTTP - 3

4 minute read

HTTP HyperText Trasfer Protocol. HTTP 메시지에 모든 것을 전송. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP...

HTTP - 2

less than 1 minute read

URI Uniform Resource Identifier.

HTTP - 1

1 minute read

IP(인터넷 프로토콜) 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달

스프링 핵심원리 - 기본편(9)

2 minute read

웹 스코프 웹 스코프의 특징 웹 스코프는 웹 환경에서만 동작한다. 웹 스코프는 프로토타입과 다르게 스프링이 해당 스코프의 종료시점까지 관리한다. 따서 종료 메서가 호출된다.

스프링 핵심원리 - 기본편(8)

2 minute read

Bean 스코프 Bean 스코프는 말 그대로 Bean이 존재할 수 있는 범위르 뜻한다. 스프링 Bean은 기본적으로 싱글톤 스코프로 생성되기 때문에, 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때 까지 유지된다.

스프링 핵심원리 - 기본편(7)

2 minute read

Bean 생명주기 콜백 Bean 생명주기 콜백 시작 데이터베이스 커넥션 풀이나 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체의 초기화와 종료 작업이 필요하다. 스프링 Bean의 ...

스프링 핵심원리 - 기본편(6)

5 minute read

의존관계 자동 주입 다양한 의존관계 주입 의존 관계 주입 방법 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입

스프링 핵심원리 - 기본편(5)

1 minute read

컴포넌트 스캔 탐색 위치와 기본 스캔 대상 탐색할 패키지의 시작 위치 지정 모든 자바 클래스를 다 컴포넌트 스캔하면 시간이 오래 걸린다. 그래서 꼭 필요한 위치부터 탐색하도록 시작 위치를 지정할 수 있다. basePackages : 탐색할 패키지의 시작 위치를 지정한다. 이...

스프링 핵심원리 - 기본편(4)

3 minute read

싱글톤 컨테이너 - 웹 애플리케이션과 싱글톤 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. 웹 애플리케이션...

스프링 핵심원리 - 기본편(3)

3 minute read

IoC, DI 그리고 컨테이너 제어의 역전 IoC(Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. (개발자 입장에서는 자연스...

스프링 핵심원리 - 기본편(2)

1 minute read

SOLID 클린 코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP : 단일 책임 원칙(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다...

스프링 핵심원리 - 기본편(1)

1 minute read

핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 -웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 -기술 통합: 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 언...

도메인 주도 설계(Domain Driven Design) 정리-3

3 minute read

Aggregate Aggregate는 관련된 객체를 하나의 군으로 묶어주기 때문에 좀 더 상위 수준에서 도메인 모델 간의 관계를 파악할 수 있다. 주요 도메인 개념간의 관계를 파악하기 어렵다는 것은 곧 코드를 변경하고 확장하는 것이 어려워 진다는 것을 의미하기 때문에 상위 수준에서...

도메인 주도 설계(Domain Driven Design) 정리-2

5 minute read

아키텍처를 설계할 때 사용되는 전형적인 영역이 ‘Presentaion’, ‘Application’, ‘Domain’, ‘InfraStructure’ 의 네 영역이다. Presentaion Layer는 사용자의 요청을 받아 Application Layer에 전달하고 그 처리 결...

Back to top ↑

2021

Back to top ↑

2020

[프로그래머스] Lv.1 같은 숫자는 싫어

1 minute read

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야...

[Nodejs]O’REILLY 정리 - 17

2 minute read

트래픽 라우팅, 파일 서비스, 미들웨어 웹 페이지에서 링크를 클릭하면, 무엇인가가 일어나기를 기대하게 된다. 통상적으로는 웹 페이지가 로드되어야 한다. 하지만 웹 리소스가 로드되기 이전에 실제로는 많은 일들이 일어나는데, 그 중에는 우리가 제어할 수 없는 것(예: 패킷 라우팅)도 ...

[Nodejs]O’REILLY 정리 - 16

1 minute read

Node 스타일 Node 애플리케이션에서는 익명 함수 보다는 명명된 함수를 사용하라는 것과 같이 어떠한 제약 사항들이 권고되고 있고, 이러한 제약 사항들을 하나로 묶어서 Node 선호 스타일(preferred Node style)이라고 하는데, 사실 단일한 스타일 가이드나 선호 내...

[Nodejs]O’REILLY 정리 - 15

15 minute read

제어흐름, 비동기 패턴, 예외 처리 새로운 서버 기능 전체가 아니더라도, 비동기 이벤트와 콜백, EventEmitter와 같이 생소한 개체들에 대해 논의하다 보면 Node가 두려워질 수도 있다. 하지만 요즘 나온 자바스크립트 라이브러리들을 사용해본 적이 있다면 Node에 들어간 기...

[Nodejs]O’REILLY 정리 - 14

4 minute read

Node 모듈 시스템 Node의 기본 구현은 최대한 간결함을 유지하고 있다. Node 개발자들은 사용 가능한 모든 구성 요소들을 Node내에 포함시키는 대신, Node의 모듈을 통해 추가 기능들을 제공하고 있다. Node의 모듈 시스템은 상호 운용이 가능하도록 모듈을 생성하는 방...

[Nodejs]O’REILLY 정리 - 13

2 minute read

이벤트와 EventEmitter Node 코어 개체들의 내부를 살펴보면 EventEmitter를 발견하는 경우가 많은데, 개체가 이벤트를 발생시켜서 이벤트가 on으로 처리될 때마다 EventEmitter가 동작하는 것을 볼 수 있다.

[Nodejs]O’REILLY 정리 - 12

2 minute read

Utilities 모듈과 개체 상속 Utilities 모듈은 여러 가지 유용한 함수들을 제공한다. 이 모듈은 다음과 같이 포함시킬 수 있다: var util = require('util'); Utilities 를 사용해서 개체가 배열이거나(util.isArray) 정규식인지(u...

[Nodejs]O’REILLY 정리 - 11

1 minute read

도메인 해석과 URL 처리 DNS 모듈은 비동기 DNS 요청 기능을 가진 C라이브러리인 c-ares를 사용하여 DNS 해석을 제공한다. DNS 모듈은 Node의 다른 모듈들에서 사용되고, 도메인이나 IP 주소를 찾아내는 것이 필요한 애플리케이션들에게 유용하다.

[JavaScript] Array APIs 정리

4 minute read

JavaScript Array APIs 1. join(separator? : string): string; 배열의 모든 요소를 연결해 하나의 문자열을 만든다. const fruits = ['apple', 'banana', 'orange']; const result = fruits....

[Nodejs]O’REILLY 정리 - 10

2 minute read

자식 프로세스 운영체제에서 제공하는 기능들 대부분은 명령줄을 통해서만 접근할 수 있다. 이러한 기능들을 Node 애플리케이션에서 접근하기위해 자식 프로세스(child process)가 생겨났다. Node는 새로운 자식 프로세스 내에서 시스템 명령줄을 실행하고 입/출력을 수신 대기...

[Nodejs]O’REILLY 정리 - 9

7 minute read

서버, 스트림, 소켓 Node 코어 API 중 상당수는 특정 유형의 통신을 수신하는 서비스를 만드는 것과 관련되어 있다. HTTP 웹서버를 만들기 위해 HTTP 모듈을 사용하고, 다른 메서드로는 TCP 서버, TLS(Transport Layer Security)서버, UDP(Use...

[Nodejs]O’REILLY 정리 - 8

3 minute read

타이머: setTimeout, clearTimeout, setInterval, clearInterval 클라이언트 JavaScript에서 타이머 함수는 전역 window 객체에 속해있다. 타이머 함수는 JavaScript에 속한 것이 아니지만, JavaScript 개발에서 매우 자...

[Nodejs]O’REILLY 정리 - 7

1 minute read

Buffer Buffer 클래스 역시 전역 개체로, Node에서 바이너리 데이터를 처리할 때 사용한다. 바이너리 데이터를 문자열로 변환하려면 setEncoding을 사용해서 스트림 소켓의 데이터 데이터 인코딩을 변경해야 한다. 새로운 버퍼는 다음과 같이 생성할 수 있다 : var...

[Nodejs]O’REILLY 정리 - 6

1 minute read

process 각 Node 애플리케이션은 Node의 process 개체 인스턴스이며, 그에 따라 일정 기능들을 내장하고 있다.

[Nodejs]O’REILLY 정리 - 5

2 minute read

전역 개체(global,process)와 Buffer 몇몇 개체는 모든 Node 애플리케이션에서 사용자가 모듈을 포함시킬 필요 없이 사용 가능할 수 있다. Node.js 웹사이트에서는 이러한 항목들을 global이라는 설명 레이블로 분류하고 있다. 지금까지 사용해본 전역 요소에는 ...

[Nodejs]O’REILLY 정리 - 3

2 minute read

비동기 프로그램 흐름 살펴보기 서비스와 서비스를 테스트하기 위한 두 개의 새로운 애플리케이션을 만든다. 예제 1-3은 서비스 애플리케이션, 예제 1-4는 테스트 애플리케이션 코드 이다.

[Nodejs]O’REILLY 정리 - 2

2 minute read

비동기 함수와 Node 이벤트 루프 기본적으로 Node에서는 애플리케이션은 단일 쓰레드(또는 프로세스)에서 실행되며 모든 이벤트들이 비동기로 처리 된다. Apache와 같은 통상적인 웹 서버는 들어오는 요청을 처리하는 방법에 두 가지가 존재한다. 첫 번째는 각 요청을 요청이 만...

[TIL]Rest api

4 minute read

API 서버 웹 API는 다른 웹 서비스의 기능을 사용하거나 자원을 가져올 수 있는 창구라고 할 수있다. 흔히 API를 열었다 또는 만들었다고 표현하는데, 이는 다른 프로그램에서 현재 기능을 사용할 수 있게 허용하였음을 뜻한다. 다른 사람에게 정보를 제공하고 싶은 부분만 API를 ...

[React]생활코딩 5️⃣ -create

3 minute read

베이스캠프 props는 read-only, state는 수정이 가능하다. 상위 컴포넌트가 하위컴포넌트에게 데이터를 전달할때는 props, 하위 컴포넌트가 상위 컴포넌트에게 데이터를 전달할 때는 event를 쓴다. Redux 각각의 컴포넌트의 데이터를 하나의 저장공간에 저...

[React]생활코딩 3️⃣ - State

1 minute read

State 소개 컴포넌트의 동작을 다양하게 바꾸고 싶을때 사용자에게 제공하는 것으로, React는 컴포넌트를 외부에서 조작할 때는 props를 사용하고, 내부적으로 상태를 관리할 때는 state를 사용한다. state는 사용자에게 중요하고,...

[ReactJS]생활코딩 React입문 1️⃣ 개발환경

2 minute read

React 페이스북에서 만든 자바스크립트 UI Library로, 사용자 경험을 향상시키기 위해 만들어 졌다.(이벤트 요청 시 서버에서 코드를 받아 다시 렌더링 해야하는 문제를 해결하기위해 만들어 진 것 이다.) component(사용자 정의 태그)를 만들 수 있어 가독성을 높여주...

[MySQL] 임시테이블 생성 -1. WITH절

1 minute read

CTE(Common Table Expression) -공통 테이블 표현식 CTE는 간단하게 말하자면, 한 쿼리문 내에서 여러번 참조될 수 있도록 만들어진 임시 테이블이라고 볼 수 있다. with 절을 단지 임시테이블을 만들어 쓰기 위한 것으로만 알고 접근했었는데, with절 내...

[개발일지]쿠키 생성 및 쿠키를 이용한 인증기능

1 minute read

쿠키를 이용해 로그인 상태를 UI에 반영하려는 작업을 하기로했다. 메인화면에서 login 을 누르면 로그인 페이지로 이동해서 id/pw를 입력하고, login_process에서 쿠키를 생성해서 메인페이지로 돌아올때 쿠키값이 있으면 login이 logout으로 바뀌게 하는 작업...

dbbackup

less than 1 minute read

네이버클라우드플랫폼 백업서비스

[MySQL] case when절

less than 1 minute read

MySQL의 CASE문은 프로그래밍 언어의 if~else 문, switch과 유사하다.

[알고리즘] CodeUp 기초100제 - 1018 ~1019

less than 1 minute read

1018 : [기초-입출력] 시간 입력받아 그대로 출력하기 문제) 어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

[Internet] 생활코딩-internet 2

less than 1 minute read

(도메인)포워딩 도메인으로 접근한 사용자를 다른 도메인으로 보내는 행위 예) ooo2.org로 사용자가 접근하면 opentutorials.org로 보냄

[알고리즘] CodeUp 기초100제 - 1013 ~1015

less than 1 minute read

1013 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기 문제) 정수(int) 2개를 입력받아 그대로 출력해보자. 참고 int a, b; scanf(“%d%d”, &a, &b); //엔터/공백으로 입력 데이터가 구분되어 입력 printf(“%d %d...

[Internet] 생활코딩-internet 1

less than 1 minute read

IP IP는 Internet Protocol의 약자로, 흔히는 인터넷에 연결되어 있는 장치(컴퓨터,스마트폰,태플릿, 서버 등등)들은 각각의 장치를 식별할 수 있는 주소를 가지고있는데 이를 ip라고한다. 예) 115.68.24.88, 192.168,0.1

[AWS]아마존웹서비스 기초지식 5

1 minute read

RDS 소개 RDS는 Relational Database Service의 약자로, AWS가 관계형 데이터베이스를 서비스로서 제공하는 제품. MySQL, MariaDB,PostgreSQL,SQL Server,ORACLE 등을 직접 운영하지않고 AWS에 대행할 수 있다.(AWS에서 ...

[AWS]아마존 웹서비스 기초지식 3

1 minute read

Scale out의 소개 적당한 규모가 되기전에는 Scale up으로 할 수 있는 것은 scale up으로 하는것이 좋다. Scale out은 복잡성이 너무 크고 그 복잡성은 다른 문제들을 야기할 수 있다. Scale up을 하다보면 한계에 도달하게되는데(한 대의 컴퓨터에서 그...

[python]기초문법 14

1 minute read

혼자 공부하는 파이썬 55강 - 텍스트 데이터와 바이너리 데이터 컴퓨터가 데이터를 저장할 때는 무조건 숫자로 저장한다 컴퓨터가 내부적으로 다룰수 있는 것은 이진수(binary) 밖에 없음

[python]기초문법8

2 minute read

혼자 공부하는 파이썬 37강 - 튜플 다른 리스트와의 기본적인 차이 대괄호가 아니라 소괄호로 선언 한 번 선언하면 값을 바꿀 수 없음

[python]기초문법6

2 minute read

혼자공부하는 파이썬 28~ 33강 반복문 예제) 1 ~ 100까지의 숫자를 1 * 99, 2 * 98, 3 * 97 과 같이 계산할 경우 최대가 되는 경우는 어떤 숫자를 곱했을 때 인가 ? max_value = 0 a = 0 b = 0 for i in range(1,99 +...

[python]기초문법4

1 minute read

리스트(list) 순서가 있는 목록, 대괄호[]로 요소(element)를 감싼다. 순서가 있기때문에 데이터가 중복될 수 있다. 자료형에 관계 없이 넣을 수 있고, 리스트안에 리스트를 중첩으로 넣을 수 도 있다. s = ['a','b',1,2,3,True] s[0] //'a'

[python]기초문법3

1 minute read

boolean 다른 언어와 달리 파이썬은 False, True 로 표기함(앞글자가 대문자) not True, not False 가능

[python]기초문법2

less than 1 minute read

자료형 변환 input() : 입력받은 값을 문자열로 만들어 줌. print(input(“»>”)) 바로 값으로 사용할 수 있고 a = input(“»>”) 변수에 담아서 사용 가능하다. “숫자” 처럼 숫자로 변환할 수 있는 문자열의 변환 ...

[python]기초문법1

1 minute read

python의 출력 함수 print() 문자열 출력 print(‘string’); (‘’ 와 “” 를 구분하지 않음 )

[Nodejs]생활코딩 Nodejs - lowdb

1 minute read

lowdb는 json형식으로 데이터를 저장하는 매우 간단한 db이다. 관계형 데이터베이스가 sql을 언어로 사용한다면,** javascript** 를 언어로 사용한다. json을 이용하면 서로다른 컴퓨터 언어들끼리 데이터를 주고 받을 수 있다. nodejs에서 lowdb를 설치하...

[Nodejs]생활코딩 Nodejs-passport.js

4 minute read

Passport는 Node의 인증 미들웨어이다. 일반적으로 웹 애플리케이션은 사용자의 아이디와 비밀번호를 입력 받아 인증을 한다. 최근에는 소셜 네트워크의 등장으로 Facebook 이나 Twitter와 같은 OAuth공급자를 사용한 싱글 사인온(SSO)이 널리 사용되는 인증방법이...

[Nodejs]생활코딩 Nodejs - 쿠키와 인증2

3 minute read

로그인 UI를 만들고, 로그인했을때 상태값을 나타내는 쿠키를 생성 상태값으로 로그인 여부를 확인하고, 그에 따라 접근권한을 부여함.

[Nodejs]생활코딩 Nodejs-MySQL 3

5 minute read

보안 - SQL Injection sql injection ? 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격 방식. 입력값으로 sql문을 주입하는 공격인데, 쉬운 공격 난이도에 비해 파괴력이 어마어마함. (실제로 보안회사 Imp...

[Nodejs] 생활코딩 - Node.js 4

1 minute read

Node.js - 동기와 비동기 그리고 콜백 nodejs의 성능을 끌어올리기 위해서는 반드시 비동기적인 방식으로 작업을 해야됨. 그러나 코드가 너무 복잡하고 높은 성능이 필요없다면 동기적인 방식으로 해도 됨.

[Nodejs]생활코딩 - Node.js 1

3 minute read

초창기 웹은 html만으로도 충분했음 그러나 html을 직접 코딩하는것이 답답하고, 성장의 한계에 봉착함 자바스크립트에 익숙한 웹개발자들이 새로운 언어를 배우지않고도 서버쪽 애플리케이션을 만들 수 있게 하기위해 나온 기술이 nodejs (2008년 구글이 V8 엔진...

Back to top ↑