백엔드에 대해서
- 처음 웹 개발 실무 프로젝트에 투입되고난 후, Nuxt.js(Vue.js) 프로젝트를 하고, 그 전후로 따로 프론트엔드 개발 공부도 계속 하면서 프론트엔드 개발은 어느정도 On-boarding 된 것 같다. (말 그대로 On-boarding 수준이다.)
- 백엔드는 잘 다뤄보지 않아서 용어도 하나도 모르겠다. 범위도 너무 넓다. 심지어 새로 투입된 프로젝트에서는 백엔드도 다뤄야되는데, 스프링부트에 대해서 하나도 모른다. 그래서 백엔드에 대해서 알아보기로 했다.
백엔드 개발자가 되기 위해 필요한 지식들Permalink
백엔드라하면 말 그대로 뒤에 있어서, 눈에 보이지 않는 것들을 일컫는다.
- API : 프론트엔드와의 접점. 동사무소의 민원 업무를 하는 공무원이나 은행의 창구에서 일하는 은행원의 역할과 비슷하다.
- 서버 : 개발한 API를 어디서 서비스할 것인가. 공무원이 일하는 동사무소, 은행원이 일하는 은행이 있어야 한다. 요즘은 가상화해주는 AWS EC2와 같은 것들이 있다. 디지털 민원 사이트와 인터넷 뱅크와 비슷한 느낌.
- DB : 서비스를 위해 필요한 데이터를 체계적으로 저장한 장소. 인터넷 뱅크로 치면, 누가 얼마나 돈을 가지고 있는 지에 대한 정보들을 저장하는 곳이다.
- 스토리지 : 서비스에 필요한 데이터가 DB에 저장된다면, 사진이나 동영상과 같은 파일들이 저장되는 곳이 스토리지다. 은행으로 치면, 실제 돈이 보관되어 있는 금고와 같은 것이다.
- 네트워크 : 개발한 API를 어떻게 서비스할 것인가. 서버 내에서 데이터나 파일의 통신은 어떻게 할 것인가. 방법론적인, 기술적인 것 같다. 은행에서, 은행원이 어떻게 고객을 대할 것인지 방법에 대한 매뉴얼이 될 수도 있고, 실제 돈을 송금하거나 운반할 때 어떻게 송금을 하고 운반할 지와 같은 방법에 대한 것 같다.
백엔드 개발자의 개발 언어, 도구Permalink
- 백엔드 개발에 사용되는 언어는 매우 많은 종류가 있지만, 주로 파이썬과 자바가 사용되는 것 같다. 채용 공고를 분석해보면, 심지어 파이썬도 많이 쓰지 않는다. 자바가 주류인 것 같다.
- 프론트엔드를 개발하는 데에 자바스크립트라는 재료가 있고, 리액트라는 매우 강력한 도구(프레임워크)가 있다. 백엔드를 개발하는 데에는 자바라는 재료가 있고, 스프링이라는 강력한 도구(프레임워크)가 있다.
댓글남기기