✅ 데이터베이스 설치아래의 사이트에 접속한다.H2 Database Engine프로젝트 요구사항에 따른 버전을 설치한다.✅ 데이터베이스 실행h2 데이터베이스가 존재하는 디렉토리로 이동 후 bin폴더로 이동한다.$ cd h2$ cd bin데이터베이스 실행파일의 권한을 변경한다.chmod 755 h2.shh2를 실행한다../h2.shh2는 포그라운드에서 실행되고 데이터베이스 클라이언트가 나타난다.✅ 데이터베이스 파일 생성데이터베이스가 실행되면서 클라이언트가 열린다.jdbc:h2:~/[데이터베이스 이름]의 형식대로 경로를 설정하면 해당 경로에 데이터베이스 파일이 생성된다.jdbc:h2:~/jpashop루트 디렉토리에 접근하면 해당 파일이 존재하는지를 확인할 수 있다.✅ 데이터베이스 파일과 연결h2 데이터베이스 ..
문제설명문자열로 입력받은 데이터로 곱셈 로직을 구현하기 전략내 전략 // TODO: // 곱하기 알고리즘 // 목표: 곱하기 결과 출력하기 // 단계 // 메모리를 준비한다 // 각자리수마다 곱하기를 한 후 메모리에 넣는다 // 첫번째자리부터 마지막자리까지 진행 // 첫번째 자리와 첫번째 자리를곱한다 // 10으로 나눈 나머지를 해당 자리 자릿수에 더한다 // 10으로 나눈 몫은 다음 자릿수에 더한다 // 다음 자릿수에 더한값 또한 넘치면 연쇄반응이 멈출 때까지 더하기 // 다음수를 진행한다 // 배열 자체를반환한다모범전략1. 문자열 str1,..
1. 깊은 복사 (Deep Copy)깊은 복사는 객체의 모든 멤버 데이터를 새로 복사하여 두 객체가 서로 독립적인 상태를 유지하도록 한다.주요 특징:새로운 메모리 공간을 할당하여 복사.원본 객체와 복사된 객체의 수명이 독립적.동적 메모리를 사용하는 경우 유용.// 복사 생성자 예제MyClass(const MyClass& other) { data = new int(*(other.data)); // 새로운 메모리 할당 후 복사}2. 얕은 복사 (Shallow Copy)얕은 복사는 객체의 멤버 데이터를 그대로 복사하되, 포인터가 같은 메모리를 참조하도록 한다.주요 특징:메모리 공간을 새로 할당하지 않음.복사된 객체와 원본 객체가 같은 메모리를 참조 (수명 공유).하나의 객체가 메모리를 해제하면 다른 객체..
목표알파벳의 연속으로 주어진 문자열을 각 문자에 대응되는 개수순으로 문자열을 압축하기방법방법에는 크게 두가지가 있다. 문자열 전체를 순회해서 알파벳의 문자별로 하나씩 세는 방법과 문자열을 한번 정렬한 뒤에 알파벳을 문자별로 세는 방식이 있다. 전자는 한 문자당 문자열 전체를 순회해야하는 반면에 후자는 문자열을 정렬하는 비용을 투자하는 대신에 정렬 단계 이후에는 문자열을 한번만 순회하면 된다.분석전자는 시간복잡도가 O(N^2)이다. 후자는 O(NlogN + N)이다. 따라서 데이터의 크기가 무한할 때 후자가 성능이 좋다.정리로직 중에 컨테이너가 데이터를 전체 탐색해야하는 경우에 정렬을 먼저하자.
NestJS란?Node.JS 기반의 서버 애플리케이션를 만들기 위한 프레임워크다. 효율적이고 확장 가능한 서버 애플리케이션을 만들 수 있다. 최신 자바스크립트와 타입스크립트를 지원하며 객체지향프로그래밍(OOP), 함수형 프로그래밍(FP), 함수 반응형 프로그래밍(FRP)를 따른다. express, fastify와 같은 node.js 프레임워크를 추상화하면서도 이들을 사용할 수 있는 API를제공한다.특징Node.JS 기반효율적이고 확장가능한 서버 애플리케이션 프레임워크자바스크립트, 타입스크립트 지원OOP, FP, FRP 따름express, fastify 활용가능NestJS가 만들어진 이유이전에는 Node.JS 환경을 위한 아키텍처가 없었다. NestJS는 플랙폼 독립적인 아키텍처를 제공하기 위해 만들어졌다..