본문 바로가기

오류-해결7

[Next.js] Module not found: Can't resolve 'child_process' 오류 원인 및 해결 Next.js로 생성한 프로젝트에 MongoDB 호스팅 데이터베이스를 연결했는데, 아래와 같은 오류가 발생하였다. "Module not found: Can't resolve 'child_process'" 에러는 일반적으로 프론트엔드 코드를 실행할 때 Node.js 전용 모듈인 'child_process'를 사용하려고 할 때 발생한다. 보통 'child_process'는 서버 측에서 외부 프로세스를 실행하거나 시스템 명령을 실행할 때 사용되는데, 나는 프론트엔드 코드에서 이를 사용하려고 했고, 이를 대체할 수 있는 다른 방법을 찾아서 해당 부분을 수정해야 하는 것. 프론트엔드 코드와 DB를 연결하려고 했으니, API 라우팅을 사용하여 API 엔드포인트를 만들고, 프론트엔드에서는 해당 엔드포인트를 호출하여 .. 2024. 2. 28.
[Java] BCryptPasswordEncoder 암호화 오류 원인 및 해결 유저의 비밀번호 변경 기능을 구현하던 중, 암호화와 관련된 오류의 원인과 해결 과정을 기록하려고 한다. 우선 리액트에서 axios로 유저의 아이디,기존 비밀번호,변경할 비밀번호를 전달 받은 후 유저 테이블에 저장된 비밀번호와 입력받은 비밀번호를 비교해 일치할 경우, 변경할 비밀번호로 업데이트하려고 계획을 세웠다. 여기서 주의해야 할 점은 비밀번호가 테이블에 저장될 때 BCryptPasswordEncoder로 암호화되었기 때문에 유저가 전달한 기존 비밀번호를 그냥 비교하는 것이 아니라 BCryptPasswordEncoder를 이용해 암호화해야 한다는 것이었다. 위처럼 메소드를 만들어 호출했더니 비밀번호 불일치가 콘솔에 찍혔다. 사용자가 전달한 기존 비밀번호 값이 암호화되어 저장되었으니 비교할 때도 암호화 .. 2023. 9. 6.
[Java] JavaMailSender 이메일 한글 인식 오류 원인 및 해결 SMTP 인증과 Google 계정 보안 문제도 해결 후 이메일 발송이 정상적으로 처리되는 것을 확인했다. 그런데.. 메일을 확인했더니 또 한번 오류에 부딪히고 말았다. 제목은 잘 전달되었는데, 메일의 내용 중 한글 부분만 제대로 인식을 못하는 문제였다. 아이디 찾기 결과 {{userName}} 님의 SFDB 아이디는 '{{userId}}' 입니다. 메일 내용을 전달하는 html 파일의 일부인데 딱 한글 부분만 인식을 못하고 있었다. 처음에는 인코딩 문제이겠거니 싶어 태그에 'UTF-8'을 작성해보기도 하고, 스프링부트 설정도 다시 확인해봤지만 어떻게 해도 인코딩이 되지 않아 문제가 반복되었다. 라이브러리 문제인가 싶어 freemarker를 thymeleaf로 수정해보았는데도 오류는 여전했다. 차근차근 되.. 2023. 8. 31.
[Java] JavaMailSender "javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted." 오류 원인 및 해결 JavaMailSender STARTTLS 인증 오류를 해결한 후 또 다른 에러가 발생하였다.. 에러 메시지는 아래와 같았는데 [Request processing failed; nested exception is org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials e8-20020a62ee0800000.. 2023. 8. 31.
[Java] JavaMailSender "com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first." 오류 원인 및 해결법 스프링부트에서 JavaMailSender로 이메일 발송 기능을 구현 중 여러가지 오류가 발생하여 고치는데 꽤 애를 먹었다.. 첫번째 오류는 아래와 같은 메시지를 포함하고 있었다. Failed message 1: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. y4-20020aa78544000000b00679a4b56e41sm293970pfn.43 - gsmtp ] with root cause org.springframework.mail.MailSendException: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 .. 2023. 8. 31.
[MyBatis] Parameter not found. Available parameters are [arg1, arg0, param1, param2] 이슈 리액트에서 회원 정보 변경 데이터를 백엔드로 전달해 업데이트 로직을 구현하던 중, xml 파일의 쿼리문에서 [MyBatis] Parameter 'newUserName' not found. Available parameters are [arg1, arg0, param1, param2] 라는 오류가 발생하였다. UPDATE user SET userName = #{newUserName} WHERE userId = #{userId} 분명 'newUserName' 데이터가 정상적으로 전달되었고, 쿼리문도 틀린 부분이 없어 헤매다가 'Parameter' 에서 힌트를 찾을 수 있었다. 원인 변경 전 메소드 public int changeUserName(@RequestBody Map requestData) { //re.. 2023. 8. 29.
[MyBatis] 스프링 부트 MyBatis 에러 발생과 해결 스프링 부트와 MySQL DB를 연동하여 간단한 로그인/회원가입을 처리하는 기능을 구현하려고 하였다. 브라우저에서 입력 받은 아이디와 비밀번호를 전달하면 백엔드 서버 - DB를 거쳐 일치하는 값이 있으면 성공, 없으면 실패를 반환하도록 설정하였다. 에러 발생 그런데 요청을 보내면 계속해서 해당 오류가 발생하여 작업을 수행하지 못했다. org.apache.ibatis.binding.bindingexception invalid bound statement not found 검색해보니 DAO (데이터베이스 접근) 객체와 DB 데이터를 매핑해주는 Mapper.xml 파일에서 오류가 일어나는 것으로 판단해볼 수 있었고, 꽤나 흔하게 나타나는 오류인 듯 하였다. 관련된 정보를 많이 찾을 수 있었으나 해결하는데 꽤 .. 2023. 7. 21.