도구
Git에 비밀키를 커밋했을 때 — 키 회전과 filter-repo 히스토리 정리
AWS 키, API 토큰, .env 파일을 커밋하고 push까지 한 사고의 대응 절차를 정리합니다. 1순위는 히스토리 정리가 아니라 키 무효화입니다. filter-repo로 히스토리를 다시 쓰는 절차와 예방 장치까지 다룹니다.
Git detached HEAD에서 빠져나오기 — 원인과 커밋 복구
You are in detached HEAD state 경고의 의미를 구조로 설명하고, 상황별 탈출 방법을 정리합니다. 이 상태에서 만든 커밋을 잃지 않고 브랜치로 보존하는 법까지 다룹니다.
Microsoft Graph 실무 입문 #7 운영: 스로틀링, 페이지네이션, delta 쿼리, 변경 알림
Graph 자동화를 운영 수준으로 끌어올립니다. 429와 Retry-After를 존중하는 재시도, 놓치면 데이터가 잘리는 페이지네이션(@odata.nextLink), 폴링을 대체하는 delta 쿼리(deltaLink 상태 관리), 변경 알림 구독(검증 핸드셰이크·갱신·lifecycleNotificationUrl), JSON 배칭까지 시리즈를 마무리합니다.
Microsoft Graph 실무 입문 #6 Teams 연동: 메시지 읽기와 알림 보내기의 세 가지 경로
Graph의 Teams 연동에서 가장 많이 부딪히는 벽을 정면으로 다룹니다. 팀·채널·메시지 읽기, 그리고 "서버가 채널에 알림을 보내는" 시나리오에서 application 권한이 막혀 있는 이유(마이그레이션 전용), 대안이 되는 세 가지 경로(delegated 자동화 계정, Workflows 수신 웹훅, 봇)의 선택 기준을 정리합니다.
지운 Git 커밋과 브랜치 살리기 — reflog 복구 절차
git reset --hard로 날린 커밋과 -D로 지운 브랜치를 reflog로 복구하는 절차를 정리합니다. reflog가 기록하는 것과 기록하지 않는 것, 복구가 불가능한 경우까지 구분합니다.
Git 실무 워크플로우 #7 모노레포와 Git — sparse-checkout·서브모듈·LFS
저장소가 커질 때 Git이 느려지는 이유를 짚고, partial clone, sparse-checkout, 서브모듈, Git LFS를 언제 꺼내 쓰는지 정리합니다. Git 실무 워크플로우 시리즈의 마지막 편입니다.
Microsoft Graph 실무 입문 #5 OneDrive와 SharePoint 파일 다루기: 업로드 세션과 공유
Graph로 파일을 자동화합니다. drive와 driveItem이라는 공통 모델, 개인 OneDrive와 SharePoint 사이트 드라이브에 접근하는 경로 차이, 다운로드와 250MB까지의 단순 업로드, 대용량 파일의 업로드 세션(320KiB 배수 청크·재개), 공유 링크 생성, Sites.Selected로 권한 좁히기까지 다룹니다.
Git 실무 워크플로우 #6 stash·cherry-pick·bisect — 일상 도구 셋
작업 중 급한 전환을 받아 주는 stash, 특정 커밋만 다른 브랜치에 옮기는 cherry-pick, 버그 유입 커밋을 이진 탐색으로 찾는 bisect까지. 필요한 순간에 없으면 곤란한 세 도구를 정리합니다.
Microsoft Graph 실무 입문 #4 메일과 캘린더 자동화: 읽기, 보내기, 일정 생성
Graph로 Outlook 메일과 캘린더를 자동화합니다. 수신함 조회와 필터링, 보고서 메일 발송(sendMail)과 대량 발송 시의 주의점, 첨부 파일 처리, 회의 일정 생성과 참석자 초대, 회의실 가용성 조회(getSchedule), 시간대 처리라는 단골 함정까지 실무 코드로 다룹니다.
Microsoft Graph 실무 입문 #3 Python SDK 첫 호출: 사용자와 조직 데이터 읽기
Python으로 Graph를 호출하는 골격을 만듭니다. msgraph-sdk와 azure-identity 설치, device code(delegated)와 client credentials(application) 양쪽 클라이언트 구현, async 패턴, OData 쿼리를 SDK로 표현하는 법, 사용자 목록·프로필 읽기, 인증 디버깅 요령까지 다룹니다.