본문 바로가기

🧑🏻‍💻 Dev/오류해결

(8)
[Spring | AWS EC2] AWS EC2에 @Schedule 기능 적용 시 시간 이슈 1. 문제 매일 00시 00분마다 작동되는 스케쥴러를 구현하기 위해서 다음과 같이 코드를 작성했습니다. @Scheduled(cron = "0 0 0 * * *", zone = "Asia/Seoul") @Transactional public void surveyScheduling() { log.info("[{}] 스케쥴러 작동 설문조사 데이터 정리", LocalDateTime.now()); LocalDate now = LocalDate.now(); List surveys = surveyRepository.findAllByStatusIsNot(SurveyStatus.REVERT); for (Survey survey : surveys) { if (isEnd(survey.getEndDate().toLocalDa..
@DataJpaTest Rollback 후 Id 초기화 안됨 1. 문제 Hibernate를 사용해서 간단하게 Customer 객체를 디비에 저장하는 save()와 모든 유저를 조회하는 findAll() 그리고, 단일 조회할 수 있는 findById()를 만들어서 테스트 중에 있었다. @Import(CustomerRepository.class) @DataJpaTest class CustomerRepositoryTest { @Autowired private CustomerRepository customerRepository; @Test public void findById_test() { // Given Customer customer = Customer.builder() .name("코스") .tel("0101111") .build(); customerReposit..
Mustache 사용해서 html 파일 읽을 때 한글 깨짐 1. 코드 구성 @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void configureViewResolvers(ViewResolverRegistry registry) { MustacheViewResolver resolver = new MustacheViewResolver(); resolver.setPrefix("classpath:/templates/"); resolver.setSuffix(".html"); registry.viewResolver(resolver); } } Mustache 템플릿 엔진을 사용해서 html 파일을 읽도록 설정을 해줬습니다. 로그인 페이지입니다. login.html ..
[오류해결] IntelliJ 커스텀 properties 자동완성 안되는 오류 크리티컬 한 오류는 아니지만 IntelliJ에서 작동이 안 되길래 찾아본 오류입니다. 🤔 문제발생 @ConfigurationProperties(prefix = "spring.thymeleaf")를 사용하여 사용자 정의 프로퍼티(spring.thymeleaf3)를 만드는 코드를 작성했습니다. 물론 main 메서드가 있는 클래스에서 해당 프로퍼티를 스캔할 수 있도록 @ConfigurationPropertiesScan도 붙여줬습니다. /* 앞 코드 생략 */ @Getter @RequiredArgsConstructor @ConstructorBinding @ConfigurationProperties(prefix = "spring.thymeleaf3") public static class Thymeleaf3Prop..
[오류해결] No serializer found for class (InvalidDefinitionException) 🤔 문제 발생 Request 요청을 위한 DTO로 사용하기 위한 클래스를 생성한 후 해당 객체를 ObjectMapper의 writeValueAsString() 메서드에 넣어 serialize 해서 json 데이터로 mvc에 content에 담아 POST 요청을 하는 테스트를 진행했습니다. # PlaceRequest.java 코드 @AllArgsConstructor public class PlaceRequest { private PlaceType placeType; private String placeName; private String address; private String phoneNumber; private Integer capacity; private String memo; public stat..
[오류해결] JSP img GET 요청 시 한글 깨짐 문제 상황 프로필 이미지를 업로드한 후 태그의 src로 해당 경로 요청했을 때, 한글이 깨지는 현상이 발생. 연두.png라는 사진 파일을 프로필 이미지로 업로드했고, DB에도 한글로 잘 데이터가 들어가 있는 것을 확인했다. 프로필에서 사용할 수 있는 DTO를 model에 담아서 jsp에 전달해 주는 Controller 로직을 작성했다. // UserController.java @GetMapping("/user/{pageUserId}") public String profile(@PathVariable int pageUserId, Model model, @AuthenticationPrincipal PrincipalUserDetails principal) { UserProfileDto dto = userSer..
[오류해결] 로컬에 있는 이미지 파일 JSP에서 사용하기 🙅🏻‍♂️ 오류발생 Springboot와 JSP를 사용하는 과정에서 외부 리소스(로컬에 저장되어있는 이미지 파일)를 JSP의 태그의 src로 사용하려고 했는데, 경로를 잘 지정해줘도 x박스가 계속 뜨는 문제에 직면 기존에 사용하던 방법은 다음과 같습니다. application.yml에서 file에 대한 경로를 커스텀하기 위한 설정을 먼저 진행했습니다. // application.yml file: path: /User/username/IdealProjects/imageStorage /User/username/IdealProjects/imageStorage 라는 경로에 있는 폴더에 이미지 파일을 저장하기 위해서 커스텀해놓은 것이다. 이렇게 application.yml에 넣어두면 @Value("${file.p..
[MAC M1] MariaDB ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' 해결 🙅🏻‍♂️ 오류 발생 지금까지 DB를 쓸 때는 항상 MySQL을 사용했었다. MySQL은 Homebrew를 통해서 다운로드 했고, 새로운 프로젝트 연습을 위해서 MariaDB를 사용해보려고 했다. 그래서 MariaDB를 다운로드 받는 방법을 따라서 다운로드 했고, 다운로드 완료 후 MariaDB 실행 과정에서 해당 오류가 발생했다. ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' 예전에 내 노트북은 아니고, 친구 노트북에서 해당 오류를 접했던적이 있었다. /tmp/mysql.sock 문제는 원인이 매우 많다고 한다. 그때는 뭔가 이것저것 다 건들다가 결국 안돼서 노트북을 그냥 밀어버렸던 기억이 있다. 🙆🏻..