본문 바로가기

분류 전체보기72

[AWS] Elastic Beanstalk 상태 unknown 오류 해결방법 Elastic Beanstalk에서 애플리케이션을 생성하고 환경 생성을 하려고 하니 다음과 같은 오류가 발생하였다. The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. 정상적으로 수행했을 경우 상태가 OK로 되어야 하지만 unknown 상태가 되어 환경을 생성하지 못하였다. 해결방법 1. AWS의 IAM - 역할에 들어가 역할 만들기를 누른다. 2. AWS 서비스와 EC2를 체크하고 다음으로 넘어간다. 3. 3가지 정책을 선택한 뒤 다음을 누른다. AWSElasticBeanstalkWebTier AWSElasticBeanstalkWorkerTier AWSElasticBeanstal.. 2023. 5. 18.
[JSCODE] Elastic Beanstalk을 통한 배포 이번에는 AWS의 Elastic Beanstalk을 통해 지금까지 진행했던 프로젝트를 직접 배포해보기로 하였다. Elastic Beanstalk AWS EB란 upload 하는 것만으로 AWS 인프라에 애플리케이션을 쉽게 설정해주는 클라우드 배포 서비스이다. EC2 같이 여러가지 세부적인 세팅을 하지 않고 간편하게 앱을 배포하고 싶을 때 사용할 수 있다. 장점 적은 비용으로 배포가 가능하다. 비교적 쉽게 서버를 설정하고 변경 가능하다. 간단하게 배포할 수 있다. 단점 서버의 세부적인 설정을 다루기 위해서는 .ebextensions에 대한 지식이 필요하다. 특정 언어에 대해서만 배포를 지원한다. EB를 통해 배포를 해보는 것은 처음이었기 떄문에 여러가지 설정해 줘야할 것이 많았다. 문제상황 애플리케이션을 .. 2023. 5. 17.
[JSCODE] 유효성 검사, 예외처리 및 API 문서 작성 유효성 검사, 예외처리 게시글 작성 기능 게시글 제목, 내용은 필수적으로 포함해야 한다. 제목은 1글자 이상 15글자 이하여야 한다. 내용은 1글자 이상 1000글자 이하여야 한다. 제목은 공백으로만 이루어질 수는 없다.\ 특정 게시글 조회 기능 게시글의 id(PK, primary key)로 특정 게시글을 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 응답하기 특정 게시글 수정 기능 게시글 작성할 때의 유효성 검사 조건과 동일하게 가져가야 한다. 특정 게시글 삭제 기능 게시글의 id(PK, primary key)로 특정 게시글을 삭제하기 위해 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 응답하기 게시글 검색 기능 검색 키워드는 공백을 제외한 1글자 이상이어야 한다. 위와 같은 기능.. 2023. 5. 14.
[JSCODE] 익명 게시판 서비스 개발 시작 8주 차 동안 스터디를 통해 백엔드의 전반적인 프로젝트 진행방식에 대해 배우고자 한다. 오늘은 1회 차에 학습한 내용에 대해 정리해 보겠다. 1회 차에는 개발 환경 세팅 및 기본적인 CRUD 기능에 대해 구현하는 것을 목표로 했다. 배운 내용, 고민한 점 ERD가 복잡한 것이 아닌 지금은 Board 하나로만 기능을 구현하는 것이기 때문에 기본적인 설계는 어렵지 않았다. 내가 가장 고민한 부분은 엔티티와 dto 간의 변환 위치와 방법이었다. 엔티티와 dto 변환 먼저 컨트롤러에서 변환하는 것에 대해 생각해 보았다. 컨트롤러에서는 외부의 요청을 처리하고 다시 내보내는 작업을 수행하는데 여기서 dto를 엔티티로 변환하여 의존성을 추가하는 것이 아쉽다고 생각했다. 차라리 비즈니스 로직을 처리하는 서비스 계층에서.. 2023. 5. 11.
[JPA] @ElementCollection, @CollectionTable을 통한 값 타입 컬렉션 사용법 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체이다. 값타입 분류 기본값 타입 자바 기본 타입(int, double) 래퍼 클래스(Integer, Long) String 임베디드 타입(embedded type, 복합 값 타입) 컬렉션 값 타입(collection value type) 값 타입 컬렉션 값 타입을 컬렉션에 담아서 사용하는 것을 값 타입 컬렉션이라고 한다. //기본 값 타입 컬렉션 List stringlist = new ArrayList(); //임베디드 값 타입 컬렉션 Set addressSet = new HashSet(); 만약 다음과 같이 데이터베이스 안에 값 타입 컬렉션을 저장하려면 어떻게 해야 할까? 기본적으로 관계형 데이터베이스에는 .. 2023. 4. 22.
[WebGoat] SQL Injection(intro) 9번 ~ 13번 풀이 9번 last_name 안에 적절한 쿼리를 입력해서 모든 유저의 테이블을 볼 수 있게 하는 문제이다. 이 문제를 풀기 위해서는 SQL의 where문 안의 우선순위를 알아야 한다. where문 안에 and와 or가 같이 있다면 and를 먼저 수행하고 or를 나중에 수행한다. where안의 조건이 항상 true가 되기 위해서는 다음과 같이 SQL를 만들면 된다. SELECT * FROM user_data WHERE first_name = 'John' AND last_name = '' or '1'=1'; first_name과 last_name의 true 여부와 관계없이 or 문 뒤에 '1' = '1'는 항상 true이기 때문에 where문은 항상 true가 된다. 10번 Login_Count와 User_Id에.. 2023. 4. 8.