전체 글

전체 글

    CT 기본기 - 최대, 최소

    count = int(input()) numbers = list(map(int, input().split())) max = numbers[0] min = numbers[0] for i in numbers[1:]: if i > max: max = i elif i < min: min = i print(min, max)

    Private Routes 적용해보자.

    Private Routes 적용해보자.

    추석 연휴 이틀 동안 열심히 잘 먹고 잘 쉬었지만.. 마음 한편에 '근데.. 나 취준생인데 이렇게 쉬어도 되나..' 하는 생각이 들었다. 다이어리에 빼곡히 적혀 있는 해야 할 일들 중에 미루고 미루던 Private Route를 빠르게 적용해보자. Todo 구현 조건 다음번에 로그인 시 토큰이 존재한다면 루트 경로로 리다이렉트. 어떤 경우든 토큰이 유효하지 않다면 사용자에게 알리고 로그인 페이지로 리다이렉트. # Private Routes를 적용하기 전 위의 조건에 만족하기 위해 recoil과 recoil-persist를 사용했다. (3차 프로젝트에서 적용한 로직과 거의 똑같이 구현했다.) 1. 사용자가 로그인에 성공하면 userState atom 은 true 값으로 업데이트된다. 2. 로그인한 사용자만 ..

    CT 기본기 - 이진수

    # 다른사람의 풀이 T = int(input()) for _ in range(T): n = bin(int(input()))[2:] for i in range(len(n)): if n[-i - 1] == '1': print(i, end=' ') ☑️ bin 파이썬에서 정수를 이진수로 바꿔주는 함수다.

    Axios Interceptors ?

    Axios Interceptors ?

    # Axios Interceptors ? 매번 요청때마다, 중복되는 URL 이 있거나 혹은 동일한 헤더값 (content-type , token..) 를 넣거나, 에러가 발생했을 때 공통으로 처리를 하고 싶거나 할때 해결방법이 있을까? 의 물음에 대한 해결방법이 바로 Axios Interceptors 다! 나의 경우에는 Todo를 구현하면서 base URL 과 동일한 헤더값 처리를 위해 Axios Interceptors 를 사용하게 되었다. // Add a request interceptor axios.interceptors.request.use(function (config) { // Do something before request is sent return config; }, function (er..

    CT 기본기 - 약수 구하기

    ✔️ 약수 구하기 answer = [] N, k = map(int,input().split()) for i in range(1,N+1): if N % i == 0: answer.append(i) answer.sort() # 이미 값은 sort되어있으므로 굳이 할 필요 없다. if len(answer) < k: # len(answer)를 변수로 지정해도 된다. result = 0 # 결과 값을 바로 print 해도 된다. else: result = answer[k-1] print(result) n,k=map(int,input().split()) res=0 for i in range(1,n+1): if n%i==0: k-=1 if k==0: res=i print(res) def get_divisor(n): ..

    TDD 도전해보자.(2) -  TypeScript 에 적용

    TDD 도전해보자.(2) - TypeScript 에 적용

    TDD 도전해보자.(1) - React Testing Library ? Jest ? TDD를 적용해야 하는 일이 생겨서 공부를 시작했는데, React 에는 이미 Testing Library 가 존재한다고 한다!? # React Testing Library ✔️ 설치 방법도 기존 CRA와 똑같다! 그리고 설치가 끝나면 npm test 명.. nayeon-zip.tistory.com 지난 글에 이어서 빠르게 두 번째 ✌️ 사실 이전 글을 끝으로 다음 글은 TDD 후기이지 않을까 생각했는데... 나의 착각..... CRA 설치를 하면 자동적으로 React Testing Library와 jest 가 자동 설치되기 때문에, 따로 새로운 설치는 필요 없다고 생각했는데, test를 실행하면 오류들이 발생했고, 알아보..

    TDD 도전해보자.(1) -  React Testing Library ? Jest ?

    TDD 도전해보자.(1) - React Testing Library ? Jest ?

    TDD를 적용해야 하는 일이 생겨서 공부를 시작했는데, React 에는 이미 Testing Library 가 존재한다고 한다!? # React Testing Library ✔️ 설치 방법도 기존 CRA와 똑같다! 그리고 설치가 끝나면 npm test 명령어에 대한 설명이 기재되어있었다...! ✔️ npm test 를 실행하면, 아래와 같이 명령어들이 나온다. a를 실행하면...! App.test.js 가 실행되고, Pass 되는 것을 볼 수 있다. ✔️ 그럼? App.test.js 에서 무엇을 테스트한 것일까? ( App.test.js 파일은 그저 매번 CRA 설치 후 삭제했던 파일이었지 어떤 파일인지는 알아보지 않았었다.😮‍💨 ) test('renders learn react link', () => {..

    Scroll 이벤트 대신 Intersection Observer API 이용하자!

    Scroll 이벤트 대신 Intersection Observer API 이용하자!

    📅 본 글은 2022년 7월 23일 개인 github에 작성된 글입니다. 🚀 Scroll 이벤트 대신 Intersection Observer API 이용하자! 3차 프로젝트 리팩토링! 🖱 Scroll 이벤트를 활용한 무한 스크롤! 전체 일기 보여주는 페이지를 커서 기반 무한 스크롤로 구현하였는데, 이때 window 객체에 scroll 이벤트를 연결하여 특정 지점에 스크롤이 되었을 때, 서버에 다음 일기 리스트를 요청하고 이때 파라미터에 cursor 값을 보내는 형식으로 하였다! // handleScroll.js export const handleScroll = () => { const scrollHeight = document.documentElement.scrollHeight; const scrollT..