내일배움캠프 13주차 주간 회고(WIL)

HJ Koo·2022년 3월 13일
1

주간회고

목록 보기
13/17

💻13주차 공부내용

-final project 기획
-project 주제 선정, DB 구조, 개발환경 설정, python 패키지 관리 툴 선택 등등...
-매일 프로그래머스 알고리즘 문제 풀이

파이썬 패키지 매니저(Package manager)

  • 패키지(Package)
    https://aahc.tistory.com/14
    완성된 소프트웨어나 다른 소프트웨어를 완성하기 위해서 필요한 부품이 되는 소프트웨어를 의미한다.
    패키지와 라이브러리(library)는 유사한 개념으로, 라이브러리는 코드 작성을 위한 코드 묶음이고 패키지는 코드의 배포를 위해 사용되는 코드 묶음이다. 때문에 패키지는 경우에 따라 라이브러리를 포함할 수 있으며 일반적으로 라이브러리나 실행파일(executable)을 포함한다.
    패키지(Package)가 가지는 정보 3가지
    • 컴파일한 소프트웨어의 바이너리(binary)
    • 환경 설정(configuration) 관련 정보
    • 의존(dependency) 관련 정보
  • 패키지 매니저(Package manager)
    Software repository로부터 패키지를 찾고, 다운로드하고, 설치하고, 업데이트/ 패키지 보안 관리, 의존성 관리 등 작업을 편리하고 안전하게 다룰 수 있도록 돕는 소프트웨어.
    Software repository: 패키지를 저장하고 관리하는 저장소
    프로그래밍 언어들은 각각 자신만의 패키지 매니저와 software repository를 가지고 있다.
  • [의존성 관리]의 필요성
    많은 패키지들은 다른 패키지가 설치되어 있어야만 제대로 동작한다.
    이 경우에 기존 패키지를 제대로 동작시키기 위해 필요한 다른 패키지를 'dependency'라고 말한다.
    따라서 패키지를 사용하고자 할 때 dependency에 해당되는 다른 패키지들을 전부 설치해줄 필요가 있다.
    하지만 dependency의 dependency를 설치하는 경우가 생기며, 이런 상황이 끊임없이 이어질 경우 사용자가 수동으로 패키지를 관리하기가 불가능에 가까워진다. 이런 상황을 dependency hell이라고 한다.
    따라서 각각의 패키지가 자신의 dependency에 대한 정보를 가지게 한다면, 사용자가 사용하고자 하는 패키지의 dependency를 패키지 매니저를 통해 쉽게 설치하도록 도울 수 있다.

📚느낀점

처음 파이썬을 사용하여 웹사이트 개발 시작할 때, 파이썬과 웹프레임워크 등 큰 덩어리만 보이고 다른 건 볼 여유도 능력도 없었다. 그러다 보니 심심치 않게 에러를 만나다 보면 실행 위치나 패키지 의존성 관리 미스로 충돌난 경우가 대부분 이었다. 초반에는 뭐하는 도구인지 모르니 무작정 사용해 보자!며 도전정신만 강했다면, 이제는 CS 상식 작은 단위 하나하나 기본이 되는 개념과 원리들을 깊이 파고자 한다.
이번 final project를 함께 하는 새로운 팀원분들께 감사하다. 자신의 지식을 모두와 나누고자 하고 함께 열심히 하고자 하기 때문이다. 나 또한 감사하는 마음과 긍정의 마음을 가지고 이번 프로젝트도 최선을 다 할 것이며 함께 한 단계 성장을 이루길 소원한다.

🍜다짐, 다음 계획

-Django 다시 짚어보고 익히기
-final project 맡은 백엔드 기능 구현 진행ing ...
-CS 공부, 알고리즘 강의 듣기

profile
날마다 꾸준히 성장하는 Software Engineer

3개의 댓글

comment-user-thumbnail
2022년 3월 15일

더 성장하는 계기가 되길!

답글 달기
comment-user-thumbnail
2022년 3월 22일

14주차 왜 없어요 ㅠㅠㅠㅠㅠ

1개의 답글

관련 채용 정보