SSAFY(프로젝트)/1) relpl - Trouble Shooting
-
[Trouble Shooting] 경로가 제대로 나오지 않는 문제 - 2SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 24. 02:51
1. 문제상황DB를 구축하고 가중치 식 까지 만든 뒤 잘 나오는 JSON을 보고 안심하고 있었지만,앱에서 직접 경로를 그려보니 위와 같은 문제가 있었다. 문제는 크게 두 가지가 있었는데1. 가중치가 동일할 수가 있다.2. 도로로 제공되는 그래프의 방향성이 2가지였다.(목적지로 가는 그래프, 출발지로 가는 그래프) 이 글에서는 2번 내용에 대해 작성하겠다2. 고민해본 내용기존에 알고리즘 문제를 풀 때 보통은 그래프의 방향성이 있고잘 이으면 모든 각각의 간선들이 출발지 > 목적지로 동일한 방향성을 가지기 때문에 고려하지 못했다. 하지만 우리는 데이터를 Tmap Api를 이용해 구축했고혹시몰라 이 데이터는 양방향 그래프로 넣었지만 실제 도로는 방향성을 가지고 있어 문제가 생겼다. 예를들면 아래와 같은 문제가 ..
-
[Trouble Shooting] 경로가 제대로 나오지 않는 문제 - 1SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 24. 02:42
1. 문제상황DB를 구축하고 가중치 식 까지 만든 뒤 잘 나오는 JSON을 보고 안심하고 있었지만,앱에서 직접 경로를 그려보니 위와 같은 문제가 있었다. 문제는 크게 두 가지가 있었는데1. 가중치가 동일할 수가 있다.2. 도로로 제공되는 그래프의 방향성이 2가지였다.(목적지로 가는 그래프, 출발지로 가는 그래프) 이 글에서는 1번 내용에 대해 작성하겠다2. 고민해본 내용일반적인 상황에서는 나오지 않는 문제이고, 기존에 알고리즘 문제를 풀 때 이런 케이스는 없었기 때문에 고려를 안하고 있었다. 하지만 출발점과 목적지가 있을 때 가중치가 완벽히 동일한 경로가 나올 수 있고, 이 경우 경로를 그리는데 문제가 생길 수 있다. 예를들면 아래와 같은 문제가 생긴다. A에서 D로 가기 위한 최소비용은 15이고, 그..
-
[Trouble Shooting] 추천 경로 계산 시간이 너무 느린 문제SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 12. 21:54
1. 문제상황이 글에서의 방식으로 DB에 데이터를 쌓았고 해당 데이터를 바탕으로 길찾기 기능을 제공해야 한다.데이터베이스에 시작점, 끝점, 거리를 모두 잘 정리되어 있는 상태이다.길찾기 기능은 최단경로/추천경로 두 가지를 제공하고 예상은 했지만 생각보다 경로 계산이 더 느린 이슈가 발생했다.(10초 정도 소요)2. 고민해본 내용경로 추천 기능의 코드를 대략적으로 설명하면 아래와 같다.* 경로 추천 방법* 1. 입력된 시작점, 끝 점으로 부터 가장 가까운 DB에서 관리하는 시작점과 끝 점을 DB에서 검색* 2. DB에서 도로에 사용하는 모든 정점의 개수 가져오기 select count(*) from pointHash* 3. RoadInfo DB에서 정점(도로의 시작점 & 끝점)과 길이(최단경로) 가져오고,..
-
[Trouble Shooting] 환경변수를 배포 파이프라인에서 인식하지 못하는 문제SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 12. 21:18
1. 문제상황이 글에서 보안적인 측면을 신경쓰기 위해 포트, ID, Password, Jasypt key같은 환경 변수들을 전부 인텔리제이 내에 환경변수로 따로 빼두었다.그리고 현재 프로젝트는 깃랩 러너를 이용해 CI/CD를 구축했는데 환경변수가 없어서 재대로 배포가 안되는 문제가 생겼다.빌드부터 안되길래 원인 파악을 하다 보니 환경변수들을 몰라 Jasypt로 암호화한 DB에 접근하지 못해 문제가 생기는것을 확인했다.2. 고민해본 내용처음 환경변수들을 Jasypt로 암호화하기 전에 고민했던건 env.properties 파일을 따로 만들고, 이 파일을 도커에서 접근하도록 하려고 고민했었다.하지만 도커를 처음 써보는 입장에서 도커 안에 빌드에 필요한 yml파일을 넣고 파이프라인에서 이를 참조하도록 하는 작업..
-
[Trouble Shooting] TMap Api 요청 도중 Api 키가 정지된 문제SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 12. 16:52
0. 도로 데이터를 넣는 법도로 데이터를 어떻게 DB에 쌓을 수 있을까?를 고민하기 위해 여러 API를 찾던 도중TMap Api에 가까운 도로 찾기 Api를 발견하게 되었다.https://tmapapi.sktelecom.com/main.html#webservice/sample/WebSampleNearToRoad해당 Api를 간략히 설명하면, 지도의 한 점을 찍으면, 해당 점에서 가장 가까운 도로 데이터를 반환해주는 Api이다.{ "resultData": { "header": { "laneType": 1, "tollLink": 0, "speed": 50, "roadName": "인동가산로", ..
-
[Trouble Shooting] MongoDB가 해킹 당한 문제SSAFY(프로젝트)/1) relpl - Trouble Shooting 2024. 2. 12. 16:07
1. 문제상황 프로젝트 3주차쯤 별 생각없이 디비를 확인하던 도중 몽고DB의 모든 데이터가 사라져있고,살리려면 비트코인 지갑에 입금하라는 테이블 하나만 남아있는 것을 발견했다. 다행인점은 아직 본격적으로 데이터를 넣기 전이라 유의미한 데이터는 없었다는 점 이다.이후 프로젝트를 진행하다보니 다른 조의 redis가 털렸다는 사실을 알게 되었고,괜히 불안해서 우리조의 redis도 다시 한번 점검하고, 패스워드를 설정하게 되는 계기가 되었다.2. 고민해본 내용사실 처음 디비를 털렸을 때 데이터가 사라진 것은 문제가 안되었지만,가장 걱정되었던 점은 인프라 담당자로서- 어디까지 털렸는지?- 어느정도의 조치를 취해야 하는지?두 가지가 가장 걱정되었던 것 같다. 사실 서버의 키 파일(.pem)이 털렸다면 정말 큰일나지..