본문 바로가기

분류 전체보기443

[Next.js] router.query 사용 시 'undefined' 오류 해결 이번 SW 캡스톤디자인 프로젝트에서 대회 페이지를 제작하던 중 대회 id를 query로 받기 위해 useRouter Hook을 사용하다가 router.query 값이 'undefined'로 들어오는 오류가 발생했다. 이전 페이지에서 쿼리 값을 전달해줬을 경우에는 문제가 발생하지 않았는데, 새로운 경로로 접속하거나 뒤로가기를 했을 경우에 이러한 오류가 발생했었다. 이는 Next.js의 정적 파일 최적화(Automatic Static Optimization)로 인해 라우트 매개 변수가 제공되지 않기 때문이라고 한다. 정적 파일 최적화(Automatic Static Optimization)란 ?Next.js는 페이지가 데이터 요구사항이 없으면(즉, 서버에서 데이터를 가져올 필요가 없으면) 정적(사전에 렌더링 .. 2023. 6. 15.
[React-query] 리액트 쿼리를 사용하는 이유 및 useQuery / useMutation 사용법 1) React-query란 ? react-query는 리액트 애플리케이션에서 서버 상태 가져오기, 캐싱, 동기화 및 업데이트를 보다 쉽게 다룰 수 있도록 도와주는 라이브러리이다. 클라이언트 상태와 서버 상태를 명확히 구분하기 위해 만들어졌다. react-query에서는 기존 상태 관리 라이브러리인 redux, mobX가 클라이언트 상태 작업에 적합하지만, 비동기 또는 서버 상태 작업에는 그다지 좋지 않다고 언급한다. 클라이언트 상태(Client State)와 서버 상태(Server State)는 완전히 다른 개념이며, 클라이언트 상태는 각각의 input 값으로 예를 들 수 있고, 서버 상태는 데이터베이스에 저장되어 있는 데이터로 예를 들 수 있다. 2) React-query를 사용하는 이유 가장 기본적.. 2023. 6. 2.
[Softeer 기출문제] GBC import sys n,m = map(int,input().split()) limit = [0]*101 index = 1 test_index = 1 max_value = 0 for i in range(n): length, limit_fast = map(int,input().split()) for j in range(index,index+length): limit[j] = limit_fast index += length for i in range(m): test_length, test_fast = map(int,input().split()) for j in range(test_index,test_index + test_length): if test_fast > limit[j]: diff = test_fas.. 2023. 5. 30.
[Softeer 기출문제] 전광판 import sys t = int(input()) def set_time(n): time = [0]*7 if n == 0: time[0],time[1],time[2],time[4],time[5],time[6] = 1,1,1,1,1,1 elif n == 1: time[2],time[5] = 1,1 elif n == 2: time[0],time[2],time[3],time[4],time[6] = 1,1,1,1,1 elif n == 3: time[0],time[2],time[3],time[5],time[6] = 1,1,1,1,1 elif n == 4: time[1],time[2],time[3],time[5] = 1,1,1,1 elif n == 5: time[0],time[1],time[3],time[5],ti.. 2023. 5. 30.
[백준 16236번] 아기 상어 from collections import deque n = int(input()) area = [] result = 0 shark_size = 2 ate_fish = 0 nx = [-1,1,0,0] ny = [0,0,-1,1] for i in range(n): area.append(list(map(int,input().split()))) for i in range(n): for j in range(n): if area[i][j] == 9: shark_location_x, shark_location_y = i, j def bfs(x,y,sharkSize): visited = [[False]*n for _ in range(n)] distence = [[0]*n for _ in range(n)] visite.. 2023. 5. 27.
[HackerRank] Knapsack def unboundedKnapsack(k, arr): # Write your code here row = len(arr) col = k dp = [[0]*(k+1) for _ in range(row+1)] for i in range(1,row+1): dp[i][0] = 1 for i in range(1,row+1): for j in range(1,col+1): if j >= arr[i-1]: dp[i][j] = dp[i-1][j] + dp[i][j-arr[i-1]] else: dp[i][j] = dp[i-1][j] for i in range(col,-1,-1): if dp[row][i] != 0: return i 이번 문제는 주어진 배열(arr)의 원소들을 가지고 만들 수 있는 타겟 값(k)을 초과하지.. 2023. 5. 20.