굿모닝 세션
- 아침에 정신차리고 하루 시작 (30~1시간)
- 멘탈, 컨디션 체크
- 힘든 거, 아픈 거, 궁금한 거 체크
- 어제 리뷰
- 오늘 리뷰
- 편하게 이야기하면 된다
컴퓨터와 프로그래밍의 이해
- 컴퓨터의 구성 요소
- 컴퓨터 내부에서 하는 일
- 프로그래밍 관련 개념 이해하기
- 프로그램, 프로그래밍, 프로그램 언어, 컴파일, 빌드, 통합개발환경(IDE)
1. 컴퓨터의 이해
- 컴퓨터란? 입력 받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치
소프트웨어
- ‘정해진 규칙’에 해당하며 시스템소프트웨어와 응용소프트웨어로 나뉠 수 있다.
- 시스템 소프트웨어
- 하드웨어 장치를 동작, 관리할 수 있게 설계된 컴퓨터 소프트웨어
- 운영 체제 및 실행 환경 등
- 응용 소프트웨어
- 시스템 소프트웨어를 제외한 모든 소프트웨어로 일반적으로 앱을 의미
하드웨어
하드웨어는 눈에 보이는 물리적인 장치들을 의미한다. ‘입력 받아 규칙대로 처리하고 처리 결과를 저장한 후 출력하는’ 장치.
- 입력장치, 중앙처리장치, 기억장치, 출력장치로 분류되며 각 장치는 시스템 버스로 연결 🚌 시스템 버스? 데이터를 전달하기 위해 사용되는 통로
- 데이터버스, 주소 버스, 제어버스
- 입력장치
- 사용자로부터 데이터를 입력받는 장치로 키보드, 마우스, 마이크 등
- 중앙처리장치(CPU)
- 제어장치 : 데이터의 흐름을 통제하고 관리
- 연산장치 : 명령어 수행
- 레지스터 : 중앙처리장치 내에 존재하는 기억장치
- 데이터 처리를 담당하는 컴퓨터의 핵심 장치
- 기억장치보조기억장치 주기억장치
저장기간 반영구적 프로그램 수행하는 동안 용량 큼 작음 속도 느림 빠름 종류 SSD, HDD RAM, ROM - 데이터를 저장하는 장치로 보조기억장치와 주기억장치가 있음
✨ 캐시 메모리(cache memory) : 속도가 빠른 장치와 느린 장치 사이의 병목 현상을 줄이기 위해 사용하는 장치. CPU와 메인 메모리 사이에 캐시 메모리를 두어(대기) 바로바로 사용할 수 있게 한다. → 주기억장치<캐시<CPU
- 출력장치
- 사용자로부터 입력받은 데이터를 처리 후 사용자가 받아들일 수 있는 형태로 출력해주는 장치로 모니터, 프린터, 스피커 등
2. 프로그래밍의 이해
- 프로그래밍이란?→ 프로그램은 프로그래밍언어(명령어)의 집합체
- Program + ing / 프로그램을 만드는 과정으로 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어로 작성하는 과정
프로그래밍 언어
컴퓨터는 저급언어(Low-Level Langauge)를 사용하고 우리는 고급언어(High-Level Language)를 사용한다. 사람 중심의 언어를 고급언어라 하며 기계가 이해할 수 있는 기계 중심의 언어를 저급언어라고 한다.
- 기계어 : 기계마다 상이하여 언어의 호환성이 없으며 유지보수가 어렵다. 수행하는 속도가 빠르다.
이처럼 컴퓨터와 사람은 서로 다른 언어를 사용하는데 컴퓨터와 사람을 매개해주는 언어가 프로그래밍 언어이다.
컴파일(Compile)
프로그래밍 언어는 서로 관계를 맺어주는 중간 역할을 할 뿐 컴퓨터는 프로그래밍 언어로 된 소스 코드를 바로 이해하지 못한다. 그렇기에 변환을 시켜주어야 하고 컴퓨터가 이해할 수 있는 언어로 번역하는 과정을 컴파일(Compile)이라고 한다.
✨ 컴파일러(Compiler) : 특정 프로그래밍 언어로 쓰여있는 소스 코드를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 의미
✨ 빌드(build) : 독립 소프트웨어 가공물로 변환하는 과정으로 컴파일은 빌드의 과정 중에 속하며 실행코드로 변환되는 과정인 컴파일이 가장 중요한 단계
통합개발환경(Integrated Development Environment, IDE)
프로그램을 효율적으로 개발할 수 있도록 돕는 소프트웨어 애플리케이션으로 모든 작업을 처리 할 수 있다. 코드 작성, 편집, 빌드, 테스트, 디버깅, 패키징 등이 프로그램 내에서 가능하다. VS Code, Eclipse, IntelliJ 등이 있다.
웹
- 웹 클라이언트, 웹 서버
- HTML, CSS, JS
World Wide Web(www)
클라이언트와 서버
서버는 고객의 요청을 받고 고객의 요청에 응답
MVC 모델 계층
좌석확인해서 고객들어가고 메뉴 주문받고(가능한지 불가능한지) 주문 넣고 순서대로 빌지 정리하고 재료 확인 및 손질하고 플레이팅해서 나가고 띵띵 나왔어요~하면 다시 웨이터 와서 주문 번호랑 메뉴 확인하고 고객한테 보내줌
HTML
HTML(HyperText Markuo Language)로 마크업 언어이다.
- HTML의 기본적인 구조와 자주 사용되는 요소 이해
HTML DOM Document Object
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
HTML 기본 구조와 문법
- 트리구조 → 부모노드, 자식노드가 있다.
- 열었으면 닫을 것
- 셀프 클로징 태그
이전에 정리해놓은 노션인데 지금보니 뒤죽박죽 엉망진창이다.. HTML을 세 번 봤는데 다 각기 다른 방식으로 봐서 내용이 다 흩어져 있는 듯 하다. 정작 필요한 건 없는 느낌이라 또 한번의 정리가 필요할 듯 😱
HTML 기초
A new tool for teams & individuals that blends everyday work apps into one.
flossy-longship-14b.notion.site
CSS
CSS는 HTML에 비해 양이 네 배는 되는 것 같다.. 어마무시하고 또... 그만큼 그렇다...
CSS 기초
A new tool for teams & individuals that blends everyday work apps into one.
www.notion.so
ChatGPT를 활용한 학습 방법
- ChatGPT란 무엇인가?
- ChatGPT 사용 및 주의사항
ChatGPT 사용해기
- chatGPT란?
- GPT(Genarative Pre-trained Transformer) 머신러닝을 통해 많은 양의 데이터를 미리 학습하고 생성하는 인공지능으로 chat이 가능한 챗봇
chatGPT 시작하기
- new chat : 새로운 채팅 생성(질문 및 답변 초기화)
- History : 기록
- 대화창 : 예시, 한계 등이 표기되어 있는 곳 → 사용자의 질문과 답변
- 질문 입력창(prompt) : 질문 입력 후 Enter
고쳐지지 않는 고질병..😢 chatGPT가 다 아는 거지만 엄청 자세하게 알려줬다!
chatGPT 친구들이 한 걸 봤을 때는 되게 말도 안되게 답변하고 이상한 대답만 하던데 내가 질문한 대답에는 맞는 말만 해서 할 말이 없다. 그리고 앞에 했던 질문에 이어 대답도 된다는 점이 매우 매우 매우 신기했다. 시리나 빅스비, 지니 같은 인공지능은 앞에 질문에 이어 대답을 하지 못했는데 비해 chatGPT는 고도로 발전한 인공지능이다.
이러고 꽤 놀았다.. 하하...
학습에 chatGPT 활용하기
처음 과제가 주어졌을 때 chatGPT의 API를 끌고오는 것인가 chatGPT를 활용해서 어떻게 만들건지 제안을 해보라는 과제가 주어지는 것인가 궁금해 하며 아무 생각없이 HTML이랑 CSS를 짜고 있었다. 그런데 뒤로 가니 모르는 코드를 chatGPT로 물어보고 짜라는 말이었다. 너무 신기해서 미쳤구나 미쳤어.. 이렇게 편할 수가 없다. 하며 보고 있었는데 지금 막힌채로 새벽 세시가 되어버렸다.ㅋㅋㅋ chatGPT도 나보고 사이트에 너무 오래 머물렀다고 쉬란다. 사실 들어가서 심심이랑 놀던 것 처럼 놀다가 과제 수행하느라 켜놓기만 한 것 뿐인데.. 자바스크립트 내부에 있는 CSS 구문에 스타일 적용을 못하겠다.ㅜㅜ 도와줘 젭알...😢
오늘은 진짜 힘든 날이다. 이번 주는 시간을 사용하는데 있어 시행착오를 겪는 날이 아닐까 한다. 오늘은 시간 활용을 잘못한 탓에 사실 chatGPT 과제 자체를 수업이 다 끝난 시점에 해버렸다. 나는 뭘 하던 시간이 너무 오래 걸리는 사람인 것 같다. 내일은 더 시간을 잘 활용해야지. 사실 정리하는데 오래 걸리는 걸 알다보니 자습시간에 정리를 했다. 덕분에 지금 블로깅은 10분도 채 안걸린 채 오늘의 기분과 상태를 적는 중이다. 각 세션별로 나눠서 올릴까도 생각했지만 그까지의 힘이 오늘 없어서 안될 것 같다. 아까 디스코드로 어떤 분이 저녁도 안먹고 했는데 ~~이런 글을 보았다. 나는 아침, 점심, 저녁 다 못먹었는데...하... 진짜 내일은 정리를 적당히 하고 점심은 안먹어도 저녁은 끝장나게 맛나는 걸 먹어죠야겠다. 그리고 오늘은 적어도 세 번 쯤.. 운 것 같다ㅋㅋㅋ 오랜만에 코딩하면서 울었다...≧ ﹏ ≦ 진짜 답답하다. 흐앙앙. 자바스크립트는 공부를 하다 말았는데 뭔가 자바스크립트만 나오면 계속 바보가 되는 것 같다. 전에 배우던 학원에서 강사님이 싫어한다고 이제는 자바스크립트가 필요없다~~이런 말씀을 하셨는데 또 어디서는 자바스크립트가 이제 핫한 언어가 될테니 공부를 열심히 하면 좋을거라고 한다.😱너무 어렵다. 그래서 더 무서운 것 같다. 자꾸 자바스크립트만 보면 구글링을 해도 글이 날라다니는 것 같아서 공부를 얼른 해봐야겠다는 생각 뿐이다. 일단 오늘은 늦었으니 자야겠다. 안녕~