Skip to content

웹 서핑에 필요한 여러 기능들을 모듈화하여 제공하는 크롬 확장 프로그램

Notifications You must be signed in to change notification settings

jhnote90/multiple-module-wallpaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 내용

단일 기능을 지원하는 기존의 많은 크롬 확장 프로그램들과 달리 사용자의 웹 서핑에 도움을 주는 여러 기능들을 모듈화하고 추가적인 확장이 가능한 플랫폼 형식의 크롬 확장 프로그램을 개발하는 것을 목표로 하는 프로젝트

제공하는 기능

  • 탭 페이지 위에서 기본적인 검색, 인기 유튜브 영상, 날씨 및 위치 정보, 일정 관리, 테마 배경 기능 제공
  • 구글의 OAuth2 인증 방식을 사용한 로그인을 통해 사용자 별 테마 및 사용 기능을 저장하고 불러오는 시스템
  • 크롬 확장 플러그인 팝업 창을 통해 자주 방문하는 사이트, 최근 방문 기록, 펼쳐진 탭 관리 기능 제공

담당 작업 및 사용 기술

  • Spring Boot 프레임워크를 사용한 백엔드 개발
  • Mysql DB 사용 및 스프링 연동
  • JPA를 활용하여 설계한 테이블들에 대한 엔티티 클래스 개발
  • 클라이언트와의 API 통신을 위한 컨트롤러 계층 개발

발생문제 및 해결방법

컨트롤러에서 API 요청에 대해 응답하는 부분에 계속해서 에러가 발생하는 것을 확인할 수 있었다. 확인해보니 양방향 연관관계에 있는 엔티티가 API 응답으로 return하게 되면 서로 참조하는 객체를 계속 호출하면서 무한 루프에 빠져 결국 에러가 발생한다는 것을 알게 되었다. 이를 해결하기 위해 API 통신에 필요한 데이터들만 포함하는 DTO 클래스를 각 엔티티 별로 정의하여 해당 객체를 응답으로 return하면서 순환참조를 예방하여 에러 발생을 막을 수 있었다.

About

웹 서핑에 필요한 여러 기능들을 모듈화하여 제공하는 크롬 확장 프로그램

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published