백엔드는 어떤일을 하나요? 프론트와의 차이점도 알려주세요
웹개발자라는 타이틀 아래 프론트엔드와 백엔드가 있는걸 알게 되었는데요.
프론트엔드가 웹퍼블리셔쪽과 가까운게 맞나요?? 구체적으로 두 직군이 어떤 일을 하는지와 어떤 차이가 일은지 궁금합니다.
안녕하세요.
프로그래밍 언어는 프론트엔드, 백엔드로 나뉘는 데요. 프론트엔드는 화면쪽, 백엔드는 서버쪽 언어로 라고 보시면 됩니다.
보통 프론트엔드로는 html, css, 자바스크립트 등이 있고 백엔드로는 파이썬, 자바, C 등이 있습니다.
간단히 보여주기만 하는 화면은 html, css, 자바스크립트만으로 가능하고 등록, 조회, 수정, 삭제 등의 기능을 구현 하려면 서버쪽 백엔드 언어를 배우셔야 합니다.
html은 화면에 기본적인 레이아웃 그리는 작업이고, css는 글꼴이라던지 크기, 색상 등 디자인을 입히는 작업이고, 자바스크립트는 화면단에 필요한 로직을 구현하는 작업이라고 보시면 됩니다.
파이썬은 데이터통계, 인공지능 쪽에서 많이 사용되고 비교적 쉽게 배울 수 있는 언어이고 자바는 웹이나 안드로이드 등 다양한 분야에 많이 사용 되는 언어입니다. 정부에서 사용하는 전자정부프레임워크에서도 쓰입니다. C는 하드웨어제어나 게임등에 사용되는 언어로 기초를 다지기에 적합한 언어입니다.
상대적으로 쉬운 프런트엔드 쪽을 먼저 공부하시고 백엔드 쪽을 공부하시는게 좋습니다.
프론트 엔드는 눈에 보이는 부분을 개발하는 사람. 즉. 클라이언트 개발자라고도 합니다.
웹페이지에 틀을 제작합니다.
백엔드는 눈에 안 보이는 부분을 개발하는 사람, 즉, 서버 개발자라고도 합니다.
쓰는 언어가 서로 차이가 나죠
웹 퍼블리셔는 웹 개발자와 웹 디자이너 사이에서 원만하게 일을 하도록 도와주는 사람을 말합니다.
안녕하세요. 현업 웹 풀스택 개발자입니다.
겉으로 봤을 땐 프론트엔드 작업이 HTML와 CSS와 jQuery만 하는 것 같지만, 전혀 아닙니다.
일일이 나열하자면 수도 없이 많구요, 예시를 몇 개 들겠습니다.
웹사이트에서 다국어를 지원해야한다고 할 때 프론트엔드 측에서 어떻게 언어를 번역해서 적용시킬 것인지, 새로고침 했을 때 그 전 언어 상태를 유지시키는 작업을 할 수 있습니다.
API 서버에서 제공하는 데이터를 받아와서, 검색 엔진에 노출시키기 위해 사이트맵을 만듭니다.
개발 서버와 라이브 서버 환경 분리를 위해 Webpack 같은 번들링 도구를 이용해 환경을 분리시킵니다.
Docker 같은 가상화 도구를 이용해 앱을 컨테이너화 합니다.
Firebase같은 써드 파티 라이브러리를 사용한다면, 코드 재사용성을 위해 모듈화해서 사용합니다.
프로젝트 투입 시기에 따라, 프론트엔드는 HTML, CSS 마크업하는 작업이랑은 크게 관련이 없을 수도 있습니다.
그리고 앱을 개발하다보면, 백엔드와의 작업 경계가 모호해지기도 합니다.
요약하자면 UI를 만들어내는 작업도 당연히 하지만, 팀원들이 앱을 편하게 개발하기 위해 환경을 분리시키거나 아니면 앱 빌드를 최적화해서 리소스 로딩을 줄이는 등의 작업들도 하게 됩니다.
안녕하세요.
웹 개발을 공부하는 중이시라면
프론트엔드 & 백엔드 둘다 접하게 되실겁니다.
프론트엔드 => 사용자 입장에서 접하게되는 부분 개발. UI가 중심이고 UI를 컨트롤하는 각종 프레임워크 사용(자바스크립트, vue.js, angualar.js 등등)
백엔드 => 웹 개발 언어(jsp, php, asp) + 백단 언어(node.js, pythons, 서버단) 등등
자바스크립트는 응용에 따라 둘 다 사용하실 수 있겠네요.
현업을 하게 되면 업무 효율을 위해 프론트엔드와 백엔드를 나누게 되어서
저는 프론트엔드 개발자입니다. 백엔드 개발자입니다. 이렇게 구분하는것일뿐
웹 개발을 전체를 보게 되면 동일한 웹 개발을 하는겁니다.
한쪽만 염두해서 공부하지 마시고
둘다 다룰수 있게 다양한 경험을 하시는게 좋습니다.
물론 자신이 자신있는 분야가 있을수 있는데, 업무 경험에 따라 좌우되는거니 너무 걱정하지마세요
요샌 풀스택 개발자가 정답이라 생각합니다. ^^
주로 화면에 들어나지 않는 내부 서버프로그래밍을 보통 백엔드라고 합니다. 더 깊게 들어가면 아키텍쳐 설계 부터 각 서버어플리케이션 개발, DB 구성 및 핸들링, 성능분석 및 개선 등 눈에 들어나지 않는 부분을 다루게 됩니다.
그리고 보통 프론트엔드는 화면에 들어나는 퍼블리싱, 스크립트 프로그래밍을 말합니다. 프론트엔드는 서버에서 개발한 api를 화면에서 사용할 수 있도록 사용자 인터페이스 프로그래밍을 하게됩니다.
하지만 현재 백엔드에서 프론트엔드까지 처리해주는 언어들이 있고 반대로 프론트엔드에서 백엔드까지 모두 커버하는 프로그래밍언어들이 많이 있습니다. 경계가 모호해 졌지만 특별히 자신이 강한부분으로 백엔드개발자 프론트엔드개발자로 불리는거라 생각합니다.
안녕하세요.
프론트엔드와 백엔드의 차이점을 알려드립니다.
1. 프론트엔드
- 하는 일 : UI/UX 개발(사용자 인터페이즈, 사용자 경험)
- 사용 기술 : HTML, CSS, Javascript, AngularJS, ReactJS, Bootstrap
2. 백엔드
- 하는 일 : API 개발, 서버관리 및 구성, 데이터베이스 등
- 사용 기술 : PHP, JSP, Spring, JPA 등등
EX)
프론트엔드 : 웹페이에서 눈에 보이는 모든것은 다 프론트엔드 개발자의 영역이다.(버튼색, 배너위치, 이미지크기, 메뉴위치 등등)
백엔드 : 데이터 저장, 관리, 서버관리, 서버 모니터링 ( 버튼을 누를때 동작할 프로세스를 코드로 개발 )
백엔드 더 쉽게 : 질문등록 버튼을 누른다 -> 질문내용을 서버로 보낸다 -> 서버에서 데이터베이스에 저장한다 -> 저장한 데이터를 다시 보여준다 등의 모든 비즈니스 로직 개발
프론트엔드의 경우 웹퍼블리셔랑은 조금 다르지 않을까 합니다.
자바스크립트를 사용해서 기능을 개발하기도 하고 컴포턴트로 만들어서 유지보수가 편하게 개발하기도 합니다.
프론트엔드는 화면을 개발한다고 보면 좋을 것 같습니다.
백엔드는 프론트엔드에서 사용하는 데이터를 저장하고 프론트엔드로 전달하는 역활을 한다고 보면 좋을것 같습니다.
프론트엔드는 쉽게 말해서 웹 접속시 보이는 부분을 만드는 것입니다. 주로 사용하는 언어는 HTML, CSS, Javascript, jquery등이 잇습니다.
백엔드개발자는 쉽게 말해서 DB(회원가입, 로그인, 게시판등의 기능을 만드는)와 API서버 개발을 담당합니다. 주로 사용하는 언어는 회사마다 차이가 많아서 PHP, JAVA, JSP, Oracle DB, Mysql등등....
프론트엔드가 백엔드보다 진입장벽이 낮습니다.
풀스텍이라는것도 있는데 말 그대로 프론트엔드와 백엔드 모두 다 할 줄 아는 사람을 말합니다.
당연히 연봉도 높죠.
백엔드 개발자 로드맵
프론트엔드 개발자 로드맵
안녕하세요.
요즘 파이썬이 대세라고는 알려져있습니다.
보편적으로 웹개발이 취업하기도 광범위합니다.
또한 기본적으로 java는독학하기에도 수월합니다.
자바스크립트를 시작으로해서 앞부분 프론트를 마무리하고 java로 들어서면서 서비스쪽(조금 더 디테일하게) 배우는것이 괜찮을 것 같습니다.
자바스크립트는 현재 많이 사용중이므로 쉽게 접근하실 수 있습니다.
감사합니다.
안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.
질문하신 내용에 대하여 아래와 같이 답변 드립니다.
맞습니다.프론트는 주로 클라이언트단에서 스크립트언어를 주로 개발하며
백엔드는 서버쪽에서 서버언어를 주로 개발합니다.
둘다 중요한 직군으로 한쪽에 특화되는것도 좋지만
최근에는 양쪽다 다루는 개발자들이 늘어나면서
어느 한쪽에 국한되는것은 지양하는것이 유리합니다.
부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!안녕하세요,
사용자 인터페이스가 존재하는 프로그램의 경우, 사용자 - 프론트엔드 - 백엔드 이렇게 3계층으로 구분하는 경우가 많습니다.
프론트엔드의 경우 사용자와 직접 소통하는 프로그램 입니다.
백엔드의 경우 실제 작업을 수행하는 프로그램입니다.
비행기를 탑승했을 때를 예를 들자면,
스튜어디스는 고객과 소통하는 프론트엔드이고,
기장/부기장은 실제 작업을 수행하는 백엔드 입니다.
스튜어디스의 덕목은 보기 좋고 친절하고 명확해야 하며,
기장/부기장의 덕목은 안정적으로 동작하게 만드는 것 입니다.
프론트엔드 직군의 경우 사람의 관점에서 업무를 설계한다면, 백엔드 직군의 경우 컴퓨터 입장에서 효율적이고 안정적으로 동작하게 업무를 설계합니다.
감사합니다.
안녕하세요
백엔드 프론트엔드를 질문 하셨는데요
프론트 엔드의 경우 웹버블리셔가 될 수도 있고 웹 마스터 등등 표현하는 말은 여러가지 있습니다만
프론트엔드는 간단하게 클라이언트(실제 고객이 보이는 화면)라고 보면 됩니다.
그리고 백엔드는 서버단이라고 보면 되는데요, 예를들어 프론트 단에서 고객이 검색창에서 아파트를 검색 하셨다고 하면 프론트에서는
아파트 검색했으니 아파트에 대한 결과겂을 보여줘 라고 백엔드(서버) 쪽으로 메시지를 날립니다. 그러면 백엔드에서 해당 내용을
처리한 결과 값을 프론트엔드 쪽으로 다시 던져주면 프론트에서 이 결과값을 보여주게 됩니다.
간단히 정리 하자면, 백엔드(서버처리), 프론트엔드(고객이 보는 화면부분 처리)
안녕하세요 아하 답변자 입니다.
우선 백엔드와 프론트엔드를 설명하기 이전에, 서버와 클라이언트 라는 것을 먼저 이해 하셔야 합니다.
쉬운 예시를 들어 볼게요~
스타벅스 커피에는 다양한 메뉴들이 존재하죠, 그리고 그 메뉴들을 주문 하려면 직원이 포스기에 손님의 주문을 입력해야 합니다.
그리고 포스기에는 스타벅스의 모든 메뉴들이 다 입력 되어있죠. 전국 모든 매장에 가도 같은 메뉴들이 입력 되어있습니다.
스타벅스는 어떻게 한 치의 실수도 없이 모든 매장에 메뉴를 다 입력할 수 있었을까요?
왜냐하면 메뉴들은 스타벅스 서버에 저장되어 있기 때문입니다. 그리고 포스기는 클라이언트로써 스타벅스 서버에서 메뉴 데이터를 가져오죠. 서버에는 데이터베이스 뿐만 아닌 보안 장치, 인증받은 포스기만 데이터를 읽어가게 할 수 있는 프로그램들이 존재합니다. 여기서 스타벅스 포스기를 위한 서버쪽 프로그램을 백엔드 프로그램이라고 부릅니다.
그리고 포스기를 보면 직원이 쉽게 조작할 수 있게 메뉴와 다른 버튼들이 시각화 되어 있습니다. 여기서 포스기의 화면 같은 것을 개발하는 영역이 프론트 엔드라고 합니다.
안녕하세요.
프로그래밍은 원래 혼자서 독학해야 하는 직종입니다. 대부분의 모르는 것들은 구글에 검색하면 다 나옵니다. 혼자서 독학하기에 좋은 프로그래밍 인강 사이트는 유료로 한다면 인프런 이라는 사이트가 있고 일단 맛보기라도 먼저 해보고 싶으시다면 생활코딩이라는 사이트를 접속하셔서 한 번 영상 훑어보시는 것도 좋습니다.
시작하기 좋은 프로그래밍언어는 nodejs 혹은 javascript, python 등이 있습니다. 만약 앱개발을 원하신다면 무조건 자바를 하셔야 합니다. 안드로이드가 자바기반으로 되어 있으며 코틀린 언어를 사용하셔도 됩니다.
현업에서는 C언어를 거의 사용하지 않습니다. 파이썬을 사용하는 부서는 있으며 주로 자바나 자바스크립트 nodejs 를 사용하는 부서가 가장 많습니다.
그 외의 프로그래밍이라면 html, css, javascript 등과 같은 것은 https://w3schools.com 에서도 충분히 학습하실 수 있습니다.