Today, I Will Learn


  • Toy Problem 27번 풀기
  • Solo Sprint 내용 완벽 숙지 후 풀기

Today, I Learned


  • Toy 27번 clear - About Binary Heap :
    트리와 달리 자식 노드 간의 대소는 상관없음.
    트리의 경우 '왼쪽 자식 노드<부모노드<오른쪽 자식 노드'가 규정이지만, 힙의 경우 자식 노드간의 대소는 상관 X.
    배열로 바이너리 힙을 만들 때, 스택과 연계해서 생각하기. 
    스택에 하나씩 추가하듯이 추가한 것과 부모노드를 비교해서 부모노드가 크면 바꾸고(최소힙의 경우) 아니면 return해주면 된다. 
    그림으로 생각했을 때, 아래에서 위로 올라가는 개념을 생각하면 되기에 insert는 편함.
    그러나, removeRoot는 위에서 root와 가장 최근의 자료를 맞바꾼 뒤에 위에서부터 대소 비교를 해내려가기 때문에 insert와 다른 처리가 필요함.
    먼저, 자식 노드 중에 작은 것과 비교를 해야해서 만약에 그 작은 것보다 부모노드가 크면 자리를 바꾸고 그렇지 않으면 리턴해준다(최소힙 경우).
    마지막으로 힙소트는 removeRoot를 이용해서, 즉, 바이너리 힙의 root는 항상, 최소힙의 경우 최소값이고, 최대힙의 경우 최대값인 성질을 이용한 것.
    removeRoot를 이용해 힙이 빌 때까지 제거를 하면서 제거한 요소를 팝하면(root를 하나씩 팝하면), 최소힙은 최소값의 순서대로(오름차순), 최대힙은 최대값의 순서대로(내림차순) 정렬된다.
    
  • Session vs Token (참고 사이트)
  • Authentication에서 포인트는 HTTP가 stateless하기에, 
    즉, 이전에 클라이언트가 로그인을 했는지 등의 상태를 기억하지 못하기에, 그 상태 등을 기억할만한 정보 주머니와 같은 것이 필요함.
    그리고 그 정보 주머니의 두 종류가 session, token이다.
    cookie는 그 정보 주머니를 감싸는 또하나의 주머니라고 생각하면 된다.(쿠키에 세션 아이디를 넣는다던지 등).
    둘의 차이는 간략하게 세션은 서버(DB)내에서 정보를 저장하며, session_id(일종의 키)가 있으면 정보를 보내주고,
    토큰은 토큰 안에 정보를 저장하며, 그 토큰은 localStorage, 즉, 클라이언트 쪽에 저장됨이 다르다.

Planning to Study


  • cookie, token, session 정의에 대해서 좀 더 공부해보기. 직접 구현해보는 것이 이해가 가장 빠를듯하지만, 일단은 지금은 이론을 보충해보자.

Comment


profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글