구상 중인 확장프로그램

mauz·2023년 2월 3일
0

개인개발

목록 보기
3/3

백준 '제출' 탭에서 문제랑 제출을 한 화면에서 볼 수 있게 하는 프로그램

프로그래머스같은 코딩테스트 환경에서는 문제랑 코딩 입력창을 한 페이지에 띄워놓는다.

백준은 이것이 분리되어있다. 불편하다.

https://github.com/codevilot/BOJ-ADDON-google-extension
구글링중에 유사한 익스텐션을 찾았는데, 제출 전 코드를 실행해보는 playground에 가까웠다.

구조

1. iframe

iframe을 이용해, '제출' 페이지 속에 '문제' 페이지를 띄우는 방법을 생각했는데, 백준 사이트의 보안 옵션중에 x-frame-options = DENY 가 있고, 이를 bypass 해볼려고 삽질 좀 해봤는데 네이버나 구글은 먹히는데 백준은 안된다ㄷㄷ

CORS 중에서 프록시를 이용한 방법이 남았는데 네트워크는 나한테 어렵다..

2. local storage

  1. '문제' 페이지에 들어왔을때 "문제, 예제" 구간을 복사해서 local storage에 text형태로 저장한다.

  2. '제출' 페이지에 들어왔을때 복사한 text를 element로 붙여넣는다.

  3. 용량이 부족하면 한 5개 정도씩만 저장해서 오래된 순서부터 메모리 해제한다 (First-in-First-out, Queue 자료구조).

근데 unlimitedStorage란 설정이 있네? 그래도 할당량 내에서 해결해야지.

storage에 문제 구간이 다운로드 되지않았다면 뭔가 메세지를 띄워서 문제탭으로 가게 유도해야지.

이는 문제 오답후 '수정' 페이지 에서도 동작해야함.

딕셔너리에 key를 문제 번호, value에 텍스트 넣어서 저장해야겠네 그럼 선입선출은 날짜로?

profile
쥐구멍에 볕드는 날

0개의 댓글