목록전체 글 (296)
[꼼꼼한 개발자] 꼼코더
🐶 이전 이전 경기 결과가 10개가 잘 나왔다. 하지만 나는 스스로 만족하지 않았다. 나머지 [더 보기] 버튼 클릭 시 '비동기' 처리로 추가로 10개의 경기결과가 나오길 원했다. 그렇게 열심히 방법을 찾아보고 개발을 시작한다. 📝 개발 준비 우선 메서드가 하나가 더 필요하다! 왜냐하면 현재 조회기능을 내가 MVC형식으로 진행했기 때문이다..(추후 변경 예정!) 따라서 아래 두 가지를 만들어야 한다. MVC 형식 경기기록 조회 > 최초 요청, 화면 렌더링 때 Ajax 형식 경기기록 조회 > 재요청, [더 보기] 버튼 클릭 시 🧑🏻💻 서비스 코드 사실 이전 코드와 비교했을 때 반환 값만 다를 뿐 별 차이가 없어 보인다. 그리고 반환 값을 List 객체를 직접 반환하고 @ResponseBody 어노테이션을..
🚨 오류 발생 (부끄러운 해결방법이었지만 그래도 적어본다..) 개발 도중, 화면이 아닌 글자가 자꾸 출력되고 있다. 나는 뷰 리졸버가 정상적으로 화면을 찾지 못하고 있다고 생각했다. 띠라서 아래와 같은 방법들을 진행했었다. 'src/main/resources/application.properties'파일 속 설정 변경 혹시 매핑 주소와 메소드 명이 같게 수정 리턴 String 값, 메서드 명, 매핑 주소 모두 같게 수정 하지만 여전히 화면이 보여지지 않고 글자만 출력되었다. 과연 뭐가 문제였을까?? (지금 적으면서 너무 낯부끄럽다..) (통신에는 이상이 없다는 뜻인데..) 👨🏻💻 원인 발견 컨트롤러 코드 상단 '어노테이션을 확인해 보자.'(너무 간단해서 뻘쭘하다..) 그렇다.."@RestControll..
🚨 문제 발생 [피파 프로젝트] 개발 도중 이상한 현상이 일어났었다 분명 엔드 매핑 주소(첫 요청 시작 주소)가 'users'로 설정하였는데 'user'로 첫 요청을 하여도 정상적으로 동작한다는 것이었다.. (aaa, bbb, adfdagb로 해도 전부 동일하다) 따라서 코드를 확인해 보았다. 😁 코드 확인(원인 발견) 이상한 점을 눈치챘는가..!?!? 그렇다.. '{}'를 붙여 놓은 것이었다.. 이렇게 되면 '변수'로 인식하여 아무런 단어가 들어와도 처리가 돼버린다.ㅠ 🧑🏻💻 해결 수정하였다.(매우 부끄러워지는 상황 하핳..)
🐶 이전자 DTO객체를 통하여 경기 상세 기록을 모두 가져오게 되었다.잠깐 다른 이야기하자면 내가 백엔드 개발자를 희망한다. 그럼 내가 백엔드 개발자라고 가정하고 생각한다면 다음과 같이 생각할 것이다.그렇다면 '이 데이터 들중에서 어느 데이터들을 어떻게 만져야 할까?' 그럼 답이 슬슬 그려진다! 아래에 정리해 보자!경기시간 승/패 (승, 무, 패)닉네임 득점 수 (0, 2, 1, 등)경기종료(몰수패, 정상종료 등)이렇게 5가지 정도 뽑아볼 수 있다.사실 나는 컨트롤러(패드, 키보드)도 뽑고 싶었지만.추후 프런트 개발을 깔끔하게 다듬고 아이콘, 색상등으로 표현하는 게 좋아 보여 지금은 뺐다. 그럼 이제 저 데이터를 컨트롤러로 받아오고 화면에 출력까지 해보자!🧑🏻💻 컨트롤러와 화면컨트롤러에서 '매..
🐶 이전 기능이전에 '유저의 매치 기록' 기능 결과는 '매치 ID'가 리스트업 됐었다.그럼 이제 '매치 ID'가 무엇을 의미하는지 알아보자 🕵🏻♀️ 공식 문서 확인'매치 ID'를 가지고 아래 URL로 요청하면 '매치 상세 정보'를 조회할 수 있다고 확인된다.https://api.nexon.co.kr/fifaonline4/v1.0/matches/{matchid} 그럼 '매치 ID' 1개로 테스트 후 결과를 확인해 보자. ..?? 보이는가?? 상세정보.. 일부만 봤음에도 정말 엄청난 양의 데이터 종류이다..(정말로 상세하다..넥슨 👏🏻)따라서 나는 "너무 막막하다.."라는 생각을 5초 동안 하다 정신차리고 바로 스크롤을 내려봤다. DTO..?? 그렇다 이렇게 넥슨에서 친절하게 총 '9 가지..
👉🏻 개발할 기능오픈 API를 모두 구현하고 싶은 마음을 가지고 시작했기에 3번째 까지 완료한 나는 4번째 ('유저 고유 식별자로 유저의 매치 기록 조회') 기능을 구현하려고 한다. 요청 정보는 accessid, matchType, offset, limit가 필요하다는 걸 확인할 수 있고 반환 값은 여러 개의 '매치코드'로 이루어진 걸 확인할 수 있다. 기존처럼 저 매치코드를 글자로 변환하고 그 안에 데이터를 확인하고 한꺼번에 처리하려고 했었지만 하나씩 차근차근 개발해 나아가는 방법으로 변경하려고 한다. 우선 저 코드를 출력하게 처리해 보도록 하자! (그나저나 개발할 기능들을 보면 1번째 제외 모두 '고유 식별자'로 조회를 한다... 너무 자주 사용기 때문에 무언가 변화가 필요하다!)아래 글 참고 ..
👀 소개스택 트레이스가 무엇이고 어떻게 읽어야 하는지 간단하게 알아보자! 1️⃣ 스택(Stack)이란?자료구조의 한 종류'마지막에 들어온 것이 가장 먼저 나간다'라는 LIFO (Last In, First Out) 구조접시를 쌓아두는 것과 비슷하다. 위에 올린 접시부터 꺼내게 되는.중요한 건 자바 프로그램 실행에서도 이 개념이 그대로 쓰인다. 흐름 간단 설명메서드가 호출될 때마다 호출 정보(변수, 매개변수, 실행 위치 등)가 '호출 스택(Call Stack)'에 쌓임.메서드 실행이 끝나면 해당 스택 프레임이 제거된다2️⃣ 스택 트레이스(Stack Trace)란?예외 발생 과정에서 호출된 메서드들의 순서와 위치 정보를 나타내는 것. 출력된 스택 트레이스는 예외가 발생한 지점부터 호출 스택의 상위 메서드들..
🧑🏻💻 accessId 넘겨주고 받아서 저장하기 컨트롤러에서 'HttpServletRequest request'를 매개변수 객체로 선언하여 서비스에 전달 @GetMapping("/{nickname}") public ModelAndView getUserByNickname(@PathVariable("nickname") String nickname, HttpServletRequest request, Model model) { FifaUser nickNameUser = fifaUserServiceImpl.findUserByNickname(nickname); // 닉네임으로 유저 정보 가져오기 String accessId = nickNameUser.getAccessId(); // 가져온 유저정보에서 access..