기록
[스파르타코딩클럽] 코딩 용어 해설(1) 본문
출처 : 스파르타코딩클럽 (https://spartacodingclub.kr/)
강의 목록
- 스파르타코딩클럽 소개 및 앞으로 배우게 될 것
- 컴퓨터와 인터넷 - "https 보안 설정 됐어요?"
- 웹서비스 동작 방식 - "서버가 죽었네요"
- 서버-클라이언트 통신 - "저희가 API 열어드릴게요"
- 개발 언어/프레임워크 - "요새는 리액트로 개발해요"
- 아키텍쳐/DB - "DB 뭐 쓰세요?"
- 협업 - "git에 커밋했습니다"
- 그럼 이제 무얼 어떻게 어디서부터 배워야합니까!
2. 컴퓨터와 인터넷 - "https 보안 설정 됐어요?
컴퓨터란? 기계를 모아둔 것
OS(운영체제) : 사람이 기계와 소통할 수 있게 만드는 기반 프로그램
->사람의 언어를 기계의 언어로 바꿔주는 친구
cf. Linux 는 오픈소스
코딩 : OS에 직접적으로 명령을 내리는 것
이러한 코딩을 어떤 말로 하느냐가 "프로그래밍 언어",
프로그래밍 언어는 속성이 다를 뿐 좋고 나쁨이 없기 때문에 상황에 따라 쓰면 됨.
프로그램 : 코딩을 미리 짜두고 매번 똑같이 움직이는 것
즉, 코딩은 늘 프로그램을 만드는 것. 그래서, "코딩 = 프로그래밍"이라고도 함.
인터넷 : 컴퓨터끼리 소통하는 것
컴퓨터끼리 소통하는데는 많은 규칙이 존재함. 그 중 하나가 웹 통신.
http = 웹
http 붙으면 웹 통신을 하겠다는 의미.
"내가 지금부터 웹 규칙대로 얘기할 거니까 잘 들어~"
https = 암구호 표를 서로 가져서 가운데서 못 듣게 하는 것
인터넷의 바다에서 귀를 열어 놓고 웹 통신을 기다리는 것 = "웹 서버" 를 만들었다는 것.
3. 웹서비스 동작 방식 - "서버가 죽었네요"
접속자가 폭발해서 서버가 터졌다?
서버 : 가운데서 데이터를 저장하고 주는 것 (= 그래서 사람이 많아지면 힘들다!)
서버 하나하나는 그냥 컴퓨터임, 특별한 컴퓨터가 아님.
서버가 죽었다의 예) 윈도우에서 파란화면 나오다 꺼지는 경우, 게임이나 엑셀 중 컴퓨터가 멈추는 경우
개발자도 서버 컴퓨터 다시 시작.
컴퓨터에는 '인터넷의 바다에서 http 요청이 오는지 듣고 있어'라는 명령을 내릴 수 있음.
컴퓨터는 이런 요청을 수행하면서 다른 작업도 가능.
웹 서버 : 컴퓨터의 직업. 사람도 투잡 쓰리잡 가능하 듯 컴퓨터도 DB, 웹서핑 등등 가능
웹 서비스 동작 원리
브라우저 역할 : 주소에서 받아온대로 그대로 그려주는 역할
새로고침하면 다시 받아오니까 다시 그려짐.
웹 서버에서는 HTML, CSS, Javascript 3개만 넘겨줌.
JSON 방식 : 데이터가 왔다갔다할때 규칙, 키: 밸류 라고 함.
데이터 갈아끼우는 것은 앱에서 많이 사용함.
웹은 다 받고, 앱은 데이터만 JSON 형식 {키 : 밸류}
4. 서버-클라이언트 통신 - "저희가 API 열어드릴게요"
서버는 어떻게 통신하는 걸까?
API : 창구이자 약속, 평소에 보는 URL처럼 생김
은행이 서버라고 하면 은행에 가는 고객은 클라이언트.
잔고를 확인하고 싶은 경우
은행과 미리 약속을 해둔 곳에 : 예금 창구
약속해둔 데이터를 들고가야: 신분증
잔고를 알려줌: 응답
예시:
여러 창구중 '주소를 갖고와, 음식점을 알려줄게' 이러한 창구하나를 API (클라이언트 개발자하고 미리 한 약속)라고 함.
서버에는 창구라는게 존재하고 이 창구는 약속으로 이루어져 있음.
이 약속이 헷갈리니까 문서로 작성해 둔게 API 명세서.
API 예시:
http:// movie.naver.com (서버위치) / movie/bi/mi/basic.naver (API 주소) ? code=10016 (가져가기로 한 데이터, 1006은 나홀로집에 영화번호)
적용 문장:
"API 하나만 따주세요" = 새로운 기능 창구를 하나 만들어달라. 그쪽으로 요청하겠음.
"API 개발은 끝났고, 클라이언트는 아직이에요" = 창구는 다 만들었는데, 요청하는 쪽이 아직 작업 중
API는 지정된 방식으로만 소통할 수 있음.
그런데 이런 보안을 모두에게 열어둔 것이 Open API
'코딩노트' 카테고리의 다른 글
모바일 장치 감지하는 방법 (1) | 2022.10.18 |
---|---|
[스파르타코딩클럽] 코딩 용어 해설(2) (0) | 2022.10.18 |