프론트엔드와 백엔드의 차이

Mongs_sw·2023년 11월 10일

제로베이스

목록 보기
1/1
post-thumbnail

어서오세요! 저의 누추한 첫 포스트에😂

매번 학습 기록만 남겼는데.. 오늘은 짤막한 나의 의견을 끄적여본다.

1️⃣ 프론트엔드 그리고 백엔드

프론트엔드와 백엔드 차이에 대한재밌는 이미지가 있어서 가져와보았다.😂

2️⃣ 프론트엔드가 뭔데?

웹에서 사용자에게 시각적으로 보여지는 부분

응용 프로그램의 클라이언트 측이고, 사용자의 웹 브라우저에 의해 실행된다.

  • 프론트엔드 개발은 HTML,CSS,JavaScript와 같은 웹 기술과 React, Angular,Vue.js와 같은 프레임워크, 라이브러리를 사용하여 사용자 인터페이스를 만든다.

특히 이러한 프론트엔드의 작업들은 직접 작성한 코드들을 실시간으로 어떤 형태로 화면에 출력되는지 실시간 확인이 가능하다.

프론트엔드 개발자는 웹 사이트나 응용 프로그램의 모양과 느낌을 만들며, 사용자 친화적이고 반응성이 뛰어난지 시각적으로도 매력적인히 확인할 수 있는 역량이 필요하다.


+) 프론트엔드 지향

  • HTML, CSS, 자바스크립트 등의 마크업 및 웹 언어 (+ Sass (스타일시트 언어), JQuery)
  • 비동기 입출력 요청 관리 및 Ajax
  • 싱글 페이지 애플리케이션(리액트 (자바스크립트 라이브러리), 앵귤러 (애플리케이션 플랫폼), Vue.js 등의 프레임워크 포함)
  • 웹 성능(60 FPS 애니메이션 및 상호작용, 메모리 사용량 등)
  • 반응형 웹 디자인
  • 크로스 브라우저 호환 이슈 및 우회 처리
  • 헤드리스 브라우저의 단대단 테스트
  • 자바스크립트 파일의 변환 및 번들링, 이미지 크기 축소 등을 위한 빌드 자동화 (웹팩, Gulp.js 사용)
  • 검색 엔진 최적화
  • 웹 접근성 문제
  • 김프, 어도비 포토샵 등의 이미지 편집 도구의 기본 사용
  • 사용자 인터페이스

출처: 위키피디아

그..그렇단다..ㅎㅎㅎ


3️⃣ 백엔드는 뭔데?

우리가 눈으로 볼 수 없는 영역인 서버(server) 실행 및 관리

백엔드 개발자는
: 주로 웹 사이트의 서버(server)관리 및 개발 업무를 담당하며 부가적으로 DBOS도 담당하기도 한다.

특히 서버에 대한 전문적인 지식이 반드시 필요하기 때문에 운영체제, 컴퓨터 구조, 자료구조, 알고리즘과 같은 컴퓨터에 대한 전반적인 지식과 함께 웹서버 개발에 사용되는 자바(java), 스프링(spring) 다룰줄 알아햐 한다.

+) 백엔드의 주사용 언어

백엔드 개발에 사용되는 언어들은 프론트엔드에 비하면 종류가 다양하다.
대표적으로 몇가지만 적어보자면 아래와 같다.

자바(Java)
C++
Python
Javascript(프론트엔드와 백엔드에서 모두 사용가능)
Node.js


+) 백엔드의 지향

  • 스크립트 언어(PHP, 파이썬, 루비 (프로그래밍 언어), 펄, Node.js, 그리고 C 샤프, 자바 (프로그래밍 언어), Go (프로그래밍 언어) 등의 컴파일 언어)
  • 사용되는 언어를 위한 자동화 테스트 프레임워크
  • 애플리케이션 데이터 액세스
  • 애플리케이션 비즈니스 로직
  • 데이터베이스 관리
  • 스케일러빌리티
  • 고가용성
  • 보안 문제, 인증, 허가 (컴퓨터 과학)
  • 소프트웨어 구조
  • 데이터 변환
  • 백업 방식 및 소프트웨어

출처: 위키피디아


4️⃣ 백엔드 개발자가 되고자하는 이유?

이렇게 간단하게 프론트엔드와 백엔드에 대해 알아보았다.

나는 왜 백엔드 개발자가 되고싶은가?

이 질문에 대한 답을 내리고 시작하는게 맞는거 같다.

내가 직접 무에서 유를 창조하고 싶었다.

부가적으로는 백엔드프론트 엔드보다 재미있었고 백엔드로 시작해서 프론트엔드까지 다루는 풀스택 개발자가 되야겠다는 확고한 목표가 생겼기 때문이다.
나중에 꼭 내가 기획한 서비스를 론칭하기가 나의 최종 목표이다.

나는 백엔드를 Java로 접하진 않았고, Node.js를 통해 백엔드를 찍먹할 수 있는 시간이 있었다.

그때 당시에는 Node.js를 배우기 전에 JavaScript를 먼저 공부하고 접했기 때문에 프론트엔드에 대해서도 어떻게 흘러가는지 알고 있었다.

Node.js를 통해 백엔드를 처음 접했을 때는 정말 신기한게 많았다.
뭔가 내 눈으로 직접 확인할 수 있는건 그저 서버 어딘가에 내가 작성한 코드가 들어가서 작동되고 있다는 확인문구?가 다였다.

그렇지만 뭔가 내가 주인이 되어 이끌어 나갈 수 있는 무언가를 만들어간다는 느낌이 강하게 들었고, 그 순간부터 백엔드에 대한 매력이 생겼다.

지금은 공부하는 언어가 아예 다르기 때문에 어려운게 많다.
아직 낯설고 익숙하지 않다. 하지만 재미있다.
난관에 봉착한 무언가를 해결해 나가는 그 느낌이 좋다.
아직 정말 갈길도 멀고 지금까진 수박 겉핥기 식으로 임한게 꽤 많아서
모르는 것 투성이다.

하지만 내가 목표로 세운 백엔드 개발자가 되자! 에 대한 나의 꿈을 향해 한발자국 나아가 보려한다. 앞으로 정신없고 지치고 힘든 순간이 오겠지만 이 글을 통해 스스로를 되돌아보는 계기가 되었으면 한다.

나 뿐만이 아닌 꿈을 가지고 도전하는 모든 사람들이 각자의 목표에 성공적으로 안착하길 기원하며 첫 끄적임은 마쳐야겠다!

profile
몽이아빠의 개발 일기

0개의 댓글