본문 바로가기

분류 전체보기66

[React] 리액트 refresh token 구현 (with. axios interceptor) Axios interceptor와 Refresh Token axios 공식문서에 따르면, interceptor는 api 요청에서 then이나 catch로 처리되기 전에 응답을 가로챌 수 있도록 하는 것입니다. 프로덕트에서 로그인 시에만 가능한 행동들의 경우 header에 athorization : token 옵션을 함께 보내야합니다. 이때 토큰이 만료되면 서버에서 토큰 만료로인한 오류응답을 줍니다(저희는 401이 토큰 만료 오류입니다). 토큰 탈취 문제를 피하고자 엑세스토큰의 유효시간은 짧게 설정해두고, 리프레시토큰을 통해 엑세스토큰을 재발급받아야하는데, 서비스를 이용하는 유저입장에서 반복적으로 401에러를 보는 것은 굉장히 불편한 일입니다. 그래서 저희는 401에러가 나오면, 유저가 보지 못하게 중간에.. 2023. 3. 21.
[운영체제] 단편화와 메모리 관리 기법(페이징, 세그멘테이션) 단편화 (Fragmentation)란? : 메모리의 공간이 작은 조각으로 나뉘어 사용 가능한 메모리가 충분히 존재하지만 할당(사용)이 불가능한 상태 내부 단편화(Internal Fragmentation) : 할당된 공간보다 프로세스가 더 작아서 생기는 남는 부분. 외부 단편화(External Fragmentation) : 프로세스들이 메모리에 할당되고 해제되는 과정이 반복되면서, 연속적이지 않은 공간들이 생기는 것. 메모리 관리 방법 : 단편화 현상을 줄이고, 적절한 swapping을 통해 효율적으로 메모리를 관리하기 위한 방법 1. 압축 : 외부 단편화 해결 :외부 단편화를 해소하기 위해 프로세스가 사용하는 공간들을 한쪽으로 몰아, 자유공간을 확보하는 방법론 메모리에 적재된 프로세스를 정지시키고 한쪽으.. 2023. 3. 14.
[Typescript] error 2362: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. 에러 메세지 에러 원인 const diffSeconds = (currentTime - createdTime) / 1000; 게시판에서 글작성 시간과 현재 시간을 비교해서 '몇 시간전, 방금 전' 등을 출력하는 함수를 작성중이었습니다. 위 코드에서 currentTime과 createdTime은 Date 타입인데, 타입스크립트에서 ' - ' 연산은 any, number, bigint만 가능하다는 겁니다. 즉 any, number, bigint 이외의 타입을 산술연산자(+, -, *, / 등)를 이용해 연산하려고 할 경우 위와 같은 에러가 발생합니다. 해결 방법 그렇다고 Date 타입을 any로 바꿀 수는 없으니 다른 방법을 고려해보아야합니다. 이럴 때 유용하게 사용할 수 있는 것이 valueOf() 함수입니.. 2023. 3. 13.
[Javascript] 백준 1697: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 예제 입력 1 5 17 예제 출력 1 4 문제 풀이 예제에서 -1, .. 2023. 3. 9.
[Javascript] 백준 4963: 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다. 입력의 마지막 줄에는 0이 두 개 주어진다. 출력 각 테스트 케이스에 대해서, 섬의 개수를 출력한다.. 2023. 3. 8.
[Javascript] 백준 2667: 단지번호 붙이기 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각 .. 2023. 3. 7.