«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
Recent Posts
Recent Comments
관리 메뉴

뉴히의 개발 로그

[TIL] 20230605 - localStorage / git flow (git branch 전략) 본문

개발일지/TIL

[TIL] 20230605 - localStorage / git flow (git branch 전략)

뉴히 2023. 6. 5. 20:37

 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 브랜치를 이용하기로 했다!

 

참고 https://techblog.woowahan.com/2553/