분류 전체보기493 React, Next.JS 프로젝트의 심각한 취약점(CVE-2025-55182) 점검 및 업데이트 방법 최근 발표된 React 생태계의 아주 심각한 취약점이 보고되어 즉각적인 업데이트가 필요하게 되었습니다. Next.js를 최신버전으로 올리는 것만으로는 충분하지 않고, React / React-DOM / RSC 관련 패키지까지 함께 정리해야 공격 표전을 제거할 수 있다고 합니다.아래는 실제 운영 중인 개인 프로젝트를 기준으로 정리한 Next.js 업데이트 방법과 취약점 점검 절차입니다.🚨 왜 업데이트를 해야 할까요?React Server Component(RSC)라고 하는 서버사이드 렌더링과 관련된 패키지에서 심각한 취약점(NVD - CVE-2025-55182)이 발견되었다고 지난 12월 3일 발표되었습니다. 이 취약점이 무서운 게 인증 없이 서버에서 원격 코드 실행이 가능하고, React에서 기본적으로.. 2025. 12. 9. Next.js 배포 자동화 구축하기 (feat. GitHub Actions & PM2) 개발 생산성을 극대화하는 Next.js 프로젝트 배포 자동화 방법에 대해 정리합니다.보통 수정사항이 생기면, 빌드하고 서버에 SSH로 접속해서 파일 옮기고, 서비스를 재시작하는 반복작업이 필요합니다. 어떻게 보면 간단한 절차이긴 하지만 횟수가 많아지면 귀찮은 일이 될 수밖에 없죠. 수동으로 하던 배포 과정을 클릭 한 번(Git Push)으로 끝내는 효율적인 방법을 정리하고 소개합니다.목표 아키텍처 및 준비물구축할 시스템의 전체적인 흐름은 다음과 같고, 별도의 CI/CD 서버를 두지 않고 GitHub 자체 인프라를 활용하여 비용과 복잡도를 낮추고자 했습니다.핵심 도구:GitHub Actions: 코드 변경을 감지하고 자공으로 작업을 수행하는 봇.SSH: 봇이 안전하게 서버에 접속하기 위한 보안 통로PM2:.. 2025. 12. 6. Microsoft Graph API - Application 인증 vs. Delegated 인증 Application 인증과 Delegated 인증은 Microsoft Graph API에서 사용되는 두 가지 주요 인증 방식으로, 각각의 목적과 동작 방식에 차이가 있습니다. 본 포스팅은 두 인증 방식을 이해하는데 도움이 되고자 작성되었습니다.1. Application 인증 (애플리케이션 인증)정의: 애플리케이션에게 권한을 주고 애플리케이션 자체의 자격 증명을 사용해 Microsoft Graph API에 접근하는 방식입니다. 사용자의 개입 없이 애플리케이션이 독립적으로 동작합니다.사용 사례: 백그라운드 프로세스, 자동화된 워크플로우, 서버 간 통신 등에서 사용됩니다.보고서 생성 자동화: 특정 SharePoint 사이트의 팀 목록을 가져와 주간 보고서를 자동으로 생성하는 백그라운드 서비스. 사용자가 로그.. 2025. 7. 19. Proxmox 외장하드 SMART 오류 (Unknown Bridge) 및 온도 모니터링 어느 날이었습니다. Nextcloud의 데이터 백업용으로 연결되어 있는 하드 디스크를 만져봤는데, 화들짝 놀랄 정도로 뜨거운 열기가 느껴졌습니다. 마치 삼격살 구워 먹고 난 후 덜 식은 프라이팬을 만지는 느낌 같았달까요. 문득, 자성은 열에 취약하다는 얘기가 떠올랐고, 이대로 두다간 중요한 정보가 홀랑 날아갈 수도 있겠다는 불안감이 엄습했습니다.저는 Proxmox 서버에 HDD를 3개를 외장으로 연결하고, Debian 리눅스에 Nextcloud를 깔아서 사용 중에 있습니다. 그리고 3개의 HDD 중 2개는 RAID로 묶어서 현행 데이터용으로 사용하고 나머지 하나는 백업용으로 사용합니다. 위 사진에서 지옥불처럼 뜨겁게 보이는 하나가 바로 백업용 디스크입니다. 원래부터 좀 뜨겁다 싶어서 케이스 뚜껑을 벗겨놓.. 2025. 7. 13. Obsidian Sync, 돈을 아껴보자. Remotely Save로 무료로 동기화 하는 방법 코딩을 하는 사람이나 노트에 관심 있는 사람이라면 알고리즘으로 접하게 될 수밖에 없는 Obsidian!! 그만큼 기능도 많고 다양한 활용이 가능해서 인기가 많은 것 같은데 한 가지 아쉬운 점(? 오히려 장점일 수도..)은 클라우드 서비스가 아니라는 점입니다.요즘은 다양한 기기들 간에 끊김 없는 동기화와 백업이 필수적인데, Obsidian은 공식적으로 구독 서비스를 통해서 이 문제를 해결해주고 있습니다. 확실히 돈을 조금 들이면 간편하고 안정적으로 이 기능을 사용할 수 있어서 클라우드 노트의 대표주자인 노션과 비교해도 손색없을 정도로 사용 가능합니다. 그러나 '구독'이라는 게 심리적 장벽이 되시는 분들 많으실 겁니다. 저처럼요.이 포인트에서 "Remotely Save"라는 커뮤니티 플러그인을 만나게 되었고.. 2025. 4. 19. 주파집 Qi2 맥세이프 차량용 충전 거치대 CWC06 (feat. Z폴드 6) 얼마 전 갤럭시 Z폴드 6용 신지모루의 맥세이프 충전커버 M-에어로핏 베이식을 리뷰 했었습니다. 맥세이프 커버를 샀으니 이제 맥세이프 충전을 해야겠죠. 오늘은 약 3주간 Z폴드 6과 같이 써 본 맥세이프 차량용 충전 거치대, 주파집 Qi2 CWC06을 소개하겠습니다. 신지모루 M-에어로핏 베이직 케이스 (갤럭시 Z 폴드6 용 맥세이프 케이스)평소에 쫀득한 느낌이 좋아서 애용하고 있는 액정 보호필름의 그 신지모루에서 만든 케이스를 구매해 봤습니다. 원래 케이스 잘 사용하지 않는 타입인데, 맥세이프 충전 방식이 너무 써보고 싶kwonkyo.tistory.com1. 제품 주요 특징주파집 CWC06은 Qi2 규격을 따르는 15W 무선 충전 거치대로, 펠티에 소자를 적용해 충전 중 발생하는 열을 효과적으로 제어하.. 2024. 10. 9. 신지모루 M-에어로핏 베이직 케이스 (갤럭시 Z 폴드6 용 맥세이프 케이스) 평소에 쫀득한 느낌이 좋아서 애용하고 있는 액정 보호필름의 그 신지모루에서 만든 케이스를 구매해 봤습니다. 원래 케이스 잘 사용하지 않는 타입인데, 맥세이프 충전 방식이 너무 써보고 싶었고, 심해도 너무 심한 카툭튀 때문에 카메라 금방 긁히겠다 싶어서 케이스를 선택하게 되었습니다. 거의 이틀 동안 고민고민해서 고른 제품인데 그 결과가 나름 만족스러워서 내용 공유합니다. 하나씩 살펴보시죠.포장 및 외관갤럭시 Z 폴드 6 용 M-에어로핏 베이식 케이스는 슬림한 투명 케이스로, 폰의 원래 디자인을 살리면서도 보호 기능을 제공합니다. 이 제품은 슬림한 외관을 유지하면서도 맥세이프 호환성을 갖춘 것이 큰 특징입니다. 구성품은 간단하게 케이스 본체만 비닐 포장에 싸여있고 내부에 변형 및 손상을 방지하도록 스티로폼 .. 2024. 9. 8. code-server 서버에 폰트 설치하고 적용하기 오랫동안 잠자고 있던 사이드 프로젝트를 시작하면서 code-server도 다시 정비를 했습니다. code-server 쓰면서 항상 눈에 거슬리지만 귀찮아서 매번 미뤄두었던 폰트 설정을 해봤습니다.항상 같은 장비에서 작업한다면 로컬에 폰트 깔아놓고 사용하면 되지만, 저처럼 여기서 잠깐 저기서 잠깐 코딩하고 윈도 장비 같은 경우에는 포맷도 자주 하는 환경이라면 로컬에 설치하는 폰트는 의미가 없죠. 그래서 code-server가 호스팅 되는 서버에 폰트까지 넣어두고 어디서나 이쁜 폰트가 렌더링 되도록 하는 건 중요한 포인트라고 할 수 있죠.금방 끝날 줄 알았는데 이것저것 헤매다가 드디어 성공해서 그 방법 남겨봅니다.폰트 준비먼저 제가 애정하는 Meslo Nerd Font를 다운로드하여서 준비합니다.일반폰트 .. 2024. 8. 29. 리액트 개발서버 포트번호 변경: 3000번이 아닌 다른 번호로 설정하기! 리액트를 사용할 때 개발서버의 기본 포트번호인 3000번을 다른 번호로 바꾸는 방법입니다. 가끔 3000번 포트가 이미 다른 프로그램에서 사용 중이거나, 그냥 다른 번호로 바꾸고 싶을 때가 있죠? 이런 상황에서 포트번호를 쉽게 변경할 수 있습니다!포트번호를 바꾸는 간단한 방법포트번호를 바꾸는 방법은 몇 가지가 있는데, 그중에서 쉽게 할 수 있는 방법을 소개하겠습니다.1. package.json 수정하기 (리눅스 환경)가장 쉬운 방법은 package.json 파일을 살짝 수정하는 거예요. 아래와 같이 scripts 섹션에 start 명령어를 수정해 주세요.export PORT=53000사용할 포트번호를 명시하고 원래 있던 react-scripts start 명령어와는 "&&" 기호로 연결해 줍니다. 가장 .. 2024. 8. 21. 삼성 갤럭시 워치 4, 침수 고장 수리기 (삼성AS도 포기했지만 알리가...) 작년 여름에 바다 물놀이를 하다가 침수로 고장 난 갤럭시 워치 4가 있었습니다. 바닷물이긴 했지만, 물속에서 버튼을 누른 것도 아니고 수영을 한 것도 아닌데 고장이 났었죠. 증상은 전원버튼이 계속 눌려있는 듯, 켜져 있으면 계속 빅스비를 호출하고 꺼져있으면 저절로 전원이 켜지는 현상이 반복되는 것이었습니다.삼성 AS센터를 갔고 증상을 말씀드렸더니 메인보드를 교체해야 한다고 말씀하시더라고요. 그때 비용이 20만 원대 금액을 말씀하셨는데 갤럭시 워치 4가 아니라 5도 살 수 있을만한 돈이라서 수리를 포기했습니다.그리고 잘은 모르지만 전원 버튼이 고장 난 것처럼 보여서, 전원 버튼 쪽 부품만이라도 교체를 할 수 있지 않겠냐, 아니면 부품만 이라도 따로 구매를 할 수 있을지 문의를 했었는데 버튼 쪽 부품은 따로.. 2024. 8. 2. Bing 검색하고 Spotify Premium 3개월 무료 사용하기 MS Bing.com에서 Spotify와 아주 유용한 프로모션을 진행하고 있어서 공유합니다. Bing.com에서 검색만 몇 번 하면 Spotify Premium 3개월 무료 이용이 가능합니다. Spotify 무료이용 혜택 받기 혜택을 받기 위해서는 MS 계정이 있어야 하고 Microsoft Rewards 프로그램을 시작해야 합니다. MS Rewards라는 건 MS 서비스를 사용하는 개인 사용자들에게 소정의 포인트를 제공하고 이 포인트로 기프트카드 등 경품을 받을 수 있도록 해주는 건데, 여기에 spotify가 들어왔어요. 예전에 Spotify 6개월 무료사용 기회가 있어서 잘 쓰다가 금액적인 문제로 어쩔 수 없이 통신사 할인받는 Flo로 돌아가서 아쉬웠었는데 다시 한번 기회가 찾아왔습니다. ㅎ 무료코드 .. 2024. 2. 7. 이케아 스마트 조명 트로드프리, Home Assistant(Zigbee2mqtt) 연동 오랜만의 포스팅에 오랜만에 Home Assistant 관련 내용이네요. 주말이지만 아침 일찍 준비해서 마치 출근을 하는 것처럼 이케아를 다녀왔습니다. 그리고 가는 김에 오랫동안 눈여겨봤던 이케아 스마트홈 제품 한번 사봤습니다. 결론부터 말하자면, 왜 더 빨리 써볼 생각을 안 했을까 후회스럽습니다. 집에서 Zigbee 네트워크 사용하시는데 이케아 제품 아직 안 써보셨다면 꼭 사서 써보세요. 두 번 사서 써보세요. 저도 한번 샀다가 그다음 날 리모컨 하나 더 사러 또 갔답니다.🤣 외관 제가 업어온 제품은 트로드프리(TRÅDFRI) 라인의 스마트 전구 2종과 스튀르바르(STYRBAR) 리모컨입니다. E26사이즈 전구와 리모컨이 세트로 26,900원에 행사를 하고 있었는데 가격 괜찮은 거 같네요. 그리고 E14.. 2023. 12. 3. 페이팔에서 신한 아멕스 카드 사용하시려면 인내심이 필요합니다. 오랜만에 해외 직구 할 일이 생겼습니다. 거의 없는 일이라 페이팔에 등록해 둔 신용카드가 벌써 만료가 되어 버렸네요. 제가 주로 사용하는 카드는 신한카드에서 발급받은 더 클래식이라는 카드인데 이게 아멕스카드입니다. 지금까지 한 번도 온 오프라인을 막론하고 해외 사용에 문제가 된 적이 없었죠. 그래서 얼른 등록해서 빨리 구매하고 자야지~라는 생각으로 시작했는데요. 어허, 카드 등록이 안 돼서(?)가 아니라 어떻게 돌아가는지 몰라서 한 시간 넘게 헤매다가 결국 포기하고 비자카드로 구매했답니다. 아멕스 카드를 사용하시는 분들께서는 저와 비슷한 경험을 하실 분들이 적지 않을 것 같아서 후기 남깁니다. 문제의 발단은... 바로 페이팔에 카드를 등록하는데 인증이 완료되지 않아 즉시 사용할 수 있는 상태가 되지 않는.. 2023. 10. 25. 아두이노 버튼 짧게 누르기/길게 누르기 구현(ezButton 라이브러리) 아두이노 프로젝트에서 버튼은 프로젝트 기능을 풍부하게 만들어 줄 수 있는 중요한 요소입니다. 그러나, 하드웨어 적으로는 입력 핀에 연결된 스위치를 통해서 High/Low 전압 값을 읽어 들이는 간단한 메커니즘이지만 스프트웨어 적으로는 인터럽트, 디바운싱, 풀업/다운 저항 등 입문자 입장에서는 부담스러울 수 있는 여러 가지 고려사항이 있는 까다로운 요소입니다. 오늘은 이런 난감한 상황을 시원하게 해결해 줄 수 있는 "ezButton"이라는 라이브러리를 알아보겠습니다. ezButton 라이브러리 ezButton은 debounce, 버튼의 닫힘, 열림 이벤트 등을 지원하는 아두이노 라이브러리입니다. 지원기능 지원되는 기능은 다음과 같습니다. Uses the internal pull-up resistor to .. 2023. 10. 3. 해킹에 무방비하게 노출된 내 서버, 기본적인 방어는 되어 있는지 확인해 보세요 지인이 운영하는 워크스테이션에 셋방살이로 일부 자원 공유받아 사용하고 있는데요. 어느 날 서버 주인이 느닷없이 윈도에 원격접속이 되지 않는다고 연락이 왔습니다. 서버에는 리눅스 하나, 윈도 하나가 돌아가고 있고 각 OS별로 개인 계정을 하나씩 두고 사용하고 있는데 다른 건 다 괜찮은데 윈도 계정중 1개만 아래와 같이 너무 많은 로그인 시도로 인해 계정이 잠겼다고 경고가 나왔습니다. 몇십 년 윈도 사용하면서 이런 메시지를 본 건 처음이라 상당히 당황스럽더라고요. 그래서 윈도 이벤트 기록을 살펴보니 로그인 로그가 엄청나게 발생해 있는 걸 볼 수 있었습니다. 로그인을 시도한 위치도 제각각이고 로그인 아이디도 제각각이었습니다. 이게 그 말로만 듣던 무작위 대입 해킹시도이구나 싶더군요. 윈도 서버는 항상 켜져있지.. 2023. 8. 27. 이전 1 2 3 4 ··· 33 다음