목록Common (22)
나만의 작은 도서관
프레임워크(Framework) 프레임워크는 소프트웨어 개발을 체계화하고 효율적으로 진행하기 위해 제공되는 구조적 환경을 의미한다. 개발자가 특정 애플리케이션을 개발할 때 필요한 기본 구성 요소, 라이브러리, 규칙을 제공하여, 반복적인 작업을 줄이고 고품질의 소프트웨어를 빠르게 개발할 수 있도록 돕는다. 대표적인 프레임워크로는 다음과 같다. 프레임워크의 종류와 예시웹 프레임워크 : ASP.NET, Django, Flask, Spring, Angular, React.모바일 프레임워크: React Native, Flutter, Xamarin.데스크톱 프레임워크: WPF(.NET Framework), Electron, QT.게임 개발 프레임워크: Unity, Unreal Engine.데이터 처리 및 머신러닝 프..
메모리 컴퓨터에 연산을 처리하는 CPU만 존재하게된다면, 제대로 된 사용이 불가능 할겁니다. 왜냐하면 처리를 해야할 데이터를 기억하는 장치가 존재하지 않기 때문이죠. 물론 CPU내부에 레지스터라는 메모리가 존재하기는 합니다만, 레지스터는 기억 장치에서 가져온 데이터를 임시로 저장하는 장치일 뿐 데이터를 영구적으로 저장하는 역할이 아닙니다. 따라서, 계산을 위한 여러 데이터들을 기억하는 "메모리"가 필요한 것입니다. 대표적으로 CPU가 접근하는 메모리 RAM이 있습니다.RAM (Random Access Memory)RAM은 Random Access Memory의 약자로, 임의 접근 기억 장치라는 의미를 가지고 있습니다. 하지만, 이러한 의미는 잘못되었습니다. 그 이유는 RAM과 구분되는 ROM종류의 메모리..
CPU란?CPU는 Central Processing Unit의 약자로, "중앙 처리 장치"라는 의미를 갖고 있으며, 컴퓨터 시스템의 중심적인 구성 요소입니다. CPU는 컴퓨터 내의 모든 연산 및 제어 기능을 수행하거나, 다른 하드웨어 장치들과의 상호작용을 조율합니다. 이를 통해 컴퓨터는 사용자 명령을 처리하고 프로그램을 실행할 수 있습니다. CPU의 기본 구성 요소CPU의 기본 구성 요소는 크게 ALU, 레지스터, 제어 장치(또는 제어 유닛) 3가지로 이루어져 있습니다. 이 3가지는 CPU내부에 존재하는 버스를 통해 서로 데이터를 교환하며 연산을 처리하게 됩니다. 산술 논리 장치 또는 ALU (Arithmetic Logic Unit)트랜지스터가 집적된 논리회로로 이루어진 장치입니다. 이름에서 볼 수 있..
유의사항: 해당 글은 공부한 내용을 정리하는 용도이므로, 수정이 필요할 경우 내용의 수정이 있을 수 있습니다.protoBufprotoBuf는 Protocol Buffer의 약자이며, Google에서 개발한 직렬화 데이터 구조이다. 효율적인 데이터 교환을 위해 설계되었으며, 특히 네트워크 통신과 저장 시스템에서 널리 사용됩니다. 이런 protoBuf는 여러 가지 데이터 구조 중 하나이기 때문에 자주 접해본 XML, JSON과 방식과 유사하다고 볼 수 있습니다. 직렬화 (serialization)와 역직렬화( Deserialization )protoBuf가 직렬화 데이터 구조인만큼 우선 직렬화와 반대되는 개념인 역직렬화가 무엇이지 알아야합니다.직렬화는 객체 또는 데이터 구조를 연속적인 바이트 스트림(byte..
유의사항: 해당 글은 공부한 내용을 정리하는 용도이므로, 수정이 필요할 경우 내용의 수정이 있을 수 있습니다. 개요이번에 바이트 배열을 이용한 TCP 통신을 배우던 중 빅 엔디안 방식과 리틀 엔디안 방식이 있다는 것을 알게되었다. 자주보던 용어들이니 정리해보고자 이번 기회에 글로 기록해볼까 한다.상위바이트 하위바이트빅 엔디안과 리틀 엔디안을 알기 전에 패킷에서 상위 또는 하위 바이트 어느 위치에 있는 바이트를 의미하는 지 알아두면 좋다. 우리가 메모리의 비트패턴에서 최상위 비트가 가장 왼쪽에 있는 비트(leftmost bit)인 것처럼 패킷에서 최상위 바이트도 가장 왼쪽에 있는 바이트를 의미한다. 반대로, 최하위 바이트는 가장 오른쪽에 있는 바이트를 의미한다.빅 엔디안(Big Endian)빅 엔디안은 이..
인터넷에서 정보교환의 방식은 TCP와 UDP로 나눠집니다. TCP는 HTTP, FTP, SSH, SMTP에 활용되며, UDP는 DNS, SNMP, SIP, RTSP등에 활용되어 네트워크 노드정보 교환이나 미디어 처리에 활용됩니다. TCPTCP는 컴퓨터 간 접속과 송수신의 신뢰성이 보장되는 환경에서 통신하기 위한 프로토콜로, 데이터 전송 전에 통신을 하는 양쪽이 handshake과정을 통해 연결을 확립하고, 데이터를 신뢰성 있게 전달하는 것을 목표로 합니다. TCP는 신뢰성있는 통신을 위해 데이터 송수신 과정에서 재전송을 통한 오류 제어, 흐름 제어, 혼잡 제어 등의 기능을 제공합니다. 정보를 제공하는 서버와 그 정보를 요청하는 클라이언트의 관계에서 TCP는 세션접속, 데이터 송수신, 세션해제로 진행됩니다..