loading
본문 바로가기
ETC/일상

[ Diary ] Front vs Back / 백엔드의 시작

by NeuLyeo 2023. 11. 10.

[ Diary ] Front vs Back / 백엔드의 시작


 

 

📚 Table of Contents

     

     

     

     

    프론트엔드 (Front - End)

    프론트엔드(Front - End) 개념

    사용자가 웹 사이트 또는 웹 애플리케이션, 모바일 애플리케이션에 처음 접속하면

     

    아주 깔끔한 레이아웃을 가진 인터페이스를 보게 된다.


    즉, 사용자가 직접 맞다뜨리는 모든 요소가 해당하고 프론트엔드라고 부른다.

     

    프론트엔드는 사용하기 쉽고 매력이 있을 때에 더욱이 사용자들의 참여를 끌어내기 때문에 아주 중요한 요소가 된다.

     

    서비스의 경쟁력을 유지하기 위해서는, 매끄럽게 동작하는 프론트엔드를 구축하는 것이 매우 중요하다.

     

     

     

     

    프론트엔드(Front - End) 개발

    프론트엔드 개발은 주로 사용자 인터페이스 ( UI )와 사용자 경험 ( UX )을 만드는 데 초점을 가지고 있다.

     

    슬라이더, 드롭다운(drop-down) 메뉴, 레이아웃, 폰트, 컬러 등 모든 요소가 프론트엔드 개발에 포함된다.

     

    개발에는 HTML, CSS, JavaScript 등의 기술을 활용한다.

     

     

     

    필요 역량

    • 사용자 인터페이스(UI) 및 사용자 경험(UX)을 디자인하고 개발하는데 관심이 필요하다.

    • HTML, CSS, JavaScript 등의 웹 프론트엔드 기술에 대한 이해와 능력이 필요하다.

    • React, Vue, Angular 등의 프론트엔드 프레임워크에 대한 경험과 지식이 필요하다.

    • 기획자, 디자이너, 백엔드 개발 등 다양한 팀원과 협업하면서 웹 서비스를 개발하기 때문에 프로젝트 관리와 협업 능력이 필요하다.

     

     

     

    프론트엔드(Front-End) 주사용 언어

    HTML

    웹페이지의 전체적인 틀을 구성

     

    HTML( Hyper Text Markup Language )은 하이퍼텍스트와 마크업 언어로 구성되어 있다.

     

    HTML은 웹 페이지를 만들기 위한 마크업 언어로, 웹 페이지의 구조와 콘텐츠를 정의한다.

     

    HTML 요소를 사용하여 텍스트, 이미지, 비디오 등의 콘텐츠를 삽입하고 웹 페이지의 레이아웃을 조정할 수 있습니다.

     

     

     

    CSS

    웹페이지의 시각적인 부분을 담당

     

    CSS는 종속 스타일 시트( Cascading Style Sheets )의 약자이다.


    CSS는 마크업 언어로 작성된 것이 실제로 화면에 어떻게 보이는지 그 스타일(표현)을 정해 주는 언어이다.


    HTML 요소의 색상, 크기, 배치 등을 조절하여 웹 페이지를 디자인할 수 있습니다.

     

     

     

    JavaScript

    자바스크립트는 HTML과 CSS를 통해 만들어진 웹 페이지가 동작하도록 만들어 준다.

     

    사용자들을 위해 상호작용하는 애플리케이션은 자바스크립트를 통해 구현 가능하게 해 준다.

     

     

     

     

     

    백엔드 (Back - End)

    백엔드(Back - End) 개념

    용어 자체에서 알 수 있듯이, 백엔드는 웹사이트나 웹 애플리케이션 또는 모바일 솔루션의 프로세스와

     

    관련된 서버 측( Server-side ) 과 데이터베이스를 관리하는 영역이다.

     

    사용자가 원활하게 웹사이트 등을 이용할 수 있도로 록 도와준다.

     

    프론트엔드가 눈에 직접 보이는 영역이었다면,

     

    백엔드는 사용자의 눈에 보이지 않는 영역으로 서버에서 작용하는 기술을 다룬다.

     

     

     

     

    백엔드(Back-End) 개발

    백엔드 개발은 웹 서비스의 서버 측 로직을 개발하는 분야이다.

     

    데이터를 저장하고 관리하며, 웹사이트의 클라이언트 측(Client-side)에서 모든 것이 매끄럽게 작동할 수 있게 해 준다.

     

    백엔드 개발에는 시스템 보안, 서버 구성, 성능 최적화, 데이터베이스 설계 등 다양한 업무를 수행한다.

     

     

     

    필요역량

    • 서버와 데이터베이스에 관심이 있어야 한다.

    • Python, Java, JavaScript, Kotlin 등의 백엔드 기술에 대한 이해와 능력이 필요하다.

    • 대규모 데이터 처리와 보안, 웹 서버 관리 등에 대한 이해와 경험이 필요하다.

    • Django, Flask, Spring 등의 백엔드 프레임워크에 대한 경험과 지식이 필요하다.

     

     

     

    백엔드(Back-End) 주사용 언어

    PHP(Hypertext Preprocessor)

    PHP( Hypertext Preprocessor )는 개발을 위해서 고안된 서버 측 스크립트 언어이자 수많은 웹 시스템의 기반이 되는 언어이다.


    PHP는 서버에 있는 데이터가 사용자와 상호작용하는 웹 애플리케이션으로 진화하여 브라우저로 넘어가도록 처리하는 데 필요하다.


    PHP는 HTML을 프로그래밍적으로 생성해 주고, 데이터베이스와 상호작용 하면서 데이터를 저장하고, 표현하는 서버와 브라우저 간의 다리 역할을 한다.

     

     

     

    JavaScript

    앞서 프론트엔드 때 소개해 드렸던 자바스크립트는, 백엔드와 프론트엔드 모두에서 사용할 수 있다.

     

    웹은 물론 모바일 하이브리드 앱, 서버 사이드(Node.js), 데스크톱, 머신러닝(TensorFlow.js) 등 다양하게 활용되며 크로스 플랫폼에서 중요한 역할을 하는 세계에서 가장 인기 있는 언어이다.

     

     

     

    Java

    가장 인기 있는 프로그래밍 언어 중 하나이자 객체지향 프로그래밍 언어인 자바의 가장 큰 특징은 플랫폼 종속성이 낮다는 것이다.

     

    앞서 살핀 자바스크립트는 HTML과 CSS가 존재한다는 가정하에 실행되었지만 Java는 특정 플랫폼에 의존하지 않는 독립성을 갖추고 있다.


    생산성과 안정성, 기기 호환성이 높고 소스코드 가독성이 좋아 개발자 커뮤니티에서 널리 사용되고 있다.

     

     

     

    Python

    파이썬은 딥러닝, 데이터 사이언스, 인공지능 분야에서 많이 사용된다.


    문법이 배우기 매우 쉬울 뿐만 아니라 응용력이 좋기 때문이다.

     

    허수를 기본 지원하고 소수점과 유리수를 정밀하게 다룰 수 있는 등 과학과 공학 분야에서 필요한 여러 기능을 기본적으로 제공한다.


    현업에서도 사용하기 쉽고 입문하기도 쉬워 교육과 실무 현장 모두에서 인기 있는 언어이다.

     

     

     

     

    백엔드 개발자가 되어보고자 한다.

    컴공과는 1도 관련 없는 체육학과를 재학 중인 나는 백엔드 개발자가 되어보고자 제로베이스를 시작하게 되었다.

     

    나의 좌우명은 ' 하고 싶은 것은 꼭 하자 '이다. 어떤 것에 흥미, 관심을 느끼면 무조건 해봐야 직성이 풀린다.

     

    개발은 내가 하고자 하는 것을, 생각하는 데로 직접 만들 수 있는 것에 마음이 이끌려 시작하게 되었다.

     

     

    왜 하필 백엔드 개발자 일까?

     

    프론트엔드 쪽은 아무래도 사용자에게 시각적으로 보이는 부분이다 보니

     

    다른 사람의 심리나 행동에 대한 관심과 이해를 바탕으로

     

    어떻게 하면 사용자의 눈길을 끌고 흥미를 지속적으로 유지시킬 수 있는지에 대해 끊임없이 노력이 필요하다.

     

    하지만 내가 하고싶은 것은 시각적이 부분이 아니라 내가 원하는 기능을 직접 구현하는 것이다.

     

     

    내가 원하는 기능을 가진 웹, 프로그램을 만들 수 있는 날까지 

     

    조급하지  않고 천천히 나아갈 것이다.

    'ETC > 일상' 카테고리의 다른 글

    [ Diary ] 백엔드 공부 계획  (0) 2023.11.18
    [ Diary ] 백엔드 개발자로써 목표  (0) 2023.11.12