분류 전체보기

오늘 수업 내용📚 node.js non-blocking I/O 내장모듈과 외부모듈 라이브러리와 프레임워크 NPM node의 기본적인 특징인 논블록킹 I/O를 setTimeout으로 눈으로 보고 익히면서 blocking과 non-blocking의 차이를 익히고, 모듈이 무엇인지, 이전 스프린트에서 사용한것을 예시로 들며 내장 모듈과 외부모듈 사용할때 어떻게 이용을 하는지, 외장모듈은 어떻게 설치를 하는지에 대해서 배우고 라이브러리와 프레임워크의 차이를 알고 정리해 보는 시간을 가졌습니다. 런타임 플랫폼과 프레임워크, 라이브러리 등 사용하는 언어들이 전부 다른데요. 런타임 플랫폼으로는 node.js를 사용하고 프레임워크로는 Express.js를 사용하며 라이브러리로는 React.js와 각종 모듈을 사용할 예..
NPM이란? NPM은 Node Packaged Manager의 약자로 node를 설치하면 자동으로 설치가 되고 javascript 라이브러리를 설치하고 관리하는 패키지 관리자를 말합니다. npm에는 전 세계 개발자들이 만든 다양한 기능(모듈)이 있는데요 npm을 사용하면 내가 만들지 않아도 복잡한 코드들을 쉽게 사용을 할 수 있게 되는 것입니다. package.json 수많은 라이브러리를 설치를 하다 보면 package.json이 생기는데요 package.json은 우리가 설치한 라이브러리들의 버전들을 기록하고 관리하는 파일을 말합니다. npm을 사용을 하려면 package.json이 존재해야 하는데요 package.json을 생성을 하기 위해서는 명령어하나를 입력해 주면 되는데 이 의미는 npm으로 패..
· 개발지식
라이브러리와 프레임워크 라이브러리와 프레임워크 되게 많이 듣는 단어인데요. 비슷한 거 아닌가? 생각이 들지만 조금씩 차이가 있습니다. 오늘은 그 차이에 대해서 설명하려고 합니다. 프레임워크는 원하는 기능을 개발할 수 있도록 필요한 기능을 가지고 있는 뼈대입니다. 라이브러리는 개발을 할 때 특정 기능을 모아둔 코드, 함수들의 집합을 말합니다. 쉽게 얘기하면 프레임워크는 하나의 방, 라이브러리는 하나의 소품이라고 할 수 있는 것입니다. 라이브러리란? 라이브러리는 내가 원하는 걸 가져다 쓸 수 있다는 장점이 있지만 양이 많기 때문에 찾는 시간이 오래 걸리는 단점도 가지고 있습니다. 프로그래밍을 할 때 활용할 수 있는 도구들의 집합이다. class나 function으로 정의하며 필요할 때 호출해서 사용한다. 라..
node.js는 오픈소스 및 크로스 플랫폼 자바스크립트 런타임(실행) 환경입니다. 기존의 자바스크립트는 script언어로 웹에서밖에 사용이 불가능했는데요. 이때 구글 크롬의 V8엔진을 이용하여 node.js가 탄생하였고, node.js가 탄생하고 난 뒤에 자바스크립트는 웹에서만 국한된 게 아닌 프로그래밍적 언어로도 사용이 가능하게 됐습니다. Node.js의 특징 특징 설명 Chrome V8 Javascript 엔진 기반 V8엔진을 인터프리터[1]로 사용하여 빠른 실행이 가능합니다. 그리고 Javascript 프레임워크가 아니라 런타임 환경[2]입니다. 단일 스레드[3] 하나의 스레드가 모든 작업을 수행하기 때문에 리소스 사용량 변화가 많지 않고 대규모 네트워크 프로그램을 개발하기에 적합합니다. 비동기 I..
· 개발지식
CS란? CS는 Computer Science의 약자로 컴퓨터 과학입니다. 컴퓨터 과학이라는 이름 그대로 컴퓨터와 관련된 다양한 지식들을 포함하고 있는데요 소프트웨어, 하드웨어, 알고리즘, 자료구조, 네트워크, 데이터베이스, 요즘 많이 나오는 인공지능과 같은 다양한 지식을 합쳐서 CS라고 부르는 것이죠. 그렇다면 저 많은 과목들 중에 어떤 과목을 집중적으로 배워야 할까요? CS에 모든 것을 알면 좋겠지만 전부 다 익히는 건 힘든 일이라는 것을 너무 잘 알고 있습니다. 그래서 흔히 5대 과목이라 불리는 자료구조, 알고리즘, 운영체제, 데이터베이스와 네트워크에 대해서 익히고 이 이후에 조금씩 다른 과목으로 넓혀가는 걸로 생각하면 좋을 것 같습니다. 도저히 어떻게 접근을 해야 할지 모르겠다면 정보처리기사 준비..
· 개발지식
REST 하다는 말이 무엇일까? 쉽게 말해 "웹의 장점을 최대한 활용한 통신방식"이라는 말입니다. 그렇다면 REST의 특징에는 어떤 게 있을까요? REST란? REST는 Representational State Transfer의 약자로 리소스의 이름으로 구분하여 정보를 주고받는 것을 말합니다. 이때 REST는 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한으로 활용할수 있는 아키텍처 스타일인데요 네트워크 상에서 클라이언트와 서버를 이어주는 통신 방식 중에 하나입니다. REST의 특징 1. Server-Client 구조 : 서버는 API를 제공하고 클라이언트는 인증이나 세션, 로그인 정보들을 관리하는 역할을 구분하고 있어 서로의 의존성을 줄일 수 있습니다. 2. Stateless(무상태성) ..
오늘 수업 내용 📚 지난주 복습 백엔드와 프론트엔드 API HTTP에 담을 내용 URL로 요청하기 정리내용 📑 REST와 RESTful 오늘은 백엔드와 프론트엔드를 다시한번 정리하고 API에 대해서 공부를 했습니다. API를 공부하다보니 REST와 RESTful에 대해서도 궁금해졌습니다. 열심히 구글링을 해보니 그냥 뚝딱 이해하고 넘어갈게 아니라 판단이 됐고 날잡고 정리를 해야겠다라고 생각을 했습니다. 혼자 백엔드 구축할때 API를 만들긴했지만 이렇게 이름을 지을때 신경을 썼나 반성을 하게됐던것같습니다. 기존에 연습하던 API를 열어 REST API URL규칙을 잘 지켰는지 확인해보았는데요. 한두개 틀린게 있어서 해당 부분들을 수정 진행을 했습니다. 앞으로 API 만들때는 URL 규칙을 잘 지켜서 만들어..
· 개발지식
API는 Application Programming Interface의 약자로 똑같은 함수를 다시 만들 필요 없이 원하는 기능의 라이브러리 함수를 사용함으로써 보다 효율적인 프로그래밍이 가능하게 하고 라이브러리에 접근하기 위한 규칙들을 정의한 것을 말합니다. 또한 우리가 필요한 데이터베이스에 직접적으로 접근을 하는 게 아니라 API가 매개체가 되어 데이터베이스에서 데이터를 가져와주고 데이터를 넣어주는 역할을 합니다. API를 들어보셨다면 그다음으로 들어보셨을 단어가 바로 REST API입니다. API는 과거에 HTTP 형식을 따르지 않고 만들었지만 최근에는 HTTP 규약을 잘 따른 API를 만들기 시작했는데 그게 바로 REST API입니다. 그렇다면 RESTful API는 어떤 걸까요? REST API ..
· 개발지식
화면을 구성하고 만드는 작업을 프론트엔드 보이지 않는 서버에서 작업을 하는 게 백엔드라고 많이들 알고 있습니다. 그렇지 않나요? 이 두 개념을 조금 더 이해할 수 있게 설명해보려고 합니다. 프론트엔드 프론트엔드가 하는 일은 어디까지 인걸까요? 화면만 만드는게 프론트엔드 영역일까요? 흔히 클라이언트라고 부르는 부분을 프론트엔드가 작업한다라고 하는데요. 사실 클라이언트는 크게 두 가지 의미를 갖고 있습니다. 첫 번째, 클라이언트는 사이트를 이용하는 사용자를 말합니다. 이때 사용자가 바로 서버에 데이터를 요청하는 것이 아니라 프론트엔드에 요청을 하게 되는 것입니다. 두 번째, 또 하나로는 클라이언트 자체가 프론트엔드인 겁니다. 백엔드 보이지 않는 서버에서 작업을 하는 백엔드, 백엔드는 요청을 받으면 데이터 처..
코드둥
'분류 전체보기' 카테고리의 글 목록 (16 Page)