문제를 풀고,
기록을 남깁니다.

SAP 현장에서 ABAP을 치고, 그 일을 에이전트에 넘겨 보는 개발자의 기록입니다. 미술·여행·경제·책은 옆방에 있습니다.

오늘의 편성표

TODAY'S LINE-UP · 11.03 TUE

  1. 11시SAP BOX11:00 편성아직
  2. 13시ART BOX13:00 편성아직
  3. 17시BOOK BOX17:00 편성아직

오늘 쉬는 상자: ECONOMY · DEV (월·수·금·일에 엽니다)

2026.11.03 한국 시간 기준

최근 글

'26/11/02 UPDATE

localhost의 포트가 다르면 쿠키도 따로 저장될까

localhost:4371과 localhost:4372에 쿠키 이름이 같은 앱 두 개를 띄우면 한쪽 로그인이 다른 쪽 쿠키를 덮어쓰고, 한쪽에서 로그아웃하면 다른 쪽도 풀립니다. 쿠키는 호스트 이름 단위로 저장되고 포트를 보지 않기 때문입니다. Node.js 서버 두 개를 Chromium 152 기반 브라우저로 열어 남긴 서버 로그로 이를 확인하고, SameSite=Strict와 __Host-로도 나뉘지 않는 이유, 쿠키 이름과 호스트 이름 가운데 무엇으로 나눌지를 정리합니다.

Web / Cookies · 9분

'26/11/02 UPDATE

환경변수를 바꾸고 다시 시작했는데, Next.js 화면에는 왜 예전 주소가 나올까

NEXT_PUBLIC_API_BASE를 바꾸고 next start를 다시 했는데 화면은 예전 API 주소를 부릅니다. Next.js 16.4.3에서 A 값으로 빌드하고 B 값으로 시작해 보니, NEXT_PUBLIC_ 변수와 미리 만든 페이지는 빌드 때 값에 머물고 NEXT_PUBLIC_가 없는 서버 변수만 요청 때 값을 읽었습니다. 어떤 값이 빌드 때 굳는지 가려내는 법과 고치는 세 가지 길을 실제 실행 결과로 정리합니다.

Web / Next.js · 10분

'26/11/02 UPDATE

9월 취업자는 1년 전보다 11만 3천 명 늘었는데 고용률은 왜 0.2%p 내렸을까

2026년 9월 취업자는 1년 전보다 11만 3천 명 늘었지만 고용률은 63.7%에서 63.5%로 내렸습니다. 15~64세와 65세 이상 고용률은 모두 올랐는데 왜 전체만 내렸는지, 공표된 인원 수로 직접 계산하고 연령 구성 효과를 나눠 봅니다.

Employment statistics · 9분

'26/11/01 UPDATE

파일 이름의 대소문자만 바꾸면 git은 어느 이름을 기억할까

Mac에서 button.js를 Button.js로 바꾸면 git status는 조용하고 커밋할 것도 없다고 합니다. 대소문자를 가리지 않는 APFS에서 git은 core.ignoreCase에 따라 인덱스에 적힌 옛 이름을 계속 쓰기 때문입니다. git 2.54.0에서 실제로 실행한 결과로, 어느 이름이 남아 있는지 확인하고 git mv로 커밋에 넣는 방법을 봅니다. core.ignorecase를 false로 바꾸면 git mv는 멈추고, mv 뒤에 add한 커밋에는 이름이 둘 생깁니다.

Git / CLI · 11분

WHAT'S NEW

새로 도착

THE LIBRARY

쌓아가는 기록175

175개 글 중 12개 표시
ECONOMY BOXEmployment statistics

9월 취업자는 1년 전보다 11만 3천 명 늘었는데 고용률은 왜 0.2%p 내렸을까

2026년 9월 취업자는 1년 전보다 11만 3천 명 늘었지만 고용률은 63.7%에서 63.5%로 내렸습니다. 15~64세와 65세 이상 고용률은 모두 올랐는데 왜 전체만 내렸는지, 공표된 인원 수로 직접 계산하고 연령 구성 효과를 나눠 봅니다.

Employment rateUnemployment rateLabour force
9분 읽기 · KO / EN
DEV BOXWeb / Cookies

localhost의 포트가 다르면 쿠키도 따로 저장될까

localhost:4371과 localhost:4372에 쿠키 이름이 같은 앱 두 개를 띄우면 한쪽 로그인이 다른 쪽 쿠키를 덮어쓰고, 한쪽에서 로그아웃하면 다른 쪽도 풀립니다. 쿠키는 호스트 이름 단위로 저장되고 포트를 보지 않기 때문입니다. Node.js 서버 두 개를 Chromium 152 기반 브라우저로 열어 남긴 서버 로그로 이를 확인하고, SameSite=Strict와 __Host-로도 나뉘지 않는 이유, 쿠키 이름과 호스트 이름 가운데 무엇으로 나눌지를 정리합니다.

CookieslocalhostSet-Cookie
9분 읽기 · KO / EN
DEV BOXWeb / Next.js

환경변수를 바꾸고 다시 시작했는데, Next.js 화면에는 왜 예전 주소가 나올까

NEXT_PUBLIC_API_BASE를 바꾸고 next start를 다시 했는데 화면은 예전 API 주소를 부릅니다. Next.js 16.4.3에서 A 값으로 빌드하고 B 값으로 시작해 보니, NEXT_PUBLIC_ 변수와 미리 만든 페이지는 빌드 때 값에 머물고 NEXT_PUBLIC_가 없는 서버 변수만 요청 때 값을 읽었습니다. 어떤 값이 빌드 때 굳는지 가려내는 법과 고치는 세 가지 길을 실제 실행 결과로 정리합니다.

Next.jsenvironment variablesNEXT_PUBLIC_
10분 읽기 · KO / EN
DINO BOXEvents

2026년 11월, 아이와 공룡 보러 어디 갈까?

2026년 10월 25일 공식 페이지로 확인한 11월 공룡 전시와 행사를 지역별로 정리했습니다. 상설 전시 여덟 곳, 11월 1일에 끝나는 고성 엑스포, 서대문 공룡 투어의 운영 시간·휴관일·관람료·예약과 11월에 닫힌 곳을 한 번에 봅니다.

DinosaursDinosaur exhibitionsMuseums
9분 읽기 · KO / EN
DEV BOXGit / CLI

파일 이름의 대소문자만 바꾸면 git은 어느 이름을 기억할까

Mac에서 button.js를 Button.js로 바꾸면 git status는 조용하고 커밋할 것도 없다고 합니다. 대소문자를 가리지 않는 APFS에서 git은 core.ignoreCase에 따라 인덱스에 적힌 옛 이름을 계속 쓰기 때문입니다. git 2.54.0에서 실제로 실행한 결과로, 어느 이름이 남아 있는지 확인하고 git mv로 커밋에 넣는 방법을 봅니다. core.ignorecase를 false로 바꾸면 git mv는 멈추고, mv 뒤에 add한 커밋에는 이름이 둘 생깁니다.

gitgit mvcore.ignoreCase
11분 읽기 · KO / EN
DINO BOXFossil sites

한국의 공룡 화석, 어디서 무엇이 나왔을까?

발자국은 경남 고성·여수·해남, 알은 화성·보성, 이름이 붙은 공룡의 뼈는 화성·보성 등에서 나왔습니다. 국가유산청 기록과 논문, 박물관 안내를 2026년 10월 22일에 확인해 화석산지별로 정리하고, 2026년 가을 현재 닫혀 있는 시설과 출발 전에 확인할 점도 함께 봅니다.

DinosaursFossil sitesNatural Monuments
9분 읽기 · KO / EN
DINO BOXDinosaurs

티라노사우루스의 짧은 앞발은 어디에 썼을까?

티라노사우루스의 앞발은 실제로 얼마나 짧았고 무엇에 썼을까요? 한 골격 모형에서 잰 뼈 길이, 손가락 두 개, 다친 앞발뼈처럼 화석이 보여 주는 것과, 일어설 때 받침부터 무리 식사 가설까지 연구자들의 추론을 나눠 정리합니다.

DinosaursTyrannosaurus rexForelimbs
9분 읽기 · KO / EN
SAP BOXFI

S/4HANA에서 BSIS를 읽는 코드는 그대로인데 쓰는 코드는 왜 고쳐야 할까

유니버설 저널과 함께 BSIS 같은 합계·인덱스 테이블은 같은 이름의 호환 뷰가 되었고, COEP 같은 테이블은 다른 이름의 뷰로 읽기가 돌려집니다. 호환 뷰가 SELECT는 받아 주지만 INSERT·UPDATE·DELETE·MODIFY는 커스텀 코드에서 고쳐야 하는 까닭을 Simplification List 2023 기준으로 봅니다.

SAPCustom CodeS/4HANA
8분 읽기 · KO / EN
SAP BOXABAP

SCMON에 기록이 없는 Z 프로그램은 정말 안 쓰는 걸까

SCMON은 어떤 ABAP 코드가 어떤 맥락에서 불렸는지 남기고, 짧은 기간 뒤 지워지는 그 데이터를 SUSG가 묶어 둡니다. 연말에만 도는 프로그램이 짧은 기록에서 왜 안 쓰는 것처럼 보이는지, 기록에서 삭제까지 SAP가 권하는 순서를 가상 예로 봅니다.

SAPCustom CodeSCMON
8분 읽기 · KO / EN
SAP BOXABAP

Code Inspector·ATC 경고, 코드에서 숨기는 것과 면제받는 것은 무엇이 다를까

Code Inspector는 검사할 대상과 검사 변형을 묶고, ATC는 개발 중·전송 릴리스·중앙 점검의 세 관문에서 검사를 돌릴 수 있고 실행마다 전역 Code Inspector 검사 변형을 씁니다. 경고를 소스 안에서 숨기는 프라그마·의사 주석과 품질 관리자의 승인을 거치는 면제가 무엇을 어디서 누가 덮는지 나란히 봅니다.

SAPCustom CodeABAP
9분 읽기 · KO / EN
SAP BOXABAP

Z 프로그램이 쓰는 SAP 표준 객체는 릴리스된 API일까

릴리스된 API는 릴리스 계약과 공개 범위라는 두 분류가 함께 붙은 객체입니다. 표준 객체의 릴리스 상태를 ADT의 API State 탭과 SAP가 공개한 Cloudification Repository에서 확인하는 방법, 릴리스되지 않은 객체에 기대는 Z 코드가 업그레이드 때 왜 부담이 되는지를 T005와 I_COUNTRY 예로 봅니다.

SAPCustom CodeABAP
9분 읽기 · KO / EN
SAP BOXABAP

업그레이드 때 SPDD·SPAU는 무엇을 다시 맞추는 걸까?

업데이트는 SAP 오브젝트를 새로 보낸 것으로 덮어쓰고, 고객이 고친 내용도 함께 덮습니다. SPDD와 SPAU가 무엇을 새 표준과 맞추는지, 왜 SPDD가 먼저인지, 수정 도우미로 고친 것과 아닌 것이 조정 때 어떻게 달라지는지 가상 예로 봅니다.

SAPCustom CodeSPDD
9분 읽기 · KO / EN
12 / 175개