본문 바로가기

전체 글92

[컴퓨터 구조] 명령어와 명령어의 구조 1. 소스 코드와 명령어모든 소스코드는 컴 내부에서 명령어로 변환됨이 언어가 어떻게 명령어가 되어 실행되는가?1.1. HighLevel 언어와 LowLevel언어고급 언어사람을 위한 언어대부분의 프로그래밍 언어가 고급언어임저급 언어컴이 직접 이해, 실행 가능한 언어기계어기계어는 0, 1의 명령어 비트로 이루어진 언어임즉, 기계어는 0, 1로 이뤄진 명령어 모음어셈블리어기계어를 읽기 편한 형태로 번역한 언어1.2. 컴파일 언어와 인터프리터 언어고급 언어는 어떻게 저급 언어로 변환되는가?컴파일 방식인터프리트 방식컴파일 언어컴파일 언어는 컴파일러로 소스코드 전체가 저급언어로 변환되어 실행되는 고급언어임대표적 예시 : C언어컴파일러가 소스 코드(고급언어) → 목적코드(저급언어)로 바꿔주는 게 컴파일임오류가 1개.. 2024. 8. 3.
[C++] 인터페이스클래스와 추상클래스 개념 * https://learn.microsoft.com/ko-kr/cpp/cpp/abstract-classes-cpp?view=msvc-170 추상 클래스(C++)자세한 정보: 추상 클래스(C++)learn.microsoft.com  요약 :인터페이스 클래스모든 메서드가 순수가상함수로 선언된 클래스 (순수가상함수는 =0으로 선언)즉, 구현 없이 선언만 되어 있음다중 상속 지원함하나의 클래스가 여러 인터페이스 구현 가능모든 메서드는 public추상클래스하나 이상의 순수가상함수를 갖고 있음일반멤버 함수도 포함할 수 있는 클래스임 참고 자바, C#은 인터페이스 기능 제공C++은 제공X. 추상클래스를 순수가상함수만으로 선언해서 인터페이스처럼 사용함 2024. 8. 2.
[네트워크] TCP와 UDP의 특징 1. TCPTransmission Control Protocol요약 : TCP는 신뢰성 보장연결 설정한 다음 데이터 주고 받음그래서 오버헤드가 크고 속도 느릴 수 있지만 데이터의 정확성과 순서가 중요할 때 씀특징 :연결 지향적: 통신을 시작하기 전에 연결을 설정합니다.신뢰성: 데이터의 전달 보장, 손실된 패킷 재전송, 순서 보장.흐름 제어: 데이터 흐름을 조절하여 수신 측이 데이터 오버플로우를 방지혼잡 제어: 네트워크 혼잡을 감지하고 조절헤더 크기: UDP보다 크고 복잡한 헤더 구조 (20-60 바이트)사용 예)웹 브라우징 (HTTP, HTTPS)이메일 (SMTP, IMAP, POP3)파일 전송 (FTP)원격 터미널 접속 (SSH, Telnet)2. UDPUser Datagram Protocol요약 :U.. 2024. 8. 2.
[자료구조] DFS와 BFS DFS 와 BFS란?DFS (Depth-First Search)와 BFS (Breadth-First Search)는 그래프 탐색 알고리즘그래프의 모든 노드를 탐색하는 방법임두 알고리즘은 탐색의 순서와 방식에서 차이 있음시간복잡도는 DFS/ BFS 동일함-> 왜냐? 모든 조건 내 모든 노드를 검색하니까--> But, 최단거리 구할 때는 BFS가 유리함 1. DFS (Depth-First Search)- 개념: DFS는 깊이 우선 탐색한 노드에서 시작하여 다음 분기로 넘어가기 전에!!해당 분기를 따라 최대한 깊이 내려가며 탐색하는 방법 - 특징: 스택 (Stack) 사용재귀 호출을 사용할 수 있음한 경로를 끝까지 탐색한 후, 다른 경로를 탐색 2. BFS (Breadth-First Search)- 개념:BF.. 2024. 8. 2.
[컴퓨터 구조] 2진수, 16진수, 인코딩 1. 0과 1로 숫자 표현하기1.1. 정보 단위0과 1을 나타내는 가장 작은 정보 단위 == bit1 byte == 8bit1 kB == 1,000 byte == 1,024 byte1MB = =1,000 kB1GB == 1,000 MB1TB == 1,000 GB1.2. 이진법이진법(binary)0, 1로 숫자를 표현하는 방법십진법 (decimal)0 ~ 9 로 표현1.3. 이진수의 음수 표현2의 보수 (two’s complement)를 구함보수가 뭐냐?어떤 수를 그 보다 큰 2n승에서 뺀 값좀 더 쉽게 말하자면 모든 0과 1 뒤집고, 거기에 1 더하면 됨!ex) 11 (2) 의 음수는 ?00으로 바꿔주고, 1 더하면 → 01 (2)컴 내부에서 는 양수, 음수 구분 위해 플래그(flag) 사용flag는 부.. 2024. 7. 31.
[컴퓨터 구조] CPU, 메모리, 시스템버스, 보조기억장치 아래 내용은 한빛미디어의 '혼자 공부하는 컴퓨터구조+운영체제' (by 강민철) 책을 보고 공부 후 요약한 내용이다. 매일 1챕터씩 공부 예정!  1. 성능, 용량, 비용서버 컴퓨터 마다 CPU, 메모리가 다름이에 따라 성능, 용량, 비용 다양함클라우드 서비스를 이용하더라도 CPU, 메모리, 저장 용량 직접 선택해야 함즉, 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지 알고 있어야 함!즉, 컴퓨터 구조를 이해해야 입출력 하는 개발을 넘어 성능, 용량, 비용까지 고려할 수 있음 2. 구조의 큰 그림컴퓨터 구조컴퓨터가 이해하는 정보컴퓨터의 4가지 핵심 부품2.1. 컴퓨터가 이해하는 정보컴퓨터는 0,1로 표현된 정보만 이해함데이터명령어컴퓨터는 명령어를 처리하는 기계더 중요한 건 명령어왜냐?데이터는 명령어 없.. 2024. 7. 29.