[Python] 배열을 1000개 단위로 나누어 처리하는 방법
·
개발 (Development)/Python
대량의 데이터를 처리할 때, 전체를 한 번에 다루기보다는 일정 단위로 나누어 처리하는 방식이 안정성과 효율성 측면에서 매우 중요합니다. 특히 데이터베이스 저장, 외부 API 호출, 파일 저장 등에서 과부하를 방지하기 위해 자주 사용됩니다. 이번 글에서는 Python에서 배열을 1000개 단위로 잘라 반복 처리하는 실용적인 코드를 소개합니다.문제 상황예를 들어, 수만 건의 데이터를 다룰 때 이를 한 번에 처리하려 하면 다음과 같은 문제가 발생할 수 있습니다.데이터 크기가 너무 커서 메모리 부담이 큼API 요청 횟수 또는 처리 용량에 제한이 있음에러 발생 시 어느 구간에서 문제가 생겼는지 파악하기 어려움이런 상황에서 데이터를 1000개 단위로 나누어 처리하면 안정성, 추적 가능성, 오류 회피에 큰 도움이 됩..
[Python] Pandas DataFrame에서 값이 저장되지 않는 이유와 해결 방법
·
개발 (Development)/Python
Pandas를 사용하다 보면 DataFrame의 특정 값을 분명히 수정했음에도 불구하고, 실제로 반영되지 않거나 경고 메시지가 출력되는 경우가 있습니다. 본 글에서는 이런 문제가 왜 발생하는지, 어떻게 해결할 수 있는지에 대해 구체적으로 설명드리겠습니다.문제 상황: 분명히 값을 수정했는데 반영되지 않음다음과 같이 조건에 맞는 행을 추출한 후 값을 변경했지만, 원본에는 적용되지 않는 경우가 종종 있습니다.df = original_df[original_df['score'] > 60]df['grade'] = 'Pass'위 코드는 실행 시 SettingWithCopyWarning이라는 경고를 출력하며, 때때로 실제 데이터는 수정되지 않은 채 남아 있게 됩니다. 이 경고는 많은 사용자들이 처음 Pandas를 사용..
[Java/Spring Boot] AWS 환경에서 DB 직접 접근이 어려운 경우: Java 애플리케이션에서 SQL 파일을 실행하여 데이터 삽입하기
·
개발 (Development)/Java
회사 프로젝트 중 AWS에 배포된 서비스 환경에서는 보안상의 이유로 데이터베이스에 직접 접근할 수 없었습니다. 운영 서버에서 PostgreSQL DB를 직접 수정하거나 삽입 쿼리를 실행하는 것이 제한되었고, SSH나 DB 툴 접속도 허용되지 않았습니다.이러한 제약을 해결하기 위해, Java 애플리케이션 내부에 SQL 파일을 포함시키고 애플리케이션 실행 시 이를 실행하도록 구성하는 방식을 선택했습니다. 과정 중 삽입 대상 데이터에 문자열로 포함된 세미콜론(;) 때문에 실행 오류가 발생하는 중요한 시행착오도 있었기에, 그 내용을 중심으로 아래와 같이 단계별로 정리합니다.1. Python으로 CSV 파일을 읽어 INSERT SQL 생성우선 삽입할 데이터는 CSV 형태로 정리되어 있었습니다. 이를 기반으로 Py..
[Python] Pandas DataFrame에서 for문을 이용해 특정 컬럼 값 변경하기
·
개발 (Development)/Python
pandas를 사용하다 보면 DataFrame의 각 행을 순회하면서 특정 컬럼의 값을 조건에 따라 변경해야 할 때가 있습니다. 가장 직관적인 방법은 for문을 사용하는 것이며, 본 글에서는 그 기본 사용법을 소개합니다.1. 예시 데이터프레임 생성우선 간단한 예시 데이터프레임을 생성합니다.import pandas as pddf = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie'], 'score': [85, 90, 78]})2. for문으로 특정 컬럼 값 변경이제 for문을 통해 score 컬럼이 80보다 작은 경우, 해당 값을 80으로 변경해보겠습니다.for idx, row in df.iterrows(): if row['score'] 이 코드는 각 ..
[Java] Java jar 파일에서 리소스 파일 경로 사용하는 법
·
개발 (Development)/Java
Java 프로젝트를 jar 파일로 패키징한 뒤 실행할 경우, 개발 중에는 문제없던 리소스 파일 경로에서 오류가 발생하는 경우가 많습니다. 특히 설정 파일, 쿼리 템플릿 등 리소스 파일을 다룰 때 자주 마주치는 문제입니다. 그 원인과 해결 방법을 단계적으로 정리해보았습니다.1. 개발 중엔 되는데, 배포 후 오류?개발 환경에서는 다음과 같은 코드로 파일을 불러와도 문제가 없습니다.File file = new File("src/main/resources/config/config.json");하지만 jar 파일로 패키징한 후 실행하면 FileNotFoundException이 발생합니다. 이는 jar 내부에 있는 리소스는 실제 파일이 아니라 classpath 내에 존재하기 때문입니다.2. jar 내부 리소스는 C..