서버에 코드 작성하기

FreeZeeSun·2023년 12월 4일
0

멘토링으로 시작한 하루였다.

<멘토링 사항>

  • tab manager 레퍼런스 : https://github.com/ericsong/MapleTabs/tree/master

    아쉽게도... manifest v2 라서.. 코드를 수정해야할 부분이 꽤 있다.. 그리고 구조에 대한 이해가 떨어져서ㅠㅠ 내가 맘대로 수정하기가 힘들다... 이건 좀 나중에 찾아보자..
  • backref 로 최초 페이지, 최초 키워드 고정? (이게 도대체 뭔지 아직도 모르겠다.. 역참조인가?)
  • FastAPI 단에서 형태소 분석 및 유사도 확인하는 코드를 쓰기...
    ex) edit distance,,,
  • 점수를 매겨서 return 해주기
  • 자바스크립트에서 callback 함수로 return 값으로 받은 점수를 화면에 보여주기
  • Input 값이 왔을 때, 최초 키워드로 set 해주기
  • Input 값이 왔을 때, 최초 키워드와 이동한 url 의 본문 내용을 같이 server 로 보내 유사도를 검사해야함.
  • 유사도는 글자의 개수, 음절의 개수, 형태소의 개수, 임베딩, Language Model, 거리 등등으로 볼 수 있다.

이걸 내일까지 다 해오라고 하신다...😭😭😭😭


input & bodyText 서버로 보내기

할게 너무 많으면 압도당하기 쉽다.
침착하게, 우선, input 과 bodyText를 같이 보내보자.
input 은 이미 주고받아봤으니, bodyText 를 같이 보내는 방법을 찾아보자.

background storage 란?
백그라운드 로컬스토리지의 경우 유저가 chrome://extensions 에 접속해 직접 지우거나 확장 프로그램을 지우지 않는 이상 지워지지 않습니다. 따라서 반영구적으로 저장하고 싶은 정보가 있거나 서버 작업을 하지 않고 간단한 테스트를 하고 싶다면 백그라운드 로컬스토리지를 쓰는 것도 방법입니다.

content.js에서 background.js 로 데이터 보내기

tabs.sendMessage()runtime.sendMessage()
One-time requests!

runtime.connect()tabs.connect()
Long-lived connections!

새롭게 알게 된 사실...
페이지 스크롤을 얼만큼 했느냐에 따라서.. bodyText의 분량이 달라진다..ㅠㅠ

레퍼런스 익스텐션 동작해보기


흠... service_worker 가 없으면 구동이 안되는건가?
참고로 다른 익스텐션 파일 구조를 살펴봤다.

여기서는 manifest.json 에 "background" 가 없다.
대신 html 에서 script src 로 logic.js 를 참조할 뿐이다.

chrome_url_overrides 라는 것도 있구나..

  • "PAGE_TO_OVERRIDE"
  • "bookmarks"
  • "history"
  • "newtab"

안의 속성은 이 중에서 쓸 수 있다.

지푸라기라도 잡는 심정으로... 이렇게 변경해보았다.

흠... 이건 또.. 무슨 문제일까^^

web_accessible_resources

노출되는 리소스와 출처를 선언합니다. 이 속성은 리소스 액세스 규칙을 선언하는 개체의 배열입니다. 각 개체는 확장 리소스 배열을 해당 리소스에 액세스할 수 있는 URL 및/또는 확장 ID 배열에 매핑합니다.


그래서 이렇게 수정.

흠... 안되네....
챗 지피티의 도움으로

이렇게 코드를 수정하고 다시 하니..?
된다 ㅎ 챗 지피티 만세...ㅜㅜ

다른 코드 부분을 수정하려니 너무 헷갈려서.. 일단 혹시 참고할 만한 익스텐션이 없을지 좀 살펴봤다.


manifest version 3으로 된건 잘 없다..

Tab Tree 찾았다!!!

소스코드를 다운 받아서 구조를 좀 살펴봐야겠다.

오늘은... 아무것도 못했다..

헤매기만 했네....
근데 체력이 바닥나서 밤을 지샐수가 없다..
머리도 안돌아간다..
일단 푹 자고.. 내일 일어나서,
1. 익스텐션용 FastAPI 서버를 만들고,
2. 전달받은 데이터를 유사도 분석을 할 수 있는 router 를 기능별로 만들어서 돌려보자.
수고했다 오늘도.. 나 자신..

profile
개발자 지망생. 지금은 삽질의 연속, 하지만 언젠가는 삽질이 아닐 것이기에!

0개의 댓글