[Python] 폴더 내 CSV 형식 로그 파일 시각화하기
·
개발 (Development)/Python
시간에 따라 주기적으로 수집된 로그 데이터를 시각화해야 하는 경우가 종종 있습니다. 본 글에서는 여러 날짜 폴더에 저장된 CSV 형식의 로그 파일을 Python으로 읽어 들여, 특정 시간 기준 컬럼을 활용해 관심 있는 데이터를 시간 순으로 시각화하는 방법을 소개드립니다.문제 상황파일은 .csv 또는 유사한 포맷이며, 쉼표로 구분된 텍스트 형식으로 저장됨상위 폴더 아래 YYYYMMDD 형태의 날짜별 폴더가 존재하고, 각 폴더 내에는 5분 간격으로 생성된 로그 파일이 저장됨각 파일의 첫 줄은 컬럼명이 포함되어 있고, 그 아래에는 여러 줄의 데이터가 있음시간 기준은 예를 들어 Timestamp_UTC 같은 컬럼에 저장되어 있으며, 이 값은 UTC(협정 세계시) 기준시각화 대상이 되는 데이터는 예를 들어 Sen..
[Python] requests 요청 후 기다리는 로직과 타임아웃 설정
·
개발 (Development)/Python
Python에서 API 요청을 보낼 때 가장 많이 사용하는 라이브러리 중 하나가 requests입니다. 이 라이브러리를 사용할 때 요청 후 응답을 얼마나 기다리는지에 대한 로직을 이해하고, 타임아웃 설정을 적절히 사용하는 것이 중요합니다.이번 글에서는 requests 라이브러리의 응답 대기 방식과 타임아웃 기본값, 그리고 안정적인 요청 처리를 위한 팁을 정리해보겠습니다.요청을 보낸 후 어떻게 동작할까?requests 라이브러리는 기본적으로 동기(synchronous) 방식으로 작동합니다. 즉, 요청을 보내면 응답이 올 때까지 프로그램 실행을 멈추고 기다립니다.예를 들어 다음과 같은 코드는:import requestsresponse = requests.get("https://example.com")prin..
[Python] 문자열 2줄 이상인지 확인하는 방법
·
개발 (Development)/Python
Python에서 문자열이 2줄 이상인지 확인하려면 문자열 안에 줄바꿈 문자 \n이 한 개 이상 포함되어 있는지 확인하면 됩니다. 아래는 그 방법입니다.방법 1: str.count('\n') 사용def is_multiline(s): return s.count('\n') >= 1\n이 한 번 이상 있으면 최소 두 줄 이상이라는 뜻입니다.방법 2: str.splitlines()로 줄 수 확인def is_multiline(s): return len(s.splitlines()) >= 2줄 수를 계산해서 2줄 이상이면 True를 반환합니다.사용 예시s1 = "한 줄입니다"s2 = "첫 번째 줄\n두 번째 줄"print(is_multiline(s1)) # Falseprint(is_multiline(s2)..
[Java] PostgreSQL의 timestamptz를 Java MyBatis에서 Instant로 받는 방법
·
개발 (Development)/Java
PostgreSQL에서 timestamptz는 시간대(time zone) 정보를 포함한 타임스탬프를 의미합니다. 이를 Java에서 MyBatis를 통해 받아올 때, 어떤 자료형을 사용해야 할지 고민이 생길 수 있습니다.이번 글에서는 Instant로 매핑하는 방법을 중심으로 정리하였습니다.1. timestamptz란?timestamp with time zone의 약자로, UTC 기준으로 저장되며 클라이언트의 타임존에 맞춰 자동으로 변환되는 타입입니다.예를 들어 다음과 같이 저장된 값이 있다면:2025-07-28 15:00:00+00한국 시간대(KST)에서는 2025-07-28 24:00:00으로 변환되어 표시됩니다.2. Java에서 매핑 가능한 자료형PostgreSQL의 timestamptz는 Java에서..
[Python] 딕셔너리에서 정규표현식으로 특정 형식의 키 추출하기
·
개발 (Development)/Python
Python의 딕셔너리는 키-값 쌍으로 데이터를 관리하는 데 매우 효율적인 자료구조입니다. 그런데 딕셔너리의 키가 일정한 규칙을 따를 때, 정규표현식을 활용하면 특정 조건에 맞는 키만 간편하게 추출할 수 있습니다.이 글에서는 "PREFIX_원하는값_숫자_SUFFIX"와 같은 형태의 키를 기준으로 특정 값만 필터링하거나 추출하는 방법을 소개합니다.1. 문제 예시아래와 같이 키가 특정 형식을 따르는 딕셔너리가 있다고 가정하겠습니다.my_dict = { "KEY_ABC_01_TYPE": "value1", "KEY_DEF_02_TYPE": "value2", "KEY_GHI_03_TYPE": "value3", "OTHER_DATA": "value4"}여기서 "KEY_DEF_02_TYPE"처럼..