프로세스 풀, 스레드 풀, 코루틴 및 MySQL 데이터베이스 핵심

프로세스 풀과 스레드 풀 과도한 프로세스/스레드 생성은 CPU 성능 저하를 유발합니다. 이를 방지하기 위해 고정된 수의 실행 단위를 미리 생성하는 프로세스 풀/스레드 풀을 사용합니다. 초과 작업은 선행 작업 완료 시까지 대기합니다. from concurrent.futures import ProcessPoolExecutor executor = ProcessPoolExecutor(max_workers=4) task_future = executor.subm ...

6월 12일 19:15에 게시됨

MS Access를 활용한 게임 데이터 시각화 탐색

외부 데이터셋을 활용하여 Microsoft Access에서 게임 정보를 시각적으로 조회하고 분석하는 방법을 설명한다. 본 예제에서 사용된 데이터는 실습 목적이며, 실제 최신 정보와는 다를 수 있다. 데이터 수집 및 전처리 원본 데이터 확보 공개 데이터 플랫폼에서 게임 관련 데이터셋을 검색하여 다운로드한다. 로그인 후 필요한 데이터를 선별한다. 데이터 정제 과정 다운 ...

6월 12일 00:01에 게시됨

JPA EntityManager로 네이티브 SQL 조회 결과 엔티티에 매핑하기

JPA(Java Persistence API)의 EntityManager를 사용하여 데이터베이스에 네이티브 SQL 쿼리를 실행하고, 그 결과를 자바 엔티티 객체로 매핑하는 방법을 다룹니다. 특히, 이 문서는 Oracle 데이터베이스 환경을 기준으로 합니다. 네이티브 SQL 조회 결과를 엔티티 객체로 변환하는 핵심은 Query query = entityManager.createNativeQuery(sql, YourEntity.class); 메서 ...

6월 11일 02:26에 게시됨

SQL 핵심 문법 완벽 가이드

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하기 위해 설계된 표준 언어입니다. ANSI SQL이 표준이지만, 각 DBMS(예: MySQL, PostgreSQL, Oracle)는 고유한 확장 기능(PL/SQL, T-SQL 등)을 제공합니다. 이 문서에서는 데이터 정의, 조작, 쿼리 및 제어에 필요한 핵심 SQL 문법을 예제와 함께 설명합니다. 1. 데이터베이 ...

6월 10일 21:49에 게시됨

스토어드 프로시저 이해하기

스토어드 프로시저에 대해 알아보고자 합니다. 이를 위해 아래와 같은 주제들을 다룰 것입니다. 스토어드 프로시저는 어떤 문제를 해결하는가? 스토어드 프로시저의 장단점은 무엇인가? 스토어드 프로시저의 사용 사례는? 스토어드 프로시저는 어떻게 구성되어 있는가? 스토어드 프로시저의 내부 동작 원리는? 해결하고자 하는 문제 다음과 같은 상황을 가정 ...

6월 10일 20:13에 게시됨

데이터베이스 기본 키와 외래 키의 활용 차이점

기본 키와 외래 키의 정의기본 키(Primary Key)는 테이블에서 각 레코드를 고유하게 식별하는 후보 키입니다. 한 테이블에는 하나의 기본 키만 존재할 수 있습니다. 예를 들어, 사용자 정보를 저장하는 테이블에서 사용자 고유 번호(userNumber)는 해당 사용자를 유일하게 구분할 수 있는 식별자가 되므로 기본 키로 적합합니다.기본 키는 단일 필드로 구성되거나 여러 필 ...

6월 10일 00:12에 게시됨

소프트웨어 개발에서 사용되는 용어 정리

소프트웨어 개발 과정에서 자주 사용되는 다양한 용어와 개념을 정리합니다. 이 문서는 주로 프로그래밍, 데이터베이스 관리, 보안 및 네트워킹 등과 관련된 내용을 포함합니다. 버전 관리 Git Stash: 작업 중인 변경 사항을 임시 저장소에 보관하는 명령어입니다. // 예제: Git stash 활용 git stash push -m "작업 중간 저장" git stash pop // 저장된 변 ...

6월 8일 17:45에 게시됨

MyBatis 분할 및 결과 병합 문제 해결

SQL 분할 쿼리 변환 지원 문제 문제는 페이지네이션 변경 과정에서 발생했습니다. 원래의 메서드에서 전체 결과를 가져온 후 수동으로 페이지네이션을 적용하던 로직을 startPage를 사용하여 데이터베이스에서 직접 페이지네이션된 결과를 가져오는 방식으로 수정했습니다. 아래는 간략한 코드 예시입니다: public void foo(Entity entity){ startPage(); var list ...

6월 7일 21:34에 게시됨

MySQL 윈도우 함수 완벽 가이드: 문법부터 프레임 설정까지

윈도우 함수 개요 및 특징 MySQL 8.0 버전 이상에서 공식적으로 지원되는 윈도우(Window) 함수는 복잡한 데이터 통계 및 분석을 수행할 때 매우 유용한 도구입니다. 기존 그룹화 연산과 달리 테이블의 구조를 변경하거나 별도의 자바쿼리를 작성하지 않고도 행 단위로 데이터를 가공할 수 있습니다. 이 함수들의 핵심 특징은 '그룹화하여 집계하되, 결과 행이 줄어드는 것 ...

6월 5일 21:59에 게시됨

Python을 사용하여 SQL에서 주석 제거하기

데이터베이스 프로젝트에서 SQL 스크립트를 처리할 때, 종종 주석으로 인해 문제가 발생할 수 있습니다. 특히 JDBC와 같은 도구를 통해 실행되는 경우, 특수 문자가 포함된 주석은 예기치 않은 오류를 유발할 수 있습니다. 이 글에서는 Python을 활용하여 SQL 코드에서 주석을 제거하는 방법을 살펴보겠습니다. 주석 제거의 필요성 SQL에서 주석은 일반적으로 데이터베이 ...

5월 31일 05:26에 게시됨