본문 바로가기
Dev DBAN/개발 일기

개발일기 - 리팩토링을 진행 중입니다 1편

by 디반 2021. 11. 9. 23:08
반응형

멘토님께서 저와 함께 코드 리뷰를 하면서 중복되는 부분 하드코딩이 되어있는 부분들을 조금 더 효율적으로 할 수 있도록 가이드를 알려주시면서 제게 한 가지 미션을 주셨습니다. 

"디반님! pymysql을 쓰니까 계속 commit close를 중복해서 쓰니까 이걸 해결하려면 어떻게 해야될까요?"
"조금 더 효율적으로 코드를 짜게 만들어주는 뭐 그런게 없을까요?"

 

FastAPI를 처음 만졌을 당시를 떠올리면서 나는 이렇게 이야기 했다.

"그거 SQLAlchemy? ORM인가 그거 쓰면 조금 더 코드가 간결해지고 성능이 좋아지지 않을까요?" 

이에 대한 멘토님의 답변은

그쵸? 이제 필요성을 느꼈으니 ORM을 써야겠죠?

 

이 말을 듣자마자 저는 머리에 또 망치를 얻어 맞게 되었습니다.

분명 처음에는 ORM이 뭔지 모르고 그냥 코드를 대충 떼와서 sessionmaker = session 이런식으로 복붙했던게 기억나자 제 자신이 부끄러워지기 시작했습니다.

멘토님은 또 제게 이렇게 이야기 해주셨습니다.

제가 왜 pymysql을 먼저 써보라고 했는지 아시겠죠?
ORM이 왜 필요한지 어떤 기능을 가지고 있는지 이제는 이해하기 쉽겠죠?

이런 이야기를 듣자마자 저는 제 코드를 리팩토링 중에 있고 현재는 라이브 서버에 API호출 부분은 pymysql에서 SQLAlchemy로 리팩토링한 상태이고 전체 코드 중 30%정도 업그레이드 되었습니다. 

최근에 다양한 곳에 지원하고 또 서류 탈락을 경험하면서 많이 싱숭생숭 해진 제 마음에 다시금 불을 태워주시는 우리 멘토님께 감사하다는 말을 전하면서 저의 개발 일기는 여기서 마무리 짓도록 하겠습니다. 

 

프로젝트 링크 ▼

 

GitHub - DBAN99/fastapi

Contribute to DBAN99/fastapi development by creating an account on GitHub.

github.com

 

PS. 요즘 알고리즘 문제를 Hacker Rank에서 풀고 있습니다. 그런데 아직도 모르는 것들이 투성이라 정말 슬픕니다.. 혹시 꿀팁이나 함께 스터디를 꾸려 진행하실 분은 댓글 남겨주세요 :)

반응형

댓글


"); wcs_do();