본문 바로가기

분류 전체보기141

CPU란? 구조와 역할, 구성요소, 성능향상 방법 1. CPU란? CPU 구조와 역할 CPU란 Central Processing Unit의 약자로 중앙 처리 장치를 의미한다. 프로그램의 명령어를 해석하고 실행하는 역할을 하는 컴퓨터 시스템의 중심이 되는 핵심 요소이다. CPU는 어떻게 생겼을까? 컴퓨터 본체를 분리시켜보면, 메인보드라는 흔한 초록색 기판(색깔은 종류에 따라 다름)이 나온다. 그 기판에 네모난 모양의 부품이 CPU다. 컴퓨터 부품은 보통 크게 5가지로 나뉜다. CPU, 주기억장치(RAM), 보조기억장치(HDD/SSD), I/O디바이스(모니터, 마우스 등), 메인보드 이렇게 5가지이다. HDD/SSD에는 우리가 흔히사용하는 엑셀, 포토샵 등의 프로그램들이 저장되어있다. 비휘발성이고, 용량이 크다.(256GB 등) 프로그램을 실행시키면, 로딩.. 2023. 4. 14.
정수(signed, unsigned)와 부동 소수점 표현 in 컴퓨터 1. 정수의 부호 표현: signed, unsigned signed integers(정수): 양수, 음수, 0을 모두 표현할 수 있다. 첫 번째 비트는 부호 비트로, 0은 양수를, 1은 음수를 의미한다. unsigned integer(자연수 & 0): 양수와 0만 표현할 수 있다. 따라서, 모든 비트를 숫자의 표현에 사용한다. 정수가 signed인지 unsigned인지에 따라서 표현 가능한 숫자 범위가 다르기 때문에 주의해야 한다. 예시들어, 1바이트(=8비트)를 10진수의 unsinged로 표현하면, 0부터 255까지의 값를 표현할 수 있다. singed같은 경우에는 -128부터 +127까지의 값을 표현할 수 있다. 이걸 2진수로 표현하면 아래와 같다. signed integer 11111111: -1.. 2023. 4. 12.
컴퓨터 아키텍처란: 폰노이만 구조, 명령주기 목차 1. 컴퓨터 아키텍처(Computer Architecture)란? 2. 컴퓨터 시스템의 구성 요소(Components of a computer system) 3. 폰노이만 아키텍처(Von Neumann Architecture) 4. 명령주기(Instruction Cycle) 1. 컴퓨터 아키텍처(Computer Architecture)란? 아키텍처라는 말은 건축에서 유래됐으며, 뜻을 단순하게 풀이하면, 구조, 설계와 같은 의미를 가집니다. 즉, 컴퓨터 아키텍처란 컴퓨터를 구성하는 하드웨어와 소프트웨어를 포함한 컴퓨터 시스템 전체의 구조와 설계 모형을 의미합니다. 이는 하드웨어와 컴프트웨어의 상호작용에 대한 설계와 구현도 포함합니다. 컴퓨터 아키텍처는 시스템의 성능, 신뢰성, 에너지 효율성 등을 결정.. 2023. 4. 9.
그래프 자료구조& 알고리즘(BFS, DFS) 목차 1. 그래프 자료구조 1-1. 그래프 용어 1-2. 그래프 유형 1-3. 그래프 표현 1-3-1. 인접 행렬(Adjacency matrix) 방식 1-3-2. 인접 리스트(Adjacency list) 방식 2. 그래프 알고리즘 개요 2-1. BFS 2-2. DFS 컴퓨터공학에서의 자료구조를 배울 때 목표는 스택, 큐, 트리, 그래프 총 4개의 자료구조를 충분히 이해하는 것입니다. 지금까지 이글을 마지막으로, 총 4개의 파트에 걸쳐서 자료구조를 설명드렸습니다. 이번 글에서는 자료구조 파트 마지막으로 그래프 자료구조를 소개하겠습니다. 1) 자료구조 개념 및 고려사항(시간복잡도, 공간복잡도) 2) 어레이, 링크드리스트, 스택, 큐 자료구조 3) 알고리즘: 정렬 알고리즘, 탐색 알고리즘 4) 트리 자료구조.. 2023. 4. 8.
트리 자료구조: 이진, 이진탐색, Balanced Tree 목차 트리 자료구조 1. 이진 트리(Binary Tree) 2. 이진 탐색 트리(Binary Search Tree) 2-1. 이진 탐색트리의 Basic operations 3. Balanced Tree 오늘 소개할 트리 자료구조를 이해하기 위해서는 탐색 알고리즘(Search Algorithm)에 대한 이해가 있어야하기 때문에 아래 글을 먼저 보고 오시는 걸 추천드립니다. 그럼 트리 자료구조와 그래프 자료구조를 알아보겠습니다. 정렬 알고리즘(버블, 퀵)과 탐색 알고리즘(선형, 이진) 목차 알고리즘(Algorithm)이란? 1. 정렬 알고리즘(Sorting algorithms) 1-1. 버블 정렬(Bubble sorting) 1-2. 퀵 정렬(Quick Sort) 2. 탐색 알고리즘(Searching alg.. 2023. 4. 8.
정렬 알고리즘(버블, 퀵)과 탐색 알고리즘(선형, 이진) 목차 알고리즘(Algorithm)이란? 1. 정렬 알고리즘(Sorting algorithms) 1-1. 버블 정렬(Bubble sorting) 1-2. 퀵 정렬(Quick Sort) 2. 탐색 알고리즘(Searching algorithms) 2-1. 선형 검색(Linear Search) 2-2. 이진 탐색(Binary Search) 알고리즘(Algorithm)이란? 컴퓨터공학에서의 알고리즘이란 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것입니다. 일반적으로 알고 있는 유튜브 알고리즘이랑은 조금 다른 개념입니다. 알고리즘은 입력, 출력, 명확성, 유한성, 효율성의 조건을 만족해야하고, 자연어, 의사코드(pseudo code: 정확하진 않은데 의도만 설명하는 코드), 순.. 2023. 4. 8.
자료구조: 배열, 연결리스트, 스택, 큐 자료구조란, 데이터를 효율적으로 저장하고, 관리하며, 사용하기 위한 구조입니다. 그 중에서도 가장 기본이 되는 자료구조는 배열, 연결리스트, 스택, 큐, 트리, 그래프이죠. 어떤 자료구조를 쓰느냐에 따라 프로그램의 성능이 크게 달라질 수 있습니다. (앞선 파트에서 자세하게 설명한 바 있습니다.) 자료구조란? (feat. 시간복잡도, 공간복잡도) 목차 1. 자료구조(Data Sturcture)란? 1-1. 자료구조의 종류 2. 시간복잡도와 공간복잡도 2-1. 시간복잡도(Time complexity) 2-2. 공간복잡도(Space complexity) 2-2-1. 빅오표기법(Big Oh) 1. 자료구조 (Data Structure)란? coduking.tistory.com 이 자료구조들은 프로그래밍에서 가장.. 2023. 4. 6.
자료구조란? (feat. 시간복잡도, 공간복잡도) 목차 1. 자료구조(Data Sturcture)란? 1-1. 자료구조의 종류 2. 시간복잡도와 공간복잡도 2-1. 시간복잡도(Time complexity) 2-2. 공간복잡도(Space complexity) 2-2-1. 빅오표기법(Big Oh) 1. 자료구조 (Data Structure)란? 자료구조(Data Structure)를 알아보기 앞서, 우선 자료(Data)는 무엇일까요? 우리가 학교에서 조별과제를 한다고 가정해보겠습니다. 그러면 발표를 하기 위해 자료조사를 해야겠죠? 조별과제를 할 때, 발표자와 PPT담당자를 제외한 나머지 팀원들은 보통 자료조사를 하여 PPT담당자에게 보내줍니다. 그러면 PPT담당자는 자료들을 취합해서 보기 좋게 정리한 뒤에 발표자료를 만들죠. 결국 '자료(data)'라는 것.. 2023. 4. 6.
추상 자료형(ADT)이란? 개념과 특징 추상 자료형(Abstract Data Type, ADT)이란? 추상 자료형을 설명하기 전에 우선 추상화(Abstraction)가 무엇인지 알아보겠습니다.(추상화는 참고로, 컴퓨터 사고력 파트에서 나오는 개념입니다.) 추상화란, 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내고, 그것을 수치화 하는 것을 뜻합니다. 즉, 문제에서 해결해야할 주요한 정보를 수치화 하는 과정이죠. 예를 들어, 쇼핑몰 사이트를 만든다고 가정해보겠습니다. 쇼핑몰 사이트에서는 고객 정보, 판매 정보 등이 필요하겠죠? 이 때, 고객 정보에는 아이디, 비밀번호, 주소, 전화번호, 구매목록, 직장, 자산 등이 포함될 수 있습니다. 여기에서 쇼핑몰 사이트에서의 고객 정보로 불필요한 세부사항인 직장, 자산 같은 .. 2023. 4. 5.
기본 프로그래밍 개념: 언어, 변수, 자료형, 연산자, 제어구조, 함수, 모듈 목차: 기본 프로그래밍 개념(Basic Programming Concepts) 1. 프로그래밍 언어(Programming Language) 2. 변수(Variables) 3. 자료형(Data Types) 4. 연산자(Operators) 5. 제어구조(Control structures) 6. 함수(Funtions) 7. 모듈(Modules) 1. 프로그래밍 언어(Programming Language) 한국어, 영어같은 '언어'를 통해 우리는 서로 소통할 수 있습니다. 사람이 쓰는 언어를 '자연어(Natural Language)'라고 하죠. 그렇다면 컴퓨터와 사람이 소통하기 위한 언어는 무엇일까요? 바로 '프로그래밍 언어(Programming Language)'입니다. 프로그래밍 언어도 자연어처럼 문법(sy.. 2023. 4. 5.
컴퓨터공학: 컴퓨팅 사고력과 문제해결 목차 컴퓨터공학(Computer Science and Engineering, CSE)이란? 컴퓨팅 사고력(Computational Thinking, CT) 문제해결(Problem Solving) 컴퓨터공학(Computer Science and Engineering, CSE)이란? 컴퓨터공학은 계산, 자동화 및 정보를 연구하는 학문입니다. 컴퓨터공학의 이론적인 분야는 알고리즘, 계산 이론, 정보 이론, 자동화 등이 있고, 실용적인 분야는 하드웨어 및 소프트웨어의 설계와 구현 등이 있습니다. 학부 레벨에서의 컴퓨터 공학에서 보통 중요하게 다루는 분야는 총 7가지 정도로 설명할 수 있습니다. Basic Concepts of Programming Language + 특정언어 하나(C, Java, Python 등.. 2023. 4. 4.
빅데이터 관련 직업 5가지: 직무, 필요 역량 빅데이터 관련 직업, 어떤 것들이 있는지 많이 헷갈리시죠? 이 글에서는 빅데이터 관련 직업 5가지를 소개하면서 실제 하는 일과 그에 따른 필요 역량을 총 정리해서 설명드릴겁니다. 요즘 가장 핫하고, 대표적인 직업 5가지인 데이터 사이언티스트, 데이터 엔지니어, 데이터 리서처, 데이터 분석가, MLOps로 나눠서 설명드리겠습니다. 1. 데이터 사이언티스트 직무 데이터를 수집, 전처리, 분석하고, 이를 시각화하며 인사이트를 도출 머신러닝 및 딥러닝 모델을 개발하고, 이를 통해 예측 모델을 만들고 최적화 비즈니스 문제를 데이터로 해결하며, 의사 결정에 활용 💡데이터 사이언티스트는 비즈니스 문제를 포뮬레이션*하고, 그렇게 나온 데이터 분석 문제를 전처리 및 EDA**합니다. 그리고 나서 분석할 데이터를 모델링 .. 2023. 4. 3.