OSI 7 계층 7계층으로 나누어진 이유? 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 해당 단계만 수정할 수 있기 때문이다. 1. 물리(Physical) 리피터, 케이블, 허브 등등 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간. 데이터를 전송하는 역할만 진행한다. 2. 데이터 링크(Data Link) 브릿지, 스위치 등등 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할. Mac주소를 통해 통신한다. 프레임에 Mac주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다. 3. 네트워크(Network) 라우터, IP 데이터를 목적지 까지 가장 안전하고 빠르게 전달하는 기능을 담당한다. 라우터를 통해 이동할 경로를 선택하여 IP주소를 ..
Clean Architecture Clean Architecture란? 클린 아케틱처는 Uncle Bob이 2012년 엔터 프라이즈 아키텍처에서 논의 되던 내용을 집약 시킨 개념이다. 클린 아키텍처는 두가지 관점에서 볼 수 있다. 아키텍처 설계의 철학과 원칙 SOLID원칙을 중심으로 SW설계에서 중요하게 거론되어온 다양한 원칙들을 일목요연하게 정리한다. 과녁 그림으로 유명한 아키텍처의 청사진. 이는 Hexagonal Architecture, Onion Architecture 등 당시 널리 알려진 아키텍처들의 공통된 설과물을 정리한것이다. 모바일 부터 백엔드 까지 모든 소프트웨어에 일반적으로 필요한 내용을 담고 있으며, 각 계층을 어떻게 나누고 어떤 요소로 구성할 것인가에 대한 원칙들을 알려준다. 가운데로..
RAM, ROM 그리고 메모리 구조 RAM, ROM RAM(Random Access Memory) 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치. 현재 사용 중인 프로그램이나 데이터가 저장됨. 전원이 차단되면 저장된 데이터가 제거되는 휘발성 기억장치. 일반적으로 주기억장치 또는 메모리 라고 한다. ROM(Read-only Memory) 이름처럼 읽기전용 메모리. 무언가 작성하려면 특수 기기가 필요하고, 삭제나 수정이 불가능한 기억장치. Rom 은 주기억 장치 보다 변경 가능성이 없는 시스템 소프트웨어를 저장시키는데 이용한다. 메모리 구조 프로그램이 실행되는 과정 사용자가 프로그램 실행을 요청한다. 프로그램의 정보를 읽어 메모리(RAM)에 로드(load). 프로그램이 실행되면 운영체제는 메모리(RAM)..
알고리즘 과 자료구조 여행 가방을 예시로 들어보자. 어떻게 효율적으로 물건을 더 넣을수 있을까? = 자료구조 옷등 물건들을 어떤 순서로 넣어야 할까? = 알고리즘 테트리스를 예시로 들어보자. 적절한 모양의 블럭 = 자료구조 요리조리 돌리고 옮겨서 게임 클리어 = 알고리즘 이렇기 때문에 알고리즘과 자료구조는 뗄레야 뗄수 없는관계이다. 알고리즘 문제해결을 위한 절차, 방법 어떠한 문제를 해결하기 위한 여러 동작들의 모음 시간복잡도 알고리즘이 실행되는데 소요되는 시간분석 점근 표기법(대문자 O 표기법) 예시 O(n) 알고리즘의 종류 정렬 정렬 알고리즘 중에서도 종류가 굉장히 많다. 어떤식으로 정렬할것인지 에따라 성능이 달라진다. 선택 정렬 O(n2) 버블 정렬 O(n2) 삽입 정렬 O(n2) 병합 정렬 O(n..