본문 바로가기

오늘도 하나씩, 쉽게 풀어봅니다.

작은 시행착오도,
다음에 꺼내 볼 수 있는 기록으로.

전체 글 121

엑셀 값 붙여넣기: 수식 결과만 고정하고 수식 입력줄로 확인하기

엑셀 표에서 76이 보이더라도, 셀에 저장된 내용은 숫자 76일 수도 있고 그 결과를 만드는 수식일 수도 있습니다. 보고서에 지금의 결과만 옮기려면 값 붙여넣기를 사용하고, 마지막에는 수식 입력줄에서 수식이 남았는지 확인하세요.이 글은 Windows 데스크톱 Excel의 셀 복사를 기준으로 합니다. 아래 실제 화면은 2018년에 작성한 네이버 글의 기록입니다. 설명용 단가·수량 예제는 화면 속 성적표와 별개의 예시이며, 새로 촬영한 실행 결과로 제시하지 않습니다. 웹·Mac의 메뉴와 키 조합은 다를 수 있습니다.1. 먼저 셀의 숫자와 수식 입력줄을 비교하세요아래 원문 화면에서 선택한 셀에는 76이 보이지만, 위쪽 수식 입력줄에는 =RANDBETWEEN(60,100)이 있습니다. 화면에 보이는 결과와 셀에..

PowerShell Join-Path 사용법: 경로 조합과 실제 파일 생성을 구분하세요

폴더와 파일 이름을 이어 붙일 때는 Join-Path로 경로를 만든 뒤, 파일의 존재 여부는 별도로 확인하세요. 경로 문자열이 나왔다고 파일이 만들어진 것은 아닙니다. 공백·대괄호가 들어간 이름도 문자열 결합과 실제 파일 접근을 나눠 보면 혼동이 줄어듭니다.Windows PowerShell 5.1 및 PowerShell 7.6.5에서 직접 실행한 작은 데모입니다. 기존 파일 대신 TEMP 아래 새 폴더에 파일 하나만 만듭니다. 여러 자식 인수를 한꺼번에 넘기는 최신 버전 문법은 사용하지 않고 Join-Path를 두 번 호출합니다. 도해는 명령 결과를 설명하는 자료이며 실제 콘솔 화면이 아닙니다.1. 시작 메뉴에서 PowerShell을 열고 같은 창에서 실행시작 메뉴에서 Windows PowerShell을..

Python copy 후 원본도 바뀔 때: 중첩 리스트의 얕은 복사와 deepcopy

딕셔너리를 copy()로 복사했는데 원본의 리스트까지 바뀌었다면, 바깥 딕셔너리와 안쪽 리스트를 따로 확인해야 합니다. 얕은 복사는 바깥 그릇을 새로 만들지만 내부 객체를 공유할 수 있습니다. name처럼 값을 새로 대입하는 동작과 scores.append()처럼 공유 리스트 자체를 바꾸는 동작은 결과가 다릅니다.Python 3.14.0에서 아래 예제를 직접 실행했습니다. 파일·네트워크를 건드리지 않는 메모리 실습입니다. 그림은 이 실행 결과의 참조 관계를 설명하는 도해이며 실제 개발 도구 화면이 아닙니다.1. 실행 위치와 준비: 한 파일에서 위부터 실행Python이 설치된 Windows에서 시작 메뉴의 PowerShell을 열고 py --version을 확인합니다. 메모장에 아래 전체 코드를 붙여 넣어..

Python split 공백 처리: split()과 split(" ")의 빈 문자열·탭 차이

단어 사이에 공백이 여러 개 있을 때 split()과 split(" ")는 같은 결과를 만들지 않습니다. 전자는 연속된 공백류를 묶어 나누고, 후자는 공백 문자 한 개를 정확한 구분자로 사용해 빈 항목을 남길 수 있습니다. 탭도 두 방식에서 다르게 처리됩니다.아래는 Python 3.14.0에서 직접 실행한 문자열 예제입니다. 파일·프로그램 설정을 바꾸지 않습니다. 그림은 실행 결과의 빈 문자열과 탭 위치를 설명하는 도해이며 실제 편집기 화면이 아닙니다.1. 보이지 않는 공백부터 repr로 확인Python 대화형 입력 위치 >>>가 보이는 창에서 실행합니다. PowerShell의 PS 프롬프트에 넣지 않고, >>> 기호도 복사하지 않습니다. 아래 문자열은 앞 공백 두 개, red와 blue 사이 두 개, ..

Git stash 뒤 새 파일이 남을 때: -u로 함께 보관하고 복원 확인하기

git stash를 했는데 새로 만든 draft.txt가 그대로 남았다면, 그 파일이 아직 추적되지 않는지 확인하세요. 기본 stash에 포함되지 않은 새 파일도 함께 임시 보관하려면 git stash push -u를 사용할 수 있습니다. 다만 보관 뒤 파일이 작업 폴더에서 사라지는 동작까지 이해하고 실행해야 합니다.Windows의 Git 2.52.0.windows.1에서 새 임시 저장소 두 개로 기본 push와 -u를 각각 실행해 결과를 확인했습니다. 기존 프로젝트의 stash를 지우거나 원격으로 보내는 실습이 아닙니다. 도해는 직접 실행한 파일 상태를 풀어 그린 설명 자료입니다.1. 기존 수정 파일과 새 파일을 따로 준비PowerShell에서 git --version이 실행되는지 확인합니다. 아래 코..

Python deque maxlen: append는 버리고 insert는 오류가 나는 이유

collections.deque에 maxlen을 주면 정해진 개수를 넘겨 append할 때 반대쪽 항목이 빠집니다. 같은 용량 제한이라도 insert는 자동으로 하나를 버리는 대신 IndexError가 날 수 있습니다. 최근 기록 보관과 반드시 보존해야 하는 작업 대기열을 구분하세요.Windows CPython 3.14.0에서 아래 코드를 한 파일로 실제 실행했습니다. 표준 라이브러리만 사용합니다. 새 연습 폴더에 코드를 저장하고 PowerShell에서 해당 폴더로 이동한 뒤 python --version과 python 파일이름.py를 실행하세요. >>>가 보이면 Python 대화형 창이므로 quit()로 나온 뒤 터미널에서 실행합니다. 그림은 실행 결과를 설명하는 직접 제작 도해이며 실제 프로그램 화면..

Python groupby: 같은 값이 여러 그룹으로 나뉘는 이유

itertools.groupby는 같은 값 전부를 모으는 함수가 아니라, 같은 키가 연속하는 구간을 나눕니다. A가 뒤에서 다시 나오면 새 A그룹이 생깁니다. SQL GROUP BY처럼 순서와 무관하게 합산할 것인지, 연속 상태의 구간을 셀 것인지 먼저 구분하세요.Windows CPython 3.14.0에서 아래 코드를 한 파일로 실제 실행했습니다. 표준 라이브러리만 사용합니다. 새 연습 폴더에 코드를 저장하고 PowerShell에서 해당 폴더로 이동한 뒤 python --version과 python 파일이름.py를 실행하세요. >>>가 보이면 Python 대화형 창이므로 quit()로 나온 뒤 터미널에서 실행합니다. 그림은 실행 결과를 설명하는 직접 제작 도해이며 실제 프로그램 화면 캡처가 아닙니다.예..

Python lstrip이 글자까지 지울 때: removeprefix로 접두사만 제거하기

문자열 앞의 pre_만 떼고 싶은데 lstrip("pre_")가 report의 일부까지 지웠다면, removeprefix("pre_")를 확인하세요. lstrip의 인자는 통째로 지울 접두사가 아니라, 왼쪽에서 연속으로 제거할 문자들의 모음입니다.Python 3.14.0에서 아래 결과를 직접 확인했습니다. removeprefix는 Python 3.9 이상에서 사용할 수 있습니다. 문자열 이름만 다루는 실습이므로 실제 파일 이름이나 디스크 내용은 바뀌지 않습니다. 도해는 실제 실행 결과를 해설한 그림입니다.1. 같은 입력에 세 가지 방법을 비교Python 대화형 창의 >>> 위치에 입력합니다. PowerShell의 PS 위치에서 실행하는 코드가 아닙니다. >>> 표시는 입력하지 않고 아래 준비 줄부터 같은..

Git add 취소하기: 파일 내용은 남기고 스테이징만 빼는 방법

git add를 취소하되 방금 고친 파일 내용은 남기려면 git restore --staged -- note.txt처럼 스테이징 영역만 되돌립니다. 옵션 없이 git restore note.txt를 실행하는 것은 작업 파일을 바꾸는 다른 작업입니다. 두 명령을 바꿔 쓰지 마세요.아래는 Windows PowerShell과 Git 2.52.0.windows.1에서, 새 임시 저장소의 한 파일로 재현한 예제입니다. 기존 프로젝트 대신 연습 폴더에서 먼저 확인합니다. 그림은 실행 로그를 설명하는 도해이며 실제 프로그램 화면이 아닙니다.1. 어디서 실행하는지와 보존할 파일부터 확인PowerShell을 열고 git --version으로 설치를 확인합니다. Git 2.23부터 restore가 제공됩니다. 프로젝트에서..

Python dict.get 기본값이 적용되지 않을 때: 키 없음·None·0을 나누어 보세요

딕셔너리에서 config.get('timeout', 30)을 썼는데 None이 나올 수 있습니다. get의 기본값은 키가 없을 때 사용하기 때문입니다. 키가 있고 그 값이 None이라면 저장된 None을 그대로 반환합니다. 0과 False도 키가 존재하면 유지됩니다.이 차이는 재시도 횟수 0, 기능 끄기 False처럼 ‘비어 보이지만 유효한 값’을 다룰 때 중요합니다. Windows Python 3.14.0에서 아래 딕셔너리 예제를 직접 실행했습니다. 파일이나 실제 서비스 설정은 변경하지 않습니다.그림은 위에서부터 delay 키 없음, timeout 값 None, retries 값 0을 비교합니다. 그림에서는 세 행 모두 기본값 30을 사용했습니다. 아래 실행 예제에서는 retries와 delay의 기본..

728x90
반응형
SMALL
728x90
반응형
LIST