코드스테이츠 수강 2주차 1일차에는 컴퓨터와 프로그래밍의 이해 / 웹 클라이언트와 웹 서버 / 개발환경 세팅 관련으로 강의가 진행되었다.
이렇게 처음부터 시작하니 이전에 학부시절에 들었던 추억이 새록새록 난다.
1. 컴퓨터와 프로그래밍의 이해
컴퓨터와 프로그래밍의 이해 파트에서 핵심은
- 컴퓨터는 연산하는 장치이며, 지치지도, 지루해 하지도 않는다.
- 단순 작업이나 연산은 확실히 인간보다 PC가 더 빠르다!
- 사람의 의도를 컴퓨터가 알아들을 수 있게 하는것이 바로 프로그래밍 언어다. 우리는 이것을 배울것이다
- 프로그래밍 언어로 프로그램을 작성하면 프로그램을 컴파일(기계어로 변환) -> 빌드(작동 가능하게 만들어줌)으로 만든다.
코드스테이츠에서 제공하는 참고 동영상이 있다.
https://www.youtube.com/watch?v=taO7nfcoCT0
개인적으로 시간이 허락 한다면 한글 지원도 되고, 컴퓨터의 하드웨어적 메커니즘까지 설명해주는 동영상을 보는것을 추천한다.
https://www.youtube.com/watch?v=O5nskjZ_GoI
컴퓨터를 이루는 핵심소자(트렌지스터) 등의 설명부터 작동원리, 프로그래밍언어 까지 쉽게 풀어준다.
그리고 교육 목적의 동영상이기 때문에 초등학생도 알아들을 수 있게 잘 설명되어있다. (그리고 죠큼 재밋슴ㅎ!)
2. 웹 클라이언트와 웹 서버
1. 2티어 아키텍쳐
서버-클라이언트로 구성된 설계 방식
우리가 흔히 사용하는 쇼핑몰 앱으로 비유하면
- 스마트폰의 앱 - 클라이언트
- 쇼핑몰의 서버 - 서버
이 두가지로 구성된 설계방식이다.
클라이언트는 서버에 "요청"을 하고, 서버는 이에 "응답"하는 방식으로 작동한다.
"왜 일체화를 안해요?"
비유적으로 말하면, 우리가 커피를 먹는다고 치자, 가장 편한 방법은 남이 해주는거 먹는거다.(그리고 그게 제일 맛있다.)
우리가 카페에 들어가면 "카페모카 하나요." 라고 말하면
점원이 열심히 만들어 준다.
그런데, 일체화를 한다고 치면, 손님이 그냥 원두하고 커피머신을 들고 돌아댕기다가 마시고싶을때 직접 내려먹는 것과 같다.(핸드폰에 모든 자료가 있어야 하는것과 같음)
그러면 당연히 비용이 높아지므로 그냥 이렇게 둘로 나누어서 작동한다.
2. 3티어 아키텍쳐
3티어 아키텍쳐는 2티어 아키텍쳐에 데이터 베이스를 추가한 모습이다.
단순히 설명하면, 서버 자체에서 데이터를 다 가지고 있기 힘드니까 따로 모아두는곳을 만들어 놓고 필요할때마다 쓴다고 생각하면 된다.
3. 프론트엔드와 백엔드
여기서 역할이 나뉘게 되는데, 크게 2가지, 프론트엔드와 백엔드로 나뉜다.
1. 프론트엔드
- 사용자가 눈으로 볼 수 있는 영역
- 백엔드에 비해 디자인적인 요소가 강함
- 사용자와 상호작용 하는 것이 핵심
2. 백엔드
- 사용자가 눈으로 볼 수 없는 영역
- 프론트엔드에 비해 데이터를 다루는 요소가 많음
- 서버와 데이터베이스를 프론트로 전달해 주는 것이 핵심
이후 윈도우 터미널, 우분투, 인텔리제이, 제트브레이 툴박스까지설치 하고 개발환경을 세팅하고 인텔리제이 튜토리얼을 진행했는데, 생각보디 엄청난 기능들이 있었다.
단축키가 너무 많아서 다 기억은 못하는데, 하나하나 대단한 기능들이다.
예를들어 컨트롤 + 알트 + M -> 작성한 코드를 함수로 만들어줌
컨트롤 + 알트 + V -> 일부분 코드를 작성해 놓고 누르게 되면 자동완성됨 (for..if등등)
인텔리제이 단축키 공부를 좀 더 해야겟다....
'백엔드 > 코드스테이츠 수강' 카테고리의 다른 글
코드스테이츠 수강_2주차_5일차_리눅스 기초 (0) | 2022.08.26 |
---|---|
코드스테이츠 수강_2주차_4일차_Twittler 목업 구현 (0) | 2022.08.25 |
코드스테이츠 수강_2주차_3일차_페이지 레이아웃, 웹 앱 화면 설계하기 (0) | 2022.08.24 |
코드스테이츠 수강_2주차_2일차_HTML,CSS (0) | 2022.08.23 |
코드스테이츠 수강_1주차_1일차 - 페어프로그래밍과 메타인지 (1) | 2022.08.19 |