본문 바로가기
반응형

전체 글368

Python pathlib의 resolve와 absolute는 무엇이 다를까? Python에서 상대 경로를 절대 경로로 바꾸려고 Path.absolute()와 Path.resolve()를 번갈아 쓰면 결과가 같아 보일 때가 많다. 하지만 두 메서드의 기준은 다르다. absolute()는 경로를 절대 형태로 만들고, resolve()는 심볼릭 링크와 상위 경로까지 실제 파일시스템 기준으로 해석한다.파일이 존재하는지 검사해야 하는지도 선택에 영향을 준다. resolve(strict=True)는 경로가 없으면 예외를 내지만 기본값인 strict=False는 확인할 수 있는 부분까지만 해석한 뒤 나머지를 붙인다.absolute는 절대 경로 형태만 만든다현재 작업 디렉터리를 기준으로 상대 경로를 절대 형태로 바꾸려면 absolute()를 사용할 수 있다.from pathlib import .. 2026. 9. 19.
SQL COUNT(*)와 COUNT(컬럼)은 NULL에서 왜 다를까? SQL에서 행 수를 셌는데 COUNT(*)와 COUNT(email)의 결과가 다르다면 NULL이 들어 있는 행부터 확인해야 한다. COUNT(*)는 조건을 통과한 행을 세고, COUNT(컬럼)은 그중 해당 표현식이 NULL이 아닌 행만 센다.이 차이는 단순 문법이 아니라 지표의 의미를 바꾼다. 전체 가입자 수를 구할 때 이메일 컬럼을 세면 이메일이 비어 있는 회원이 제외된다. 반대로 이메일을 등록한 회원 수가 목적이라면 COUNT(email)이 정확한 식이다.먼저 같은 데이터로 결과를 비교하기다음 회원 테이블에는 네 행이 있고, 이메일이 없는 회원이 두 명 있다.CREATE TABLE members ( id INTEGER PRIMARY KEY, team TEXT NOT NULL, emai.. 2026. 9. 19.
Python datetime에 시간대를 붙이면 시각도 바뀔까? Python의 datetime에 시간대를 붙일 때 시각까지 변환하려면 astimezone()을 사용해야 한다. replace(tzinfo=...)는 벽시계 숫자를 그대로 둔 채 시간대 정보만 붙이므로, 이미 어떤 순간을 나타내는 datetime을 다른 지역 시각으로 바꾸는 용도로 사용하면 결과가 틀어진다.핵심은 먼저 값의 의미를 구분하는 것이다. 시간대가 없는 naive datetime이 서울 현지 시각을 뜻한다면 replace(tzinfo=ZoneInfo("Asia/Seoul"))로 의미를 붙일 수 있다. 이미 UTC를 나타내는 aware datetime을 서울 시각으로 표시하려면 astimezone(ZoneInfo("Asia/Seoul"))으로 변환한다.시간대 정보를 붙이는 경우다음 문자열은 외부 시.. 2026. 9. 18.
GitHub Actions matrix 한 작업 실패 뒤 나머지도 취소될 때 GitHub Actions의 matrix 작업 하나가 실패한 뒤 아직 실행 중이거나 대기 중인 작업까지 취소된다면 먼저 strategy.fail-fast 값을 확인해야 한다. 기본 동작은 빠른 실패이므로, 한 조합의 실패가 다른 조합의 결과를 확인하는 데 필요하지 않다면 그대로 두고 모든 조합의 결과가 필요할 때만 false로 바꾼다.fail-fast와 continue-on-error는 역할이 다르다. 전자는 matrix의 다른 작업을 취소할지 결정하고, 후자는 특정 작업의 실패를 워크플로 실패로 취급할지 결정한다. 둘을 같은 의미로 보고 한쪽만 바꾸면 예상과 다른 결과가 남는다.가장 먼저 볼 설정다음 워크플로는 Node.js 20·22·24 조합을 모두 실행한다. 한 버전에서 테스트가 실패해도 나머지 .. 2026. 9. 18.
Python argparse에서 False가 True로 읽히는 이유 명령행 옵션을 type=bool로 선언하면 문자열 "False"도 True로 변환된다. Python의 bool()은 글자의 뜻을 해석하는 함수가 아니라 값이 비어 있는지 등을 기준으로 참·거짓을 판단하기 때문이다. 켜고 끄는 옵션은 store_true나 BooleanOptionalAction으로 표현하고, --enabled false처럼 값을 받는 형식이 꼭 필요할 때만 변환 함수를 만든다.아래 Python 코드 블록은 각각 독립 실행 예제다. 외부 패키지는 필요 없으며, BooleanOptionalAction을 사용하는 예제는 Python 3.9 이상에서 실행한다. parse_args([...])에 명령행 인수를 직접 넣어 결과를 재현한다.type=bool이 실제로 하는 일첫 예제는 잘못된 선택이 어떤.. 2026. 9. 15.
빅분기 실기 연습 모음집: 1·2·3유형 문제와 CSV·노트북 빅데이터분석기사(빅분기) 실기 연습문제를 작업형 1·2·3유형별로 모았습니다. 데이터 처리 50문제, 예측 모델링 5문제, 통계 분석 8사례를 각각 CSV와 주피터 노트북으로 실습할 수 있습니다.이 블로그에서 다루는 자격증 내용은 모두의 문제집에서도 학습할 수 있습니다.모두의 문제집에서 학습하기 →연습할 유형의 링크를 열고 글 상단에서 실습 파일을 받으세요. 문제와 참고 풀이는 블로그에서 바로 확인할 수 있습니다. 파일 묶음은 유형별로 압축을 풀어 서로 다른 폴더에 보관하면 편합니다.작업형 1유형 · 데이터 처리 50문제조건에 맞는 행을 고르고, 정렬·집계·결측값 처리 등으로 요구한 값을 구하는 연습입니다. CSV 2개를 여러 문제에서 함께 사용하며, 같은 CSV를 쓰는 문제끼리 모아 두었습니다.제공 자.. 2026. 9. 15.
반응형