2024/10/19 3

팀플) 혜성 예측 로직 구상.

뭐 코드를 작성하고 그런게 아니고 계획을 좀 제대로 짜고 데이터의 흐름이나 계산 로직의 계획? 같은거다.혜성 예측데이터 요청 및 계산: 혜성의 예측 데이터를 계산하기 위해 필요한 모든 데이터를 특정 기간 동안 요청하고, 필요한 모든 요소(혜성의 궤도 요소, 접근 거리, S-O-T 등)를 고려해서 계산 시작.시간이 오래 걸리더라도 전체 예측 진행: 이 단계에서 계산이 조금 오래 걸리더라도 괜찮음. 왜냐하면 계산은 주기적으로(예: 1년마다, 혹은 짧은 혜성 주기마다) 이루어지고, 사용자 요청이 들어오는 순간 빠르게 제공할 수 있는 게 핵심.계산 결과를 데이터베이스에 저장: 계산이 끝난 예측 결과를 데이터베이스에 저장해둬. 이렇게 하면, 사용자들이 특정 혜성의 접근 이벤트를 요청할 때 이미 계산된 예측 데이터..

팀플) 혜성 이벤트 시작! (데이터 접근, 파싱, 추출)

이젠 혜성 이벤트로직을 만들면 된다. 해당 정보도 이제 호라이즌 API 에서 반환 받고, 계산을 하면 된다.우선은 행성에 대한 로직을 짤 때 사용했던 파일에서 혜성에 대한 정보를 가져오기로 헀다.COMET_CODES = { "Halley": "1P", "Encke": "2P", "Biela": "3P"}def get_comet_approach_events(comet_name, date, range_days): comet_code = COMET_CODES.get(comet_name) if not comet_code: return {"error": "Invalid comet name."} # 포맷 전 로그 # print(f"Formatted Date Befo..

팀플) 별자리 데이터 수정.

행성 데이터를 좀 잘 만들었으니까 별자리 데이터도 좀 더 수정하고 싶었다.결과부터 보면 이렇게 표기되게끔 바꿨다.대충 뭘 했냐면 관측자가 바라보는 곳을 애매하게 지정해서 계산중이였는데 constellation_service에서 가져온 별자리 이름과 적경과 적위를 사용해서 계산하게끔 하고 관측자의 시선도 해당 별자리로 고정시켜서 계산하게끔 바꾸었다.방위에 대한 설정도 해주었다.근데 계산 로직이 좀 많아져서 그런가 데이터를 반환하는데 시간이 조금 오래 걸렸다.이것도 DB에...? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 일단은 시간을 줄일 방법을 찾아보자.multiprocessing.Pool찾아보니까 이런게 있네. 계산을 병렬처리 한다고 한다.원래는 별자리를 찾는 로직과, 해당 데이터로 계산하는 로직 두개였는데, 계산쪽에서 너무..