넘어졌으면 일어서서 다시 걷자 🐈My GitHub🐈

Projects/Resolve Problems 8

MySQL 컨테이너 한글 깨짐 현상 해결

개요11월 23~24일 무박 2일 동안 해커톤을 진행했다. 모든 문제를 해결하고 잠깐 멍한 상태로 쉬고 있었는데 갑자기 같은 팀원에게 배포 환경에서 MySQL을 확인해달라는 부탁을 받았다. 바로 정신차리고 알아보았는데, 한국어 데이터가 들어간 테이블을 조회해보니 전부 깨져서 '?'로 표시돼있었다. 이 때문에 API를 호출했을 때 한국어로 된 응답데이터가 전부 깨져있었던 것이다.  원인과 해결원인은 간단했다. MySQL의 텍스트 처리 설정이 올바르게 되지 않아서였다. 심플하게 말하자면 한글 처리를 못하니 처리하도록 설정을 변경해주면 된다. docker를 사용해서 배포했기에 docker-compose를 기준으로 설명하겠다. docker-compose.ymlcommand: - --character-se..

UnSupportedException

UnSupportedException 발생우테코의 프리코스 중 하나로 로또를 정해서 진행했다. 한동안 슬럼프(...)가 와서 기능명세서와 패키지 구조까지만 정리하고 나머지는 크게 생각 없이 진행했다. 어찌저찌 빠르게 완성하고 올렸는데 리뷰에서 많은 문제와 의문점을 제기 받았다.  정신없이 개인적인 일들을 처리하고, 기본적으로 주어지는 Test 코드에서 발생한 에러를 처리하기 위해 빠르게 진행했는데 UnSupportedException가 발생했다.   UnSupportedException 원인java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142) at..

Uncaught Error: [🍍]: "getActivePinia()" was called but there was no active Pinia.

개발환경 : Vue.js, vscode 개요와 해결 https://github.com/ViewGorithm/viewgorithm-frontend GitHub - ViewGorithm/viewgorithm-frontend: viewgorithm FrontEndviewgorithm FrontEnd. Contribute to ViewGorithm/viewgorithm-frontend development by creating an account on GitHub.github.com Viewgorithm 프로젝트를 진행하는 도중에 다음과 같은 에러가 발생했다. Uncaught Error: [🍍]: "getActivePinia()" was called but there was no active Pinia. Ar..

CommunicationsException: Communications link failure

개발환경 : Vue, spring, mysql, docker compose, redis 사건발생 프로젝트를 진행하다가 만난 녀석. 이 녀석이 발생하는 원인은 여러 가지라는데 실제로 이 문제를 해결해가는 와중에 여러 원인이 있었음을 발견했다. 시간도 참 오래 걸렸다. 위에서 작성했다시피 개발환경에서 spring 프로젝트를 dockerize해서 개발 서버에서 mysql, redis 이미지를 pull해와 docker-compose를 활용해 다중 컨테이너를 동시 관리하기로 했다. 그런데 계속 db 컨테이너와 spring 컨테이너에서 문제가 발생했다. 로그를 확인해보니 Caused by 문구에서 시작하는 각 로그가 결정적인 요인이었다. 대부분 'docker-compose.yml 내에서 오타가 있거나 활용을 잘못했..

FileNotFoundException

개요 java.io.FileNotFoundException: class path resource [path/data.json] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/C:/app/app.jar!/BOOT-INF/classes!/path/data.json  플젝 중에 또 만나버린 오류... File Not Found,  이름을 읽어보니 파일을 찾지 못한다고 한다. 지금까지 플젝에서 필수적인 데이터를 resouces 디렉터리에 넣고 테스트해왔다. 하지만 본격적으로 배포를 하니 이 부분에서 문제가 생겼다. File file = new ClassPathResource("파일경로..

NonUniqueResultException

JPA로 프로젝트 진행 중에 다음과 같은 에러메세지를 만났다. NonUniqueResultException: Query did not return a unique result: 3 results were return. "Non Unique Result" 유니크하지 않는 결과에 대한 에러다. 전체적으로 읽어보니 query 값이 하나만 반환돼야 하는데 3개가 반환 되는 것 아니겠나? 밥공기를 하나만 들고 갔는데 세 공기 분량을 주면 당연히 하나에 전부 못 담는다. (고봉밥 제외) public String getRice(String name){ Rice r = riceRepository.findByRiceName(name); return r.name; } 위와 같은 코드를 작성했다고 하자. 찾고자 하는 밥 종..

504 Gateway time out

프로젝트를 배포하고 테스트 도중에 브라우저 콘솔에서 위 제목과 같은 에러가 발생하였다. 이 에러가 왜 발생했을까.. 504 Gateway Time-out 오류는 클라이언트가 보낸 요청에 대해 제한 시간 내에 업스트림에서 응답을 보내지 않아 게이트웨이와 업스트림(upstream) 사이의 연결이 끊긴 것이다. 나는 GCP의 load balancer를 사용했지만 nginx가 더 널리 사용돼서 위 사진에서는 nginx가 사용됐다. GCP의 load balancer와 nginx 모두 게이트웨이의 역할을 맡고 있다. 그리고 downstream으로도 불린다. 반대로 tomcat 등의 was는 upstream으로 불린다. 해결 만약 위와 같은 504를 맞닥뜨렸다면 해결 방법은 두 가지다. 응답 제한 시간을 늘린다. 제..

javax.servlet.http.httpservlet, determined from the dynamic web module facet version (2.5), was not found on the java build path

spring tool suite4를 쓰는 과정에서 이와 같은 에러가 발생하였다. 툴을 4.18로 업데이트하거나 property에서 Dynamic Web facet version 2.5와 java build path를 손보면 된다. 업데이트는 넘어가고, 후자만 다루겠다. Add library를 클릭한다. Next 클릭 tomcat을 깔아야 한다. 가장 최신 버전 10.1.1을 누르고 finish 이후 apply를 누른다. Project facet으로 넘어간다. 사진에서는 아니지만 오류메세지에 뜬 내용대로라면 dynamic web module은 2.5로 되어 있을 것이다. 이것을 5.0으로 바꾼다. 여기까지 마치고 잠시 후면 오류는 사라져있다.

728x90
반응형