728x90
반응형

Programming Language 68

[SvelteKit][TypeScript] Cannot find module '$env/dynamic/private' or its corresponding type declarations.

문제SvelteKit에서 VITE에서 PUBLIC, PRIVATE를 이용하는 형식으로 바꾸는 중에 발생한 오류입니다.import { env } from "$env/dynamic/private";Cannot find module '$env/dynamic/private' or its corresponding type declarations.tsconfig.json에서 아래와 같은 설정을 사용 중이었습니다.{ "include": [ "src/**/*", "svelte.config.js", "types/**/*" ], "exclude": [ "node_modules" ]} 문제 원인TypeScript는 tsconfig.json의 include와 exclude 설정에 따라 검사할 파일의 범위를 제한합니다...

[Java] nextInt()와 nextLine() 혼합 사용 문제

import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); for(int i = 0; i  scanner.nextInt()로 값을 입력받은 뒤, scanner.nextLine()을 사용하여 문자열을 읽을 때 예상치 못한 빈 줄이 입력이 됩니다. 이 문제를 해결하려면 nextInt()로 숫자를 읽은 후, nextLine()을 한 번 호출해 남은 줄바꿈 문자를 제거해야 합니다.문제의 원인scanner.nextInt()는 숫자만 읽고, 그 뒤에 있는 **줄바꿈 문자(\n)**는 입..

[C++] Union-Find 구현

정의상호 배타적 집합(서로소 집합)(Disjoint-Set)을 표현할 때 사용하는 그래프 알고리즘Disjoint-set은 공통 원소가 없는 상호 배타적인 부분집합들로 나눠진 원소들에 대한 정보를 표현하는 자료구조집합을 합치는 Union 연산과 노드의 루트 노드를 찾는 Find 연산으로 이루어짐Union(합치기): 두 원소가 속한 집합을 하나로 합친다.Find(찾기): 해당 원소가 속한 집합을 반환한다.핵심은 각각의 집합을 하나의 트리로 나타내는 것Union-Find를 사용하면 특정 노드가 어느 집단에 속해 있는지 알 수 있다.트리의 구조를 사용해서 시간복잡도가 평균적으로 O(log N)이지만, 편향될 경우 O(N)이 될 수 있다.경로 압축(Path Compression), Rank기반 연산을 통해 최적화..

[C++] Tree의 정의 및 Binary Search Tree의 구현

정의트리는 list, queue 등과 달리 한 노드가 여러 노드를 가리킬 수 있는 비선형적 자료구조최상위 노드가 존재하는 계층적인 형태단방향 그래프시작 노드에서 출발해서 다시 돌아올 수 없는 사이클이 없는 연결 그래프 용어노드(Node): 트리를 구성하는 데이터 원소간선(Edge): 노드와 노드를 연결하는 선 (노드의 개수 n, 간선의 수 n-1)루트 노드(Root Node): 부모 노드가 없는 트리의 가장 최상단에 있는 노드. 트리에 1개 존재부모 노드(Parent Node): 연결된 두 노드 중 위에 있는 노드자식 노드(Child Node): 부모 노드의 하위 노드형제 노드(Sibling Node): 같은 부모를 갖는 노드조상 노드(Ancestor Node) / 자손 노드(Descedent Node)..

[Python] 파이썬 기본 정렬 함수 알고리즘: 팀소트(Timsort)

Timsort파이썬을 위해 고안한 정렬 알고리즘애초에 학계에서 받아들여질 만한 우아한 알고리즘을 목표로 하기보다는 '실제 데이터는 대부분 이미 정렬되어 있을 것이다'라고 가정하고 실제 데이터에서 고성능을 낼 수 있도록 설계한 알고리즘즉, 실제 데이터는 대부분 이미 정렬되어 있을 것이라는 가정 하에 최적화개별적인 단일 알고리즘이 아니라 삽입 정렬과 병합 정렬을 휴리스틱하게 적절히 조합해 사용하는 정렬 알고리즘알고리즘최선평균최악퀵 정렬n log nn log nn^2병합 정렬n log nn log nn log n팀소트nn log nn log n 작동 방식런(Run) 생성리스트를 순회하면서 오름차순(또는 내림차순)으로 정렬된 연속된 부분 리스트(런)를 찾음이때, 리스트의 길이가 짧으면 삽입 정렬을 사용하여 정렬..

[C++] Associative containers (set, map, multiset, multimap)

Associative Containers데이터를 특정 기준에 따라 정렬된 상태로 유지하는 자료구조삽입되는 데이터가 항상 자동으로 정렬된 상태를 유지하며, 이를 통해 효율적인 검색, 삽입, 삭제 연산을 제공key - value 구조를 통해 요소에 빠른 접근은 가능하지만 삽입되는 요소의 위치를 지정할 수 없음Red-Black Tree를 기반으로 하고 데이터의 추가/삭제/접근의 시간복잡도가 O(log n) std::set#include #include int main() { std::set mySet = {3, 1, 4, 1, 5, 9}; // 요소 삽입 mySet.insert(2); // 요소 삭제 mySet.erase(4); // 요소 검색 if (mySet.f..

[C++] Sequence Container (array, vector, duque, forward_list, list)

Sequence Container데이터를 순차적으로 저장하는 구조구현이 단순하고 가볍고 빠르기에 저장할 데이터가 정렬 상태를 계속 유지할 필요가 없을 때 선택 std::array#include using namespace std;int main() { int arr[5] = {1, 2, 3, 4, 5} int searchValue = 3; int changeValue = 6; for (int i = 0; i   특징크기 고정 (컴파일 타임에 크기가 고정 필요)요소는 연속된 메모리 공간에 저장인덱스를 사용하여 O(1) 시간 복잡도로 접근 가능크기 변경이 불가능사용 시기요소의 수가 고정되어 있고 변경될 가능성이 없는 경우.메모리 효율이 중요한 경우빠른 인덱스 접근이 필요한 경우 std..

[Docker] SvelteKit + MongoDB + Tailwind CSS dockerizing - MongoServerError: Authentication failed.

SvelteKit과 Tailwind CSS에 대한 도커 이미지는 정상적으로 만들어졌지만, 컨테이너에 올려서 DB와 연결시키려고 하니 다음과 같은 에러가 나타났다.app | Error fetching memo: MongoServerError: Authentication failed. app | at Connection.sendCommand (/app/node_modules/mongoose/node_modules/mongodb/lib/cmap/connection.js:297:27) mongo | {"t":{"$date":"2024-07-23T01:31:24.857+00:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn3","msg":"Connection ended..

[SQLAlchemy] 7. 데이터베이스 ORM 상태 관리

데이터베이스 ORM 상태 관리ORM에서 클래스는 데이터베이스 테이블을 나타내고, 클래스의 인스턴스는 데이터베이스의 행을 나타냄Instance 생성: 처음 instance 생성 후에는 transient 상태(아직 데이터베이스 session과 연결되어 있지 않은 상태)squidward = User(name="squidward", fullname="Squidward Tentacles")krabs = User(name="ehkrabs", fullname="Eugene H. Krabs")Session 추가: 추가 후 instance들은 pending 상태(데이터베이스에 삽입할 준비가 됨)session = Session(engine)session.add(squidward)session.add(krabs)Flushi..

728x90
반응형