2025/01 29

[AWS] EC2에 postgreSQL 설치

# 패키지 목록 업데이트sudo apt update# PostgreSQL 설치sudo apt install postgresql postgresql-contrib# 서비스 상태 확인sudo systemctl status postgresql# 서비스가 실행 중이지 않다면 시작sudo systemctl start postgresql # postgres 사용자로 전환sudo -i -u postgres# PostgreSQL 프롬프트로 이동psql 데이터베이스 만들기create database Kkrap; -- 새로운 데이터베이스 생성CREATE DATABASE your_database_name;postgres=# CREATE USER 사용자이름 WITH PASSWORD '비밀번호 설정'; PostgreSQL 원격..

Server/AWS 2025.01.06

[AWS] EC2를 사용해서 AWS 배포

aws 로그인 해서 인스턴스 검색 인스턴스 시작   공짜 버전인스턴스 유형은 프리티어를 사용하고 있다면 t2.micro 로 설정해주셔야 합니다.다른 유형으로 설정하면 과금요소가 추가됨 키페어 다운로드 했는데 내 Mac → Key에 있음 네트워크 설정    이제 생성한 인스턴스의 보안 그룹을 수정보안 그룹이란?AWS 에서 제공하는 방화벽으로 인바운드 규칙, 아웃바운드 규칙이 존재함인바운드 규칙(inbound) : 외부에서 EC2나 RDS 등의 내부로 접근할때 사용되는 방화벽 규칙아웃바운드 규칙(outbound) : EC2나 RDS 등의 내부에서 외부로 접근할때 사용되는 방화벽 규칙우리는 EC2에 접속해서 서버를 띄우는것이 목적이기 때문에 인바운드 규칙만 건드려주도록 하자EC2 메뉴의 네트워크 및 보안 탭의..

Server/AWS 2025.01.05

EC2 개념

배포를 하기전 개념을 먼저 알고 가자EC2 ( Elastic Compute Cloud) 란 ❓아마존 웹에서 제공하는 클라우드 컴퓨팅 서비스클라우드 컴퓨팅은 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨터 서비스를 제공 → AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌린 것후불제 PC과 같이 사용한 만큼 비용을 지불하기 때문에 탄력적인이란느 의미의 Elastic이라는 단어가 붙음. Elastic은 비용적인 부분뿐만 아니라 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 가지고 있다결론EC2서비스는 AWS에서 비용, 성능, 용량면에서 탄력적인 클라우드 컴퓨터를 제공하는 서비스라고 할 수 있다EC2를 사용해야 하는 이유효율성 : 클릭 몇 번으로 서버를 생성할 수..

Server/EC2 2025.01.05

[Spring boot] @ResponseEntity @ResponseBody 차이

ResponseEntity는 응답 헤더, 본문 양식을 맞추어 반환하므로 @ResponseBody자바 스프링 부트에서 @ResponseEntity와 @ResponseBody는 모두 컨트롤러에서 HTTP 응답을 작성할 때 사용되지만, 그 목적과 사용 방식에 차이가 있다@ResponseBody@ResponseBody는 메서드가 반환하는 객체를 HTTP 응답 본문으로 직렬화하여 클라이언트에 직접 전송하도록 하는 어노테이션용도: 주로 RESTful API를 구현할 때 사용하며, 메서드의 반환 값을 JSON이나 XML과 같은 형식으로 변환하여 클라이언트에 전송기본 동작: 메서드가 반환하는 객체는 HttpMessageConverter에 의해 변환되어 HTTP 응답 본문으로 사용ex → "Hello, World!" 문..

[Spring boot] Link 데이터베이스 생성, 기능 추가

LinksControllerpackage com.Kkrap.Controller;import com.Kkrap.RequestDTO.LinksDTO;import com.Kkrap.RequestDTO.LinksDeleteDTO;import com.Kkrap.ResponseDto.LinksResponseDTO;import com.Kkrap.ResponseDto.MessageResponseDTO;import com.Kkrap.Service.LinksService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.web.bi..

[Spring boot] JPA 쿼리 메서드 네이밍 및 테이블 및 칼럼 이름 매핑

Spring Data JPA에서 쿼리 메서드 네이밍은 메서드 이름을 기반으로 SQL 쿼리를 자동으로 생성하는 방식이를 통해 개발자는 SQL을 직접 작성하지 않고도 데이터베이스에 접근하고 원하는 데이터를 조회가능1. 쿼리 메서드 네이밍 규칙Spring Data JPA는 쿼리 메서드 이름을 다음과 같은 규칙에 따라 작성findBy: 데이터를 조회할 때 사용countBy: 데이터의 개수를 셀 때 사용deleteBy: 특정 조건에 맞는 데이터를 삭제할 때 사용existsBy: 특정 조건에 맞는 데이터가 존재하는지 확인할 때 사용위의 키워드 뒤에는 필드 이름이 오게 된다. 필드 이름은 엔티티 클래스의 속성과 일치해야 함ex → Users 엔티티에 email이라는 필드가 있다고 가정하면, 이메일로 사용자를 찾기 위..

[Spring boot] users 데이터베이스 생성과 로그인

카카오 로그인을 한 후 응답값을 고민을 좀 해봐야한다.postgreSQL문으로 User table을 만들어보자 PostgreSQL에서 User → 예약어라서 Users로 하던지 “User”로 해야됨 create table User(user_id INT auto_increment, email VARCHAR(100) not null, nickname VARCHAR(100) not null, profile VARCHAR(2000), primary key(user_id));ERROR: syntax error at or near "User"LINE 1: create table User(user_id INT auto_increment, email VARCHAR(... User 클래스 이지만 테이블에 실제 이름은 ..

[Spring boot] 카카오 로그인 Oauth 2.0

카카오 디벨로퍼 사이트 접속Kakao Developers Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 내 애플리케이션에서 앱 이름, 사업자 정보 등 기입 사업자 정보는 그냥 앱이름이랑 같이했음이렇게 4가지가 있는데 REST API 키를 복사한다 이게 서버에서 사용할 client-id값이 된다.밑에 플랫폼에 들어가서 이렇게 작성 이제 여기에 들어가주면 됨동의 항목 설정이메일도 필요하니이제 활성화 설정을 on을 해주고리다이렉트 url을 이렇게 작성하는데 밑 처럼 작성을 한다.Spring OAuth2 Client 라이브러리를 사용하면 기본적으로 Red..

[Spring boot] java22 → java21 컴파일 변경

갑자기 이런 에러가 나온다..찾아보니 현재 자바 22가 베타 버전이라서 그럴 수 있다라고 하는 것임 그래서 자바 21로 컴파일을 진행해보자Executing pre-compile tasks…Running 'before' tasksChecking sourcesParsing java… [Kkrap.main]java: error: invalid target release: 22Checking dependencies… [Kkrap.main]Dependency analysis found 0 affected filesErrors occurred while compiling module 'Kkrap.main'javac 21.0.2 was used to compile java sourcesFinished, saving ..