본문 바로가기

Dev25

[DEV] Tomcat 서버를 윈도우 서비스로 등록 톰캣을 실행할 때 보통 catalina.bat run 명령어를 사용하지만, 서버를 재부팅할 때마다 매번 수동으로 실행하는 것은 너무너무 번거롭다.그럼 어떻게 자동으로 켜지게 할 수 있을까? 바로 윈도우 서비스로 등록하는 것이다! Windows Service(윈도우 서비스)Windows Service는 Windows 운영체제에서 백그라운드로 실행되는 프로그램 일반적인 응용 프로그램처럼 사용자 인터페이스(UI)는 없으며, 컴퓨터가 부팅될 때 자동으로 시작되거나 사용자가 로그인하지 않아도 동작할 수 있음!서버 애플리케이션이나 모니터링 도구처럼 항상 실행되어야 하는 프로그램을 운영할 때 매우 유용하다. 서비스 관리 명령어관리자 권한으로 cmd에서 실행# 서비스 목록 보기sc query# 서비스 시작sc star.. 2025. 7. 31.
[DEV] DHCP DHCP란DHCP (Dynamic Host Configuration Protocol) - 동적 호스트 설정 프로토콜역할 : 네트워크에 연결된 기기에 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버 주소 등을 자동으로 할당.자동으로 설정해주기 때문에, 사용자가 일일이 IP를 수동으로 입력하지 않아도 된다.집이나 회사에서 와이파이만 연결하면 인터넷 되는 것, 다 DHCP 덕분.IP 충돌 방지, 관리 편의성, 확장성에서 매우 유리. 동작 방식단계메시지명설명1단계DHCPDISCOVER클라이언트가 네트워크에 접속하면서, DHCP 서버를 찾음2단계DHCPOFFERDHCP 서버가 사용 가능한 IP와 설정값을 제안함3단계DHCPREQUEST클라이언트가 특정 제안에 대해 요청4단계DHCPACK서버가 최종적으로 IP.. 2025. 7. 27.
[DEV] XSS 회사에서 XSS 관련 보안취약점이 나와서 서버 코드상에서 방어로직을 짰는데, 다 짜고 나니 막긴 막았는데 구체적으로 어떤 식으로 XSS 공격이 재현되는지 궁금해서 개념과 함께 간단히 찾아보았다. XSS란크로스 사이트 스크립팅사용자 입력값을 제대로 검증하지 않아 악성 스크립트가 실행되도록 허용되는 보안 취약점 XSS 예시사용자가 등록한 글에 를 삽입이 값이 필터링 없이 서버에 저장됨다른 사용자가 그 글을 볼 때, 브라우저에서 스크립트가 실행됨alert("XSS")가 브라우저의 JS 엔진에 의해 실행되었음 (즉, XSS 성공) 왜 문제가 되는가?세션 탈취 가능document.cookie를 탈취하여 로그인 상태를 가로챌 수 있음악성 JS 삽입 가능광고, 트래픽 리디렉션, 피싱 링크 주입 가능다른 사용자에게.. 2025. 6. 12.
[DEV] MCP(Model Context Protocol) 최근 다양한 AI 모델들이 등장하면서, 단일 모델로는 해결할 수 없는 복합적인 작업이 늘어나고 있다. 예를 들어, 내가 원하는 작업이 아래와 같다고 할 때, 단순한 텍스트 생성만으로는 해결할 수 없다.“이 구글 드라이브에 저장된 회의록을 요약해서 슬랙에 공유해 줘.”외부 문서 접근, 내용 요약, 메시지 발송이라는 여러 도구와 데이터 출처가 함께 작동해야 가능한 일이기 때문.이 복잡한 연결을 가능하게 만드는 기술이 바로 Model Context Protocol(MCP)이다.이번 글은 MCP가 무엇인지, 왜 사용하는지 등에 대해 GPT에게 질문을 하고 이해하고 다시 질문을 하며 정리를 한 내용이다. MCP란?Model Context Protocol(MCP)은 AI 모델이 외부 시스템(API, 문서, 앱 등.. 2025. 5. 9.
[DEV] curl curl이란?curl은 'Client URL'의 줄임말로, 다양한 프로토콜(HTTP, HTTPS, FTP 등)을 이용해 데이터를 전송할 수 있는 커맨드라인 기반 도구이다. 주로 서버와의 통신 테스트, API 호출, 파일 다운로드 등에 사용된다. HTTP 요청을 빠르게 테스트하거나, 스크립트 안에서 네트워크 요청을 자동화해야 할 때 아주 유용하게 쓰인다. 언제 사용하면 좋을까?백엔드 API를 빠르게 테스트하고 싶을 때Postman 없이 CLI에서 바로 API 요청을 보내고 싶을 때서버 상태를 확인하고 싶을 때 (GET 요청 등)파일 업로드/다운로드를 자동화하고 싶을 때CI/CD 파이프라인에서 외부 API를 호출할 때서버의 응답 헤더 및 바디를 확인하고 싶을 때 기본 명령어curl [옵션] [URL]// 예.. 2025. 3. 30.
[DEV] SBOM에 대하여 최근에 라이브러리 취약점 관련 이슈가 많이 나왔다. 관련 내용을 찾아보다가 SBOM이라는 개념을 알게 되어 정리를 해본다. 1. SBOM이란?SBOM(Software Bill of Materials)은 소프트웨어를 구성하는 모든 라이브러리, 패키지, 의존성, 버전 정보를 정리한 문서다.SBOM이 담고 있는 정보어떤 라이브러리를 쓰고 있는지 (패키지 이름, 버전, 공급업체)오픈소스 라이선스 정보 (MIT, Apache 2.0 등)코드 출처 및 무결성 검증용 해시 값즉, SBOM이 있으면 소프트웨어 보안, 라이선스 관리를 더 효과적으로 할 수 있다. 2. SBOM이 중요한 이유보안 강화사용 중인 라이브러리를 한눈에 파악Log4j 같은 보안 취약점 발생 시 즉시 대응 가능!라이선스 준수오픈소스 라이선스 (MI.. 2025. 3. 9.
[DEV] SSO sso 관련 기능들을 커스텀하면서 좀 더 제대로 개념 정리를 해야할 것 같아 이렇게 정리를 하게 되었다.  SSO(Single Sign-On)란?SSO는 한 번의 로그인으로 여러 시스템이나 서비스에 접근할 수 있도록 해주는 인증 방식이다. 사용자 경험을 개선하고 보안을 강화하는 데 중요한 역할을 한다. SSO가 필요한 이유1. 편의성 증가사용자는 한 번만 로그인하면 여러 서비스에 접근 가능.로그인할 때마다 비밀번호를 입력할 필요 없음.2. 보안 강화여러 개의 비밀번호를 사용하지 않아 보안 위험 감소.보안 정책을 중앙에서 일괄 적용 가능 → 관리 효율성 증가.3. 관리 비용 절감기업에서 계정 관리 및 비밀번호 재설정 요청 감소.IT 부서의 업무 부담 경감. SSO의 동작 방식SSO는 일반적으로 토큰 기반 .. 2025. 3. 2.
[DEV] 로그와 메트릭 로그와 메트릭, 실무에서 왜 중요한가?로그는 개발하면서 자주 들여다보기 때문에 익숙한 한편, 나는 서비스가 아닌 솔루션을 개발하기 때문에 '메트릭'은 많이 만나보지 못했다. 그러다가 작년말쯤 인프런에서 프로메테우스, 그라파나를 실습하는 강의를 보며 메트릭에 대해 알게 되었다. 로그는 서버가 동작할 때 서버의 상태와 동작 정보를 시간 경과에 따라 기록한 결과이며, 시스템의 오류와 문제를 추적하는 데 유용하다. 반면, 메트릭은 시스템의 성능과 상태를 수치화한 통계 데이터로, 시스템의 현재 상태를 쉽게 파악하고 사업 현황을 분석하는 데 활용할 수 있다. 이번 글에서는 이러한 로그와 메트릭에 대해 간략하게 정리해보려고 한다.  로그(logs)란?로그는 애플리케이션이나 시스템이 동작하는 동안 발생하는 이벤트를 기.. 2025. 2. 23.
[Tool] SDKMAN 설치 및 사용법 개발을 하다 보면 JDK, Gradle, Maven 같은 다양한 도구를 설치하고 버전을 관리해야 할 일이 많다. 특히, 여러 버전의 Java를 오가며 작업할 때마다 매번 수동으로 환경변수 설정하는 게 상당히 번거롭다.. 이럴 때 SDKMAN!을 사용하면 Java뿐만 아니라 Gradle, Maven 등 여러 개발 도구의 버전을 쉽게 설치하고 전환할 수 있다. 이번에는 SDKMAN!의 설치방법, 사용방법을 간단히 적어보려고 한다. 1. SDKMAN!이란?SDKMAN!(Software Development Kit Manager)은 JDK, Gradle, Maven, Scala 같은 다양한 개발 도구를 간편하게 설치하고 관리할 수 있는 CLI 기반의 버전 관리 도구다. 기본적으로 Linux/macOS용으로 설계.. 2025. 2. 12.