본문 바로가기

프로그래밍377

이제 겨우 Blast의 결과를 가져오는데 성공했습니다. 안녕하세요? 지난번 포스팅에서 너무 느린것이 문제라는 것을 언급했었는데, 이번에는 방식을 바꾸어서 blast의 웹페이지에서 결과를 가지고 오는 방식으로 바꾸도록 했습니다. 굳이 비교하자면 수냉식 엔진이 편리할 것 같아서 사용하고자 했는데, 무게가 너무 무거운 문제가 있어서 공냉식 엔진으로 바꾸었다고 해야 할까요? 이런 차이가 있습니다만, 아무튼 제 기준에는 여전히 느리지만, 그래도 이전에 비해서는 매우 빨라진 방식으로 blast 결과를 가지고 올 수 있게 되었습니다.  가장 먼저 가지고 와야 하는 것으로는 먼저 requests라는 모듈을 가지고 오는 것이고, 그 다음으로 결과를 읽어서 사람 눈으로 보기 편하게 만들기 위해서 io에서 StringIO라는 모듈을 가지고 오기로 했습니다. 사실 이렇게 코드를 .. 2024. 5. 16.
문제가 분명히 있는 이 구문 안녕하세요? 요 최근까지 주어진 DNA시퀀스를 입력하면, 자동으로 파이썬을 통해서 Blast라는 데이터 베이스에서 데이터를 가지고 오는 프로그램을 만들고 있었습니다만, 여기서 사소한게 아니라 심각한 문제가 하나 나오는 것을 발견할 수 있었습니다. 바로 아래의 스크린샷에서 보이는 코드입니다.분명히 NCBIWWW.qblast를 통해서 blast에서 데이터를 가지고 오라고 요청을 한 것 까지는 좋았는데, 문제는 이 속도가 느려도 보통 느린 것이 아니라는 것 입니다. 이걸 파이썬, 특히 파이참에서 요청을 해서 결과를 보기까지 걸리는 시간이, 그 사이면 수동으로 같은 길이의 시료를 돌려서 5개 정도 결과를 얻을 시간이 되면 겨우 하나가 나오는, 즉 수작업을 해서 걸리는 시간의 5배나 걸린다는 겁니다. 왜 이러는 .. 2024. 5. 14.
디자인 패턴 공부 - 상태 패턴의 공부 - 안녕하세요? 정말로 오랫만에 디자인 패턴을 공부하다 보니, 클래스의 상속에 대해서 잠시 잊어버려서 조금 헤메이게 되기도 했었습니다. 그렇지만, 이 상태(state) 패턴이라는 것을 언제 쓰는가 봤더니, 제 경우라면 윳쿠리의 부스터를 쓸 경우 많은 if문을 생성해서 일일히 조건처리를 해야 했습니다만, 그럴 필요도 없이 바로 상태 - 부스터로 처리하면 간단하게 처리가 되었던 것 이었습니다. 먼저 상속을 주기 위해서 가장 근본이 되는 비정상이라고 이름을 붙인 클래스를 하나 만듧니다. 정말 일주일 이상 안 잡았다고 좀 감이 않 좋아져서 abstract를 붙여서 부모 클래스를 만든다는 것도 겨우 생각해 내고, 메서드도 이 abstract를 붙여야 한다는 것을 겨우겨우 알아내서 했습니다. 먼저 노멀한 상태일 때를 .. 2024. 3. 20.
디자인 패턴 공부 - 싱글톤 패턴의 학습 - 안녕하세요? 디자인 패턴을 공부한 지도 약간의 시간이 지났는데, 이 싱글톤 패턴은 주로 게임 매니저와 같이 무언가를 공유하면서도 동시에 여러번 new를 붙여서 새로운 것을 만들지 않아도 되는 패턴이라고 할 수 있습니다. 이걸 전에 저는 파이썬으로 주식 자동거래 시스템을 만들때는 어떻게 자본금을 공유하는 것으로 해서 만들기 위해서 사용한 적이 있어서 이해는 아주 쉽게 되었습니다. 가장 먼저 싱글톤 패턴으로 구현하게 될 클래스를 만들어야 하는데, 우선 조심해야 하는 것은 위 스크린샷에서 private로 시작하는 것은 바로 클래스의 변수를 선언하는 과정이라고 할 수 있습니다. 여기서 반드시 static을 붙여야만 에러가 나지 않았으며, 녹색선은 클래스안의 전역 변수를 선언하는 과정에서 그 변수의 타입이며, 붉.. 2024. 3. 6.