Vercel 배포 next.config.js 설정
·
Project/JUSEYO
VECEL 배포 과정은 매우 오류가 많다 (깐깐함)오류 방지을 위해 next.config.js에 미리 설정// next.config.js/** @type {import('next').NextConfig} */const nextConfig = { images: { // 여기에 본인이 실제 쓰는 S3 버킷 호스트명을 모두 나열하세요. domains: [ "example-bucket.s3.ap-northeast-2.amazonaws.com", "juseyo.s3.ap-northeast-2.amazonaws.com", // ...(추가 버킷이 있으면 계속) ], }, eslint: { // 빌드 중에 ESLint 검사를 건너뜁니다 ignoreDuring..
NPM 설정
·
Project/JUSEYO
1.nginx proxy manager 관리콘솔에 접속http://:81초기 계정아이디 : admin@example.com비번 : changeme 2.NPM으로 리버스 프록시DOMAIN NAMES에는 백엔드 서버 주소 컨테이너 안에서 사용하므로 컨테이너 이름과 백엔드 서버 포트 번호 입력 3.NPM으로 HTTPS 설정
도메인 등록
·
Project/JUSEYO
1. dnszi 회원 가입2. 가비아에서 도매인 구매 1개의 도메인을 구매하면 www.user.site, api.user.site, blog.user.site 와 같이 여러 도메인을 사용할 수 있다. 도메인 구매시 DNS 서버를 dnszi 로 설정네임서버(Name Server) : 도메인 이름을 IP 주소로 바꿔주는 서버 3. vercel 에서 배포4. DNSZI 에서 레코드 등록 A Record : 도메인을 아이피로 직통 연결 접속이 빠름CName : 도메인을 별명과 연결 iP가 유동적일때프론트 서버 CNAME 등록 vercel -> project settings -> domains -> add CNAME 값 입력 백엔드 서버 ( api 서버) A Record 등록
EC2 배포 과정 (테라 폼&깃 허브 액션)
·
Project/JUSEYO
EC2→가상의 컴퓨터를 빌려줌 ex) 피시방 컴퓨터VPC→공간을 빌려줌 정확히 말하면 네트워크 ex) 피시방IAM → 루트 계정을 이용하면 탈취 위험이 크므로 정책(권한)을 위임한 계정, 공유 작업 시 사용 AWS GUI (콘솔) : 일일이 작업을 클릭으로 수행AWS CLI : 커맨드 작업어로 작업을 수행, 작업 효율 좋음, 설치 필요,권한 인증 필요 테라폼 : AWS 쉽게 사용할 수 있게 해줌 (AWS CLI 명령어를 학습하는 것에 대한 어려움)A(클라이언트) → B(테라폼) → C(AWS CLI) → D(AWS) IAM 액세스 키: AWS CLI 에서 내가 누구인지 증명하는 키(권한 인증)IAM 액세스 키를 이용해서 AWS CLI 에서 권한 인증함 먼저 테라폼을 이용해서 AWS 자원들을 쉽게 생성한..
StringToStatusConverter
·
Spring
폼 입력, URL 파라미터, JSON 등에서 들어온 문자열(String) 데이터를 우리가 만든 객체나 enum 등으로 자동 변환import org.springframework.core.convert.converter.Converter;import org.springframework.stereotype.Component;@Componentpublic class StringToStatusConverter implements Converter { @Override public Status convert(String source) { try { return Status.valueOf(source.trim().toUpperCase()); //앞뒤 공..
[Spring RestTemplate 오류 해결] – 공공 API 호출 시 “등록되지 않은 인증키” 문제 해결 과정
·
Snags
문제 상황공공데이터포털의 사업자 상태조회 API를 Spring Boot 서버에서 호출하려 했다.POST Content-Type: application/jsonBody: { "b_no": ["0000000000"] } Postman에서는 잘 호출되는데, Spring 서버에서는 400 Bad Request가 발생.에러 메시지{ "code": -4, "msg": "등록되지 않은 인증키 입니다."} Spring 로그HttpClientErrorException$BadRequest: 400 Bad Request"등록되지 않은 인증키 입니다." 그리고 나중에는 이런 오류도 등장java.lang.IllegalArgumentException: Invalid character '=' for QUERY_PARAM처음에 ..
[level 1] 달리기 경주 - 178871
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/178871?language=java) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🏃‍♀️ 달리기 경주 (Running Race)📝 문제 설명얀에서는 매년 달리기 경주가 열립니다.해설진들은 선수가 자기 앞 선수를 추월할 때 해당 선수의 이름을 부릅니다.즉, 호출된 선수는 바로 앞 등수의 선수를 한 칸 추월하게 됩니다.예시:현재 순위 → ["mumu", "soe", "poe"]해설진이 "soe"를 부르면 → "soe"가 "mumu"를 추월→ 결과 순위: ["soe", "mumu", "poe"..
프로젝트 회고: Hakple – 학원생 커뮤니티 플랫폼
·
Project
1. 프로젝트 개요프로젝트명: Hakple기간: 2025.04.03 ~ 2025.05.01팀 구성:이름 역할 GitHub 연락처박주호 (팀장)백엔드(팀장)@JAWSP@juhpark (Discord)고희은백엔드@heeeun-ko@heeeun_k (Discord)도상원백엔드@dark2138@dodoriaseu (Discord)황지윤백엔드@jiyuuuuun@jy3317 (Discord)김명수 (부팀장)백엔드(부팀장)@Kim-ms527@kim.m.s (Discord)한줄 소개:학원 수강생들이 자유롭게 소통하고 정보를 공유할 수 있는 커뮤니티 플랫폼.2. 사용 기술 스택BackendJava 21, Spring BootFrontendJavaScript, React, Next.jsDatabaseMySQL, Redis..
@MappedSuperclass - 공통 엔티티 베이스 클래스 만들기
·
Project/HakPle
1. @MappedSuperclassJPA의 공통 엔티티 속성을 정의할 때 사용하는 애너테이션이 클래스를 직접 엔티티 테이블로 만들지 않고,상속받는 엔티티 클래스가 이 클래스의 필드를 테이블에 포함시키도록 함.@MappedSuperclasspublic abstract class BaseEntity { @CreatedDate private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime updatedAt;} 사용 이유모든 엔티티에서 createdAt, updatedAt 같은 필드를 반복하지 않고,상속을 통해 공통 속성을 쉽게 재사용.2. @SuperBuilderLombok의 빌더 패턴 애너테이션으로, 상속 관계에서 빌..
Spring Boot application.yml 설정
·
Project/HakPle
다양한 실행 환경(dev, prod 등)에 따라 설정을 다르게 적용할 수 있도록 구성 application.yml (기본/공통 설정)모든 환경에서 공통적으로 적용되는 설정을 담는 기본 파일서버 포트 설정 (port: 8090)공통 JPA 설정 (DDL 자동 업데이트, SQL 출력)공통 로그 레벨custom.site의 기본값 설정 (프로파일에 따라 동적으로 바뀜)spring.profiles.active: dev → 기본 실행 환경은 dev로 설정됨# 공통 설정 파일server: port: 8090 # 서버 포트 설정spring: output: ansi: enabled: ALWAYS # 콘솔 로그에 색상 출력 profiles: active: dev # 현재 활성화된 프..