백엔드가 무엇이고 어떻게 작동 하는가.
학원에서 컴퓨터 개발자 과정을 수강하고 4개월이 지났다. 처음 컴퓨터 언어를 배우기 시작했을때 낯설고 어려웠지만 그래도 할만했다. 4개월차가 되고 여러가지 언어를 배운 지금 머리가 복잡하다. 어떤게 어떤건지, 어디에 쓰는건지, 언제 쓰는건지 감이 안와 홈페이지 만드는 프로젝트를 하는 이 시점에 머리가 많이 혼란스럽다. 그동안 주말에 집에서 공부를 하겠다는 생각만 했지 실제로 공부를 했던적은 없었다. 하지만 이번 주말(어제)는 왠지 이렇게 하다가는 새가 될것같다는 생각에 백엔드가 무엇이고 그동안 배운 것들이 어디에 어떻게 쓰이는지 한번 정리해 보기로 했다.
혼자서 인터넷을 뒤적거리다 수업시간 선생님이 추천해준 유투버 노마드코더가 생각나 그의 동영상을 참고했다.
그가 말하길 백엔드는 이 세가지다.
서버 | Application | Database |
-Just a huge computer -Connected to the internet -Running on Linux -Has a harddirve where I put application code |
-내가 쓴 코드 -Always running on the Server(a computer) -Talks to Data base. |
-Where the application saves and gets information from -tables, rows, columns -need to know SQL |
내가 지금 까지 배운 내용은
-파이썬
-자바
-SQL
-HTML, CSS
-JavaScript, jQuery, ajax
-JSP
-Linux
이다. 문제는 이것들이 어디에 어떻게 쓰이는지 인데 그가 설명하는 백엔드가 작동하는 방식을 보면
웹페이지 | 내 페이지를 보여줘 ------------------------> <------------------------ 여기 Json Object |
-gets the user from cookie and stuff -check if the user is authenticate ------------------------------------ 서버 ------------------------------------ Serialize the<Query object> into JSON |
유저 ID#3 정보 줘 -----------------------> <----------------------- 여기 유저#3 정보 |
데이터 베이스 |
이렇다고 한다.
웹페이지 | 서버 | 데이터베이스 |
HTML CSS JavaScript(jQuery, ajax) |
리눅스(서버를 운영하기위한 운영체제) Python Java(서블릿? 코드) JSP(쿠키, 세션, 캐시) |
MySQL |
일단 이런식으로 그동안 배운 언어?들을 놓을수 있는거 같은데 각 언어들중 JavaScript(jQuery, ajax), Java, JSP의 역할들이 아직 명확하지 않다.
일단 JavaScript가 웹페이지에 생명력?을 불어 넣어 준다는 개념은 이해 하겠는데 jQuery와, ajax는 정확히 어떻게 기능을 하는지,
Java와 JSP는 배우긴 많이 배운거 같은데 확실하게 개념이 안섬..
(JSP는 html과 Java코드를 같이 쓸수 있는것은 알겠음)
천천히 더 알아 보기로 하자.
큰그림 그려지는 사진을 구했다.
