본문 바로가기

SpringBoot Server32

PostMan, Swagger로 API 명세서 확인하기 API 명세서는 애플리케이션 프로그래밍 인터페이스(API)의 사용 방법, 요청/응답 형식, 엔드포인트 등을 설명하는 문서입니다.API 명세서는 개발자가 다른 시스템이나 애플리케이션과 통신할 때 API를 어떻게 호출하고 데이터를 주고받을지 정의합니다.API 명세서는 클라이언트와 서버 간의 상호작용을 명확하게 정의하여, 개발자들이 API를 일관되게 사용할 수 있도록 돕습니다.API 명세서를 잘 작성해두면 팀 간의 협업이 원활해지고, 자동화된 문서화 및 테스트가 가능해집니다.API 명세서의 주요 내용:기본 정보:API 버전: API가 여러 버전으로 제공될 수 있기 때문에 버전 정보를 명시합니다.Base URL: API 호출의 기본 URL을 정의합니다. 예: https://api.example.com/v1/엔드.. 2025. 3. 7.
SSH Terminal Commands 🌐 SSH란 무엇인가요?SSH(Secure Shell)는 네트워크를 통해 원격 시스템에 안전하게 접속하기 위한 프로토콜입니다. 주로 서버 관리, 원격 파일 전송, 보안 터널링 등에 사용되며, 데이터를 암호화하여 안전한 통신을 보장합니다.🎯 SSH의 주요 특징보안성 강화 🔒SSH는 암호화를 통해 데이터 전송 중 발생할 수 있는 스니핑 공격을 방지합니다.다양한 인증 방식 🔑비밀번호 인증공개 키 인증 (보안성과 편의성 향상)다양한 활용 💻원격 서버 접속 및 제어파일 전송 (SCP, SFTP)포트 포워딩 및 터널링크로스 플랫폼 지원 🌍리눅스, macOS, Windows 모두에서 사용 가능🖥️ SSH 기본 사용법터미널 명령어 예제에서 $ 기호 터미널 명령어 예제에서 $ 기호는 일반적으로 명령줄 프롬프.. 2025. 1. 19.
서버배포 3단계) 에자일 개발방식이 가능한 CI/CD GitHub Actions 서버 배포 자동화 ABC 깃허브 서버 자동배포는 GitHub Actions를 사용하여 구현할 수 있는 CI/CD(지속적 통합/지속적 배포) 프로세스입니다.이 방식을 통해 개발자는 코드 변경사항을 GitHub에 푸시하면 자동으로 서버에 배포할 수 있습니다. 주요 특징자동화: 코드 변경 시 자동으로 빌드, 테스트, 배포 과정이 실행됩니다.효율성: 수동 배포 과정을 줄여 개발자의 시간과 노력을 절약합니다.일관성: 항상 동일한 프로세스로 배포되어 인적 오류를 줄입니다. 인텔리제이 설정application 파일은 항상 개발용, 배포용, 기본용 3개 준비하기 설정은 사용하는 의존성과 필요에 맞춰 설정spring: profiles: active: devnaver: api: client-id: client-secret: .. 2025. 1. 15.
서버배포 2단계) GitHub 를 이용한 자바 서버 배포 ABC 저번 글에서 파일질라와 터미널 명령어를 통해 서버를 배포해보았습니다.하지만 매번 코드가 바뀔때마다 파일을 올리고, 다시 실행하는건 CI/CD 환경에서는 알맞지않죠! 많은 개발자들은 git Repository를 클론하여 서로의 변경사항을 풀, 푸쉬받아 협업 개발하고 있습니다.EC2서버에도 git을 통한 클론, 풀, 푸쉬가 가능합니다.  EC2서버에 Git 설치git 홈페이지에서 인스톨 명령어를 확인했습니다.  $ yum install git - 리눅스에 프로그램 설치   EC2서버에 Repository 클론 레포지토리 주소를 확인하여 $ git clone 주소   - 클론합니다.  클론 할 때는 깃허브 아이디와 비밀번호를 요구하는데요.비밀번호가 아닌 Personal access tokens으로 로그인 해야.. 2025. 1. 15.
서버배포 1단계) FileZilla, 터미널을 이용한 자바 서버 배포 ABC 지금까지는 로컬호스트에서 API서버를 돌려보았는데요.이제 완성된 서버를 EC2서버로 배포해보겠습니다. http:// 80번 포트https:// 443번 보안적용 포트 80포트로 서버 배포해보겠습니다. 준비작업은 세가지!배포서버 .jar파일 빌드 및 전송 (Maven과 FileZilla 이용)80포트 사용을 위한 EC2서버 방화벽 열어주기EC2서버 JDK 환경 구축 배포서버 .jar파일 빌드 및 전송JAR(Java ARchive) 파일이란? 자바 프로젝트의 압축 파일 형식여러 자바 클래스 파일과 관련 리소스를 하나의 파일로 패키징합니다.JDK에 포함된 jar 명령어로 실행할 수 있습니다.zip 파일 압축 알고리즘을 기반으로 하여 일반 압축 프로그램과 호환됩니다.독립적인 Java 애플리케이션을 패키징하는 데.. 2025. 1. 13.
리퀘스트 유효성 검사 - Util과 Validation 이메일과 비밀번호를 입력해서 회원가입을 한다고 생각해봅시다.이메일은 아이디@도메인.최상위 도메인 으로 구성되어야 올바른 이메일인데 그냥 아이디만 입력했는데도 가입처리가 되면 관리하기가 힘들어질거에요. 이를 위해 클라이언트에서 보낸 리퀘스트가 문제가 없는지 확인할 필요가 있습니다. Util Class 를 이용한 유효성 검사이메일 뿐만아니라 비밀번호 유효자리수, 특문조합 요구 등 정규표현식을 사용하여 디테일한 패턴 매칭이 가능합니다.필요에 따라 유용한 도구 util들을 추가할 수 있으며, Service 클래스에서 이러한 Validator들을 사용하여 입력값을 검증합니다. 이메일 유효성검사 코드 예시public class EmailValidator { private static final String E.. 2025. 1. 12.
OPEN API 활용 - SDK를 통해 유튜브 동영상 검색 API 구현 Open API를 이용하면 여러 플랫폼에서 제공하는 API를 사용 할 수 있습니다. Open API를 이용하는 방법은 여러가지가 있습니다.플랫폼에서 제공하는 SDK를 이용하기- 유튜브 SDK- AWS S3 - 파일업로드  등등 HTTP 클라이언트를 통해 API를 호출하기 SDK는 Software Development Kit의 약자로, 소프트웨어 개발을 위해 제공되는 도구들의 모음입니다.SDK는 특정 플랫폼, 언어나 프레임워크에서 애플리케이션을 개발하는 데 필요한 라이브러리, API, 문서, 샘플 코드 등을 포함하고 있습니다. SDK는 개발자가 특정 기술이나 플랫폼을 사용하여 애플리케이션을 쉽게 개발할 수 있도록 도와줍니다.구글 제공 SDK 를 통해 API 호출하기이 글에서는 구글에서 제공하는 SDK를 .. 2025. 1. 12.
OPEN API 활용 - HTTP 클라이언트를 통해 네이버 뉴스 API 구현 Open API를 이용하면 여러 플랫폼에서 제공하는 API를 사용 할 수 있습니다.  Open API를 이용하는 방법은 여러가지가 있습니다.플랫폼에서 제공하는 SDK를 이용하기- 유튜브 검색 SDK - AWS S3 - 파일업로드  등등 HTTP 클라이언트를 통해 API를 호출하기 HTTP 클라이언트를 통해 API를 호출하기이 글에서는 HTTP 클라이언트를 이용하여 네이버에서 제공하는 검색 API를 호출해보겠습니다.검색 API  레퍼런스 확인https://developers.naver.com/docs/serviceapi/search/news/news.md#%EB%89%B4%EC%8A%A4 뉴스 - Search API" data-og-description="검색 > 뉴스 뉴스 검색 개요 개요 검색 API와 .. 2025. 1. 12.
JPA Join으로 두개 테이블의 데이터 조회하기 DB에서는  여러 테이블의 정보를 가져오기위해 외래키(Foreign Keys) 설정으로 테이블을 Join 하여 가져왔었는데요. 클래스를 테이블로 사용하는 JPA에서는 어떻게 외래키와 조인 설정이 가능할까요 Entity Class 외래키 설정@Entity@Table(name = "reviews")public class Review { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long id; // productId 와 userId 는 외래키 // public Long productId; 가 아니라 아래와 같이 객체로 선언해야함. // 클래스 자체로 포린키를 설정함 @ManyToOne //리뷰테.. 2025. 1. 7.