목록분류 전체보기 (178)
한 걸음씩 기록하며
1. Socket 소켓은 컴퓨터 네트워크를 경유하는 프로세스 간 통신(IPC)의 종착점(End Point)이다. 오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 이는 네트워크를 이용해 데이터를 송수신하고 싶은 프로그램들은 소켓을 거쳐야만 한다는 것을 의미한다. End Poing : 아이피 주소와 포트 번호의 조합을 의미한다. 모든 TCP 연결은 2개의 엔드 포인트로 유일하게 식별되어질 수 있다.OSI OSI 7 계층의 어플리케이션 계층(application layer)에 존재하는 네트워크 응용 프로그램들은 데이터를 송수신 하기 위해 소켓을 거쳐 전송 계층(transport layer)의 통신망으로 전달함으로써 데이터를 송수신 하게 된..
1. IP 인터넷을 통하여 컴퓨터(호스트)가 서로 통신 하기 위해서 먼저 필요한 것이 무엇일까? 바로 인터넷 주소(IP Address)이다. 인터넷 주소는 IPv4(32비트)로 구성되어있다. (ex. 216.58.200.14) 2. DNS 이전 시절 : DNS는 왜 만들어졌을까? 1) IP 과거 다른 컴퓨터와 통신하기 위해서는 ip 주소를 외우거나 별도로 기록해두었다가, ip 주소를 기입하여 접속해야했다. 이 방법은 ip가 많지 않은 초기에는 가능하였지만, ip주소가 많아짐에 따라 사람이 기억하거나 알아보기 어려운 12자리의 숫자의 ip 주소는 굉장한 불편을 초래하였다. 2) Domain과 Hosts 이에 사람이 기억하기 쉽게 ip에 이름을 부여하는 Domain이 등장한다. 가령 위에서 언급한 216...
[NPM] Node Package Manage의 약자로 자바스크립트 개발자들이 유용한 패키지를 빠르고 쉽게 공유할 수 있게 하는 패키지 매니저이다. 패키지란 자바스크립트 개발자들이 만든 일련의 유용한 도구 및 프레임 워크를 의미하는 것으로, NPM은 이러한 패키지를 관리하는 장소이자 도구, 방법이다. 현재 NPM은 자바스크립트 런타임 Node.js의 기본 패키지 매니저로 사용되고 있다. NPM은 두 가지 주된 요소로 구성된다. 1) 패키지 출시 및 다운로드를 위한 CLI(Command-Line Interface) 도구 자바스크립트 패키지 호스팅을 위한 온라인 저장소 [package.json] NPM가 패키지를 줍고 받는 장소라면, package.json은 주고 받는 패키지에 대한 상세 설명서라고 할 수 ..
https://haksae.tistory.com/88 [REST] [REST API] [RESTful] [퍼옴] 출처 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html 글 자체가 너무 좋아서, 출처 내용을 퍼와서 정리만 하겠습니다. [Network] REST란? REST API란? RESTful이란? - Heee's Development Blog.. haksae.tistory.com 예전에 REST에 대해서 퍼왔던 글이 있는데, 이 글에 덧붙여서 RESTful API를 정리해보려한다. 0. [REST API] REST 기반으로 서비스 API를 구현한 것으로, 서버 데이터를 구조적으로 사용하기 위한 API 디자인을 REST API라고 한다. ..
정의 - 평문(Plaintext) : 해독 가능한 형태의 메시지(암호화전 메시지) - 암호문(Cipertext) : 해독 불가능한 형태의 메시지(암호화된 메시지) - 암호화(Encryption) : 평문을 암호문으로 변환하는 과정 - 복호화(Decryption) : 암호문을 평문으로 변환하는 과정 - 전자서명 - 송신자의 Private Key로 메시지를 서명하여 전달 - 수신자측에서는 송신자의 Public Key를 이용하여 서명값을 검증 암호화는 평문을 특정 key를 이용해 해독할 수 없는 형태로 변경하는 것을 뜻한다. 암호화 기법에는 크게 양방향과 단방향 암호화가 있는데, 평문을 암호화 한 암호문을 반대로 복호화 할 수 있는지 여부에 따라서 양방향, 단방향이 나눠진다. [양방향 암호화] 양방향 암호화는..
[시간 표현과 상태 기억] 📋 Logic 조합 논리 (Combinational Logic) : 현재 출력은 현재 입력의 함수 순차(순서) 논리 (Sequential Logic) : 현재 출력은 현재 입력과 과거의 입출력에 영향을 받는다 주기적 함수의 예시 : 지구의 자전 지구가 한 바퀴를 다 돌면 이를 하루라고 부른다. 하루를 나누어 구분하면 하루는 86,400초이므로, 1초는 지구 자전의 1/86,400이라고 정의 할 수 있다. Q. 그렇다면 디지털 회로에서는 시간을 어떻게 만들어내는가? 👉🏻 전자공학적으로 주기적인 전기 신호를 만들어내는 방식을 사용 [ 발진자(oscilator) ] 발진자는 인버터의 출력을 그림과 같이 입력에 연결하는 트릭을 이용하여 동작 feedback(되먹임) : 인버터의 출력이..
1. body-parser const express = require('express'); const app = express(); app.post('/',function(req,res){ var post = req.body; console.log(post) }) Node.js, express를 사용하여 위의 요청에 대한 응답을 처리하면, console.log(post)는 undefined로 출력된다. 즉 req.body 부분이 undefined로 처리된다는 것이다. 그러면 이를 어떻게 해결해야할까? 바로 "body-parser"이다. "body-parser"는 node.js의 모듈로써, 클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출해주는 역할을 한다. 2) body..
💪🏻 목표 1) Node를 이용해서 웹 프레임워크를 구성 2) mongoDB와 mongoose를 이용하여 원하는 데이터베이스를 만들고 활용 3) express를 기반으로 CRUD(Create, Read, Update, Delete) 기능이 포함된 REST api 작성 4) AWS에 express와 mongoDB 서비스를 배포 🙌🏻 아쉬운 점 node로 작업한 첫 프로젝트고 아직은 미숙해서 코드가 너무 난잡한 느낌이다. 그리고 에러 코드 출력에 대해서 아직 완벽하게 구현을 못했다. (구현하다가 다른 에러가 발생해서 애쓰다가 우선 마무리했다.) 다음 프로젝트에서는 CRUD를 좀 더 깔끔하게 구현하는 방법. 쓸떼 없는 코드로 낭비하지 않도록 노력해야겠다. 더불어 로그인 관련은 아직 배우지 않았는데 그것에 대..