개요 Frontend next.js, Redux, Redux-saga를 사용하였고 Backend는 mongoDB, express 를 이용해 구현했다. 왜 Next.js 인가? 기존 CRA(create react application) 은 클라이언트 사이드 렌더링방식으로 초기 렌더링시에 HTML을 받고 리소스를 받아 렌더링 하기에 맨처음 로딩까지의 시간이 SSR보다 느리다. 또한 빈 HTML에 JS로 VIEW를 구성하기에 SEO부분에서도 검색엔진이 데이터를 수집하는데에 문제가 있다. 때문에 CRA에서 SSR 구성을 어찌어찌 해야하는데, 반면 Next.js 는 기본적으로 서버사이드 렌더링을 제공하며, 코드스플리팅을 자동화 해주고(여기서 코드스플리팅이란 하나의 작은 번들을 잘개 쪼개어 사용자가 필요한 코드만 ..
Route.get() requires a callback function but got a [object Undefined] 뒤에 컨트롤러가 존재하지 않을때 생기는 오류 app.get(routes.getpost, getpost) 이런식으로 라우터와 컨트롤러를 따로 import 해와서 쓸때 콜백인 getpost 가 정의되어있지 않으면 생기는 오류임.
문제 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 TUE 과정 function solution(a, b) { var answer = new Date(2016, (a-1), b); ret..
문제 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 과정 function solution(s) { let answer = '' const middleSNumber = s.length/2 middleSNumber%1 !== 0 ? answer = s[Math.floor(middleSNumber)] : answer = `${s[middleSNumber - 1]}${s[middleSNumber]}` return answer } 1. middleSNumber 를 입력되는 s의 길이를 2로 ..
문제 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arrdivisorreturn [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따..