Node.js 2026년 10월 21일 보안 릴리스 정리
·
개발 지식
PHP2Shell이 터진 바로 그날, 2026년 10월 21일 Node.js도 지원 중인 세 릴리스 라인(26.x, 24.x, 22.x)에 걸쳐 취약점 10개를 고친 보안 릴리스를 냈습니다.가장 중요한 건 CVE-2026-111497입니다. Node.js에 내장된 Brotli 압축 해제기의 메모리 범위 밖 쓰기 버그로, Node.js는 이를 원격 코드 실행(RCE) 이 가능한 결함으로 분류했습니다.그 밖에 DNS 이름 잘림, TLS 호스트명 검증 우회 같은 High 등급 3개, Medium 3개, Low 3개가 함께 고쳐졌습니다.해결책은 26.12.1 / 24.22.1 / 22.23.4로 업데이트하는 것입니다. Node 20 이하와 홀수 버전(21, 23, 25)은 지원이 끝나 패치가 없습니다.공개 시점..
PHP2Shell 정리: PHP 엔진을 뚫은 원격 코드 실행
·
개발 지식
2026 10월 21일, PHP 엔진 자체에서 로그인 없이 서버를 장악할 수 있는 원격 코드 실행(RCE) 취약점 두 개가 공개됐다.php 위에서 돌아가는 웹 서비스는 전부 영향권이고, 최신 버전으로 업데이트를 진행하는것 외에는 방법이 없다고 한다. 무슨 일이 있었나원래 계획은 10월 22일 조율된 공개였지만, 이틀 전 CVE 번호가 유출되면서 하루 앞당겨 긴급 릴리스됐습니다. 근본 원인의 첫 단서는 이미 2024년 외부 보안 감사 과정에서 발견됐다는 점도 눈여겨볼 만하다.날짜 (UTC)사건2026-10-21PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 릴리스. 같은 날 watchTowr가 허니팟에서 실제 공격 관측2026-10-21 07:41Chainguard가 공개 6시간 전에 패치가..
Nextjs 종료된 페이지 동적세그먼트로 한번에 처리하기!
·
Front-end
이벤트 생성시에 매번 페이지들을 생성했다. 2024-summer.tsx, 2025-fall.tsx... 그리고 이벤트가 끝나면 매번 해당 tsx 파일에 홈화면으로 돌아가는 버튼 및 화면을 복붙해주었다. app/promotion/├── summer-2025/page.tsx // redirect('/')├── chuseok-2025/page.tsx // redirect('/')├── newyear-2026/page.tsx // redirect('/')└── ... 이렇게만 처리하다 보니까 더이상 필요없는 페이지들이 폴더에 쌓여가기 시작했다. 재작년 이벤트 페이지까지 폴더에 쌓여있고...또한 이벤트 종료시에 단순 삭제처리가 아니라 팝업에, 이동기능까지 넣어야하는 '작업'이 되어버려서 이를 고..
젠킨스 팀즈 webhook 연결하기 feat. 워크 플로우
·
개발 지식
빌드 배포 완료에 따라 알림을 받고 싶었다!! 그런데 예전에 연결된 부분이 있는걸 봤는데특정 시점 이후로 작동하지 않는것을 확인하고 수정에 나섰다. 아마 팀즈에서 새롭게 나온(?) 워크 플로우를 사용해야 해서 그러지 않을까 싶다.기존 링크는 https://fount1.webhook.office.com/webhookb2/ ..... 이런식으로 되어있다면워크플로우로 뽑은 링크는 https://defaultbda3b9.... 식으로 새로운 형태로 나온다. 참고! 1. 팀즈 웹훅 링크 발급하기 원하는 채널 옆 ... 을 클릭해서 워크 플로우를 클릭해준다.그리고 리스트 중에 '채널에 웹후크 알림 보내기' 를 클릭해준다.하단에 '조직 내 사람..' 관련된건 따로 인증 절차가 있어야 하는것 같다. 처음에 이걸로 했다..
design.md 나만의 디자인을 만들어봐!
·
AI
요즘 많은 결과물들이 AI의 손을 거쳐 세상에 나온다. 특히나 개발쪽은 더욱 그런할텐데, 원하는 기능 몇 마디만 던지면 찰떡같이 알아듣고 적당한 UI를 갖춘 웹 서비스를 만들어준다. 내가 색상이나 디자인을 어떻게 설정하지 않아도 어느 정도의 구색을 갖춘 결과물을 보여준다. 하나 정도 만들고 난다면 "요즘 AI가 디자인도 잘해주는구만" 하겠지만 여러개를 만들다보면 거기서 거기.. 사용하는 AI에 따라서 비슷비슷한 디자인 결과물을 내놓는다. (위에 있는 블로그 썸네일도 많이 본 사람은 어느 AI를 통해서 뽑아냈는지 한눈에 알수 있을것이다) 사실 당연한 결과다. 우리의 지시에 그런 내용은 하나도 들어가 있지 않으니 말이다. "~기능 하는 페이지 만들어줘" 하는 말에 익숙한 그 UI로 화면을 그려주게 되는것이다..
uv python 버전 관리하기
·
Back-end
파이썬 프로젝트를 접할때 복잡했던 기억이 있다.해당 프로젝트를 실행하려면 venv 실행하고 source 어쩌고 하고... 정확이 뭘 하는지도 모르는데'실행하는 방법' 파일에 정리되서 했던게 생각이난다. 이런것들을 uv 라는게 요즘 자동화 해준다고 한다. uv는 파이썬용 패키지 관리자이자 프로젝트 관리도구이다. 'Rust' 로 만들어져있다고 한다. FE 개발자라면 쉽게 이해할만한 정리가 있다. npm install 이면... 지금까지 이렇게 편한거 없이 어떻게 하셨습니까 그대들.. 리스펙합니다.. uv syncnode로 되어있는 프로젝트를 깃허브에서 받으면 받자마자 npm install을 먼저 진행한다.똑같이 파이썬 프로젝트를 받고나서 uv sync 한방이면 설치 끝~ 프로젝트 생성# 1. 프로젝트 생성..
아레나 AI, 모델 성능 순위 보기
·
AI
클로드, GPT, 제미나이 등등 개발에 사용하는 여러 모델들이 있다. 신나게 사용하다 보면 다른 모델이 나와서 비교하고 뭐하는 유투브 썸네일을 마주한다. 새로운 프로젝트를 진행할 때는 개발을 시작하기 전에 요구사항과 기술적인 구조를 먼저 검토하고, 기획 단계에서 구현 방식이나 기술적인 방향에 대한 의견을 적극적으로 제시해왔습니다. 이것도 써봐야 하나.. 저거랑 비교해 봐야하나.. 개인이 모델들을 직접 비교하고 하는데는 어려움이 있다고 생각된다. 그럴때 아레나 AI 페이지를 사용하면 쉽게 이 문제를 해결 할 수 있다. https://arena.ai/ Arena AI: The Official AI Ranking & LLM LeaderboardChat, compare, vote for the world's b..
healthz 오타 발견!
·
Back-end
백엔드 코드를 작업하다가 눈에 걸리는 단어를 발견했다. "healthz" 무슨 이런 귀여운 오타가 있나 생각했다. 바로 수정하려고 봤는데 코드 여기저기에 다 healthz 라는 단어가 판을 치고 있었다. 라우터에도, 핸들러에도, 그리고 설명해 놓은 md 파일에도 있었다. 이렇게 많은 오타를 내기는 어렵고.. AI 사용하다가 단어를 잘못 입력했나도 싶었다.그래서 검색에 들어갔고 이러한 표현은 하나의 관례로 사용되는 거라고 한다. z 는 어디서 온건가출처는 구글 내부 관행이라고 한다. z-pages 라고 부르는 진단용 엔드포인트 관습이 있었다고 한다. varz(var+z), rpcz(rpc+z), statusz(status+z) 그리고 오늘 만난 healthz(health+z) 까지. 이건 사람이 보는게 아..
ponytail 적용하면 얼마나 달라질까?
·
Front-end
Claude나 Codex 등의 코딩 에이전트 등을 사용할때, 필요 이상의 코드가 작성된다고 느낀적이 있는가?그런 케이스에서 쉽게 활용가능한 AI 에이전트 스킬 'ponytail' 에 대해서 살짝 알아보자.엄청 대단한 프로그램이 돌아가는건 아니고, 개발시에 최소한의 코드 작성으로 문제를 해결하게끔 한다.https://github.com/DietrichGebert/ponytail GitHub - DietrichGebert/ponytail: Makes your AI agent think like the laziest senior dev in the room. The best code is the code yMakes your AI agent think like the laziest senior dev in t..
딥러닝 뿌리 ANN, 그리고 DNN
·
AI
1. ANN, Artificial Neural Network (인공 신경망)사람의 신경망 원리와 구조를 가지고와서 만든 학습 알고리즘이다.작은 단위의 노드들이 층으로 연결되어있고 입력을 받아서 출력으로 전환한다.각 뉴런은 입력값을 받아서 입력값에 가중치(w) 곱해서 모두 더하고 편향(b)을 더한뒤 출력을 낸다. 이를 식으로 나타내면 아래와 같다. 위 식을 조금 더 있어빌리티(?) 하게 정리하면 이렇게 된다. 가중치란 말 그대로 해당 입력을 얼마나 중요하게 볼지를 의미하고, f(..) 함수가 '비선형성'을 담당한다. 여기서는 관계를 학습하게 해준다 정도로 보면 될것 같다.기본 구조는 세 부분으로 보면된다. 데이터를 받는 입력층, 데이터를 가공하는 은닉층, 그리고 결과가 나오는 출력층이다. 입력층..