목록분류 전체보기 (96)
Will find a way
목차1. 버퍼객체2. 문자 집합 2 - 1 아스키 코드 (ASCII) 2 - 2 유니코드 (Unicode) 2 - 3 인코딩 규칙3. 스트림과 버퍼 1. Buffer 객체NodeJs의 내장 객체 Buffer 공식문서바이너리 데이터의 스트림을 읽거나 조작하는 메커니즘 octet 스트림(일반적으로 8bit 형식으로 된 데이터를 의미) 과의 상호작용을 가능하게 하기 위해 만들어졌다.Buffer 클래스는 Binary Data 들의 스트림을 직접 다루기 위해 NodeJs API에 추가된 것 Binary Data2진수 참고 자료https://jakapark.tistory.com/38 2진수와 비트 / 16진수목차1. 비트(bit)란?2. 2진수3. 16진수 1. 비트(bit)란?비트는 컴퓨터에서 데이터를 표현..

목차1. 비트(bit)란?2. 2진수3. 16진수 1. 비트(bit)란?비트는 컴퓨터에서 데이터를 표현하는 가장 작은 단위다. "비트"라는 용어는 "binary digit(2진 숫자)"의 줄임말로, 0 또는 1의 두 가지 값중 하나를 나타낸다. 비트는 주로 8개를 묶어서 사용되며, 이를 바이트(byte)라고 한다. 바이트는 컴퓨터에서 가장 기본적인 데이터 단위 중 하나이며, 문자나 숫자와 같은 정보를 표현하는 데에 사용된다. 2. 2진수 (Binary)- 2진수는 0과 1 두 개의 숫자만을 사용하여 숫자를 표현한다.- 각 자리는 2의 제곱으로 증가한다. 가장 오른쪽 자리부터 2^0, 2^1, 2^2, ... 2^n 순으로 진행된다. ex) 3. 16진수 (Hexadecimal)- 16진수는 0부터 9까..
// nodejs의 내장 모듈// net 내장모듈을 제공// TCP 소켓을 만들어서 사용// TCP 연결을 맺는 프로토콜을 만들 수 있다.//모듈 가져오기const net = require("net");const PORT = 8000;// 서버 객체 생성const server = net.createServer((client) => { // 클라이언트가 접속하면 보내는 데이터를 받기 위해서 // "data" : 데이터를 전송하게되면 네트워크에 전송된 데이터 // 바이너리 형식으로 전송이 된다. 클라이언트가 보낸 데이터는 Buffer("버퍼") 형태로 전송 // 서버 측에서는 해석해서 문자열로 변환해서 사용한다. // 출력된 데이터는 인코딩을 해서 데이터를 표현 해주면 되는 것 // 인코딩 u..

목차1. TCP2. HTTP3. HTTP와 TCP 의 관계 HTTP와 TCP 프로토콜은 인터넷 통신에서 핵심적인 역할을 하는 두 가지 프로토콜이다. 이들의 역할과 작동 방식을 이해하는 것은 네트워크와 웹 기술을 이해하는데 매우 중요하다 1. TCP (Transmission Control Protocol)TCP는 전송 제어 프로토콜로, 데이터를 신뢰성 있게 전달하는 역할을 한다. 1. 연결 지향적 (Connection-oriented)TCP는 데이터를 전송하기 전에 송신자와 수신자 간에 연결을 설정합니다. 이 과정은 3-way handshake라고 한다 3-way handshake1. 클라이언트가 서버에 연결 요청(SYN)을 보낸다.2. 서버가 클아이언트의 요청을 승인하고 연결 수락(SYN-ACK)을 보낸..
OSI7 계층이란?OSI 7계층 모델은 네트워크 통신을 다양한 계층으로 나누어 설명한 모델이다. 각 계층은 특정한 기능을 담당하며, 상호작용을 통해 데이터가 송수신된다. *컴퓨터를 다루다보면 계층이라는 말이 자주 언급될것이다. 이는 의존한다는 것을 의미하며 순서를 지켜야한다는 의미가 포함되어 있다 1. 물리 계층 (Physical Layer)역할: 전기 신호, 광 신호 또는 무선 신호를 통해 실제 데이터 전송.예: 케이블, 라우터, 허브비유: 도로와 같은 역할로, 데이터가 이동하는 물리적 경로 2. 데이터 링크 계층 (Data Link Layer)역할: 물리 계층을 통해 전송된 데이터의 오류 감지 및 수정, 프레임 단위로 데이터 전송예: 스위치, MAC 주소비유: 도로의 차선, 데이터가 충돌하지 않고 규..

목차1. 모듈이란?2. require3. module.exports / exports 1. 모듈이란?- 모듈은 특정한 기능을 하는 함수나 변수들의 집합으로 프로그램의 가장 작은 단위(모듈)를 의미한다.- 만약 하나의 파일에 기능의 내용을 모두 작성하면 유지보수도 힘들고 변수명도 겹치기도 하는데 이를 방지하는데 유용하다. 2. requireNodeJs 에서 require 메서드를 통해 외부 모듈을 가져올 수 있다.형태는 괄호 안에 파일의 경로를 넣는데 다음과 같다.const a = require("./index") // index는 파일의 이름이고// js파일의 js는 생략이 가능하다 3. module.exports 와 exports1) module.exportsmodule을 내보낼 때 사용. index..

NodeJs REPL이란?REPL(Read - Eval - Print - Loop) 의 약자로 해석하면 '읽기 평가 출력 반복'의 약자이다. 즉 코드를 평가하고 코드의 실행결과를 출력해주는 것을 반복해주는 환경을 의미한다. (NodeJs에서 코드를 직접 입력할 수 있는 입출력 장치) REPL 사용법(VS code 기준)Ctrl + ` 눌러 터미널 실행을 한다.현재 폴더 경로가 맞는지 확인을 한다명령어 창에 "node 파일명"을 입력 후 실행한다. VS code로 js파일을 REPL 모드를 한 결과창이다. REPL 모드를 실행 후 명령어 창에 입력이 안되는 것을 확인할 수 있는데REPL 모드를 종료를 하려면 Ctrl + C 또는 Ctrl + D 를 누르면 된다.

들어가기 전NodeJS를 통해 우리가 서버를 만들 수 있다. 그래서 많이들 오해하는 것이 있다. "NodeJs는 서버" 라는 것이 그 대표적인 예시다. 사실 NodeJs는 서버가 아니다. 그럼 NodeJs는 무엇이며 어떤것인지 알아보도록 하겠다. [이 글은 작년에 포스팅 했지만 내가 부족한 것을 다시 채워넣고 다시 상기시키고자 글을 다시 수정하려고 한다.] [출처] : https://www.youtube.com/watch?v=i47_HXjGjA0 목차1. NodeJs란?2. NodeJs의 특징3. NodeJs의 장점 1. NodeJs 란?위에서 언급했듯이 NodeJs는 서버가 아니다. JavaScript를 실행 시켜주는 런타임 환경 중 하나다. 원래 JavaScript는 브라우저에서만 실행할 수 있는 언..

목차1. 동기와 비동기2. 자바스크립트의 비동기 처리3. promise 객체4. async 와 await 1. 동기와 비동기동기- 직렬적으로 작업을 수행한다.- 요청을 보낸 후 응답을 받야지만 다음 동작을 실행한다. 작업을 처리하는 동안 나머지 작업은 대기한다. 비동기- 병렬적으로 작업을 수행하는 방식이다.- 요청을 보낸 후 응답의 수락 여부와는 상관 없이 다음 업무가 동작하는 방식이다.- 비동기 처리를 위해 콜백 패턴을 사용하면 콜백함수가 중첩되어 복잡도가 높아질 단점이 있다. 이를 콜백지옥이라고 부른다. (가독성이 나빠질 수 있다.) 2. 자바스크립트의 비동기 처리Web API Web API는 브라우저에서 제공되는 API. 자바스크립트 엔진에서 정의되지 않았던 setTimeout이나HTTP 요청(aj..

1. Git 브랜치브랜치를 이용하면 한줄의 커밋으로만 작업을 하는 것이 아닌 여러 줄의 커밋을 만들어 줄 수 있다.잘 돌아가는 코드의 내용을 가지고 있는 master를 한 곳에서만 작업하지 않고 새로운 브랜치를 만들어서 작업한다. # branch 만들기git branch 브랜치 이름# branch 생성과 이동git switch -c 브랜치 이름# branch 삭제git branch -d 브랜치 이름# brnach 삭제가 안되는 경우가 발생할 경우 강제로 삭제git branch -D 브랜치 이름# branch 이름을 바꿀 경우git branch -m 기존이름 바꿀이름 2. 브랜치 병합 # master 위치로 헤더를 이동git switch master# branch 병합git merge 브랜치이름# pull..