CPU란? 구조와 역할, 구성요소, 성능향상 방법
1. CPU란? CPU 구조와 역할 CPU란 Central Processing Unit의 약자로 중앙 처리 장치를 의미한다. 프로그램의 명령어를 해석하고 실행하는 역할을 하는 컴퓨터 시스템의 중심이 되는 핵심 요소이다. CPU는 어떻게 생겼을까? 컴퓨터 본체를 분리시켜보면, 메인보드라는 흔한 초록색 기판(색깔은 종류에 따라 다름)이 나온다. 그 기판에 네모난 모양의 부품이 CPU다. 컴퓨터 부품은 보통 크게 5가지로 나뉜다. CPU, 주기억장치(RAM), 보조기억장치(HDD/SSD), I/O디바이스(모니터, 마우스 등), 메인보드 이렇게 5가지이다. HDD/SSD에는 우리가 흔히사용하는 엑셀, 포토샵 등의 프로그램들이 저장되어있다. 비휘발성이고, 용량이 크다.(256GB 등) 프로그램을 실행시키면, 로딩..
2023. 4. 14.
그래프 자료구조& 알고리즘(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.
자료구조: 배열, 연결리스트, 스택, 큐
자료구조란, 데이터를 효율적으로 저장하고, 관리하며, 사용하기 위한 구조입니다. 그 중에서도 가장 기본이 되는 자료구조는 배열, 연결리스트, 스택, 큐, 트리, 그래프이죠. 어떤 자료구조를 쓰느냐에 따라 프로그램의 성능이 크게 달라질 수 있습니다. (앞선 파트에서 자세하게 설명한 바 있습니다.) 자료구조란? (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.
추상 자료형(ADT)이란? 개념과 특징
추상 자료형(Abstract Data Type, ADT)이란? 추상 자료형을 설명하기 전에 우선 추상화(Abstraction)가 무엇인지 알아보겠습니다.(추상화는 참고로, 컴퓨터 사고력 파트에서 나오는 개념입니다.) 추상화란, 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내고, 그것을 수치화 하는 것을 뜻합니다. 즉, 문제에서 해결해야할 주요한 정보를 수치화 하는 과정이죠. 예를 들어, 쇼핑몰 사이트를 만든다고 가정해보겠습니다. 쇼핑몰 사이트에서는 고객 정보, 판매 정보 등이 필요하겠죠? 이 때, 고객 정보에는 아이디, 비밀번호, 주소, 전화번호, 구매목록, 직장, 자산 등이 포함될 수 있습니다. 여기에서 쇼핑몰 사이트에서의 고객 정보로 불필요한 세부사항인 직장, 자산 같은 ..
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.