본문 바로가기
읽기 쓰기

[tip] 라이브러리 선택에 대해

by 째깍단 2024. 2. 9.

 

 

개발을 하다보면 다른 개발자들의 개발 예제나 오픈 소스들을 가져다 사용하게 되는 경우가 정말 많다.

 

이전에는 누군가 추천해준 것을 그대로 사용하거나, 구글링해서 나온 예제를 그대로 따라하는데에 급급했는데

이제는 새로운 기술에 도전하거나 무언가를 덧붙여보고자 찾아보고 직접 실행해보고 적용하는 과정에 재미를 느낀다.

 

개발자로서도 성장하고있는 만큼 장애물을 만나기도 하는데, 최근 체감하여 꼭 기억해두고싶은 부분을 적어둔다.

 

 


 

 

 

개발이 어느정도 익숙해지면서 스스로 매너리즘에 빠져있던 부분이 라이브러리 사용이었다.

 

 

'새 기술이나 기능, 새로운 언어는 당연히 공부해서 적용해야지'라고 말하면서도,

 

왜인지 라이브러리에 대해서는 빠르게 찾아 붙일 수 있는 것이 최고라는 단순한 생각으로 접근했다.

 

 

 

핑계 및 포장은 여러 가지가 있었지만,

- 개발을 잘 모르니 이전에 사용한 것을 사용한다.

- 검색해서 상위에 나온 것을 쓰면 좋지않을까?

- 오픈소스를 만들만한 개발자가 개발한 것이니 나보단 잘 해뒀겠지.

- 예제가 있는 것을 그대로 따라 사용해보면서 익숙해지고 싶다... 등

 

 

관리가 되지 않거나, readme가 애매하게 적혀있는 라이브러리를 적용하면서 연속으로 고생하고나니

어쩐지 어떤 짓을 해도 원하는 동작을 안하더라니.. 

 

개발자는 '어떤 라이브러리를 선택하여 개발하는가'에 대해서도 고민해야함을 체감했다.

 

 

 

 


 

 

 

1. 공식 문서에서 추천해주는 것을 우선해서 사용한다.

 

 

 

진행중인 개인 프로젝트에서는 api문서를 상세히 작성하지 않았고, 따라서 swagger로 document를 전달하고자 했다.

 

drf에 swagger를 적용하는데 있어 이전에 사용해서 편리했다는 관성때문에 drf-yasg를 계속 사용해왔다.

 

물론 훌륭한 라이브러리이고, 여전히 많은 곳에서 사용하고 있을 것이다.

 

 

 

다만 django restframework 공식 문서의 Documenting your API 부분에서는

drf-yasg보다 drf-spectacular를 먼저 추천해주는 내용을 발견할 수 있다.

 

 

https://www.django-rest-framework.org/topics/documenting-your-api/#documenting-your-api

 

Documenting your API - Django REST framework

 

www.django-rest-framework.org

 

 

둘다 적용해본 결과 두 라이브러리가 크게 다른 결과를 가져오지는 않았지만, 

 

이런 경우에는 공식문서에서 추천해주는 것이 최적화가 되어있을 확률이 높기때문에 먼저 적용하는 것이 좋다.

 

 

 

 

 

2. 라이브러리 선택 시 git hub에서 라이브러리의 활성화 상태를 확인한다.

 

 

기능을 개발하기 위해 먼저 검색 및 라이브러리 정보를 모으는 시간을 가지게 될텐데,

기술 블로그들은 지나간 내용을 담고있기 때문에 온전히 신뢰하기 어렵다.

 

 

따라서 구글링은 필요한 기능을 적용하기 위해 사용할 수 있는 라이브러리에 어떤 것이 있는지 확인하는 정도로 사용하고,

이후 찾은 라이브러리들 중 하나를 선택하기 위해 직접 발로 뛰어야 한다.

 

 

라이브러리는 오픈소스인 경우가 많고, 대부분 github에서 공유되고 있다.

 

해당 라이브러리의 github 페이지에 접속하여 star 수, release, commit 시간을 살펴보고

README 문서(라이브러리 공식 문서)를 차근차근 읽어보며 라이브러리의 관리 상태를 확인할 수 있다.

 

 

 

 


 

 

 

 

라이브러리를 '적당히' 쓰는 습관은 버리자

 

 

앞으로는 꼭 작은 것들도 고민해보면서 개발자스럽게 성장하기.