전체 글


배포를 위해 EC2를 생성하던 중에 탄력적 IP에 대한 궁금증이 생겼다. 그래서 찾아보게 된 탄력적 IP ! 1. Elastic IP https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html 탄력적 IP 주소 - Amazon Elastic Compute Cloud이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.docs.aws.amazon.com AWS의 사용자 가이드에서 참고한 결과한 마디로 탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 고안된 정적 IPv4 주소이다.즉, 클라우드 환경에서..


1. JPA 설정 및 테이블 생성 2. Swagger 설정 3. Security Config 임시 설정 4. 프로젝트 구조 설정⬇️ 고민거리 더보기1. 계층형(레이어드) 구조- controller, service, repository, entity, config 패키지에 모두 모아두는 구조- 장점 : 구조가 직관적이고, SpringBoot가 특정 패키지를 스캔하도록 설정하기가 간단하다.- 단점 : 엔티티가 많아질수록 하나의 디렉토리에 파일이 많이 쌓이고, 기능별로 묶어서 관리하기는 어렵다.2. 도메인(기능)별 구조- 도메인(기능) 별로 entity, service, repository를 묶어 놓는 방식- 장점 : 기능 중심으로 파일이 묶이므로 해당 기능을 수정할 때 찾기 쉽다. 응집도가 높아짐- 단점 :..


1. 1차 MVP 기획 수정 2. DB 모델링 (1차) 3. 깃 레포지토리 생성 및 환경 세팅https://github.com/proejct-refrig/refrig-backend GitHub - proejct-refrig/refrig-backend: 우리집에 가면 프로젝트 백엔드 레포지토리우리집에 가면 프로젝트 백엔드 레포지토리. Contribute to proejct-refrig/refrig-backend development by creating an account on GitHub.github.com 4. 오류 포스팅https://hehesim.tistory.com/300 인텔리제이 빌드 시 failed to calculate the value of task ' compilejava' prope..


⚠️ 오류 화면프로젝트 생성 후 빌드 중에 이러한 오류 발생.failed to calculate the value of task ' compilejava' property 'javacompiler'자바 17버전을 선택했고, 프로젝트 설정에서는 17로 잘 설정되어 있었는데 어디서 프로젝트 버전이 안맞는거지!? 했는데 전체 Setting에서 불일치가 있었다.Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle Projects 내에서 Gradle JVM을 21에서 17로 일치 시켜주어야 한다. 그랬더니 빌드 성공!

1. 프로젝트 개요 (1차 MVP)프로젝트명 : 우리집에 가면 (공유하는 마이홈 냉장고 재고관리 시스템)버전 : MVP 1.0목표 식료품 및 생활용품의 재고를 디지털로 관리유통기한 알림을 통해 폐기 및 낭비를 줄이고, 적절한 시점에 소비공동 구성원(가족/룸메이트 등) 간 재고 공유주요 기능사용자 가입/인증그룹 생성/초대/관리재고(품목) CRUD유통기한 알림 (이메일/대시보드)간단한 대시보드 (현재 재고 목록, 임박 품목 표시) 2. 기능 상세 기획1) 사용자 가입 및 인증기능 개요- SNS 로그인만 사용- 로그인 시 JWT 토큰 발급- 로그아웃 시 클라이언트 측 토큰 폐기사용자 스토리SNS 로그인- 사용자는 SNS 로그인 버튼 클릭 후 SNS 인증 페이지로 리다이렉트 -> 사용자 로그인 후 SNS 측에서..


가제 : 우리집에 가면~🎶 1. 기획 배경몇 년간 동생과 동거해오며 느꼈던 불편한 점이 있었다. 우리 집은 미친듯한 냉장고/냉동실 포화 상태로 장 보는게 두려울 정도였다.무엇이 어디에 있는지도 잘 파악이 안되고, 유통기한이 지난 음식들도 제때제때 버리지 못했다.또한 서로의 생활패턴이 달라서 누가 재료를 사서 채워넣어도 냉장고에 뭐가 있는지도 제대로 알지 못한채 생활이 지속되기도 한다. 다 들어갈까?의 고민을 하며 장을 봐온지 4년째... 이제는 좀 변화가 필요하다고 느껴 토이 프로젝트로 개발을 시작하기로 했다. 홈메이트와 공유가 가능한 냉장고 재료 확인이 가능한 재고 관리 시스템! 여기에 추가로 살림 재고 관리도 가능하다면 하려고 한다. 2. 필요한 기능들을 기획해보자면1) 사용자 인증 및 권한 관..

4. HTTP와 HTTPS의 차이점더보기HTTP (HyperText Transfer Protocol): 클라이언트(브라우저)와 서버 간의 요청/응답 기반 통신 프로토콜. 브라우저가 서버에 요청을 보내면 서버가 응답을 반환한다.- 평문 통신 : 데이터를 암호화하지 않고 전송하므로 네트워크 상에서 데이터를 가로채기 쉽다.- 포트 : 기본적으로 80 포트를 사용한다.- 속도 : 암호화가 없기 때문에 속도가 약간 빠르다- 단점 : 로그인 정보, 결제 정보 등 민감한 데이터를 보호하지 못하여 보안에 취약하다. HTTPS (HyperText Transfer Protocol Secure): HTTP에 SSL/TLS(암호화 프로토콜)를 추가한 보안 통신 프로토콜. 데이터를 암호화하여 전송하며, 서버 인증서를 통해 서버..

1. 싱글톤 패턴더보기싱글톤 패턴 특정 클래스의 인스턴스가 하나만 존재하도록 보장하고, 이 인스턴스를 전역적으로 접근할 수 있게 하는 디자인 패턴. 이를 통해 시스템 리소스를 효율적으로 사용하고, 동일한 상태를 유지해야 하는 객체를 쉽게 관리할 수 있다. - 프로그램 내에서 하나의 객체만 존재해야 한다.- 프로그램 내에서 여러 부분에서 해당 객체를 공유하며 사용해야 한다. ex. 데이터베이스 연결 모듈 장점- 메모리 절약 : 하나의 인스턴스만 사용하므로 불필요한 객체 생성을 방지- 전역 상태 공유 : 애플리케이션 전역에서 동일한 상태를 유지하며 접근 가능- 객체 관리 용이 : 인스턴스를 중앙에서 관리하여 효율적인 자원 활요 단점- 테스트 어려움 : 전역 상태를 공유하기 때문에 테스트 환경에서 각 테스트마..


1. 캐시 기본 동작 1) 캐시가 없을 때- 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 함.- 인터넷 네트워크는 매우 느리고 비싸다.- 브라우저 로딩 속도가 느리다.- 느린 사용자 경험 2) 캐시 적용- 캐시 가능 시간동안 네트워크를 사용하지 않아도 됨.- 비싼 네트워크 사용량을 줄일 수 있음.- 브라우저 로딩 속도가 매우 빠르다.- 빠른 사용자 경험>> 첫 번째 요청 시 캐시가 유효한 시간을 서버에서 응답으로 보내면 > 클라이언트에서 받아 브라우저 캐시에 저장>> 이후 새로 요청이 왔을 때 브라우저 캐시를 먼저 살피고 유효시간이 초과되지 않으면 캐시에서 조회할 수 있음.>> 만약 캐시 시간이 초과될 경우 다시 클라에서 서버로 요청을 보내고 다시 같은 형식의 응답을 보내주면..