브라우저의 뒤로가기, 앞으로가기를 코드로 구현한다면 적절한 자료구조는 뭐가 있을까요?

2014-05-13 11:31

처음엔 단순히 stack 을 세션에 넣어서 관리하자라고 생각했습니다. Browser 의 history 를 생각하면서 떠오른건 stack 이었거든요.

그런데 퇴근길에 생각해보니 매번 페이지 이동이 생길 경우에

  1. 아래 2번의 경우를 위해 현재 페이지가 자료구조의 어디 위치인지 알아야하는 pointer가 필요하고
  2. 이동되는 페이지에 대해서 기존의 페이지에서 앞으로 가기나, 뒤로 가기로 갈 수 있는 위치인지 a. 그렇다면 자료구조의 pointer만 이동시켜주고 b. 그렇지 않다면 앞으로 가기에 쌓인 history 를 모두 삭제
  3. 제목에는 없지만 새로고침 등이 존재하는데, 이때에는 자료구조 변화가 없어야 하고.

적다보니... 앞으로 가기 용, 뒤로 가기 용 2개의 stack 으로도 손쉽겠네요. ㅎㅎ 원래는 그냥 링크드리스트면 되지 않나란 생각으로 적고 있었는데 ㅎㅎ;

여러분은 브라우저가 가진 저런 기능들을 구현한다면 어떤 자료구조를 쓰시련가요~?

0개의 의견 from FB

2개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로