Computer Science 35

동기와 비동기 개념과 장단점

프로그래밍을 하다보면 동기와 비동기에 대해서 듣게 된다. 데이터를 받는 방식인 동기와 비동기 둘의 개념에 대해 알아보고 차이점에 대해서 정리해보고자 한다. 1. 동기(Synchronous: 동시에 일어나는) 동기는 말 그대로 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 뜻으로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 한다. 때문에 사용자가 데이터를 서버에게 요청한다면 그 서버가 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까지 사용자는 다른 활동을 할 수 없으며 기다려야 한다. 2. 비동기(Asynchronous: 동시에 일어나지 않는) 비동기는 동시에 일어나지 않는다는 듯으로 요청한 결과는 동시에 일어나지 않을거라는 뜻이다. 하나의 요청에 따른 응..

Computer Science 2022.12.30

OSI 7 Layer 디테일 정리(+ TCP/IP 4계층)

OSI 7계층이란 무엇일까? OSI 7계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 표준 모델이다. 7 Layer에서 알 수 있듯 1계층 ~ 7계층으로 구성되어 있다. 하지만 나를 포함한 네트워크를 잘 모르는 사람들은 도대체 7계층이 뭐지..? 싶은 생각이 든다. 그래서 나도 공부할 겸 테코톡 히히님의 강의를 참고해 OSI 7계층과 TCP/IP 4계층에 대해서 정리해볼까 한다. 📝 1계층 - 물리 계층(Physical Layer) 두 대의 컴퓨터가 통신하려면 어떻게 해야될까? 먼저, 모든 파일과 프로그램은 0과 1의 나열이라는 말을 들어본 적이 있을 것이다. 그렇기 때문에 컴퓨터가 통신하려면 0과 1을 주고받을 수 있으면 된다. 전선을 통해 컴퓨터들이 연결되어..

Computer Science 2022.12.30

프로토콜(Protocol)의 개념, 요소, 특징, 계층 구성

프로토콜(Protocol)이란? 프로토콜은 서로 다른 시스템 및 기기 간 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다. 기기 간 통신은 교환되는 데이터 형식에 대해 상호 협의를 요구하기 때문에 프로토콜이 필요한 것이며, 공통의 데이터 교환 방법이나 순서에 대해 정의한 약속, 규칙 체계를 의미한다. 따라서 동일한 프로토콜을 사용하면 기종 및 프로그램이 다르더라도 컴퓨터간 상호 통신이 가능하다. 따라서 정보 통신을 하기 위해 표준 프로토콜을 채택하여 통신망을 구축해야 한다. -> 각각의 프로그램, DB, 파일 서비스 등을 가지고 있는 컴퓨터 네트워크가 데이터를 주고 받기 위해 지켜야 하는 약속을 공식화 한 것 예) 손님이 주문을 받는 사람에게 외계어로 주문을 할 수 없다. 주문을 하기 위해 지켜야 ..

Computer Science 2022.12.29

마이크로서비스 아키텍처(MSA)란?

Monolithic MSA가 등장하기 이전 기존의 시스템은 정보제공을 위한 화면부터 데이터베이스까지 전체가 하나의 흐름으로 묶여있는 Monolithic Architerture이었다. Monolithic Architecture는 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태로 웹 개발을 예로 들면 웹 프로그램을 개발하기 위해 모듈별로 개발을 하고, 개발이 완료된 웹 어플리케이션을 하나의 결과물로 패키징하여 배포되는 형태를 말한다. 장점 개발 초기에는 단순한 아키텍처 구조로 인해 개발이 용이하다. 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않다 배포가 간단하다 쉽게 고가용성 서버 환경을 만들 수 있다. 단점 프로젝트의 규모가 커짐에 따라 애플리케이션 구동 시간이 늘어나고 빌드 및 ..

Computer Science 2022.12.29

객체지향 / 절차지향 프로그래밍이란?

객체지향 프로그래밍. 개발 공부를 시작하면서 너무나도 자주 들었던 말이다. 자주 들었던 말이지만 어떤 사람이 객체 지향 프로그래밍이 정확하게 어떤거야? 라고 물어본다면 대답하기 어려울 것 같아 이번 기회에 개인 공부도 할 겸 정리해볼까 한다. 절차지향 프로그래밍(Procedural Programming) 초기 프로그래밍 방식은 절차적 프로그래밍 방식이었다고 한다. 절차적 프로그래밍 방식은 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법이다. 절차적 프로그래밍은 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다고 한다. 하지만 절차적 프로그래밍 방식은 각 코드가 유기..

Computer Science 2022.12.27
728x90