썸네일사진

 프런트엔드(클라이언트)와 백엔드(서버)란?

프런트엔드는 클라이언트라 부르기도 하며 우리가 보는 화면을 의미합니다. 웹페이지상에 보이는 화면 개발, 게임상에 보이는 화면, 모바일 앱에서 보이는 화면 모두 프런트엔드(클라이언트) 입니다. 백엔드는 서버라고 부르는데 화면에서 보이지 않은 일을 처리하는 역할을 한다고 이해하시면 쉽습니다. 백엔드(서버)는 프런트엔드(클라이언트)와 데이터를 주고받으며 해당하는 결과를 화면에 렌더링 하게 됩니다.

 코딩을 처음 배우는 사람 추천 코스

게임 개발, 웹 개발, 모바일 앱 개발, 임베디드 프로그램 개발, AI 개발 등 개발에는 여러 분야들이 존재합니다. 각각 분야마다 배워야 커리큘럼이 달라질 것입니다. 보통 게임을 만들려면 유니티 엔진이나 언리얼 엔진 등을 사용하기 위해 유니티 엔진은 C#, 언리얼 엔진은 C++ 언어를 배워야 하고 웹 개발을 하기 위해선 HTML, CSS, JavaScript 언어를 배워야 합니다. 모바일 앱 개발 공부를 하시려면 안드로이드는 코틀린 언어, 아이폰은 스위프트 언어를 배워야 하고, 임베디드 프로그래밍은 C, C++ 언어, AI 개발은 파이썬 언어를 배워야 합니다. 이와 같이 어떤 것을 개발하느냐에 따라 배워야 할게 천차만별입니다. 보통 사람들은 조금의 노력으로 많은 결과물을 얻는 것에 재미를 느끼고 개발한 결과물을 쉽게 볼 수 있고 타인에게 제공할 때 희열을 느낀다고 합니다. 프로그래밍은 재미와 흥미를 결과에서 느껴야만 지치지 않고 지속으로 다양한 기술을 습득할수 있게 됩니다.

 

일단 어떤 개발을 선택을 하던 언어라는 것을 무조건 처음에 배우게 됩니다. 웹 개발을 제외한 모든 언어는 검은 화면 실행 결과가 문자로 표기됩니다. 언어를 배우는 데는 시간이 소요되고 본인이 공부하는 열정에 비해 결과가 콘솔 화면으로 나오게 되므로 점점 재미가 떨어져 흥미를 잃기 쉽습니다. 그러나 웹 개발은 웹 브라우저로 배우며 테스트하기 때문에 같은 문자라 하더라도 웹 브라우저에 렌더링 되므로 간단만 문자 하나만으로도 재미와 흥미를 느끼게 되고 더 고난도의 기술을 배우려는 의지가 생기게 됩니다. 그리고 사실 하나의 언어만 제대로 배워두면 다른 언어들의 주 문법들은 비슷하기에 혼자서 쉽게 접근하고 배우기가 쉽습니다. 그래서 높은 경력의 개발자들이 다양한 언어로 다양한 개발을 하게 되는 것입니다. 

다양한 언어 로고 사진

 개발 입문자에게 추천하는 코스

프로그래머가 되고 싶으신 분들은 웹 개발자 코스를 추천드립니다. 위에서 말씀드렸듯 배우는데 난이도가 다른 것에 비해 낮고 재미와 흥미로 인해 지속적으로 공부하는 계기가 되게 됩니다. 웹 개발은 백엔드와 프런트엔드로 나뉘는데 백엔드는 보이지 않는 영역에 기술을 만드는 것이므로 프런트엔드에 비해 난이도가 높으니 첫 공부는 프런트엔드 위주로 준비하는게 좋습니다.

 

 첫 공부는 웹퍼블리셔 기술 습득

프런트엔드는 화면을 만드는 것이라고 말씀드렸습니다. 화면을 만들기 위해 배워할 것은 HMTL, CSS, JavaScript 입니다. 어떻게 보면 3개나 배워야 하지만 HTML과 CSS는 마크업 언어로 쉽게 이해하고 배울 수 있습니다. 핵심은 프로그래밍 언어인 JavaScript를 잘 익혀서 화면을 그리는 HTML과 CSS 마크업 언어를 동적으로 컨트롤하게 된다면 웹 브라우저의 화면을 만드는 웹퍼블리셔 개발자의 역량을 갖게 되는 것입니다.

 두 번째 서버 사이드 기술 습득

웹 퍼블리셔로 만든 홈페이지는 단순 회사 기술 소개 등 껍데기에 불과합니다. 여기에 백엔드 서버, 데이터베이스 기술들로 프런트엔드와 통신을 해야 완벽한 홈페이지가 되는 것입니다. 대기업에서는 백엔드 서버를 위해 Java, Spring 등을 사용하고 데이터베이스는 오라클을 주로 이용합니다. 또한 중소기업에서는 백엔드 서버를 위해 Node.js를 사용하고 데이터베이스는 MongoDB, MySQL 등을 사용하고 있습니다. 백엔드에 대해 모든 것을 다 배우면 좋겠지만 시간 소요가 크므로 접근성이 좋고 배우기 쉬운 중소기업 테크트리를 추천드립니다.