백엔드 7

[Backend] Dorker 총 정리

이번에 백엔드를 조금씩 맡으면서 도커를 사용할 일이 생겼으나 실제 설명과 그 때마다 검색하는 것으로는 영 이해가 되지 않아 이 참에 한 번 크게 정리하고자 했다.Docker?애플리케이션을 실행하는 상자(컨테이너)를 만드는 도구이 상자(컨테이너) 안에는 애플리케이션과 그것을 실행 하는 데 필요한 모든 것이 들어 있음.즉, 애플리케이션이 어디서든 동일한 환경에서 실행되도록 상자(컨테이너)를 만들어서 이 문제를 해결함Docker는 이사박스 , 즉 물건을 상자에 넣으면, 어디로 이사를 가든 그 상자 안에 있는 물건은 똑같이 유지됨.Docker는 어플리케이션이 어디서든 동일한 환경에서 실행되도록 상자(컨테이너)를 만들어서 이 문제를 해결해줌컨테이너?컨테이너는 Docker가 만든 애플리케이션을 실행하는 상자컨테이너..

BackEnd Skils 2024.12.30

백엔드 입문 (4) - NoSQL DB 알아보기 - 몽고디비

1. 데이터베이스 : 데이터를 체계화하여 관리하는 데이터의 집합 또는 해당 작업을 수행하는 응용 프로그램을 의미함.: 몽고디비는 NoSQL 데이터베이스. 그 중 도큐먼트 타입이다.: NoSQL 데이터베이스는 데이터 모델에 따라 키-밸류 , 컬럼, 도큐먼트 , 그래프 타입으로 분류할 수 있다.2. NoSQL 분류1) 키-밸류 타입 : 키를 기준으로 데이터를 조회하고 값으로 데이터를 저장한다.  ex) Redis, Amazon DynamoDB2) 도큐먼트 타입 : JSON과 유사한 형식의 객체를 담은 데이터를 저장함.ex) MongoDB , Couchbase , Firestore 3) 그래프 타입 : 노드를 사용하여 데이터를 저장하고, 에지를 사용해 데이터 관계를 저장한다.ex) ArangoDB , Amaz..

BackEnd Skils 2024.12.03

백엔드 입문 (3) - npm 과 yarn 패키지

1. npm(node package manager): 자바스크립트용 패키지 매니저.: 유저가 만든 패키지를 등록하는 저장소를 의미하기도 하지만 CLI를 의미하기도 한다. : node.js를 설치할 때 함께 설치된다. 2. 패키지 매니저 : 프로젝트에 필요한 의존성 패키지를 관리하는 프로그램을 의미한다.: 의존성 패키지란 해당 프로젝트를 실행하는 데 꼭 필요한 라이브러리와 모듈을 의미한다. 3. 패키지와 모듈: Node.js에서 패키지는 package.json으로 정의한 파일 또는 디렉토리를 의미한다.: 패키지에는 package.json이 꼭 포함된다. : 결론적으로 package.json으로 정의한 코드 뭉치가 바로 패키지라고 할 수 있다.: 모듈은 node_modules 디렉토리 아래에 있는 파일 또는..

BackEnd Skils 2024.12.01

백엔드 입문 (2) - Express로 웹 어플리케이션 서버 구현해보기

1. URL 구조https://www.example.com:80/path/to/index.html?key1=value1#hash1) http - protocol = 프로토콜 2) www.example.com  - honstname = 도메인명3) 80 - port = 포트 번호4) path/to/index.html - pathname = 웹 서버 자원에 대한 경로5) ?key1=value1 - query = 웹 서버에서 제공하는 추가 매개변수6) #hash - hash = 일종의 북마크(서버에 전송하지 않음) 2. 라우팅 : URL 경로에 따라 다른 응답을 주는 기능3. 라우팅 요청 처리하는 서버 예시// 명령어 실행node app.jsconst http = require("http");const url..

BackEnd Skils 2024.11.30

백엔드 입문 (1) - Node.js로 백엔드 시작해보기

Node.js와 Express에 대한 것은 간략하게 아래 글에서 작성했었다.https://november-itstime.tistory.com/80 Node.js + express로 백엔드 서버 구축 도전기 (1) - 소개회사에서 사내 랜딩 페이지 백엔드를 구축해보라는 과제를 받아서 도전해본 것들을 블로그에 정리하며 개념을 학습하고자 한다.사실 개발하면서 책과 각종 자료들을 참고하긴 했으나 개념 학november-itstime.tistory.com이번 포스팅에서는 조금 더 구체적으로 Node.js에 대해 살펴보고자 한다. 1. Node.js가 서버에서 자바스크립트를 실행하는 방법: Node.js는 V8 자바스크립트 엔진과 C/C++ 등에 의존성을 가진 자바스크립트 런타임이다. 이 때 런타임이란 자바스크립트..

BackEnd Skils 2024.11.27

백엔드 사전 지식 (2) - 백엔드 배포 방법부터 클라우드 서비스까지

1. 배포 방법1) 롤링 배포: 특정 개수의 서버들을 돌아가며 배포하는 롤링 배포: 도커 같은 컨테이너 기술 등 특히 앤서블을 잘 사용하면 구현 가능하다.2) 블루 그린 배포: 똑같은 서버 인스턴스를 띄우고 로드밸런서 설정을 바꿔버리는 블루 그린 배포3) 카나리 배포: 전체 서버의 특정 비율만큼 배포해보고 문제 없는 경우 점점 배포를 늘려가는 방식* 컨테이너란?: 소프트웨어의 실행에 필요한 실행 환경을 독립적으로 운용할 수 있도록 기반 환경 또는 다른 실행 환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체제 수준의 격리 기술 * CI / CD1) CI : 저장소에 코드가 반영되는 것을 말한다.: Github Action , Jenkis 등을 이용한다.2) CD: 실제 프로덕션 환경까지 변경된 코드가..

BackEnd Skils 2024.11.26

백엔드 사전 지식 (1) - DNS 부터 테스트 그리고 배포까지 살펴보기

1. DNS란? : Domain Name System으로 IP는 인터넷에서 주소 역할을 한다. IP는 총 32비트로 이루어진 IPv4와 128비트로 이루어진 IPv6가 있는데 보통 이런 주소값을 일일이 외우지는 않기 때문에 사람이 외우기 편한 언어로 된 주소를 사용한다. 우리는 이것을 도메인이라고 하고 이런 도메인 주소를 IP 주소로 변경하는 것을 DNS라고 한다. 2. DNS와 IP를 사용한 서버 / 클라이언트 통신 방법1) 클라이언트가 DNS 서버로  www.example.com  으로 접속을 시도 하면 DNS 서버로 IP를 물어본다.2) DNS 서버에서 IP를 클라이언트에게 알려준다. 3) 전달 받은 IP로 웹 서버로 요청을 보낸다. 4) 웹 서버가 클라이언트에게 응답을 보낸다. 3. HTTP로 요..

BackEnd Skils 2024.11.25