반응형

 

앞서 2가지 프로그래밍 언어를 소개하는 글을 통해서

어떤 프로그래밍 언어를 배워야 하는지

그 프로그래밍 언어는 어떤 것에 특화가 되어있고

목표로 잡은 것이 어떤 것이냐에 따라 달라진다고 말씀드렸습니다.

 

(앞서 2가지 글 보러 가기)

https://jdcyber.tistory.com/15

 

프로그래밍 언어 어떤 걸 먼저 배워야할까? (쉬운 설명, 특징, 목적, 파이썬, 자바, 자바 스크립트

수많은 프로그래밍 언어 도대체 뭘 먼저 배워야 해? 개발을 처음 배우거나 보안을 배우거나 iT업계로 들어올 때 수많은 컴퓨터 언어를 보고 멘붕이 오실 겁니다. 저걸 다 해야 하나..? 어떤 언어

jdcyber.tistory.com

" 아직 저는 무엇을 해야 할지 잘 모르겠어요,
마냥 개발자가 되고 싶은데 목표는 나중에 세울래요.
어떤 걸 가장 먼저 배워야 할까요?"

 

배움의 순서는 없고 정답은 없지만

앞서 걸어간 선배들의 길을 취합해 보고 가장 합리적이고 빠른 길은 무엇일까요?

그래서 준비했습니다.

아무것도 모르겠다면 아래 순서대로 배워라!

(배움의 순서에 따라 써 내려갔기에 각 카테고리 별 설명이 자세하지 않을 수 있습니다.)

 


 

HTML
(HyperText Markup Language)

기본 중의 기본

 

HTML은 모든 방면에서 필수적으로 쓰이는 배우기 쉬운 난이도에 속합니다.

웹 페이지를 만들고 구조화하는 데 사용되는 표준 마크업 언어이며

웹 페이지의 콘텐츠와 구조를 정의하는 데 사용되고

웹 브라우저에 의해 해석되어 사용자에게 시각적으로 표시됩니다.

<!DOCTYPE html>
<html>
  <head>
    <title>Page Title</title>
  </head>
  <body>
    <h1>My First Heading</h1>
    <p>My first paragraph.</p>
  </body>
</html>

(위와 같은 기본 구조를 가지고 있습니다.)

HTML은 웹 개발의 기초이며, 웹 페이지의 콘텐츠와 구조를 정의하는 데

필수적인 역할을 하므로 꼭 배워두셔야 합니다.


 

CSS
(Cascading Style Sheets)

 

 

CSS를 활용하면 만들어둔 웹 페이지를  아름답게 꾸밀 수 있습니다.

말인즉슨 HTML이나 XML 문서의 스타일을 지정하는 데 사용되는 스타일 시트 언어입니다.

웹 개발에서 CSS는 웹 페이지의 레이아웃, 색상, 글꼴 등을 조절하여

시각적인 표현을 개선하는 역할을 합니다.

CSS는 웹 페이지의 콘텐츠(HTML)와 디자인을 분리함으로써,

웹 개발자와 디자이너가 콘텐츠 구조에 영향을 주지 않고

시각적 스타일을 효율적으로 조절할 수 있게 해 줍니다.

CSS는 웹 개발에서 필수적인 기술 중 하나로,

HTML과 함께 사용되어 사용자에게 보다 매력적이고

기능적인 웹사이트를 제공하는 데 중요한 역할을 합니다

 

쉽게 얘기하자면

HTML로만 꾸민 웹페이지는 굉장히 투박하고 아무런 꾸밈이 없습니다.

이런 맨 얼굴에 화장을 해주는 것이 CSS입니다.

하지만 HTML과 CSS를 배웠다고 해서 이상적인 웹페이지를 만들 있는 것은 아닙니다.


Javascript

 

HTML + CSS로 이쁘게 생긴 사이트를 만들었다면 겉만 번지르르한 조금은 멍청한 웹페이지가 만들어졌을 겁니다.

이제 마우스로 클릭하여 움직이거나 현재 위치한 곳을 표시해 주거나 사진을 찍는 등의 기능이 들어간

인터랙티브 한 웹사이트로 발전하기 위해서 자바스크립트가 필요하죠
JavaScript는 웹 개발에서 매우 중요한 역할을 하며, 웹 기술의 발전과 함께 지속적으로 진화하고 있습니다.

그것의 유연성과 광범위한 사용으로 인해, 현대 웹 개발의 핵심 언어 중 하나로 자리 잡았습니다.

브라우저와 소통하는 언어인 자바스크립트는 꼭 배워야 합니다.

 

여기서 자바스크립트를 엄청 전문적으로 하라는 말은 아닙니다.

어느 정도 기본만 숙지하고 다음으로 넘어가셔도 됩니다.


 

Node JS

 

이제 우리는 자바스크립트를 웹페이지 안에서

브라우저를 통해서만 활용하는 것이 아니라 외부에서도 활용해 봐야 합니다.

이때 필요한 것이 바로 NodeJS

 

NodeJS를 잘 활용한다면 우리는 자바스크립트를 이용하여 웹 브라우저에서 벗어나

웹 서버를 만들 수 있고 파일을 생성할 수 있으며

데이터베이스와 통신하고 암호를 보호하고 쿠키를 제공할 수 있습니다.

또 실시간 애플리케이션을 구축할 수 있죠.

이러한 활동을 할 수 있는 곳이 바로 프레임워크라고 합니다.

Node.js는 그것의 효율성, 확장성 및 JavaScript와의 호환성으로 인해,

특히 웹 애플리케이션과 API 서버를 개발하는 데 널리 사용됩니다.

또한, JavaScript 개발자가 서버 측 프로그래밍에 쉽게 접근할 수 있게 하여,

풀스택 개발의 장벽을 낮추는 데 기여했습니다.


 

Express
(Express.js)

 

 

Express.js, 일반적으로 Express라고 불리는 이 프레임워크는

Node.js를 위한 가장 인기 있는 웹 애플리케이션 프레임워크 중 하나입니다.

Express는 웹 애플리케이션과 API를 빌드하는 데 사용되며,

Node.js의 핵심 기능을 확장하여 더 강력하고 유연한 웹 애플리케이션 개발을 가능하게 합니다.


Koa

 

 

이후 Koa를 한번 살펴볼 필요가 있습니다.

갑자기 koa는 들어본 적도 없는데요? 하실 수도 있습니다.

하지만 koa 웹 프레임워크를 주 프레임워크로 채택한 회사도 꽤 많이 있으며,

Express 제작자가 만든 koa는 Express를 하실 줄 안다면

 

배우는데 1시간 밖에 걸리지 않습니다.

1시간 만에 기술 능력에 한 줄 추가되는데 안 할 이유가 없겠죠

 

여기까지 오셨다면

데이터베이스를 구축해야 때가 오셨을 겁니다.


우선적으로 데이터베이스의 기본적인 개념과 원리를 학습합니다.

이는 데이터베이스가 어떻게 데이터를 저장, 검색, 업데이트, 삭제하는지 공부하신 후

관계형 데이터베이스 (SQL)을 학습하기 시작합니다.


 

SQL
(
Structured Query Language)


 

 

데이터베이스 관리 시스템에서 데이터를 저장, 검색, 수정 및 삭제하기 위해 사용되는 표준 프로그래밍 언어입니다.

관계형 데이터베이스 관리 시스템(RDBMS)에서 가장 널리 사용되는 언어로,

데이터베이스 스키마 생성 및 수정, 데이터 삽입, 업데이트, 삭제, 조회 등 다양한 작업을 수행합니다.

이곳에서 바로 많이 들어보셨을 Selct, Insert, 인덱싱, 쿼리 등을 배우시게됩니다.

SQL 데이터베이스 관리 조작에 필수적인 언어로,

관계형 데이터베이스를 사용하는 거의 모든 형태의 애플리케이션 개발에서 중요한 역할을 합니다.

데이터베이스와 상호 작용하는 필요한 강력한 기능을 제공하며,

데이터 기반 의사결정과 시스템 통합에 필수적인 도구입니다.


MySQL

 

MySQL 세계에서 가장 인기 있는

오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 하나입니다.

MySQL SQL (Structured Query Language) 사용하여 데이터를 관리하며,

다양한 운영 체제에서 사용할 있습니다.

기반 애플리케이션, 데이터 웨어하우징, e-commerce,

로깅 애플리케이션 다양한 분야에서 널리 사용됩니다.

MySQL 개발, 특히 PHP 함께

LAMP (Linux, Apache, MySQL, PHP/Python/Perl) 스택의 일부로서 매우 인기가 있습니다.

또한, 기업 환경에서도 성능, 확장성 신뢰성 때문에 널리 사용됩니다.

MySQL 소규모 프로젝트부터 대규모 엔터프라이즈 애플리케이션까지

다양한 요구 사항을 충족시킬 있는 유연한 데이터베이스 솔루션을 제공합니다.


난 관계형 데이터베이스가 싫다

Mysql이 싫다! 하시는 분들은 Nosql인 MongoDB를 사용하시면 됩니다.


 

mongoDB

 

 

MongoDB 고성능, 고가용성, 쉬운 확장성을 제공하는 오픈 소스 NoSQL 데이터베이스입니다.

전통적인 테이블 기반의 관계형 데이터베이스 시스템과 달리,

MongoDB 유연한 문서 지향(Document-Oriented) 모델을 사용합니다.

모델은 JSON 유사한 BSON 형식을 사용하여 데이터를 저장하며,

이로 인해 데이터 구조가 다양하고 변경이 자주 일어나는 애플리케이션에 적합합니다.

MongoDB 특히 대용량 데이터 처리, 실시간 분석, 모바일 소셜 애플리케이션,

콘텐츠 관리, IoT 등의 분야에서 강점을 가집니다. 데이터 구조의 변화가 잦거나,

데이터의 다양성과 복잡성이 높은 애플리케이션에 특히 적합합니다.

MongoDB는 SQL보다 훨씬 배우기 쉽습니다.


그런데
브라우저에서 HTML, CSS, JS를 배워보고

Backend에서 NodeJS를 학습했는데,
Javascript와 NodeJS가 너무 지루하고
자신에게 맞지 않는다고 생각이 들면
어떻게 해야 할까요?

 

Python

 

그때는 파이썬 (Python)을 배우시면 됩니다.

Life is too short, You need Python이라는 명언이 있죠

Python 고수준의 인터프리터 언어로,

간결하고 읽기 쉬운 코드를 통해 효율적인 프로그래밍을 가능하게 하는 프로그래밍 언어입니다.

Guido van Rossum 의해 1991년에 처음 발표되었으며,

다양한 프로그래밍 패러다임을 지원합니다.

Python 오픈 소스이며, 강력한 커뮤니티의 지원을 받고 있습니다.

Python 유연성, 확장성 개발자 친화적인 특성으로 인해,

세계적으로 많은 개발자와 기업들에게 사랑받고 있습니다.

초보자부터 전문가까지 다양한 수준의 프로그래머들이 사용할 있는

범용적이고 강력한 프로그래밍 언어입니다.

 

아래 파이썬 독학 시리즈를 연재중이니 확인해보세요!

https://jdcyber.tistory.com/14

 

파이썬 독학 #1 파이썬 (Python)이란? 설치 (쉬운 설명, 정의, IDLE, IDE, 특징, M1)

파이썬 독학 시리즈 파이썬 독학 #1 파이썬이란? (설치, 특징) 파이썬 (Python)이란 무엇인가? 'Life is too short, You need python.' 인생은 너무 짧으니 파이썬이 필요해 ​ 컴퓨터와 애플리케이션, 모든 전

jdcyber.tistory.com


파이썬을 배운 이후에는 어떻게 노선을 타야 할까요?

자바스크립트에서 NodeJS가 있었다면 파이썬에겐 Flask 있습니다.


Flask

Flask Python 기반의 가벼운 프레임워크입니다.
Armin Ronacher
Werkzeug Jinja2 라이브러리를 기반으로 만들었으며,

"마이크로" 프레임워크로 분류됩니다.

Flask "마이크로" 간단하고 핵심적인 기능만을 제공한다는 의미로,

Flask 자체는 최소한의 기능만을 제공하지만,
필요에 따라 다양한 확장 기능을 추가하여 사용할 있습니다.

Flask 간단한 개인 프로젝트부터 복잡한 기업 애플리케이션에 이르기까지

다양한 애플리케이션 개발에 적합합니다.

가벼움, 확장성, 그리고 Python 강력함으로

많은 개발자들에게 인기 있는 선택지가 되고 있습니다.

Flask를 활용하시다가 조금 더 심화된 많은 기능을 담은 프레임 워크에 대한 필요성이 느껴지신다면

그때 배우셔야 할 것은 바로


DJango

 

Django는 Python으로 작성된 고수준의 웹 프레임워크로,

빠른 개발과 깔끔하고 실용적인 디자인을 목표로 합니다.

Django는 "배터리 포함(batteries-included)" 접근 방식을 채택하여,

웹 애플리케이션 개발에 필요한 대부분의 기능을 기본적으로 제공합니다.

이러한 접근 방식은 개발자가 웹 애플리케이션의 핵심 기능 개발에 집중할 수 있게 해 주며,

개발 시간을 크게 단축시킵니다.

Django 대규모 애플리케이션 개발에 적합한 프레임워크로,

강력한 기능과 높은 수준의 추상화로 인해 많은 기업과 개발자들에게 인기가 높습니다.

뉴스 사이트, 소셜 네트워크, 콘텐츠 관리 시스템

다양한 종류의 웹사이트를 효율적으로 구축할 있습니다.


위에 순서대로 공부하시다 보면 중간에
파이썬과 자바스크립트
길로 가 나누어지셨을 텐데요
이 두 개의 구분이 사라지는 시간이 오게 됩니다.
바로 React를 배우게 된다면 말이죠

React

 

 

React (또는 React.js 또는 ReactJS라고도 ) 사용자 인터페이스를 구축하기 위한

JavaScript 라이브러리입니다.

Facebook에서 개발되었으며, 대규모, 고성능의 애플리케이션에서 데이터가 변경될

효율적으로 업데이트하고 렌더링하는 사용됩니다.

React 주로 싱글 페이지 애플리케이션(SPA) 레이어를 구축하는 사용됩니다.

React 동적인 애플리케이션 개발에 매우 효과적이며,

Facebook, Instagram, Airbnb 같은 많은 유명한 웹사이트와 앱에 사용됩니다.

그것의 유연성과 효율성으로 인해 세계적으로 널리 사용되는 프론트엔드 라이브러리 하나입니다.


반면에 백엔드에 특화되어 더욱 배워보고 싶으시다면 Docker를 배워야 할 시간입니다.


Docker

 

Docker는 컨테이너화를 통해 애플리케이션을 개발,

배포 및 실행하기 위한 오픈 소스 플랫폼입니다.

컨테이너화는 애플리케이션과 그 필요한 모든 의존성을 컨테이너라는 격리된 환경에 패키징 하는 것을 말합니다.

이는 애플리케이션이 다양한 컴퓨팅 환경에서 일관되게 동작할 수 있게 해 줍니다.

Docker는 개발자 및 운영 팀 사이의 협업을 강화하며,

애플리케이션의 배포와 확장을 용이하게 만들어,

현대적인 소프트웨어 개발 및 운영 방식의 핵심 요소로 자리 잡았습니다.


 

AWS AZURE ORACLE
  • AWS는 다양한 컴퓨팅, 스토리지, 데이터베이스 서비스를 제공하며, 백엔드 개발자가 필요로 하는 확장성, 유연성, 글로벌 인프라를 제공합니다.
  • 특히, AWS의 Lambda(서버리스 컴퓨팅), EC2(탄력적 컴퓨팅), RDS(관계형 데이터베이스 서비스)는 백엔드 개발에 널리 사용됩니다.
  • Azure는 마이크로소프트의 강력한 지원을 받으며, 특히 .NET 개발자에게 적합한 서비스와 통합을 제공합니다.
  • Azure의 Virtual Machines, App Services, Azure SQL Database는 백엔드 개발 및 배포에 필수적인 서비스입니다.
  • Oracle Cloud는 오라클 데이터베이스와의 통합에 특화된 클라우드 서비스를 제공하며, 엔터프라이즈급 애플리케이션에 적합합니다.
  • Oracle Cloud Infrastructure (OCI)는 고성능 컴퓨팅, 스토리지, 네트워킹 서비스를 제공하며, 특히 기업 데이터베이스 관리 및 분석에 강점을 가지고 있습니다.

 

백엔드 개발자가 이 클라우드 서비스들을 공부하고 활용함으로써,

효율적인 개발 환경을 구축하고, 더 넓은 범위의 서비스와 애플리케이션을 개발할 수 있는 능력을 갖출 수 있습니다.


 

정리

 

기본 웹 기술 학습 HTML → CSS → JavaScript 웹 페이지의 구조, 스타일링, 기능 구현
서버 사이드 프로그래밍: JavaScript(Node.js) JavaScript(Node.js) 백엔드 개발 기초, 서버 로직 구현
고급 JavaScript/Node.js 경로 Express.js → SQL → MySQL 백엔드 개발 심화, 데이터베이스 관리
Python 경로 Python → Flask → Django Python을 사용한 웹 개발, 다양한 웹 개발 측면에 초점
클라우드 및 컨테이너 기술 Docker → Kubernetes → AWS → Azure 애플리케이션 컨테이너화, 오케스트레이션, 클라우드 인프라 구축 및 관리
고급 프론트엔드 개발 React 동적인 사용자 인터페이스 구축에 필요한 현대적인 프론트엔드 프레임워크 학습

백엔드 개발 특화 순서 프론트엔드 개발 특화 순서
  1. HTML
  2. CSS
  3. JavaScript
  4. Node.js
  5. Express.js
  6. SQL
  7. MySQL
  8. Docker
  9. Kubernetes
  10. AWS/Azure
  1. HTML
  2. CSS
  3. JavaScript
  4. React
  5. 고급 JavaScript 프레임워크/라이브러리
    (예: Redux, React Router)
  6. 반응형 웹 디자인
  7. 웹 접근성 및 사용성
  8. 프론트엔드 테스팅 도구 (예: Jest, Cypress)

위 로드맵을 기본으로 여러 가지 갈래로 많이 나뉠 수 있습니다.

하나하나 기초부터 올라오시다 보면 지금도 다양하지만 앞으로 더 다양한 프레임워크 언어 등

트렌디한 개발 기술이 나올 것으로 예상됩니다.

공부 열심히 하시고 파이팅 하시길 바랍니다!


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts