2024/12 14

네트워크 토폴로지란?

네트워크 토폴로지란? 네트워크를 배치하는 방식으로, 링크와 노드들이 어떤 식으로 배치되어 서로 연결되는지를 물리적 혹은 논리적으로 나타낸것입니다.  네트워크 토폴로지가 중요한 이유에 대해서 알아보자.기업의 필요에 맞게 네트워크를 적절히 배치하면 자원을 효율적으로 분배하고 관리할 수 있어안정성 향상과 운영 및 관리비를 줄이는데 효율적입니다.  네트워크 토폴로지의 2가지 범주 - 물리적 : 전선, 케이블 등으로 실제 연결되어 배치된 것을 나타냅니다. - 논리적 : 어떤 노드가 어떤 방식으로 다른 노드들과 서로 연결되어 있는지, 또한 데이터가 네트워크를 통해 어떻게 전송되                는지 등에 의해 결정됩니다. 논리적 네트워크 토폴로지에는 모든 가상 리소스와 클라우드 리소스가 포함됩니다.  네..

네트워크와 트래픽에 관해서 알아보자

네트워크란? 노드(node)와 링크(link)가 서로 연결되어있는 덩어리를 의미합니다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고링크는 노드와 노드를 연결하는 유선 또는 무선의 선(WIFI, LAN 등)을 의미합니다.  트래픽(traffic)이란? 트래픽은 특정 시점에서 링크 내에서 흐르는 데이터의 양을 말한다.예를들어 서버에 저장된 파일(문서, 이미지, 동영상 등)을 클라이언트(사용자)가 다운로드 시 발생되는 데이터의누적량을 뜻합니다. 트래픽과 처리량을 헷갈릴 수 있는데 이렇게 이해하면 됩니다. - 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다. - 처리량이 많아졌다 = 처리되는 트래픽이 많아졌다. - 단위 : bps(bits per second) 초당 전송 또는 수신되는 비트 ..

컨테이너와 도커에 대해서 알아보고 최신 개발 트렌드 따라잡자

이번 글은 요즘 개발자들 사이에서 가장 많이 이용되고있는 도커에 대해서 알아보자. 도커(docker)란?어플리케이션 실행에 필요한 모든 리소스들을 도커안의 컨테이너에 담아놓고 관리하는 툴입니다. 그렇다면 컨테이너는 무엇인가?출처 - https://www.youtube.com/watch?v=LXJhA3VWXFA 어플리케이션을 실행하기 위해서는 소스코드뿐만 아니라 환경설정도 중요한데요자신의 컴퓨터에서 돌아가는 어플리케이션이 왜 서버에서 실행을 하면 안되는 문제를 해결하기 위해 출처 - https://www.youtube.com/watch?v=LXJhA3VWXFA 위의 그림과 같이 컨테이너 내부에 어플리케이션의 실행에 필요한 모든 리소스를 통으로 넣어 저장하는 것이다.  이렇게 도커를 이용하면 개인 컴퓨터와 ..

CI/CD 파이프라인 구축이란?

흔히들 CI/CD를 통해 파이프라인을 구축하여 지속적으로 배포를 해야한다. 라는 말을 많이 들어보셨을 겁니다.도대체 CI/CD란 무엇인가에 대해서 알아봅시다.    가장 먼저 CI/CD를 사용하는 이유에 대해서 알아봅시다.만약 실제 서비스중인 어플리케이션이 있다고 해봅시다. 개발자1이라는 사람이 코드를 수정 후 충분한 테스트를 하지 않고현재 운영하는 서버에 다이렉트로 커밋을 했는데 오류가 발생해 서버가 내려가는 사태가 발생할 수 있습니다.이러한 상황을 방지하기 위해 CI/CD 파이프라인 구축을 통한 운영서버에 지속적 통합 및 배포가 이루어져야합니다.  CI(Continuous Integration)란? 지속적으로 애플리케이션의 새로운 코드들이 테스트 및 빌드가 되어 통합 레퍼지토리에 저장되는 것을 의미합..

클라우드 컴퓨팅에 대해 알아보자.

이전 글에선 클라우드에 대해 알아보았다.그렇다면 이번시간엔 클라우드 컴퓨팅에 대해 알아보자. 클라우드 컴퓨팅이란?전문적으로 서버를 제공해주는 업체에서 가상의 서버를 제공받고가상의 서버에 프로그램 및 데이터를 저장해두고 필요할 때 마다 서버에서 불러오는 작업을 말하는데요 클라우드 컴퓨팅 서비스 방식에는 크게 3가지가 존재한다. 출처 - https://www.youtube.com/watch?v=exewHoMNjsQ 첫째, IaaS(Infrastructure as a Service, 인프라 기반 서비스)기본적인 컴퓨팅 인프라를 제공하는 서비스로, 가상화된 인프라자원(서버, 스토리지, 네트워크 등)을 제공하는 서비스모델 입니다. 사용자는 필요한 용량만큼 확장 가능한 리소스를 선택하고 구성할 수 있습니다. 둘째,..

클라우드란 무엇인가?

클라우드란? 인터넷상의 가상의 서버에 프로그램(소프트웨어 및 데이터 등)을 저장해두고 필요할 때 마다 꺼내와 쓰는 기술인데요. 클라우드가 없던 시절에 소프트웨어 및 데이터들을 하드웨어에 저장하였습니다.시대가 발전함에 따라 데이터량은 방대해지고 필요한 소프트웨어들이 점점 무거워지기 시작합니다. 예를들어, 기존 이용고객이 하루 100명이던 쇼핑몰이 있습니다.평소에는 100명에 맞게 인프라환경을 증설해두고 운영하던 중 블랙프라이데이 때 이용객이 폭발적으로증가해 하루 10만명이 들어오게되어었습니다. 회사는 급히 시간과 비용을 들여 서버를 증설하고쇼핑몰이 원할하게 돌아가도록 만들었지만 블랙프라이데이가 지나고 다시 이용객이 줄어들인돈에비해 손해를 보게 되었습니다.이러한 문제를 해결하기위해 서버를 증설해두고 필요할 ..

API란?

API(API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자컴퓨터 사이에 있는 중계계층을 의미한다.가령 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 가정했을 때어떻게 통신(HTTP, HTTPS 프로토콜)할 것 인지?,어떠한 데이터형식(XML,JSON)으로 주고 받을 것 인지?,어떠한 방식(GET, POST) 등에 대한 방법이 정의된 중계계층이다.  API의 작동방식 사용자가 브라우저를 통해 서버에 요청을 하게되면 API가 중계계층 역할을 하며 요청을 처리하는 것을 볼 수 있습니다.직접 서버의 데이터베이스에 접근하는 것을 방지하기도 하는 것을 볼 수 있습니다.   API의 종류 - private : 내부적으로 사용됩니다...

XML이란?

XML(Extensible Markup Language)로 마크업 형태를 쓰는 데이터 교환 형식입니다. 마크업이란?마크업(markup)은 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법이다.(속성부여도 가능) 첫 이별 그날 밤 아이유 이런엔딩 아이유  마크업의 구성요소 1. 프롤로그: 버전,인코딩2. 루트요소(단 하나만 존재)3. 하위요소들   HTML과 XML의 차이 1. HTML의 용도는 데이터를 표시/ XML은 데이터를 저장 및 전송2. HTML에는 고유한 태그를 만들고 정의가 가능함3. XML은 대/소문자를 구분하지만 HTML은 구분하지 않음    JSON과 XML의 차이..

JSON이란?

JSON(JavaScriptObjectNotation)은 Javascript객체 문법으로 구조화된 데이터교환형식, python, javascript, java 등여러 언어에서 데이터 교환형식으로 쓰이며 객체문법말고도 단순 배열, 문자열도 표현 가능합니다. 1.Javascript객체문법-키(key), 값(value)으로 구성됨-이미 존재하는 키를 중복선언하면 나중에 선언된 값이 덮어쓰는구조 ex)const player = { "soccerplayer" : [{ "name" : "kaka", "position" : "attacker" }, { "name" : "kimminjae", "position" : "de..

데이터베이스 인덱스(INDEX)란?

테이블에 대한 검색 성능을 높혀주기 위한 자료구조이다. 예를들어, 00도서관에서 책을 찾으려고 한다.00도서관에는 책이 10만권이 넘게 있는데 우리는 그 책들을 일일이 하나씩 뒤져볼 수 없다.그렇기에 책에 정해진 번호 ( ex.001.가.023 )를 찾아가면 보다 수월하게 원하는 책을 찾을 수 있다. 위와 같이 테이블의 무수한 데이터를 일일이 뒤져서 찾기보다는인덱스를 이용하면 원하는 데이터를 보다 손쉽게 찾을 수 있다. 인덱스의 장점 1. 조건 검색 WHERE절의 효율성 테이블을 만들고 안에 데이터가 쌓이게 되면 테이블의 레코드(row : 행)는 내부적으로 순서가 없이 뒤죽박죽 저장이 된다. 이렇게 되면 WHERE절에 특정 조건에 맞는 데이터들을 찾아낼 때도 레코드의 처음부터 끝까지 다 읽어서 검색 조건..