인터넷이 처음 등장했을 무렵, 문서를 작성하거나 검색을 하는 일에 대한 “전문직업”도 있었다.
이전에는 전문가의 영역이었지만 전문가에서 일반인 영역까지 학습하게 된 세상이 왔다.
옛날에는 독서로 정보를 얻었다면 요새는 최소가 인터넷 검색에서 생성형 AI에게 물어보게 됐다.
핵심은, 노동력의 효율화를 기대할 수 있는 변화
def check_adult (age) :
→ 성인인지 미성년자인지 판단하는 것
if age >= 18:
return "성인입니다."
else:
return "미성년자입니다."
→ 나이에 따라 성인이면 "성인입니다.", 미성년자이면 "미성년자입니다." 입력될 것
age= int(input ("나이를 입력하세요: ") )
result = check_adult (age)
print (result)
→ 입력한 나이를 결과로 출력될 것
컴퓨팅 사고: 쪼개서 프로세스를 생각하는 방식
코딩: 컴퓨터에 명령을 내리는 것
프로그래밍 언어: 어떤 말로든 명령만 내리면 됨
*C언어, JAVA 등
프로그램: 코드를 미리 짜둬서 매번 똑같이 움직이느 것
*그래서 코딩을 하는 걸 "프로그래밍"이라고 한다.
프로그램이란 정해진 일을 순서대로 하는 것
ex) 운동 프로그램 = 해야 할 운동을 순서대로 하는 것
정리하자면 코딩은 프로그래밍 언어를 활용하여 프로그램을 만드는 것
여러 프로그램이 있으며 웹사이트, 앱, 게임을 만들 수 있다.
서버는 사용자의 요청을 받아 그에 맞는 응답을 보내주는 컴퓨터이며, 여러 역할을 동시에 수행할 수 있다. 예를 들어, 서버는 웹 서버이면서 데이터베이스(DB) 서버 역할도 겸할 수 있다.
서버 = 사용자의 요청에 따라 응답을 해주는 프로그램이 실행되는 컴퓨터
사람의 직업이 3개, 4개 서버 또한 서버이면서 DB가 될수도 있다.
클라이언트와 서버의 관계는 요청과 응답의 상호작용으로 이루어진다. 클라이언트(브라우저)가 서버에게 요청을 보내면, 서버는 그 요청을 처리하여 응답을 보내준다. 서버와 클라이언트 간의 통신은 API를 통해 이루어진다. API는 서버와 소통하는 통로로, 마치 은행의 창구와 같이 데이터를 주고받는 중간 매개체 역할을 한다.
API: 서버와 통하는 통로 (은행의 창구 같은 것.)
결국 서버도 하나의 컴퓨터이기 때문에, 과도한 요청이 쏟아지면 마치 사람이 과로로 쓰러지듯 서버가 과부하되어 "터질" 수도 있다. 서버는 이러한 과부하를 견디며, 중간에서 클라이언트와 데이터베이스 등의 자원 사이를 연결해주는 중요한 역할을 한다.
생각보다 개발자와 보는 시각이 달라서 소통이 어려운 경우가 많다.
프론트엔드: 건물 외관, 내부 디자인으로 볼 수 있고 직접 경험할 수 있음
백엔드: 건물의 구조와 기반 시설로 볼 수 없지만 아주 중요한 부분
쉬워보이는 작업도 개발자가 어렵다고 한다면 그건 보통 "건물의 기둥"을 바꾸는 일과 비슷한 경우가 많다. ex) 건물 오른쪽으로 2cm만 옮겨주실래요?st
Java: 형식이 많고 어렵다. 그러나 큰 회사에서 많이 사용된다.
python: 쉽게 입문 가능하고 자유롭다. 데이터 분석과 자동화에도 사용된다.
자바스크립트: 백/ 프론트엔드 언어가 같다. 스타트업에서 주로 사용된다.
Kotlin: 안드로이드 앱 제작에서 사용한다.
Swift: IOS 앱 개발에서 사용된다.
Flutter: 둘 다 한 번에 개발 가능하다.
프로그래밍 언어로 프로그램을 처음부터 다 만든다는 건 아주 어려운 일!
목적에 맞게 남이 미리 만들어 둔 코드 묶음이 "프레임워크/라이브러리"
React, Spring, node.js 등등
시간을 단축시켜주는 도구들은 "개발 툴"
*이를테면 개발자의 워드 엑셀 등
- VS Code: 코드를 입력하는 에디터
- GitHub: 코드를 저장 & 관리하는 저장소
*여러 사람과 같은 코드를 보며 협업하러 사용- AWS: 코드를 실행하는 컴퓨터
기획 → 디자인 → 개발 → 이터레이션