SERIES

오늘의 개발일기

9 Posts·Last updated on July 01, 2022

AWS EC2에 배포된 서버 HTTPS 통신 적용하기

February 01, 2022

이 글은 지속적으로 작성되며 업데이트 되는 글입니다. 지금은 별다른 내용이 없을 수 있는 점 양해 부탁드립니다. 배경 사이드 프로젝트로 개발중인 API서버를 슬슬 배포해보고자 합니다. 프론트앤드와 백앤드를 따로, 다른시간에 개발하다 보니 항상 띄워져 있을 개발 서버의 필요성을 느끼게 되었습니다. 이왕 하는김에 도메인까지 구매해서 개발서버로 사용해보면 어떨…


Github Actions를 이용해 Docker CD 도전기

February 04, 2022

이 글은 지속적으로 작성되며 업데이트 되는 글입니다. 지금은 별다른 내용이 없을 수 있는 점 양해 부탁드립니다. 배경 Fast API를 프로젝트에 무작정 써보기 위해 Fast API 개발자님이 만들어 주신 보일러플레이트를 이용했습니다. 구조를 단순히 따라가는 것으로도 공부가 되는 기분이 들었습니다. 다만 처음부터 해봐야 공부가 되는 것들도 이미 세팅이 되…


Python incompatible with supertype 에러와 LSP

February 09, 2022

들어가며 Fast API를 통해 개발중에 상속과 오버라이드를 해야 할 일이 있었습니다. 린팅을 위해 mypy로 검사해보니 이런 오류를 내어 주었습니다. 단순히 메소드를 오버라이드 해서 생긴 문제라고 생각하기에는 다른 곳에서 동일한 방법으로 오버라이드한 메소드에서는 에러가 발생하지 않았습니다. 자세히 살펴보니 상속 과정에서 작동하는 오버라이드와 작동하지 않…


파이썬 class(**external_data)이 뭘까?

February 11, 2022

들어가며 개발하며 이런 식의 표현을 보았습니다. 이런 식의 표현은 함수를 정의하면서 keyword argment 자리를 표현할때 종종 사용하고는 했습니다. 근데 정의할 때가 아니라 사용할 때 이런식으로 쓰면 어떻게 되는건지 궁금해졌습니다. 그냥 넣는거랑 **을 붙이는거랑 무슨 차이가 나는걸까요? 데이터를 Unpacking 하는 용도로 쓰인다고 합니다. …


파이썬 “…” 표현식이 이 뭘까?

February 11, 2022

들어가며 파이썬 공부를 하며 "..."이라는 표현을 보게 되었습니다. 처음에는 그냥 말 줄임표로 쓴 줄 알았는데 실제 코드에서 "..."이 나타나는 것을 보고 뭔가 표현식이 있겠거나 하고 넘겼습니다. 대부분의 예제에서 pass 대신 사용하고 있었기 때문에 단순히 pass의 또 다른 형태인 줄 알았는데 Fast API에서 등장한 "..."을 보며 궁금증이 …


TCP에서 연결 종료시 4-way Handshake가 필요한 이유

February 11, 2022

왜 연결시에는 3-way 이고 연결 종료시에는 4-way인지 궁금해짐 들어가며 TCP통신을 위해 3-way Handshake가 필요하다는 것은 알게 되었습니다. 전이중 통신을 지향하기 때문에 양 측 모두 데이터를 송수신할 준비가 되었다는 것을 검증받기 위해 송수신 모두 문제가 없음을 검증하기 위해서 3-way 절차가 필요합니다. 근데, 4-way 는 왜 …


Python @staticmethod @classmethod 왜 사용할까?

February 12, 2022

들어가며 파이썬 기초 문법을 다시 살펴보며 턱 걸리는 지점이 있었습니다. 파이썬의 클래스 내에서 정의된 메소드는 첫 인자로 객체 자신의 클래스 인스턴스를 받습니다. 관례상 self로 받는 것을 기억하시면 좋습니다. 클래스 메소드의 첫 인자는 객체 인스턴스가 있어야 한다는 점 떄문에 인스턴스를 생성하지 않고는 메소드를 호출할 수 없습니다. 인스턴스를 생성하…


파이썬에서 List Comprehension이 더 빠른 이유

February 27, 2022

들어가며 보통 언어를 공부하면 쉽게 사용할 수 있도록 만들어진 문법일수록 실행시간에서 손해보는 경우가 많았습니다. 리스트 컴프리헨션도 일종의 언어 수준의 편의기능으로 생각했기에 당연히 느릴 것이라고 생각했습니다. 언어의 편의기능을 사용하면 가독성과 개발속도에서 이점을 가져가고 속도에서 약간 손해를 보는 것이라고 생각하면 이해가 쉬웠습니다. 그런데 자세히 …


memory profiler 사용해서 메모리 문제 해결하기

July 01, 2022

들어가며 회사에서 영상 분석을 위해 내부적으로 만들어진 라이브러리를 사용하다가, 특정 상황에서 사용이 중단되는 현상애 맞닥뜨렸다. 어느 날, 대량 작업을 위해 새벽동안 서버에서 실행해두면 출근하고 보니 어느순간에선가 프로그램이 멈춰있는 것이다. 분명 전날까지도 전사적으로 잘 사용하던 라이브러리이고, 본인도 매일같이 사용하며 별다른 에러를 보지 못했다. 당…