본문 바로가기

Programming/Python169

[ Python ] Dictionary , Set Hash 이용해보자 Dictionary 와 Set 은 Hash 테이블 구조를 가지고 있다. 그래서 삽입과 삭제, 탐색 하는 연산의 시간복잡도는 O(1) 이다. Set 활용 Tip ! 값을 찾기 위해 list 에서 in 을 사용하게 된다면, 해당 연산의 시간 복잡도는 O(n) 일 것이다. 하나의 데이터를 찾기 위해 최대 데이터 개수 n 만큼 순회를 해야한다는 것인데, 이를 set 을 이용하면 좋다! 간단한 테스트를 위해 주피터노트북을 활용했다. 아래 예시는 list 를 하나하나 순회하면서 데이터를 찾는 것이다. 아래 예제는 총 7초의 실행시간을 가졌다. 반면 set 을 이용한 아래의 예제는 약 4초의 실행시간을 가졌다. 이렇게 단순한 예제에서도 시간 차이가 꽤 나는 것을 확인할 수 있다. 앞으로 리스트 내에서 in 연산을 통.. 2022. 9. 12.
[ Flask ] migrate 오류 해결 언제 한번 블로그 포스팅도 전부 다 수정을 하긴 해야하는데,,, 애초에 새롭게 파는 것도 나쁘지 않아보인다. 우선 오늘은 앞으로 쌓인 일이 많으니 기록용으로 migrate 할때 나왔던 오류를 빠르게 수정해보겠다. 현재 에러코드는 아래와 같다. ERROR [flask_migrate] Error: Target database is not up to date. migrate 과정 중 위 에러를 발견했다. 플라스크 마이그레이트 깃헙을 뒤져보다 아래 이슈가 있었고, 해당 에러는 alembic_version 테이블이 삭제되었을 때 발생하는 것이라는 사실을 알아냈다! 이슈 답변에 이해를 못한 상태로 alembic_version table을 삭제하지 말라고 되어있고, 대신 history를 확인하여 현재 db에 반영되어.. 2022. 7. 24.
파이썬 의존성 관리 Poetry 란 무엇인가 오늘은 참 바쁜 날이었습니다. 일도 하고, 퇴근하고 세미나도 듣고,,, 하지만 해야할 일이 남아있기때문에 다시 앉았습니다. 오늘 밤은 참 길것 같습니다... 하하하 각설하고, 오늘은 떠오르는 의존성 관리자, poetry 를 사용해보겠습니다. 의존성 관리자(Dependency Manager)? 많이 들어보셨을지도 모릅니다. 패키지 관리자라는 말이 조금 더 익숙하실지도요. 아마 파이썬을 사용해보셨다면 한번 쯤은 다들 타이핑해보셨을 pip 가 바로 패키지 관리자임과 동시에 의존성 관리자입니다. 패키지 관리자는 사용자가 설치하고자 하는 패키지를 저장소에서 찾아 다운로드 하고 설치하는 역할을 하고, 의존성 관리자는 하나의 패키지가 요구하는 다른 패키지 들을 올라가며 설치해야할 패키지의 목록을 구성하고, 의존성을 .. 2022. 6. 8.
[ Django ] SerializerMethodField 보호되어 있는 글 입니다. 2022. 4. 18.