패스트캠퍼스 데브캠프: 김민태의 데브캠프 소프트웨어 특강

rondido·2024년 11월 21일
0

부트캠프 후기

목록 보기
8/10

소프트웨어 특강

알아두면 좋은 개발 용어

load

  • 컴퓨터 시스템에서 실행을 할 수 있는 상태로 만들어 주는 것입니다.
  • 실행하는 작업은 CPU가 하지만, 기본 상태에서 바로 실행하지는 못합니다.
  • 컴퓨터의 물리적 저장소의 데이터를 메모리에 옮겨서 실행가능한 상태로 만드는 것이 load입니다.

fetch

  • 필요한 데이터를 특정 위치에서 가져오는 작업
  • 가져온 데이터를 사용하는 주체가 용도에 맞게 알아서 적절하게 사용 할 수 있습니다.
  • 왜 api로 데이터를 가져오는 것을 fetch라고 하는가?
    • fetch는 load와 달리 실행된다는 것을 강요하지 않습니다.
    • 데이터를 불러오지만 실행성과 용도가 정의되지 않기 때문입니다.

buffer/cache

  • 데이터를 효율적으로 관리하기 위한 메모리 저장소입니다.

buffer

  • 데이터를 임시 저장하는 메모리 공간으로, 주로 데이터의 이동 속도를 맞추기 위해 사용됩니다.
  • 선형적인 흐름으로 데이터 전달할 때 주로 쓰임
  • 주로 load에서 많이 쓰입니다.

cache

  • 자주 사용하는 데이터를 미리 저장해고, 재사용 시 빠르게 불러와 성능 향상
  • 원본 데이터를 자주 호출하느 대신, 캐시에서 직접 데이터르 불러와 작업 부하 경감
  • 주로 fetch 과정에서 많이 쓰임

MVC(Model/View/Controller)

  • View
    - 사용자에게 데이터를 보여줍니다.
  • Model
    - 데이터 정의, 데이터 저장/ 불러오기
  • Controller
    사용자의 요청에 따라 데이터를 처리하여 적절한 뷰에 데이터를 전달합니다.

MVVM(Model-View-View Model)

  • 기존의 모델을 view에 최적화된 형태로 view model로 재구성
  • view model을 바탕으로 view 구성
  • 리액트와는 관련이 없음
  • 데이터가 바뀌면 view가 자동으로 바뀌도록 자동화시킴
  • 여러 컴포넌트에 대한 재사용성을 고려해 데이터를 관리하기 쉽도록 공통 부모를 가지는 상위 컴포넌트에 데이터를 저장
  • 여러 재사용된 컴포넌트에 전달된 값을 수정하기 위해 business logic로 마찬가지로 공통 부모에 저장
  • 값에다 객체를 담을 때, 어떤 위치에서든지 수정이 가능합니다.

functional Programming

  • 변수가 없는 프로그래밍 방법(상수)
  • redux에서 위 개념을 많이 차용했습니다.
  • redux 이후에 나온 많은 상태관리 라이브러리(jotai,recoil,zustand)들도 redux와 비슷한 개념

CPU

  • 그동안 계속 발전시켜 왔다가, 부품 및 열처리와 같은 물리적인 한계로 인해 속도 증가가 더이상 불가능해짐
  • CPU 코어 갯수를 늘림
    예) intel - i5,i7 같은 모델명이 있을 때, 보통 i 뒤에 붙은 숫자가 코어 갯수이 비례

후기

Fronted에 대한 지식 뿐만 아니라 소프트웨어에 대한 전반적인 기초 지식을 습득할 수 있어 너무 좋은 기회 였고, 이를 비롯하여 redux가 만들어진 배경과 역사에 대해 알 수 있어 redux 이전 상태 관리에 생태계에서 어떤 부분이 부족했는지에 대해 알게 되었습니다.

profile
풋살을 좋아하는 프론트엔드 개발자

0개의 댓글