01 웹개발 기초/20230412
컴퓨터와 프로그래밍의 이해, HTML/CSS, 학습에 챗 GPT 이용하기
💡 컴퓨터란?
➡️ 입력받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치
- 소프트웨어 : 물리적인 형태가 존재하지 않는 컴퓨터의 구성 요소, 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합
- 시스템 소프트웨어와 응용 소프트웨어 두 가지로 나눌 수 있음 - 하드웨어 : 컴퓨터를 구성하는 기계적 장치들의 집합, 손으로 만질 수 있는 컴퓨터의 물리적인 장치
- 중앙처리장치(CPU), 기억장치(Memory Device), 입력 장치(Input Device), 출력 장치(Output Device)
** 시스템 버스(System Bus) : CPU를 포함한 각 하드웨어 장치 간의 통로
💡 컴퓨터의 동작
만약 계산을 하기 위해 컴퓨터에서 계산기를 불러온다고 생각해보자.
1. 계산기를 켜기 위해 아이콘을 클릭하면 운영체제가 보조기억장치에 저장된 계산기 프로그램을 주기억장치인 RAM에 로드
➡️ 이렇게 불러오는 과정이 로딩(loading)
2. 로딩이 완료되면 아래와 같이 계산기가 모니터에 출력 ➡️ 이렇게 실행 중인 프로그램을 '프로세스' 라고 함
3. 입력 장치(마우스, 키보드 등)를 통해 데이터 입력(1+1 연산을 한다고 가정)
4. 엔터를 누르면 CPU가 프로그램 소스코드에 작성된 대로 해석하고 명령어들을 적용하여 계산 시작
5. 계산이 완료되면 결과는 주기억장치에 저장되면서 아래와 같이 모니터를 통해 볼 수 있음
💡 프로그래밍
➡️ 컴퓨터의 특성을 활용하여 컴퓨터에 문제 해결을 요구하는 일종의 커뮤니케이션 과정
즉, 프로그램을 만드는 과정으로써 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 것을 의미
💡 프로그램
➡️ 어떠한 목적을 달성하기 위한 컴퓨터 명령문의 집합체
➡️ 프로그래밍의 결과로 만들어진 것
💡프로그래밍 언어
👉🏻 컴퓨터는 사람의 언어를 이해할 수 없기 때문에 컴퓨터가 이해할 수 있는 언어로 설명해야함
하지만 컴퓨터가 사용하는 기계어 또한 사람이 이해하기 어려움
➡️ 둘을 매개해 줄 어떤 것이 필요하다!! 그것이 바로 '프로그래밍 언어'
컴퓨터에 가까운 언어일수록 저수준 언어, 사람과 가까운 언어일수록 고수준 언어
💡 컴파일
➡️ 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 과정
(번역해주는 것은 컴파일러)
💡 빌드
➡️ 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정
(이 과정에 위에서 언급한 컴파일 과정 포함 )
➡️ 컴파일을 완료한 코드가 프로그램으로 실행되기 위해서는 실행 파일로 만들어주는 빌드 과정 필요
➡️ 빌드가 완료되어야 소스 코드가 비로소 실행시킬 수 있는 하나의 프로그램으로 완성됨
💡 통합개발환경(IDE, Integrated Development Envirment)
👉🏻 코드를 작성할 때 사용하는 프로그램, 프로그래밍에 필요한 모든 작업을 하나의 프로그램 안에서 처리할 수 있도록 만들어진 프로그램, 흔히 아는 이클립스나 인텔리제이가 여기에 속함
본격적인 첫 수업의 날이 밝았다! 그저 앉아서 수업을 무작정 듣기만 할 때와는 다르게 직접 공부해야하는 방식은 아직 새롭다.(원래 공부는 직접하는 것이지만 아무튼,) 혼자 긴 글을 읽어나가는 것이 좀 지루할 때도 있고 집중력이 떨어질 때도 있었지만 계속해서 어떤 식으로 공부를 해 나가야 할지 생각하게 되는 것 같아서 좋다. 웹과 HTML, CSS 는 따로 기록할 예정! 너무 단시간에 머릿속에 담으려고 하지 말고 계속 반복해 나가면서 오늘 배운 것들과 가까워지자. 아직 끝내지 못한 CSS 과제도 다시 천천히 시도해 볼 예정이다. 오늘 안 되면 내일, 내일 안 되면 주말도 있으니 조급하게 생각하지 말자!
'SEB_BE_45 > 공부 정리' 카테고리의 다른 글
05. Java 기초 2 / 20230418 (0) | 2023.04.18 |
---|---|
04. Java 기초 1 / 20230417 (1) | 2023.04.17 |
03 Git 기초/20230414 (0) | 2023.04.14 |
02 Linux 기초 / 20230413 (0) | 2023.04.14 |
00 Learn How To Learn /20230411 (0) | 2023.04.11 |