문제1 - 각 리그 국기를 클릭하여, 알맞은 순위표로 변경하기 [문제1 - 해결 방법] : 자바스크립트를 이용하여, "버튼 클릭 이벤트" 와 "AJAX 비동기 통신" 을 이용하여 해결 문제2 - 불필요하게 너무 많은 API 요청으로 인한 오류 발생 "football-data.org" 에서 "free plan" 은 '분당 10회' 로 API 요청이 제한되어있다. [문제2 - 해결 방법] API 요청으로 받은 응답을 Caffeine 캐시를 이용하여 관리한다. 이를 통해 불필요하게 많은 요청을 방지한다. 'build.gradle' dependencies 추가 //Caffeine 캐시 implementation 'org.springframework.boot:spring-boot-starter-cache' imp..
분류 전체보기
[MatchController.java - 리그 매치 일정 엔드 포인트] //리그 별 매치 일정 검색 (leagueId 기반) //page, pageSize 별로 캐싱 @GetMapping("/matches/league/{leagueId}") @ResponseBody @Cacheable(value = "leagueMatchesCache", key = "#leagueId + '_' + #pageable.pageNumber + '_' + #pageable.pageSize", unless = "#result == null or #result.isEmpty()") public Page getMatchesByLeagueId(@PathVariable Long leagueId, Pageable pageable) th..
1. 프로젝트 스타트 패키지 만들기 [ https://start.spring.io/ ] 2. application.yml 설치 spring: profiles: active: local datasource: url: jdbc:h2:tcp://localhost/~/footballinfo username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true use_sql_comments: true logging.level: org.hibernate.SQL: debug # org.hibernate.type: trace H2..
[개요] : 해외 축구 정보 API를 이용하여 실시간 해외 축구 정보를 제공하는 웹 서비스 [기능 설명] 카카오 오븐을 이용해 대략적 이미지 작성 [ https://ovenapp.io/ ] 1. 해외 축구 실시간 정보 제공 2. 관심있는 팀, 선수 정보 저장 및 중점 제공 +) 회원 가입 / 로그인 기능 [참고자료] https://www.youtube.com/watch?v=j_8mHz_G3Nw&list=LL&index=2&t=272s
0. 기본 페이지 View (home.html) TASK 기능 TASK 저장 TASK 목록 회원 기능 회원 저장 회원 목록 1. Member 관련 View * createMemberForm.html (회원 가입 View) * memberList.html (회원 목록 View) 2. Task 관련 View * createTaskForm.html (Task 등록 View) * updateTaskForm.html (Task 수정 View) * taskList.html (Task 목록 View) # Title Description writer Created Date 수정 삭제 "Task 삭제" 에 대한 자세한 설명 삭제 위와 같이 작성 하였다. 여기서 중요한 부분은 form 태그의 method 속성을 "post..
Controller 의 역할 : Service 에 의존관계를 주입 받고 특정 URL 로 오는 요청을 처리 하여 응답을 처리하는 역할을 수행 Service 의 역할 : Controller 에서 받은 요청을 위임받아 핵심 비즈니스 로직을 수행하여 실행하거나 값을 리턴하는 역할을 수행 0. HomeController /*HomeController.java*/ @Controller @Slf4j //logging public class HomeController { @RequestMapping("/") public String home() { log.info("home"); return "home"; } } 기본 페이지 : "localhost:8080" url 로 연결되는 기본 페이지 매핑이다. URL : "lo..