뉴히의 개발 로그
[TIL] 20230605 - localStorage / git flow (git branch 전략) 본문
localStorage
클라이언트 단, 즉 브라우저 상에 데이터를 저장할 수 있는 기술
웹 스토리지(web storage)에는 로컬 스토리지(localStorage)와 세션 스토리지(sessionStorage)가 있다
이 두 개의 매커니즘의 차이점은 데이터가 어떤 범위 내에서 얼마나 오래 보존되느냐!
세션 스토리지는 웹페이지의 세션이 끝날 때 저장된 데이터가 지워지는 반면,
로컬 스토리지는 웹페이지의 세션이 끝나더라도 데이터가 지워지지 않습니다.
다시 말해, 브라우저에서 같은 웹사이트를 여러 탭이나 창에 띄우면, 여러 개의 세션 스토리지에 데이터가 서로 격리되어 저장되며, 각 탭이나 창이 닫힐 때 저장해 둔 데이터도 함께 소멸합니다. 반면에, 로컬 스토리지의 경우 여러 탭이나 창 간에 데이터가 서로 공유되며 탭이나 창을 닫아도 데이터는 브라우저에 그대로 남아 있습니다.
웹 스토리지는 기본적으로 키(key)와 값(value)으로 데이터 저장이 가능하다
setItem으로 저장, getItem으로 읽기, removeItem으로 삭제까지 가능!
// 키에 데이터 쓰기
localStorage.setItem("key", value);
// 키로 부터 데이터 읽기
localStorage.getItem("key");
// 키의 데이터 삭제
localStorage.removeItem("key");
// 모든 키의 데이터 삭제
localStorage.clear();
// 저장된 키/값 쌍의 개수
localStorage.length;
그런데, 웹 스토리지는 오직 문자형(string) 데이터 타입만 지원한다는 것 !!!!!
localStorage.setItem('json', JSON.stringify({a: 1, b: 2}))
undefined
JSON.parse(localStorage.getItem('json'))
{a: 1, b: 2}
localStorage.setItem('nums', JSON.stringify([1, 2, 3]))
undefined
JSON.parse(localStorage.getItem('nums'))
[1, 2, 3]
JSON 형태로 직렬화(serialization)하고, 읽은 데이터를 JSON 형태로 역직렬화(deserialization)하면 원본 데이터 그대로 가져올 수 있다.
배열형 데이터도 마찬가지!
참고 https://www.daleseo.com/js-web-storage/
git flow (git branch 전략)
- master : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
master(main) 브런치는 곧 배포라고 생각하면 되기때문에
이렇게 브런치를 나눠서 이용한다.
master/develop 브랜치는 매우 중요! 꼭 필요한 브랜치이고
그외 브런치는 각각 필요에 따라 만들어 이용하면 된다.
dev브랜치를 하나 더 생성했고 각자의 이름으로 feature 브랜치를 이용하기로 했다!