CS란?
CS(Computer Science)
먼저 CS를 정리하기 전 개발자에게는 CS가 중요하다는 이야기를 많이 들어봤을 것이다. 그래서 “CS 공부해야지”라는 말은 많이 하지만 과연 그게 정확히 무엇인지를 설명할 수 있나? 라는 생각에 정리를 먼저 한 뒤, 학습하려고 한다.
CS(Computer Science) : 컴퓨터 구조 / 운영체제 / 네트워크 / 시스템 소프트웨어 / 소프트웨어 공학과 현업 프로세스
CS란 컴퓨터 관련 분야에서 사용되는 용어, 개념, 알고리즘을 뜻함. 개발자들이 CS를 공부해야 하는 이유는 문제 상황이 주어졌을 때 제한된 시간과 메모리 내에서 가장 효율적으로 문제를 해결할 수 있기 때문.
컴퓨터 구조
- 컴퓨터를 구성하는 부품이나 컴퓨터에서 어떻게 연산이 이루어지는지 배움. 쉽게 말해 노트북을 구매할 때, 주로 살펴보는 사양인 CPU, 메모리(RAM). 등이 무엇인지, 1과 0으로 어떻게 연산이 이루어지는지 배움.
운영체제
- 대부분 알고 있는 운영체제는 Mac, Window, Linux, Unix 등이 있는데 운영체제란 컴퓨터 시스템 자원들을 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램을 모아둔 것. 컴퓨터 구조의 CPU, 메모리, 보조기억장치, 입출력 장치 등과 같은 컴퓨터 부품들은 모두 ‘자원’에 해당함. 우리가 개발한 프로그램을 실행하는 것은 결국 운영체제이기 때문에 운영체제 별로 자원을 어떻게 다루는 지 알아야 함!
시스템 소프트웨어
시스템 소프트웨어란 한글, 엑셀 등의 소프트웨어를 실행하기 위한 컴퓨터 작업을 돕는 프로그램으로 구성됨. 대표적으로 Complier, Debugger 등을 의미함. 컴퓨터 내부에서는 우리가 입력한 명령어들을 어떻게 이해하고 처리하는지 배움.
ex) 파파고 한글 입력 -> 영어 번역처럼 우리가 입력한 언어를 번역하여 받아들이는 과정에 대해 배움.
네트워크
- 전세계 컴퓨터들이 어떻게 통신하고 있는지 배움. 예시로
https://detourofficial.com/
와 같은 웹 사이트 구조에서 https는 통신 프로토콜. 즉, 통신 규칙을 나타냄. 컴퓨터들끼리 주고 받을 때 어떻게 해야 효율적으로 처리할 수 있을지에 대하여 배움.
- 전세계 컴퓨터들이 어떻게 통신하고 있는지 배움. 예시로
소프트웨어 공학과 현업 프로세스
- 실제 현업에서 개발할 때 가장 많이 쓰이게 되는 지식을 배움. 회사에서 웹/앱 등의 SW를 개발하기 위해서는 기획, 디자인, 개발, 유지보수 등의 단계를 거침. 이때 회사에 따라
기획->디자인->개발->테스트->유지보수
의 순서로 갈 것인지.기획->개발->기획수정->개발->테스트
순서로 가는 것이 효과적인지 등 SW 개발에 관련된 전반적인 지식을 배움.
- 실제 현업에서 개발할 때 가장 많이 쓰이게 되는 지식을 배움. 회사에서 웹/앱 등의 SW를 개발하기 위해서는 기획, 디자인, 개발, 유지보수 등의 단계를 거침. 이때 회사에 따라
This post is licensed under CC BY 4.0 by the author.