*서론(생략 가능)
말머리를 뭐라고 해야할지 모르겠어서 일단 Java로 설정해둔
의존모듈 ! 에 대한 생각 정리 포스팅 !
스프링 공부 중 메이븐(Maven)기초를 살펴보던중에
'의존모듈'이라는 단어가 자주 보여 뜻을 찾고 있는데
너무 기초적인 지식이라 그런지, 책에는 설명이 없었다.
여태까지 진행했던 프로젝트 중에 API를 사용했던 적은
단 2번 .. !
그것도 네이버 파파고와 구글 지도 관련된 부분을
아주 조금만 사용했던 프로젝트여서
제대로된 사용법을 익히지 않고 그저 '사용하는 방법'만 알고있었다.
오늘 배우는 책 내용의 '의존모듈'이
뭔가 .. 의존적인 ? 그러니까 본체가 아니라 참조하는 ?
그런 느낌이 들기는 하는데 정확하게 어떤 뜻인지 감이 안 잡혀서
포털사이트에 검색해봤는데
정확하게 '의존모듈이란?'의 제목을 가진 포스팅은 없었다.
이쪽 업계에서는 아주 기초적인 지식이겠구나 .. 했다.
*본론 & 결론 (제대로 얘기 시작함)
구글 검색에서 발견한 어느 분의 '의존성 관리 도구에 대한 설명'
▼ 아래 링크
이분께서 얘기하시는 것을 쉽게 풀어쓰자면,
내가 프로젝트A를 완성시키기 위해
다양한 API를 사용했다고 가정했을 때,
프로젝트 A에 내가 사용한 API를
'그대로' 넣은 상황이라고 가정하자.
위와 같은 상황일 때
개선된 성능을 가진 API가 나오거나,
사용한 API에 오류가 있다는 사실을 뒤늦게 발견했을 때
프로그램 전체가 구버전 혹은 오류가 있는 프로그램이 되며
프로그램을 다시 직접 수정해서 배포해야하는 불편함이 생길 수 있다.
위와 같은 상황에서
API 같은 것들 중 바뀐 것이 있는지 확인하고 업데이트 하고
(보통 개발자들은 새로운 버전이 나오면 지정한 원격 저장소에 업로드 한다.)
또 그와 연결된 다른 모듈까지 재귀적으로 업데이트까지 해주는 것이 바로
의존성 관리도구이다. (ex 메이븐)
위에서 말한 재귀적 업데이트 : 의존전이(Transitive Dependencies)
라는 것이다.
정리하자면
(내가 만든 것이 아니고)외부에서 끌어다 쓰는? 모듈이 의존 모듈이며
이 모듈을 관리해주는 것이 메이븐과 같은 의존성 관리 도구 라는 것.
모듈이라던가 .. API라던가 .. 이쪽 부분은 기초가 0이므로
문제가 있다면 둥글게 ㅠ-ㅠ .. 말해주십시오
하드코딩 만만세는 .. 그저 연구원에게만 맞는 말이고
직장인에게는 헛소리하지마임마 였다 . . . . 힝구
책 본문보다 부록을 더 읽고 있다니 😢
'코딩 창고' 카테고리의 다른 글
[C#/Form] TextBox에서 줄바꿈(개행) (0) | 2021.01.29 |
---|---|
[Maven] No compiler is provided in this environment. 어쩌고 JRE rather than a JDK? 에러 (0) | 2021.01.29 |