본문 바로가기

코딩198

초기 테스터(initial tester)의 제작-46- 안녕하세요? 지난번 포스팅에서는 어떻게 헛다리를 짚는 바람에 이래저래 힘이 빠지는 현상이 벌어지기는 했는데, 그건 그것이고, 아무튼 간에 계속해서 어디서 누수가 일어나는 지에 대해서 한번 잡아 보도록 해야 했습니다. 그래서 이번 포스팅에서는 그런데로 성공적인 방법이 나왔고, 그렇게 해서 잡은 메모리가 새어 나가는 지점에 대해서 이야기를 해 보고자 합니다. 이 작업을 위해서는 파이썬에 원래 내장되어 있는 모듈인 tracemalloc이라는 라이브러리를 먼저 import해서 가지고 와야할 필요성이 있습니다. 그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 일단 self가 붙은 변수를 하나 만들어서 놓도록 하고, 다음 작업에 들어가 보기로 합니다. 그리고 나서 for문이 시작하는 지점에서 take_snapsho.. 2020. 2. 2.
초기 테스터(initial tester)의 제작-45- 안녕하세요? 지난번 포스팅에서 어떻게 에러가 발생한 것을 보고하였는데, 문제는 이 에러가 메모리 부족이라고 해서, 단순하게 RAM을 더 구한다고 해서 해결이 될 문제가 아니라는 것입니다. 아무래도 어디선가 메모리 누수가 일어나고 있는 것은 확실한데, 문제는 이 에러를 잡기 위해서도 그렇고, 이래저래 헛다리를 짚게 되는 경우가 많았는데, 이번에 포스팅의 내용도 이런 헛다리를 짚은 것이 다소 포함되어 있습니다. 먼저 위 스크린샷을 보시면 알 수 있는 것처럼 일단 Reset()이라는 메서드를 따로 지정을 해서 원래는 시각화 모듈이 처음 불려 올 때만 나오던 것을 따로 메서드로 빼서 여러번 부를 수 있도록 만들어 줍니다. 그리고 나서 시각화 모듈을 본격적으로 작동시키기 전에 초기화를 시키는 메서드를 반드시 실행.. 2020. 2. 2.
초기 테스터(initial tester)의 제작-43- 안녕하세요? 지난번 포스팅에서 어떻게 에러를 다 잡은 것으로 나왔습니다만, 문제는 이것만이 아니라 추가로 임의의 10개의 종목을 선정해서 한번 작업을 해 보아야 안전성을 검증할 수 있다는 문제점이 남아 있습니다. 그래서 이 작업을 하기 위해서 이번 포스팅에서 10개의 종목을 골라서 한번 단체로 실행을 시키고, 하나하나 단독실행을 시켜서 그 결과를 비교해 보았습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 아무렇게나 있는 10개의 종목을 그냥 눈감고 골랐습니다. 이 종목들간의 서로간의 유사성이 있는지 없는지는 모르겠습니다만, 아무튼 이렇게 해서 골랐습니다. 1차로 단체로 실행을 시켜 보았습니다. 일단 10개의 종목을 다 살펴 보는데 걸리는 시간은 그렇게 길지는 않았습니다. 아무튼 완성은 되었으니....... 2020. 2. 1.
초기 테스터(initial tester)의 제작-42- 안녕하세요? 이번 포스팅에서는 지난번 까지 단독으로 실행을 했을 때와, 단체로 묶어서 실행을 했을 때 차이를 한번 알아보도록 했습니다. 그런데, 이제는 문제가 끝이 난줄 알았습니다만, 그게 아니어서 다시금 이래저래 고생을 하고 나서야 작업이 완료가 되었습니다. 이번 포스팅에서도 역시나 완성까지 가기 위한 시행착오를 한번 살펴 보고자 합니다. 먼저 이번에도 차이가 있는지 없는지를 알아보기 위해서, 위 스크린샷처럼 새로운 종목을 한번 가지고서 움직여 보도록 합니다. 이렇게 해서 이번 종목은 단독으로 실행을 하나 단체로 묶으나 아무런 차이가 없다는 것을 확인할 수 있었습니다. 이제 다음으로 가야 할 일이 있습니다. 여기서 중단해도 될듯 합니다만, 그래도 혹시나 모르는 일이 있기 때문에, 위 스크린샷과 같이 다.. 2020. 2. 1.