[Python] Dictionary Comprehension: 숫자 형태의 값만 필터링하는 방법
·
개발 (Development)/Python
파이썬에서 리스트 안에 있는 딕셔너리 데이터를 처리할 때, 특정 조건(예: 값의 타입)을 만족하는 요소만 새로운 딕셔너리에 담고 싶을 때가 있습니다. 특히, 문자열 형태로 저장된 값 중 실수나 정수 형태인 값만 선별해야 할 때 유용하게 사용할 수 있는 딕셔너리 컴프리헨션(Dictionary Comprehension) 기법을 소개합니다.문제 상황: 문자열 속 숫자만 골라내기원본 목표는 다음과 같은 리스트에서 param["value"]가 '20' 또는 '3.14'처럼 숫자 형태로 변환 가능한 경우에만 딕셔너리에 포함시키는 것입니다.원본 데이터 구조:parameters = [ {"id": 1, "value": "20"}, {"id": 2, "value": "abc"}, {"id": 3, "va..
[AWS/EKS] Boto3 사용, Access Key가 필요 없는 이유 (IRSA)
·
개발 (Development)/AWS
AWS EKS(Elastic Kubernetes Service) 환경에서 Python 기반 서비스가 S3, DynamoDB와 같은 AWS 리소스에 접근하기 위해 boto3.client를 사용할 경우, aws_access_key_id 및 aws_secret_access_key를 코드나 설정 파일에 명시적으로 설정할 필요가 있는지에 대해 많은 분들이 궁금해하십니다.결론적으로, AWS의 고급 보안 기능을 활용하시면 해당 자격 증명을 직접 설정할 필요가 없습니다.이는 AWS EKS가 제공하는 핵심 기능 중 하나인 IRSA(IAM Roles for Service Accounts) 덕분입니다.1. Access Key를 설정하지 않아도 되는 근본적인 이유일반적으로 AWS 환경 외부에서 boto3 라이브러리를 사용할 ..
[Java] 객체 리스트를 특정 속성으로 정렬하는 방법
·
개발 (Development)/Java
ArrayList에 저장된 사용자 정의 객체를 특정 속성 값으로 정렬해야 하는 상황은 개발에서 매우 자주 발생합니다. 예를 들어 Product라는 클래스가 있고, 그 안에 price라는 속성이 있다고 가정해 보겠습니다. 이번 글에서는 price뿐만 아니라 다양한 클래스 속성을 기준으로 오름차순과 내림차순 정렬을 수행하는 방법을 단계별로 설명합니다.1. 문제 정의다음과 같이 ArrayList에 상품 목록이 저장되어 있다고 합시다.이 리스트를 가격(price) 기준으로 정렬하는 것이 목표입니다.class Product { private double price; private String name; public Product(double price, String name) { th..
[Python] 데이터프레임에서 열 선택하기: `df.iloc[:, idxs]`의 의미
·
개발 (Development)/Python
이 코드는 df.iloc[:, idxs]의 간결한 표현입니다.이는 Pandas DataFrame에서 모든 행(row)을 선택하면서, 특정 열(column)을 정수 인덱스(순서)를 사용해 선택하는 방법입니다.: (콜론)은 '모든'을 의미하며, 첫 번째 위치에 있어 모든 행을 선택합니다.idxs는 선택하려는 열의 인덱스(순서)를 나타냅니다.예시아래와 같은 DataFrame df가 있다고 가정해 봅시다. A B C0 1 4 71 2 5 82 3 6 9첫 번째 열(A)만 가져오기:df.iloc[:, 0]결과:0 11 22 3Name: A, dtype: int64두 번째와 세 번째 열(B, C)만 가져오기:df.iloc[:, 1:3]결과: B C0 4 71 5 ..
[Python/PostgreSQL] 정규식을 활용해 SQL 쿼리 파라미터(컬럼명)를 자동으로 감싸기
·
개발 (Development)/Python
SQL 쿼리를 동적으로 생성할 때, 컬럼명이나 파라미터가 예약어(keyword) 와 충돌하거나 특수문자가 포함되어 오류가 발생하는 경우가 종종 있습니다. 이럴 때, 컬럼명을 쌍따옴표(" ") 로 감싸주는 것이 좋은 해결책이 될 수 있습니다.이번 글에서는 Python의 re (정규식) 모듈을 사용하여 쿼리 문자열에서 예약어가 아닌 단어(컬럼명)를 찾아 자동으로 쌍따옴표를 추가하는 방법을 알아보겠습니다.문제 상황"test_parameter > 0 and TEST_PARAMETER22 와 같은 쿼리 문자열이 있다고 가정해 봅시다. 이 쿼리를 파싱(parsing) 해서 test_parameter, TEST_PARAMETER22, value와 같은 컬럼명만 골라내고, 이들을 "test_parameter", "TE..