프로그래밍
-
[Docker] Docker의 개념 및 활용프로그래밍 2024. 5. 15. 17:15
개요1. 가상화 기술의 변화2. Docker란?3. Docker 활용 ✅ 가상화 기술 가상화 기술이 등장하기 전까지는 하나의 컴퓨터에서 하나의 OS만이 사용가능했다. 이러한 특징은 해당 OS가 컴퓨터의 모든 리소스를 항상 Full로 사용하기 어려워 CPU 및 리소스의 낭비가 있으며, 서버 자원의 사용량을 예측하기 힘들고 물리적 확장에 한계가 있다는 단점이 있었다. 이에 서버를 쉽게 확장하기 위해 등장한 개념이 하이퍼바이저 가상화 기술이다.📦 하이퍼바이저 가상화하나의 컴퓨터에서 다수의 독립적인 OS를 동시에 실행하기 위한 소프트웨어로 기존 환경인 Host OS에서 각각의 분할된 환경인 Geust OS를 나누는 역할 및 시스템 자원을 할당하는 역할을 한다. 가상 머신으로 무언가를 실행할 때 하이퍼바이저..
-
[git] 팀 프로젝트를 하기 위한 git 사용 전략프로그래밍 2024. 4. 18. 22:04
개요 - Branch 전략을 정하자 (Git Flow vs Github Flow) - Github를 이용한 칸반보드 - 코드리뷰 방법 - 문서 관리 with Wiki 팀 프로젝트를 진행하면서 Github를 단순히 Repo만 공유하는 느낌으로 사용한단 느낌을 받았다. 프로젝트의 Tab만 봐도 Issues를 비롯해 여러가지 기능이 많고 우측의 Nav만 봐도 여러가지 할 수 있을 것 같다는 생각이 들었기에 어떻게 활용을 잘 할 수 있을까를 고민하다 한번 정리를 해보았다. ✅ Branch 전략 Github를 올바르게 사용하기에 앞서 Branch 전략를 어떻게 가져갈지에 대해서 정해야 한다. 이름에서 알 수 있듯이 branch의 네이밍은 어떻게 하고 각각의 branch를 어떤식으로 사용하고 merge를 어떻게 할..
-
[Zustand] Zustand란?프로그래밍 2024. 3. 23. 13:52
개요 1. Zustand의 특징 2. 다른 라이브러리와 비교 3. 사용 방법 ✅ Zustand 우리는 Client state를 관리하기 위해서 상태 관리 라이브러리를 사용해야하는데 현재 update가 활발하게 이루어지고 있으며 사용량도 꾸준히 증가하고 있는 Zustand에 대해서 알아보겠습니다. (Jotai를 개발한 회사에서 만들었다고 한다.) 📦 Zustand의 개발 이유 React에서 일어나는 3가지 문제점에 대한 해결책을 제시하기 위해 제작되었다고 한다. Zombie children: 하위 컴포넌트인 "A"에서 실행하던 어떠한 일이 끝나기 전 상위 컴포넌트가 unmount되었을 시에 A가 작업을 끝낸 후 화면세엇 사라져도 메모리를 지속적으로 잡아먹는 문제 React concurrnecy: 우선순위를..
-
[라이브러리] React-query프로그래밍 2024. 2. 15. 15:57
📋 개요 비동기 상태 라이브러리를 채택하는 이유 Get Started 페이징 처리 기법 Optimistic Update 구현 ✅ 비동기 라이브러리를 채택하는 이유 1️⃣ 등장 배경 기존의 상태 관리 라이브러리는 클라이언트 상태 작업에 적합하지만 서버 상태는 다르기에 비동기, 서버 상태 작업에 적합한 라이브러리가 필요해졌다. 데이터를 비동기적으로 가져오고, 캐싱, 동기화, 업데이트 관리의 복잡성을 해결하고, 사용자 UI와의 상태를 동기화하는 과정을 보다 쉽고 효율적으로 하기 위해 등장하게 되었다. 2️⃣ React-Query TanStack 팀에서 만든 라이브러리로 데이터 캐싱 및 기능적으로 더 많은 제어가 필요한 경우에 좋다.(기존 React 뿐만아니라 다양한 프레임워크에서 사용이 가능해 TanStack..