본문 바로가기
전체 1401
1389
AI3분 읽기
LLM temperature와 top_p — 출력이 매번 다를 때 조절법
같은 질문에 답이 들쭉날쭉하거나 너무 뻔하다면 샘플링 파라미터를 만질 때다. temperature와 top_p가 무엇을 조절하는지, 용도별 권장값까지.
#LLM#Temperature#Sampling
2026.07.10
1388
AI3분 읽기
LLM 컨텍스트 윈도우 — 길다고 다 좋은 게 아니다
컨텍스트 윈도우가 크면 다 넣으면 될까? "중간을 잊는" 현상과 비용·지연 때문에 무작정 채우면 오히려 답이 나빠진다. 제대로 쓰는 법.
#LLM#Context#Prompt
2026.07.09
1387
Backend4분 읽기
타임존 지옥 — UTC로 저장하고 변환해서 표시하기
"서버에선 맞는데 사용자에겐 9시간 어긋난다"는 타임존 문제의 정석 해법. 저장은 UTC, 표시할 때만 변환. 흔한 함정까지 정리한다.
#Timezone#DateTime#UTC
2026.07.09
1386
Backend4분 읽기
SQL 인젝션, 아직도 1위 취약점 — 원리와 막는 법
문자열로 쿼리를 조립하면 입력값이 SQL 문법으로 해석돼 뚫린다. 파라미터 바인딩(prepared statement) 하나면 대부분 막힌다. 원리와 실전 방어.
#Security#SQL#Injection
2026.07.08
1385
Backend4분 읽기
API 키가 GitHub에 올라갔을 때 — 유출 대응 절차
커밋에 실수로 넣은 키는 히스토리에 영원히 남는다. .gitignore로는 못 지운다. 즉시 폐기부터 히스토리 제거까지 올바른 대응 순서를 정리한다.
#Security#Git#Secret
2026.07.08
1384
Backend4분 읽기
CSRF 공격과 방어 — SameSite 쿠키까지
로그인된 사용자를 속여 의도치 않은 요청을 보내는 CSRF. 원리부터 CSRF 토큰, SameSite 쿠키까지 현대적 방어 조합을 정리한다.
#Security#CSRF#Cookie
2026.07.07
1383
Frontend4분 읽기
이벤트 위임 — 동적으로 추가한 요소에 클릭이 안 먹을 때
나중에 JS로 추가한 버튼에 addEventListener가 안 먹는 이유와, 부모에 한 번만 걸어 모두 처리하는 이벤트 위임 패턴을 정리한다.
#JavaScript#Event#DOM
2026.07.07
1382
Frontend4분 읽기
== 와 === — JavaScript 타입 강제변환의 함정
0 == "", null == undefined, [] == ![]... == 는 타입을 멋대로 변환해 직관을 배신한다. === 를 기본으로 써야 하는 이유를 규칙으로 정리.
#JavaScript#Equality#Coercion
2026.07.06
1381
Frontend4분 읽기
null과 undefined 차이 — 언제 무엇이 나오나
둘 다 "값이 없음"이지만 의미가 다르다. undefined는 "아직 할당 안 됨", null은 "의도적으로 비움". 언제 뭐가 튀어나오는지 정리한다.
#JavaScript#null#undefined
2026.07.06
1380
Frontend4분 읽기
TypeScript any·unknown·never 차이와 실전 사용
any는 타입 검사를 끄고, unknown은 검사를 강제하며, never는 절대 없는 값이다. 이 셋을 구분해 쓰면 타입 안전성이 확 올라간다.
#TypeScript#Type#any
2026.07.05
1379
Frontend4분 읽기
WebP·AVIF 이미지 최적화 — 언제 무엇을 쓰나
같은 사진을 JPEG 대신 WebP·AVIF로 바꾸면 용량이 절반 이하다. 포맷별 차이, picture 태그로 안전하게 폴백하는 법, 실무 선택 기준.
#Image#WebP#AVIF
2026.07.05
1378
Tools4분 읽기
lsof로 포트·파일 누가 잡고 있는지 찾기
"파일이 사용 중이라 삭제가 안 된다", "포트가 이미 쓰인다"의 범인을 찾는 만능 도구 lsof. 열린 파일·소켓을 추적하는 실전 사용법.
#lsof#Linux#Port
2026.07.04