반응형
멘토님께서 저와 함께 코드 리뷰를 하면서 중복되는 부분 하드코딩이 되어있는 부분들을 조금 더 효율적으로 할 수 있도록 가이드를 알려주시면서 제게 한 가지 미션을 주셨습니다.
"디반님! pymysql을 쓰니까 계속 commit close를 중복해서 쓰니까 이걸 해결하려면 어떻게 해야될까요?"
"조금 더 효율적으로 코드를 짜게 만들어주는 뭐 그런게 없을까요?"
FastAPI를 처음 만졌을 당시를 떠올리면서 나는 이렇게 이야기 했다.
"그거 SQLAlchemy? ORM인가 그거 쓰면 조금 더 코드가 간결해지고 성능이 좋아지지 않을까요?"
이에 대한 멘토님의 답변은
그쵸? 이제 필요성을 느꼈으니 ORM을 써야겠죠?
이 말을 듣자마자 저는 머리에 또 망치를 얻어 맞게 되었습니다.
분명 처음에는 ORM이 뭔지 모르고 그냥 코드를 대충 떼와서 sessionmaker = session 이런식으로 복붙했던게 기억나자 제 자신이 부끄러워지기 시작했습니다.
멘토님은 또 제게 이렇게 이야기 해주셨습니다.
제가 왜 pymysql을 먼저 써보라고 했는지 아시겠죠?
ORM이 왜 필요한지 어떤 기능을 가지고 있는지 이제는 이해하기 쉽겠죠?
이런 이야기를 듣자마자 저는 제 코드를 리팩토링 중에 있고 현재는 라이브 서버에 API호출 부분은 pymysql에서 SQLAlchemy로 리팩토링한 상태이고 전체 코드 중 30%정도 업그레이드 되었습니다.
최근에 다양한 곳에 지원하고 또 서류 탈락을 경험하면서 많이 싱숭생숭 해진 제 마음에 다시금 불을 태워주시는 우리 멘토님께 감사하다는 말을 전하면서 저의 개발 일기는 여기서 마무리 짓도록 하겠습니다.
프로젝트 링크 ▼
PS. 요즘 알고리즘 문제를 Hacker Rank에서 풀고 있습니다. 그런데 아직도 모르는 것들이 투성이라 정말 슬픕니다.. 혹시 꿀팁이나 함께 스터디를 꾸려 진행하실 분은 댓글 남겨주세요 :)
반응형
'Dev DBAN > 개발 일기' 카테고리의 다른 글
개발 일기 - 사전 테스트를 보고 왔습니다. (0) | 2021.11.19 |
---|---|
개발일기 - 리팩토링을 진행 중입니다 2편 (0) | 2021.11.10 |
개발 일기 - 우아한테크코스 코딩테스트 후기 (0) | 2021.11.07 |
개발 일기 - 커밋 규칙 (0) | 2021.11.05 |
개발 일기 - 새로운 기능을 추가하자 (메일링) (0) | 2021.11.04 |
댓글