머릿속을 정리하는 중

LIHA·2022년 12월 24일
0

#include-stdthink.io

목록 보기
1/2
post-thumbnail

<호오... 그렇단 말이지🤔>

시각적인걸 좋아하면 프론트엔드, 데이터를 다루고 싶고 복잡한 구조를 짜는걸 좋아하면 백엔드를 추천하는 편.

프론트엔드는 HTML, CSS, JS가 필수. JS 라이브러리인 리액트를 추천. (리액트 네이티브는 모바일의 CP 프레임워크)

백엔드는 언어, 프레임워크, DB를 골라야 한다.
초심자에게는 파이썬, Django, SQL을 추천.
파이썬 - 언어 난이도가 쉽다
Django - 장고 프레임워크가 미리 해주는게 많다
현재 한국에서 가장 대중적인 서버 프로그래밍 언어는 JAVA. 원탑임. 안정성이 높기 때문.

풀스택을 하려면 자바스크립트, Node.js / Express.js, SQL/MongoDB(NoSQL) 추천. 노드나 익스프레스를 배우게 되면 자바스크립트 언어 하나로 프론트/백을 다 할수 있기 때문.
※백엔드는 Java랑 Spring 배워야 하는거 아닌가요?
한국이 유독 Java 비중이 높기는 하지만, 미국만 봐도 추세가 다름. Node도 많이 쓰는 편. 그러나 JAVA를 아예 모르면 좀 곤란.

요새는 의사결정도 데이터 분석결과 기반으로 함. 버튼 하나 만들고 배치하는데도 데이터가 필요. (더 선호하는 쪽으로 제작해야 하니까) 대조군/실험군 놓고 비교하는걸 데이터 분야에서는 A/B 테스트라고 함.

  • 컨테이너, 도커, 쿠버네티스. 많이 들어는 봤는데 뭐더라?
    =>같은 코드라도 구동시키는 OS의 종류나 빌드 버전에 따라 다르게 동작하므로, 어떤 조건에서는 동작하지 않을 수도 있다. JVM처럼 어느 OS에서든 돌아가게 해주는 격리 기술이 컨테이너.
    (참고: https://www.samsungsds.com/kr/insights/220222_kubernetes1.html)
    컨테이너 런타임은 이 컨테이너를 다루는 도구, 도커는 그 CR중에 가장 유명한것.
    쿠버네티스는 CR을 통해 컨테이너를 오케스트레이션 하는 도구.
    오케스트레이션은 여러 서버에 걸친 컨테이너와 그 사용 환경 설정등을 관리하는 행위.
    ※그럼 VM Deployment랑 Container Deployment랑 뭐가 달라요?😕🤔
    -> VM은 App과 Bin/Library 밑에 OS가 깔려야 해서 기본적으로 컨테이너보다 무거워용. VM이라곤 해도 완전한 컴퓨터를 구동시키는거라, VM 대수만큼 VM 상에 또 VM용 OS를 전부 다 일일히 깔아줘야함.

    내 컴퓨터의 운영체제 상에서 VM 구동 -> 그 VM 이용에 필요한 OS를 VM내에 또 설치 및 구동
    (OS가 2+@개!)

그에 비해 컨테이너 배포는 컨테이너 런타임만 있으면 된다. 왜요? 컨테이너도 사실상 한 컴퓨터 안에서 돌아가는건 똑같잖아요.
=>컨테이너는 기술 특성 상, 한 컴퓨터 한 OS 상에서 구동시켜도 서로간의 작동에 영향을 끼칠 수 없도록 리소스나 메모리 등을 전부 격리시킨다. 각 프로그램이 '나는 혼자 돌아가고 있다'고 인식하게끔. 그래서 격리 기술 이라고 부르는것. 컨테이너는 그 프로그램을 돌릴 수 있는 운영체제까지 포함해서 격리 후 제공함.
(뭔가 냄비까지 주는 밀키트 느낌...)

profile
갑자기 왜 춤춰?

0개의 댓글