본문 바로가기
[Node.js]병렬처리를 위한 Promise.all() vs Promise.allSettled() 배경 해당 프로젝트의 경우 AWS S3에 이미지 파일을 업로드하고 S3 업로드된 이미지 파일을 네이버 CLOVA OCR API로 전송해 이미지에서 텍스트를 추출해야 한다. S3에 Promise.all()을 통해 병렬 업로드하고 이미지 업로드에 성공하면 OCR 추출 단계로 넘어가 다시 Promise.all()을 사용해 CLOVA OCR API에 요청을 보낸다. 현재 코드 예시 export const put = async (req, res) => { try { const uploadedFiles = req.files; // 병렬로 이미지 업로드 진행 const s3Results = await Promise.all(uploadedFiles.map(putImage)); // 각 파일의 업로드 성공 여부를 확인 .. 2023. 11. 21.
Spring boot 프로젝트 AWS 배포 오류 해결기록(8) 1. 문제점: Permission Denied 이번 프로젝트를 배포할 때 가장 시간을 오래 끌었던 문제가 이 Permission Denied 에러였다. 무엇 때문에 어디에 접근하는 권한이 거절되었는지 확인하기 위해 vim nohup.out 명령어를 입력해 로그를 확인해보았다. 데이터베이스가 있는 url 자체를 찾지 못한다고 한다. application.properties는 ec2에 올려져 있었고 같은 똑같은 application.properties 내용으로 로컬에서 실행할 때는 별 문제가 없었는데 서버에서 실행하니 url이 지정되어 있지 않아 DataSource를 설정할 수 없다고 한다. application.properties에는 spring.datasource이라는 prefix가 붙은 채로 url과 .. 2022. 9. 16.
Spring boot 프로젝트 AWS 배포 오류 해결기록(7) 1. 문제점: Exception during pool initialization - CommunicationsException: Communications link failure 배포된 후에 로컬에선 잘 작동하던 기능을 실행하니 해당 에러가 떴다. 말 그대로 데이터베이스 연결이 실패한 것이다. SQL Exception: connection refused, SQL Exception: connection denied와 마찬가지로 CommunicationsException: connections link failure 에러는 데이터베이스에 전혀 연결되지 않았다는 걸 의미한다. 2. 문제 해결을 위해 확인해볼 사항들 application.properties에서 확인해 볼 것들 URL이 정확한지 확인한다. POR.. 2022. 9. 7.
Spring boot 프로젝트 AWS 배포 오류 해결기록(6) 블로그를 만든 뒤에 왜 포스팅을 자주 하지 못 했는지 알겠다. 이 에러만 해결하고 포스팅해야지, 해야지 하면서도 에러랄 게 끝난 적이 없어서 그런 것이었다. 그래도 자주 기록해서 한 번 본 에러는 처음보다 더 수월하게 해결할 수 있도록 해야겠다. 1. 문제점 [THYMELEAF] Exception processing template - An Error happened during template parsing https://catch-115.tistory.com/entry/Spring-boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-AWS-%EB%B0%B0%ED%8F%AC-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%EA%B8%B0%EB%A1%9D5 Sp.. 2022. 9. 6.
Spring boot 프로젝트 AWS 배포 오류 해결기록(5) 1. 문제점: [THYMELEAF] Exception processing template - Error resolving template 배포 스크립트인 deploy.sh를 nohup으로 실행하는 데 까지는 성공했으나 뷰 페이지를 불러오는 데에 타임리프 에러가 발생하였다. 2. 원인 template might not exist ot might not be accesible by any of the configured Template Resolvers 타임리프의 Template Resolver가 view에 사용된 html의 디렉토리 인식을 하지 못 해 발생하는 에러이다. IDE에서는 정상적으로 작동하지만 bootJar를 통해 배포한 경우, 배포한 페이지에서 이런 에러가 발생한다고 한다. 컨트롤러에서 vie.. 2022. 9. 3.