BackEnd Skils 11

[Backend] Dorker 총 정리

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

BackEnd Skils 2024.12.30

백엔드 입문 (5) - Express 아키텍처 구조

1. 마이크로 프레임워크 vs 풀스택 프레임워크: 익스프레스는 마이크로프레임워크 즉, 미니멀리스트 웹 프레임워크다. 최소 기능을 가지면서 필요한 기능을 플러그인으로 확장하는 프레임워크이다. 장고, 스프링 같은 풀스택 프레임워크들은 디렉터리 구조를 강제하지만 마이크로 프레임워크는 폴더 구조를 강제하지 않는다. 2. 3계층 구조 아키텍처: 서버 개발에서 가장 보편적으로 사용하는 3계층 구조 아키텍처를 적용하고자 한다. MVC 패턴을 적용하기도 좋기 때문이다.: 컨트롤러, 서비스 , 데이터 액세스 계층을 가짐.: 컨트롤러 계층에서는 뷰에서 넘어온 요청을 받아 권한 체크, 유효성 검증 등을 한 후 서비스 계층으로 넘김.: 서비스 계층에서는 비즈니스 로직을 처리한다. 이렇게 비즈니스 로직을 분리하면 각각 다른 컨..

BackEnd Skils 2024.12.08

백엔드 입문 (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

백엔드 사전 지식 (3) - 자바스크립트 생태계

나는 node.js로 백엔드를 구축 할 계획이기 때문에 자바스크립트 생태계에 대해 간단히 알아보고자 한다.1. 자바스크립트 생태계 : 1995년에 넷스케이프에서 HTML을 동적으로 표현할 목적으로 만든 모카라는 이름의 스크립트 프로그래밍 언어로 탄생했다. : ECMAScript에 정의되어 있으며 시작은 웹 브라우저를 위한 언어였다.: 현재 ECMAScript의 최신 버전은 ECMA 2021이며 지금은 node.js와 같은 런타임 환경이 출현하면서부터 백엔드에서도 쓸 수 있게 되었다. 2. 패키지 매니저 : npm과 yarn이 대표적이다. : npm은 Node.js를 설치하면 자동으로 설치된다. 그러나 용량 문제, 패키지 내려받는 속도 문제, 보안 문제 등이 있어 개선된 yarn 혹은 pnpm을 많이 사용..

BackEnd Skils 2024.11.26

백엔드 사전 지식 (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

Node.js + express 로 백엔드 구축 도전기 (2) - 프로젝트 셋팅

https://november-itstime.tistory.com/80 node.js + express로 백엔드 서버 구축 도전기 (1) - 소개회사에서 사내 랜딩 페이지 백엔드를 구축해보라는 과제를 받아서 도전해본 것들을 블로그에 정리하며 개념을 학습하고자 한다.사실 개발하면서 책과 각종 자료들을 참고하긴 했으나 개념 학november-itstime.tistory.com이전 글에 이어 작성하지만 이젠 본격적으로 프로젝트 셋팅을 해보았다. 이 모든 지식의 기반은 제로초님의 Node.js 책이였다. 비록 14버전이지만 기본 개념은 일맥상통한다고 생각이 되어 많이 참고하고 배웠다. 또한 사수분께서도 Express 는 규격화된  표준 모델이 없기 때문에 이를 셋팅하는 것 자체가 어렵다고 말씀해주셨고 표준 모델..

BackEnd Skils 2024.09.06