Kotlin + Spring으로 처음으로 프로젝트 세팅을 해보고 있는데 여기저기서 에러가 많이 터졌다. 그 중에서도 Entity + JPA 설정하는 데 애를 많이 먹었다. JAVA 진영에서는 ORM을 주로 JPA(인터페이스)와 Hibernate(구현체)로 구현한다.주로
1차 코테 후기 작성 후 며칠이 지나 결과 발표가 났는데 예상대로 서버가 터지는 바람에 대부분이 다 붙은 것 같았다.그래서 2차 코테에서 더 많이 걸러야되기 때문에 난이도가 더 높을 걸로 예상이 되었다.막상 치고나서 보니 전년도 후기를 찾아보니 2차 코테는 1차보다 원
NestJS 옵션 설정 사용 방법 그 외 커스텀 사용 참고 NestJS and ‘class validator’ cheat sheet
CONCAT(), CONCAT_WS() : 두 개 이상의 문자열을 결합합니다.SUBSTRING() : 문자열의 일부분을 추출합니다.SUBSTRING_INDEX(): 찾는 문자열이 n회 등장하면 그 이후 문자열을 버립니다. n이 마이너스면 오른쪽에서 시작합니다.LENGT
반성! 올해 들어 알고리즘과 사이드 프로젝트에 매달리고 있어 블로그를 소홀히 했다. 먼가 시간이 있으면 블로그도 꾸미고 싶어 티스토리나 다른 데로 이주시킬까 생각도 해봤지만 지금은 때가 아닌 것 같다! > ### 알고리즘 발자취 올해 알고리즘을 공부한 자취를 살펴
프로젝트를 오랜만에 리팩토링하다보니 typeORM이 0.3.X로 업그레이드 되면서 사용하던 Repository 어노테이션이 deprecated되어 변경해야할 부분이 좀 생겼습니다. 이 외에도 어떤 변경사항이 있는 지 궁금하여 살펴보게 되었습니다.connection 옵션
홈브루로 redis를 다운로드 받으려고 하는데 cleanup 단계에서 Permission Denied 오류가 나더라.맥 OS 버전에 따라 명령어가 조금은 다를 수 있으나 카탈리나 기준으로 1./usr/local 권한을 admin으로 변경하고2\. brew를 전체 rei
S3 버킷을 CloudFront에 올려 사용하다보면 변경 사항이 실시간으로 반영이 안되는 것을 확인할 수 있습니다. 이는 AWS 정책상 24시간동안 Cache된 응답을 사용하기 때문입니다. 그렇기 때문에 S3 콘텐츠를 실시간으로 반영하기 위해선 2가지 방법을 사용할 수
지난 프로젝트의 결과물이 남아있어 제가 새로 도메인을 파고 실습해보기로 했습니다. 사용한 스택은 아래와 같습니다 도메인 구매(가비아) AWS CloudFront - 도메인연결 AWS Route53 도메인 연결 AWS ALB (서버 - Loadbalancer) Rou
NestJS로 작성된 과거 프로젝트를 리팩토링하려고 다시금 뜯어보니 로깅 작업을 안해줘서 모니터링하기가 매우 불편했습니다.기존에 Express에서 사용했던 Morgan + Winston 조합으로 로깅 환경을 구현하려고 했으나 nest-morgan 모듈 지원이 종료되었습
개인 프로젝트 용으로 작은 사이즈의 AWS EC2를 사용하다보면 프로세스가 확 튀어오르거나 꽉 찰 때가 종종 있습니다.이럴 때 타이밍을 놓치면 서버가 뻗어버려 재부팅을 하기가 일쑤이기 때문에 이를 방지하고, 프로세스를 확인하고 종료하는 습관을 들이기 위해서 정리하게 되
참고 [3.6 Git 브랜치 - Rebase 하기 ](https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0)
수학문자열그리디 알고리즘정렬정수론어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다.미르코를 도와 그가 만들고 싶어하는 수를
배열을 순회하면서 조건을 찾을 때 무지성으로 forEach를 쓰는 경우가 많았다. 그러다 특정 조건이 되면 나오고 싶은데 어라라,, forEach로는 return을 해도, break를 걸어도 나올 수가 없었다!그래서 배열을 index를 가진 채 순회하다가 멈추고 싶을
다이나믹 프로그래밍정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을
[ES6] Iterable, Iterator에 대하여 ES6부터 도입된 Generator란? 일반적인 함수는 하나의 값을 반환하거나 반환하지 않는다. 이와 달리 generator는 여러 개의 값을 필요에 따라 하나씩 반환(yield)할 수 있다. generator와
구현누적 합길이가 유한하고, 오름차순 순서로 되어있는 두 수열이 주어진다. 두 수열에 공통으로 들어있는 원소는 교차점으로 생각할 수 있다.아래는 두 수열과 교차점은 굵게 나타낸 것이다.수열 1 = 3 5 7 9 20 25 30 40 55 56 57 60 62수열 2 =
ES6부터 도입된 Iterable, Iterator 개념은 Javascript를 사용한다면 꼭 알아야할 개념이 되었다.나도 단순히 반복할 수 있는 객체에 정의되어있는 규약이라고만 알고 있었는데 Array, Map, Set 뿐만 아니라 String도 Iterable이라고
재귀분할 정복재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다.크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다.N이 3보다 클 경우,