목록springboot (3)
[꼼꼼한 개발자] 꼼코더
🧹 간단 요약 DIP란 구체화의 의존하지 말고 추상화의 의존하는 것. 쉽게 말해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" (자세한 내용은 아래에) 🤷🏻 DIP란?(Dependency inversion principle) DIP는 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며 양쪽 모듈 모두 추상화에 의존해야 한다는 원칙이다. 즉, 의존성은 추상화에 의존해야 하며, 세부 구현에 의존해서는 안 된다는 것을 의미한다. 쉽게 말 해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" 🙋🏻♂️ DIP에 의거한 인터페이스 의존 방법 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 두 모듈은 모두 추상화에 의존해야 한다. 추상화는 세부 구현에 의존해서는 안 된다. ..
🙆🏻♂️ 많아진 기능 이전 기능들을 보면 알겠지만 대부분의 Open API 기능들이 '유저 고유 식별자(accessId)'를 필수적으로 요구하고 있다. 나는 이전에 개발 시 "우선 한 화면에 모든 메서드 기능을 출력하고 나중에 나눠야지!"라는 생각을 가지고 'accessId'를 한 메서드 안에서 계속 저장하여 돌려쓰는 방법을 선택했었다. 그렇게 계속 개발하던 도중 "매번 페이지 넘어갈때마다 닉네임 호출 -> '고유 식별자 획득' 작업을 반복할 수 없는데.." 그렇게 수정이 필요하다는 걸 직감했다.. 🤷🏻 어떻게 수정할까? 찾아보니 리액트에서는 UseState를 사용하지만 백엔드에서는 상태 저장을 3가지 중(세션, 쿠키, 토큰)에서 선택해야 했다. 🚀 상태 저장 선택(세션(Session), 쿠키(Cook..
💻 다음 개발예정 기능현재 지금까지 [유저 닉네임으로 유저 정보 조회], [유저 고유 식별자로 유저 정보 조회]를 개발했다다음은 아래에 있는 [유저 고유 식별자로 역대 최고 등급 조회]를 개발해 보자. 접속해 보니 [https://api.nexon.co.kr/fifaonline4/v1.0/users/{accessid}/maxdivision]로 요청하면 결과를 얻어온다고 확인된다.그렇다면 accessid를 넣어서 요청 테스트 후 결과 값을 확인해 본다. 응답 결과로 matchType(경기 종류), division(최고 티어), achievementDate(달성 날짜)가 반환되는 걸 확인할 수 있다. 하지만 여기서 더 확인할 게 있다. 설명 부분에 보면 (/metadata/??? API 참고)가 보인다...