개발을 진행하다보면, 라이브러리 없이 개발을 진행하기에는 어려운 작업들이 존재합니다.
라이브러리들 중에 오픈소스로 github에 공개되어 있는 라이브러리들이 있습니다.
이번에 개인 프로젝트로 개발을 진행하면서 이러한 라이브러리들을 사용하게 되었습니다.
그러다 문득, 현재 사용중인 라이브러리들이 여전히 관리가 되고 있는지 궁금하여, 해당 라이브러리들의 github을 방문하다가 현재 관리가 진행되고 있지 않은 라이브러리를 발견하였습니다.
무슨 라이브러리?
현재 개인 프로젝트에서는 sqlite를 활용하여 db를 사용하고 있었습니다.
db관련 라이브러리들 중 r2d2라고 데이터베이스에 연결을 관리하는 라이브러리였습니다.
해당 라이브러리의 마지막 커밋은 2년전이고, 더이상 관리가 되고 있는것으로 보이지 않아 다른 라이브러리를 찾아보게 되었습니다.
그러던 중, sqlx라는 라이브러리를 발견하게 되었고, 이 라이브러리로 다음과 같이 선언하여 사용하였습니다.
sqlx = { version = "0.8.6", features = ["runtime-tokio", "sqlite"] }
그리고 또 뭐 했어?
해당 라이브러리를 적용하고 잘 사용하고 있던 중, github action에 대하여 알게 되었습니다.
해당 개인 프로젝트 레포에 github action으로 다음과 같이 4가지를 확인하였습니다.
- 빌드가 제대로 되는지 확인
- warning 로그가 뜨지 않기
- 사용하지 않는 라이브러리 확인
- audit로 보안 이슈 확인해서 이슈 생성
그러다, 마지막 이슈에서 rsa 라이브러리 관련 이슈를 발견하게 되었습니다.
Cargo.lock을 열어 확인해보니 sqlx-mysql에서 rsa라이브러리를 호출해서 사용하고 있었고, 내 라이브러리에서는 sqlx-sqlite만 사용하기 때문에 sqlx-mysql이 필요가 없는 상황이였습니다.
여러 방법들을 찾아보다가, 다음과 같이 default-features = false을 추가하여 해당 방법을 해결하였습니다.
sqlx = { version = "0.8.6", default-features = false, features = ["runtime-tokio", "sqlite"] }
이번 포스팅에서는 다음과 같은 내용을 알게되었습니다.
- 현재 사용중인 라이브러리 확인 후, 관리가 되지 않는 라이브러리 변경
- github action으로 발견하게 된 보안 이슈
- 원하는 라이브러리만 가져오게 하는 방법
'잡담 > 궁금증 해결' 카테고리의 다른 글
| PriorityQueue vs Collections.sort: 왜 sort가 더 효율적일까? (0) | 2026.04.27 |
|---|---|
| Rust Vec의 growth strategy (feat. Java) (0) | 2026.03.26 |
| divide zero (0) | 2024.10.27 |
| 지수 표현 제거(JAVA) (0) | 2024.09.29 |
| jar 파일에 한글 입력하기 (feat. PHP, JAVA) (0) | 2024.09.09 |
댓글