본문 바로가기

카테고리 없음

<1인 개발자로 살아남기>8일차 : 백엔드 로드맵, 커리큘럼 다시 살펴보기

반응형

주요 프레임워크 비교분석

  Python+ django Python + Flask NodeJS + Express JAVA + Spring
장점 1. batteries-included
(외부패키지 임포트 할 필요 없이 장고에서 필요한 모든 기능을 제공한다.)



2. 파이썬의 빅데이터 라이브러리 활용 가능


3. 빠른 프로토타입 구축이 가능하다.


4. MVC 아키텍처를 따른다.


5. 다양한 보안 기능을 내장하고 있다.


6. ORM
1. 자유도가 높다.


2. 파이썬의 빅데이터 라이브러리 활용 가능
1. 자유도(확장성)가 높다.


2. 프론트와 동일한 언어를 사용한다 (JS) - 추가언어학습이 필요없이 프론트와 백엔드에 대한 접근이 가능하다.


3. 많은 양의 트래픽과 데이터를 처리할 수 있다.


4. 미들웨어 기능 지원


5. 실시간 서비스 작성에 유리하다.


6. 내장된 오류처리 메커니즘.

7. npm을 활용한 간편한 모듈
대기업 취업에 가장 용이 (시장수요 많다.)(특히 정부표준 프레임워크라서 정부산업과 관련 일자리가 많다)


고성능 서비스를 작성할 수 있다. (대량 트래픽 처리에 가장 유리)
단점 1. 장고의 엄격한 규칙에 따라야한다.
2. 일단 서비스가 생성된 후에 수정하는 것이 어렵다.

1. 작은 취업시장
  자바언어의 복잡성
(학습곡선이 완만하다)
어디에 써야하나? 1. 기업단위(Enterprise size) 서비스
2. CRUD 서비스
소규모~중간급 서비스 커스터미아징이 많이 필요한 경우
많은 API와 연결해야 하는 경우
대형 서비스
만들어진 서비스 Instagram
워싱턴포스트
모질라
Pinterest

Reddit
(Netflix??)

Uber
Paypal
TOSS를 포함한  대부분의 대기업 서비스(특히 한국)

 

참고1) Most Popular Backend Frameworks in 2023 [What to Choose] (acropolium.com)

참고2) 무엇을 언제 써야할까? Node JS vs Django! - YouTube

참고3 강추강추) Back-end Framework 선정 기준 (velog.io)     


주워들은 이야기

- Django를 이용하면은 빠르게 구축은 가능하지만, 너무 앞서나간 *추상화로 인해 웹에 대해 학습할 기회가 없이 구현만 잘하게 될 수 있으므로 Flask로 입문을 추천하는 글을 보았다. ( *프레임워크의 목적은 기능구현에 필요한 신뢰도 높은 코드를 미리 작성해놓음으로써 개별 개발자의 시간을 절약해주는 것. 즉, 미리 다 만들어져있어 왜 이렇게 구동되는지 고민해볼 시간이 안 생긴다는 것)


유념해야 할 것

1. 서비스의 형태에 따라 강점을 가진 프레임워크가 있는 것이지 어떤 프레임워크가 다른 것에 비해 절대적 우위를 가지지는 않는다.

2. 모든 프레임워크는 기본적으로 모든 서비스를 구축할 수 있다. 기본 내용은 같은데 언어가 다른 것 뿐


나의 결정

- 나는 파이썬에 굉장히 친숙하지만 (pandas, numpy, matplotlib, ... 못 잃어) 웹에 대해 처음 배울때 기초를 다지고 싶다는 생각이 있다.

- 그래서 Flask로 백엔드에 입문하려고 하는데 Flask를 활용해서 웹에 대해서 A-Z까지 알려주는 강의를 쉽게 찾을 수가 없다.

- 우선 사람인 기준 NODEJS 검색결과는 800개, 이에 비해 FLASK 는 100개, Django는 200개이다.

- JAVASCRIPT는 어쨋든 프론트엔드에서 사용해야 하는데, 나의 JS 숙련도를 조금 더 높이고 싶은 생각도 있다.

- 그리고 이미 파이썬 해봤다고 파이썬에 머무르고 싶은데 이게 조금 더 하면은 완전히 파이썬에 고착화되어버릴까봐. 무섭다.

- 【한글자막】 100일 코딩 챌린지 - Web Development 부트캠프 | Udemy 해당 강의를 결제했는데 (프론트엔드부분까지 완강) 강의내용에 만족하기도 하고, 다른 나의 임의대로 FLASK강의를 붙이면은 전체 커버해야하는 내용에서 공백이 생길까봐 무섭다. (애초에 A-Z까지 다뤄줬으면 하는 마음으로 강의시간이 긴 강의를 골랐다.)

 

- 그래서 ! 1) 안쓰게 될지도 모르는 nodejs를 배우느라 제품출시의 지연이라는 비용을 치루고서, nodeJS로 백엔드 입문결정

반응형