사람으로부터 입력장치로 받은 데이터를 정해진 규칙, 즉 프로그램을 통해 중앙처리장치를 거쳐 연산을 수행하고 그 결과를 기억장치에 저장하고 출력장치를 통해 출력한다.
응용 소프트웨어
- 시스템 소프트웨어를 제외한 모든 소프트웨어(애플리케이션 혹은 프로그램)
하드웨어
- 컴퓨터의 신체에 해당
- 중앙처리장치, 기억장치, 입력장치, 출력장치로 분류
중앙처리장치(CPU)
-CPU는 프로그램의 실행과 데이터 처리를 담당하는 컴퓨터의 핵심 장치
-제어장치(모든 동작 및 데이터 흐름 통제 관리 / 운영체제와의 소통으로 컴퓨터 자원 관리), 연산장치(프로그램 명령어 수행 및 코드 실행), 레지스터(작고 빠른 기억장치 연산을 위한 데이터 임시 보관)로 구성
기억장치(Memory Device)
- CPU동작에 필요한 데이터를 장기적 혹은 단기적으로 보관
-장기적 보관: 보조기억장치: SSD, HDD(반영구적 저장, 큰 용량의 데이터를 저장하지만 읽고 쓰는 속도가 느림 따라서 CPU와 직접 소통 X )/ 단기적 보관: 주기억장치: RAM, ROM (프로그램 수행을 위한 모든 데이터 저장, 큰 용량 데이터 저장이 불가하지만 읽고 쓰는 속도가 빨라 CPU와 직접 소통)
입력장치 (Input Device) 및 출력장치 (Output Device)
- 데이터를 입력/출력하는 장치들
시스템 버스 (System Bus)
- CPU를 포함한 각 하드웨어 장치 간의 통로
컴퓨터의 동작
1. CPU가 보조기억장치에 저장되어있는 프로그램을 주기억장치 RAM에 로드(로딩)
프로그래밍이란?
컴퓨터의 특성을 활용하여 컴퓨터에 문제 해결을 요구하는 일종의 커뮤니케이션 과정.
즉, 특정 목적을 당성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코딩하는 과정. 프로그램은 프로그래밍의 결과, 즉, 프로그램은 어떠한 목적을 달성하기 위한 컴퓨터 명령문의 집합체이다.
프로그래밍 언어
컴퓨터가 이해할 수 있는 언어
컴파일 & 빌드
Compile: 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 과정
Build: 빌드는 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정(컴파일 과정이 포함) 컴파일된 코드들을 실행 파일로 변환하는 과정
통합개발환경(IDE)
IDE는 코드를 작성할 때 사용하는 프로그램으로, 프로그래밍에 필요한 모든 작업을 하나의 프로그램 안에서 처리할 수 있도록 만들어진 프로그램
HyperText Markup Language: 웹페이지의 틀을 만드는 마크업 언어
<html>
<head>
<body>
</body>
</head>
</html>
디자인을 적용하는 데 사용되는 스타일 언어(Cascading Style Sheets)
UI(User Interface)의 개선을 위해 사용된다.
Interface란?
두 대상을 연결해주는 매개체 혹은 매개물
UI/UX란?
UI: 웹 애플리케이션이 제공하고자 하는 웹 서비스와 사용자를 연결해주는 매개체(보이는 영역)
UX: UI를 사용하는 사용자 경험
웹페이지 구성에서 필수적으로 고려되어야 하는 요소가 UI/UX이고 이에 핵심 기술이 CSS이다.
CSS 기본문법
//Selector(태그의 이름, id, class)
body { //선언블록
//선언
color: red; //선언구분자(;)
font-size: 30px;
//속성명 //속성값
}
link 태그를 이용하여 HTML파일과 연결한다.
*HTML태그에 직접 CSS속성을 추가할 수도 있지만 관심사 분리 측면에서 권장하지 않는다.
ChatGPT란?
OpenAI가 공개한 GPT3.5(Generative Pre-trained Transformer)를 기반으로 한 대화형 인공지능 챗봇
머신 러닝을 통해 방대한 데이터를 미리 학습(Pre-trained)하고, 이를 통해 문장을 생성(Generative)하는 인공지능
구체적인 질문을 통해 다양한 방면에서 코딩에 도움을 줄 수 있다.
컴퓨터의 전반적인 이해와 우리가 작성하는 코드들이 어떻게 구현되고 동작하는지를 전반적이고 전체적으로 이해할 수 있었다.
또한 웹에서 서버와 클라이언트 그리고 데이터베이스를 공부하면서 우리가 만들어야 할 앱 애플리케이션 서비스가 어떤 것인지 엿볼 수 있는 기회였다.
내일 배울 것들
#Linux기초
1. CLI 기본 명령어
2. 패키지와 패키지 매니저
3. 사용 권한
4. 환경 변수