profile
공부용 블로그
post-thumbnail

mongoose 연결 오류

Typescript + Node.js 환경에서 mongoose를 이용해 mongoDB와 연결하는 과정에서 알 수 없는 에러가 발생했다.같은 코드 구성의 Javscript 환경에서는 문제 잘 연결이 되었기에, 처음에는 ts-node나 프로젝트 설정 문제인 줄 알았다.

7일 전
·
0개의 댓글
post-thumbnail

2022 인하대학교 프로그래밍 경진대회(IUPC) 참여 후기

저번 달, 학과 게시판에서 교내 프로그래밍 대회를 개최한다는 글을 보게 되었다.이제 나름 고학년이 되었지만 아직 코딩 관련 대회에 참여해 본 적이 없어 이번 대회가 꽤 좋은 기회라고 생각했다.물론 수상을 바라지는 않았다...백준 등 PS를 다시 시작한 것도 얼마 되지

2022년 5월 22일
·
0개의 댓글
post-thumbnail

API 서버 설계부터 배포까지

시작 작년 말부터 한동안 리액트를 비롯해 여러 프론트엔드 스택을 공부하면서 많은 것을 배우고 또 연습하는 시간을 보냈다. 예전에 비하면 그래도 눈이 꽤 많이 뜨인 느낌이지만, 실제 서비스에서는 프론트엔드 영역 외에도 백엔드 설계, 클라이언트와 서버의 통신, 빌드와 배포

2022년 5월 9일
·
0개의 댓글
post-thumbnail

[백준] 5430번: AC

문자열 조작의 비중이 높은 문제였다. 시간복잡도를 줄이기 위해 실제 배열에서 요소를 삽입/삭제/뒤집는 대신 시작점과 끝점을 옮긴 후 출력하는 방식으로 구현하였다.명령어 R을 입력받을 때마다 flag를 반전시키고, 이에 따라 D가 입력됐을 때 시작점을 옮길지 끝점을 옮길

2022년 1월 19일
·
0개의 댓글
post-thumbnail

[백준] 1107번: 리모컨

많은 조건을 꼼꼼히 따져봐야 풀 수 있는 문제였다. 다른 분이 올려주신 반례 모음집이 문제를 푸는 데 많은 도움이 됐다.발상 자체는 단순하다. 누를 수 있는 숫자로 최대한 목표 채널과 가까운 값을 만든 후 증감 버튼으로 조정하는 횟수를 세면 된다. 총 5가지의 경우를

2022년 1월 13일
·
0개의 댓글
post-thumbnail

[백준] 16236번: 아기 상어

BFS 응용 문제이다. 상어의 크기가 점점 커지면서 매 탐색 시 탐색 조건이 바뀐다.이 문제도 첫 시도를 실패했는데, 문제의 조건 중 '거리가 가까운 물고기가 많다면, 가장 위에 있는 물고기, 그러한 물고기가 여러마리라면, 가장 왼쪽에 있는 물고기를 먹는다.' 를 구현

2022년 1월 7일
·
0개의 댓글
post-thumbnail

[백준] 16928번: 뱀과 사다리 게임

간단한 BFS 응용문제였으나 처음 제출한 답안을 틀렸다.뱀 또는 사다리를 만나면 무조건 도착점으로 이동해야 하는데, 만난 지점에서 주사위를 굴리는 경우를 고려한 것이 잘못됐었다.문제의 조건을 주의 깊게 보지 않아서 일어난 실수였다.

2022년 1월 6일
·
0개의 댓글
post-thumbnail

[백준] 1074번: Z

문제를 보자 예전에 한창 헤맸던 별 찍기 - 10와 비슷하게 재귀를 이용한 문제임을 알았다.주어진 값에 맞는 마지막 한 칸만 남을 때까지 재귀적으로 행렬을 계속 4등분하면 된다.4등분 했을 때 각 행렬의 첫 번째(왼쪽 위) 값은 원래 행렬의 값에서 2^2(N-1)을 차

2021년 12월 13일
·
0개의 댓글

Gatsby 동적 페이지 생성

Gatsby.js는 JAM 스택을 기반으로 한 정적 사이트 생성기이다. 정적 사이트란 서버에 존재하는 데이터를 변화시키는 일 없이 그대로 사용자에게 보여주는, 고정된 웹 사이트 형식을 말한다.복잡한 API 통신이나 백엔드를 설계해야 할 일이 적으므로 순수 자바스크립트나

2021년 12월 12일
·
0개의 댓글

리덕스 with 타입스크립트

비동기 함수 getPostById()는 axios 객체를 이용해 API 요청을 받아오고 있다.JS와 달리 타입스크립트에서 API 요청을 할 때에는 request와 response에 대한 타입을 따로 정의해야 한다.리덕스의 보일러 플레이트 코드를 더욱 간편하게 작성할 수

2021년 11월 29일
·
0개의 댓글
post-thumbnail

useSelector와 컴포넌트 최적화

리덕스에서 useSelector hook을 이용해 상태를 받아올 때, 컴포넌트 최적화를 위해 사소하지만 유의해야 할 점이 있다.여러 도시의 날씨 정보를 담고 있는 리스트 컴포넌트이다.각 항목을 클릭하면 해당 도시의 정보를 메인 컴포넌트에 보여준다. 선택된 아이템과 선택

2021년 11월 28일
·
0개의 댓글
post-thumbnail

[백준] 18111번: 마인크래프트

처음엔 어떻게 풀어야 할지 조금 고민했다. 경계값을 따져보면 땅을 최대할 팔 수 있는 만큼 파서 평탄화 하는 방법과(높이를 최소로), 사용 가능한 블록을 최대한 써서 평탄화 하는 방법(높이를 최대로)일 것이다. 그 사이에서 시간을 최소로 하는 방법을 찾아야 한다.처음에

2021년 11월 21일
·
0개의 댓글
post-thumbnail

[백준] 1966번: 프린터 큐

큐의 가장 앞에 있는 문서의 중요도가 다른 문서들보다 같거나 높다면 바로 출력하고, 그렇지 않다면 큐의 맨 뒤로 보내는 것을 반복한다.원하는 위치의 문서가 몇 번째로 출력되는지를 구하는 문제이다.문제에 나온 그대로 큐에 push와 pop을 일일히 다 적용하면서 구하면

2021년 11월 19일
·
0개의 댓글

초과 프로퍼티와 선택적 프로퍼티

객체 리터럴은 다른 변수에 할당할 때나 인수로 전달할 때, 초과 프로퍼티 검사를 받는다.요구하는 인터페이스인 Person에 명시되지 않은 프로퍼티를 갖고 있기에 에러가 발생했다.그러나 똑같은 객체를 변수에 할당한 뒤 전달하면 에러가 발생하지 않는다.타입 단언을 이용하여

2021년 11월 19일
·
0개의 댓글
post-thumbnail

flex-basis와 width 속성

flex-basis 속성은 플렉스 아이템의 '초기 크기'를 지정한다.flex-grow 속성은 컨테이너의 남은 공간을 플렉스 아이템이 '얼마만큼의 비율로' 채울 수 있게 할지 결정한다.이때 유의해야 할 점이 있다.flex-basis는 요소의 크기 자체를 결정하는 속성이

2021년 11월 8일
·
0개의 댓글
post-thumbnail

리덕스 기초 정리

리덕스는 Flux 패턴을 바탕으로 하며 리액트에서 더욱 체계적인 상태 관리를 위해 만들어진 라이브러리이다.주요 구성 요소는 다음과 같다.현재 state와 reducer를 담고 있는 객체이며 한 애플리케이션에 한 개만 존재할 수 있다. 최상위 컴포넌트를 Provider로

2021년 11월 4일
·
0개의 댓글

컴포넌트의 불필요한 리렌더링 방지

자신의 state가 바뀔 때부모 컴포넌트로부터 받아오는 props가 바뀔 때부모 컴포넌트가 리렌더링될 때forceUpdate를 통한 강제 업데이트 시앱을 구성하는 컴포넌트가 많아질수록, 또 그것들이 자주 리렌더링될수록 성능 최적화를 고려하는 것이 좋다.간단한 일정 관리

2021년 11월 3일
·
0개의 댓글