while문 무한루프가 발생한 이유

Today I Learned 날짜 2024년 12월 26일 목요일 내용 무한 루프 인스타그램에서 필요한 데이터들을 가져오는데 상당히 지나치게 오래걸린다. 이게 데이터가 많아서 그런거라고 생각했는데.. 충격적이게도 아주 허무한 코드 오류가 있었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 url = f"https://graph.instagram.com/{instagram_post.post_id}/comments" params = { "access_token": self.instagram_account.access_token, "fields": "timestamp,text,from,like_count", "limit": 50, } response = requests.get(url, params=params) res_json = response.json() if "data" in res_json: comment_arr += res_json["data"] while "paging" in res_json and "next" in res_json["paging"]: response = requests.get(res_json["paging"]["next"]) res = response.json() if "data" in res: comment_arr += res["data"] 이 코드였는데… 댓글이 50개 이상 있을 경우, 다음 페이지에 요청을 지속해서 보내는 반복문이다. 더이상 다음 페이지가 없을 때까지 반복된다. while문 안에서 새로 받아온 데이터를 res_json 이 아닌 res 로 지정해버렸다.. 그래서 res_json 은 최초로 보낸 요청의 것으로 계속 유지되어서 안에 while 문이 유지될 조건이 계속 충족되는 상태였고, 계속 똑같은 요청을 무한대로 보내고 있었다. 바보도 이런 바보가… ...

2024년 12월 26일 · 1 분 · 배준수

0주차 미니 프로젝트 종료

1.개발 진행 및 완료상황 0주차 미니프로젝트 완료(소모임 생성 및 참여 웹페이지) 1주차 파이썬 기초 알고리즘 공부 중 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 소모임 등록 후 중복참여 방지 기능 : 모임 등록시 생성자가 포함된 참여 user ID가 담긴 table이 생성되도록 하였다. 문자열’g’와 1부터 증가하는 숫자(num += 1)를 결합하여 제목으로 부여하여 제목을 고유ID로 쓸 수 있도록 하였다. 모임 생성시 모임 정보에 이 제목도 저장했고 유저 참여시 이 table에 본인 ID가 있는지 조회하도록 만들었다. ...

2023년 3월 5일 · 4 분 · 배준수