목록분류 전체보기 (318)
코딩공작소
1. 배치만들기완료여부에 완료가 되어있지 않은 데이터들에 대하여 매일 익일로 날짜를 옮겨주는 배치를 개발할 예정이다.ㄱ) 새로운 배치는 기존의 프로젝트에 그대로 같이 개발할 예정이다.--> 배치가 함께 있는 프로젝트는 개발적으로 그리고 인프라적으로 간단함을 수반하지만, 프로젝트가 커질수록 그런 방식으로 하면 안된다. 하지만 나는 일단 작은 개발프로젝트이고 배치도 한 건만 개발할 예정이므로 다른 프로젝트를 새롭게 만들기보다는 기존 프로젝트에 하기로 한다. ㄴ) 배치를 올리는 서비스는 AWS람다에 올릴 예정 그리고 이벤트왓치를 트리거로 사용하여 정기적으로 API호출 예정--> 기본적으로 간단한 로직으로 실행할 것이기 때문에 서버리스의 람다를 사용할 것이고, 주기적으로 실행되어야 하기때문에 이벤츠왓치 트리거를..

처음으로 EC2 터미널에서 도커를 설치해준다.sudo yum update -ysudo yum install docker -ysudo systemctl start dockersudo systemctl enable dockersudo usermod -aG docker ec2-user # 현재 사용자에 Docker 권한 추가 2. Docker 이미지 생성 .jar 파일을 실행하기 위해 Docker 이미지를 빌드해야 합니다.2.1. Dockerfile 생성EC2에서 실행 중인 .jar 파일과 동일 디렉터리에 Dockerfile을 생성합니다.# Java 기반 이미지를 사용FROM openjdk:17-jdk-slim# 컨테이너 내 앱 디렉터리 설정WORKDIR /app# 호스트의 .jar 파일을 컨테이너로 복사C..

일단 회원가입 시에 중복된 회원 및 아이디에 대한 유효성 검증을 개발했다.페이지 이동없이 API 응답 값을 전달받기 위해서는 ajax 및 RestController로의 변경이 필요했다. 회원가입 페이지에서 ajax를 통해 회원가입을 시켜주는 로직으로 변경설정 하였다.API응답 값에 따라서 그 다음으로의 동작들을 분기 처리했다. 그리고 변경된 API기존에는 로그인 페이지로의 뷰를 전달했었는데, 회원가입 로직을 처리하고 유효성 검증을 통해 바디값을 채워 전달하도록 변경하였다. 먼저 회원가입 시 전달받은 아이디를 통해 멤버를 조회해 기존의 멤버와 중복이 있는지 확인하는 로직을 추가해줬다.그리고 스프링 시큐리티 기능을 통해서 이미 인증된 회원의 정보를 가져오는 로직을 통해 멤버의 정보를 조회해서투두를 처음 등..

생각보다 간단할 줄 알았던 부분에서 이상한 오류때문에 며칠동안 애를 먹고 흥미가 떨어질랑말랑 하던 찰나에 간신히 오류를 수정했다. 일단)))스프리부트에서 타임리프를 사용하지 않고 jsp를 사용하려고 gradle.build를 건드리다가 뷰 리졸버 설정값이 꼬여보여서 뷰가 제대로 보여지지 않는 현상이 있었다.--> 다시 타임리프를 우선순위로 설정하도록 수정했다. 또한, 시큐리티 인증 부분에서 회원가입 로그인 부분을 다시 만져 회원가입 및 로그인이 가능하도록 했고, 시큐리티컨피그 파일을 통해 명시되어 있는 요청값만 허용할 수 있도록 보안을 설정하였다. [로그인 페이지]먼저 시큐리티필터함수를 살펴보면, 지정된 페이지 외의 값들은 로그인페이지로 보내도록 명시되어 있다.그리고 로그인성공시 홈으로 가서 기본 인덱스..

. 전체 구조 설계도메인 설계Member (회원): 회원 정보를 저장Todo (할 일): 회원과 연관된 Todo 데이터를 저장Spring Security 설정회원가입 (Signup)과 로그인 (Login) 기능 구현인증된 회원만 자신의 Todo를 CRUD 가능하도록 보호회원-할 일 연관Member와 Todo 간의 연관관계를 매핑 (1)API 구성회원가입: /api/members/signup로그인: /api/loginTodo CRUD: /api/todos/** Member 추가 및 스프링 시큐리티 로직 추가일단 대표적으로 로그인 보안기능을 사용하려면,스프링 시큐리티JWT OAuth방식의 인증방법이 있다.각각의 특징들이 있어서, 상황 별로 잘 선택해서 쓰면 된다. 나는 개인적으로, 자체적으로 관리해보고 싶어..

정말 오랜만에 자바스크립트를 개발했더니 머리가 아프다.똘똘한 쥐피티의 도움도 많이 받았다. 일단 기본적으로 포스트맨으로 테스트를 할 때는, Dto에 ReqeustBody어노테이션이 없어도 잘 통신이 되었는데, 검색을 좀 해보니 포스트맨과 서버 사이의 어느정도 자동으로 세팅되는 부분이 있어서 잘되었던 것 같다.그래서 프론트에서 요청을 날렸을 때, 데이터를 잘 못읽어오는 부분이 있어서 @ReqeustBody 어노테이션을 붙여주니까 잘 통신되었다. 재미로 만든 일정관리표(by.TH) Popup Title ..

package toyPJT.toypjt_v100.controller;import lombok.RequiredArgsConstructor;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.*;import toyPJT.toypjt_v100.domain.Todo;import toyPJT.toypjt_v100.domain.dto.todoDto;import toyPJT.toypjt_v100.service.TodoService;import java.util.HashMap;import java.util.List;import ..

기본적인 JPA CRUD와 AWS EC2, RDS세팅을 마치고,본격적으로 메인 화면을 구성하려한다. 나는 입사후에 홈페이지 개발파트에서 개발을 한적이 있는데, 그때는 주로 디자인적인 요소보다는 JS에서의 동적 함수들과 Ajax통신을 통신 프론트 역할의 서버단의 MVC패턴들을 개발해왔다.오랜만에, 프론트 개발을 하려고 하니 디자인 css는 기본중의 기본만 간신히 끄적여 본게 끝 밑바닥부터 개발하기란 불가능한 실력이다.그래서, 요즘 그렇게 개발자를 위협한다는 GPT에게 프론트화면단 개발을 맡기기로 해봤다. 결과적으로 매우 놀라운 경험을 했다..... 내가 던져준 이미지 요청한 텍스트1) 사진에 대한 간략한 설명을 해줄게 가로가 총 7개인 표 형태의 일정표를 관리하는 화면을 만들거야 가운데 블록에는 오늘을 기..

컨트롤러 단에 대한 테스트 코드 작성 전 서비스 단에 대한 테스트 코드를 먼저 검증해보기로 했다. 테스트 클래스 파일을 만드는 단축키는 shift + command + T 이다.기본적으로 테스트 코드를 짜기 위해 필요한 어노테이션에 대해 알아보자1. @SpringBootTest기능: 이 어노테이션은 스프링 부트 애플리케이션의 전체 컨텍스트를 로드하여 통합 테스트를 실행하는 데 사용됩니다. 즉, 애플리케이션을 실제 실행할 때처럼 모든 빈을 로드하여 테스트를 진행합니다.2. @RunWith(SpringRunner.class)기능: JUnit과 스프링의 테스트 실행기를 통합합니다. 스프링 컨텍스트에서 JUnit 테스트를 실행하는 데 사용됩니다.3. @Transactional기능: 테스트 실행 중에 트랜잭션을 ..

1) 처음에 mysql -u [계정] -p -h [DB엔드포인트이 명령어를 쳐서 EC2에서 접근하려고 했으나, mysql client 를 설치하라는 명령어가 나왔다. 2)설치하려고 보니까 EC2에 아직 EIP를 설정하지 않고 있었는데, 그런 경우 네트워크가 제대로 연결되지 않아 설치가 안된다고 한다.그리고 아웃바운드 규칙도 없었다. 3)EC2에 탄력적 IP 할당하기탄력적 IP를 생성하고 주소를 연결해준다** 이때 연결되지 않고 노는 IP가 있으면 과금이 된다고 하니 주의! IP를 할당해주고, 보안그룹에 아웃바운드 규칙도 추가해주었다. ++++)그렇게 탄력IP도 겸사겸사 할당하고 EC2의 아웃바운드 보안그룹 규칙도 새롭게 변경해주니, mysql client core가 성공적으로 설치되었다.그리고, 1) ..