목차 문제 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와 같이 제일 왼쪽 위 지점에서 출발하여 제일 오른쪽 아래 지점까지 항상 내리막길로만 이동하는 경로의 개수를 구하는 프로그램을 작성하시오. 입력..
목차 [Node.js]기본 패키지 구조 모듈 파헤치기(1) [Node.js]기본 패키지 구조 모듈 파헤치기(2) [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(2) - 기본 구조 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(3) - JWT, 회원 가입과 로그인 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(4) - 컨트롤러에 검증로직 추가 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(5) - 1:N, N:M 관계 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(6) - OAuth 2.0(구글/네이버/카카오) [Node.js]TS, Expres..
작은 프로젝트를 개발하면서는 만날 일이 없지만, 의외로 회사에서 일하다 보면 3분이 넘는 요청을 처리해야 하는 경우가 종종 있다. 스프링 부트의 경우, application.yml에 명시적인 타임아웃 설정이 없다면 연결 타임아웃은 기본 30초, 읽기 타임아웃은 기본적으로 무제한으로 설정된다. 하지만 AWS를 이용해 배포를 하는 경우, 특별히 설정을 해주지 않으면 60초 만에 타임아웃 에러가 뜨는데, 이런 경우 .yml 파일에 명시적으로 타임아웃을 길게 적어도 해결되지 않는 것을 확인할 수 있다. 해결 방법은 AWS의 어느 서비스를 사용하느냐에 따라 다르겠지만, 나의 경우 EC2, ELB, Route53을 사용하고 있다. 이런 경우 해결책은 생각보다 허무한데, 우선 AWS 콘솔에 로그인한 뒤, EC2에서 ..
목차 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경우를 생각해 보자. AB를 먼저 곱하고 C를 곱하는 경우 (AB)C에 필요한 곱셈 연산의 수는 5×3×2 + 5×2×6 = 30 + 60 = 90번이다. BC를 먼저 곱하고 A를 곱하는 경우 A(BC)에 필요한 곱셈 연산의 수는 3×2×6 + 5×3×6 = 36 + 90 = 126번이다. 같은 곱셈이지만, 곱셈을 하는 순서에 따라서 곱셈 연산의 수가 달라진다. 행렬 N개의 크기가 주어졌을 때, 모..
반쯤 파괴된 동상 모두 사랑했던 동상 사랑하던 사람들 다 가고 손가락질하던 사람들 다 가고 그 후손들 다 가는 이후에도 반쯤 파괴된 채 남은 동상 아주 파괴되지는 못한 동상 동상에게 동상의 외로움 있겠지 동상에게 동상의 슬픔 있겠지 그러나 피도 눈물도 없는 동상 그러나 핏자국 눈물 자국은 있는 동상 이전을 아는 사람들이 만든 이전은 모르는 동상 이후를 사는 사람들에게 자신도 모르는 이전을 가르쳐주는 동상 이제 가르칠 사람이 없는 동상 친절한 동상 슬픈 동상 없는 시간을 사는 동상 아닌 시간을 사는 동상 있어볼 만큼 있어본 동상 슬슬 없어도 되겠지만 없어질 수 없는 동상 사라진 누군가를 모델로 한 누군가의 모델인 동상 누군가가 잊힌 뒤에도 잊힌 누군가의 모델인 동상 그런 동상이 나 본다 반쯤만 인간인 -,..
지난 글에선 Node.js의 용어 정리와 db.ts, User.ts, Archive.ts 세 모듈에 대해서 알아봤다. 이번 글에선 남은 모듈을 최대한 정리하고, 이어지는 구현은 손으로 따라가면서 익힐 예정이다. 참고로 지난 글보다 모듈이 하나 늘어서, 패키지 구조는 아래와 같다. 우선 utils 폴더를 보고, 그다음으로 routes, middleware, controller 순으로 올라갈 예정이다. 시작! /src/utils 지난 글에 적은 대로, utils는 재사용 가능한 유틸리티 모듈이 모여있는 폴더이다. 모듈 이름만 봐도 여러 곳에서 많이 쓰일 것 같은데, 하나씩 알아보자. generateToken.ts import jwt from 'jsonwebtoken'; const generateToken =..
목차 NoSQL NoSQL은 Not only SQL의 약자이며, 기존의 관계형 데이터베이스에서 벗어난 저장방식을 가리킨다. 이에 관한 더 자세한 설명 및 SQL과의 비교는 예전에 정리한 적이 있으므로, 해당 게시글로 대체한다. [데이터베이스]SQL vs. NoSQL [데이터베이스]SQL vs. NoSQL NoSQL는 Not only SQL의 약자로, SQL만을 사용하지 않는 DBMS(DataBase Management System)을 말한다. 관계형 데이터베이스를 주로 사용하는 SQL과 달리 여러 유형의 데이터베이스를 사용하는 넓은 범위라고 보 gnidinger.tistory.com 이 글에서는 Node.js, TypeScript, 그리고 mongoose를 사용하는 환경을 기반으로 mongoDB의 1:N..
프로젝트 진행 시 타입스크립트로 구성된 프론트엔드 코드를 작동시킬 때면 변경 및 저장된 사항이 앱에 바로 반영되는 것이 부럽고 신기했다. 물론 자바에도 비슷한 기능이 있기는 하지만 애초에 인텔리제이 환경에서 자바는 자동저장을 지원하는데다 서버를 키는 시간이 오래 걸리기 때문에 굳이 필요가 없었다. 어쨌거나 타입스크립트와 노드JS를 사용할 때도 저장하면 자동으로 앱을 재실행시켜주는 기능이 필요해서 여기에 정리한다. 추가로, VSCode에서도 코드를 자동 저장 해주는 기능을 지원하지만, 지금 소개할 nodemon과 함께 사용하면 완성도 되지 않은 코드가 배포되는 상황이 발생할 수 있다. 따라서 자동 저장 기능을 사용하려면 nodemon은 사용하지 않는 것이 좋다. nodemon의 설치 방법은 아래와 같다. ..
목차 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 풀이 처음에는 아..
네 꿈을 꾸고 나면 오한이 난다 열이 오른다 창들은 불을 다 끄고 아무도 움직이지 않는 밤거리 간판들만 불 켠 글씨들 반짝이지만 네 안엔 나 깃들일 곳 어디에도 없구나 아직도 여기는 너라는 이름의 거울 속인가 보다 발걸음이 떼어지지 않는다 고독이란 것이 알고 보니 거울이구나 비추다가 내쫓는 붉은 것이로구나 포도주로구나 몸 밖 멀리서 두통이 두근거리며 오고 여름밤에 오한이 난다 열이 오른다 이 길에선 따뜻한 내면의 냄새조차 나지 않는다 이 거울 속 추위를 다 견디려면 나 얼마나 더 뜨거워져야 할까 저기 저 비명의 끝에 매달린 번개 저 번개는 네 머릿속에 있어 밖으로 나가지도 못한다 네 속에는 너밖에 없구나 아무도 없구나 늘 그랬듯이 너는 그렇게도 많은 나를 다 뱉어내었구나 그러나 나는 네 속에서만 나를 본..
- Total
- Today
- Yesterday
- 파이썬
- 맛집
- 야경
- 유럽
- spring
- 기술면접
- 자바
- java
- 스프링
- 면접 준비
- Python
- 알고리즘
- 남미
- 리스트
- 중남미
- 칼이사
- BOJ
- 세계일주
- 지지
- 스트림
- 동적계획법
- Backjoon
- 백준
- 세계여행
- 유럽여행
- a6000
- Algorithm
- 세모
- 여행
- RX100M5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |