목록springboot (3)
nhyunzi
application.yml이나 application.properties 파일에 DB 비밀번호 또는 키 값을 명시해두는 경우 중요 정보들이 외부로 노출되어 위험할 수 있다. 해결 방법 1. application.properties 파일을 .git ignore 파일에 추가하여 git push시 이 파일을 제외하도록 하는 방법협업자들이 각자 application.properties파일의 사본을 갖고 있고 나머지 코드만 push하여 application.properties파일은 원격 레포지토리에 업로드 되지 않도록 하는 방법이다. 하지만 application.properties파일이 존재하지 않으면 Spring Boot애플리케이션의 설정 정보가 없기 때문에 빌드와 배포가 정상적으로 수행되지 않을 수 있다. ..
스크랩북의 항목을 다중 선택하여 삭제할 때, 마지막 선택 항목만 삭제되는 문제가 있었다. 1. 덮어쓰기 문제 itemIds = $(this).data('item-id');를 사용해서 선택된 항목의 ID를 배열에 추가할 때, 새로운 값이 이전 데이터를 대체했다.이로 인해 배열에는 마지막으로 선택된 항목의 ID만 남게 되고 다른 선택 항목들은 사라지게 됐다. 2. 직렬화 문제$('#delete-item-ids').val(itemIds);를 사용하면 배열의 내용이 아닌 그 배열의 참조가 저장됐다. 이렇게 저장된 데이터가 서버에 전송될 때는 배열의 내용이 아닌 단일 항목 정보로 처리되어, 실제로 삭제해야 할 여러 항목의 ID가 서버로 전송되지 않았다. 해결 방안1. push() 메서드 사용기존 데이터를 유..
파이널 프로젝트 초기 단계에서 회원가입 로직을 우선적으로 개발하였고, 이 과정에서 Userservice에서 JavaMailSender를 주입하고 랜덤 코드를 발생시켜 인증 메일을 발송하는 기능을 구현했다. 이후 다른 팀원이 이메일 인증 기능을 모듈화하기 위해 MailService를 별도로 만들었지만, 시간 제약으로 인해 기존에 작성한 UserService와 통합을 하지 못했다. 이로 인해 코드 중복이 발생하고 가독성이 저하되는 문제가 발생했다. 이러한 문제를 해결하기 위해, 메일 발송 기능을 MailService로 통합하고 Userservice에서는 해당 MailService를 주입하여 사용하는 방식으로 수정했다. [기존 코드 : Userservice와 Mailservice 별도의 메일 발송 기능]@Se..