• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

파일 저장 문의 드립니다.

22.03.03 23:28 작성 조회수 84

1

질문이 많아서 죄송합니다.

하나 하나 모르는거 투성이네요 ;;

 

 

영상 27분 34초 보면

파일 저장경로

savefilepath = os.path.join(app.config['BOARD_IMAGE_PATH'], filename)

위코드에서

app.config['BOARD_IMAGE_PATH'] 이게 아니라

BOARD_IMAGE_PATH 이것만 넣어주면 안되나요?

굳이 환경변수를 넣는 이유를 모르겠습니다

 

제가 생각할때는 

어차피 같은 값인데, 왜 더 긴코드를 넣는지 궁금해서 문의드립니다.

알려주신다면 감사하겠습니다

 

 

답변 1

답변을 작성해보세요.

1

질문 많이 많이 주시면 저는 신나서 답변 해드립니다. 죄송하실일 하나 없으십니다.!!

 

만약에 BOARD_IMAGE_PATH = "../image/" 라고 저장을 해놓고 BOARD_IMAGE_PATH  를 써도 물론 상관은 없습니다. 그런데 BOARD_IMAGE_PATH  변수값이 다른 .py 파일에 존재한다면..

from 파일명 import BOARD_IMAGE_PATH 

이렇게 경로를 가져와서 해당 파일에서 또 써야합니다. 그런데 BOARD_IMAGE_PATH 사용을 다른 여기저기 파일에서 쓴다면 해당 파일 모두 상단에 import 를 해줘야하는 귀차니즘이 생깁니다. 그래서 그 모든 것을 해결하고자 하나의 시스템 변수를 만들어놓고 어떤 파일에서 사용하던

app.config['BOARD_IMAGE_PATH']

이렇게만 접근하면 만사해결이 되는셈이 됩니다. 그러면 다른 여러 파일에서 import 를 할 필요도 없고 개발자는 그냥 만드는데만 집중하면 되겟죠? 물론 여기서 생각해볼 중요한 한가지가 이런 환경변수를 너무 남발해서도 안된다는 사실입니다. 

왜냐하면 변수에 뭔가 저장이 되어있다는 사실은 컴퓨터의 메모리를 사용한다는 이야기인데 환경변수의 값은 쓰던 안쓰던 메모리 공간을 확보하고 있는것이고 이는 사용자마다 할당되는 값입니다. 그래서 만약 사용자가 동시에 10,000명이 접속했다면 변수메모리 사용량 * 10000 을 해야하는데 그렇기 때문에 환경변수를 남발하면 쓸데없는 메모리를 너무 많이 소비하게 되는 문제도 있으니 중요한 부분만 선언해서 쓰는게 좋습니다.

 

가후님의 프로필

가후

질문자

2022.03.04

선생님 자세한 답변 너무 감사드려요

 

저는 이번이 두번째 강의 복습하는건데

처음 들었을때, 내용이 너무 어렵다고 생각되어, 그냥 코드만 따라하고,

가져다가 붙이는 식의 수업을 진행했었습니다.

 

두번째 들으니, 

좀더 이해되는 부분이 많고,  오히려 처음에 공부할때보다, 궁금증이 더 생기네요

처음 공부할땐 모르는건 대충 넘어갔거든요

 

어째든

선생님 덕분에 파이썬 포기하지 않고 공부하고있습니다.

감사합니다.

답변도 상세히 주셔서 넘 고맙습니다

네 그게 정상입니다. 아는만큼 보이기에 알면 알수록 궁금한게 더 많아지는게 사실입니다. 그리고 그 앎의 해결로서 재미를 느낄 수 있고 흥미를 가질 수 있게 됩니다.

저 개인적으로도 그렇게 공부하는게 많습니다. 모르면 일단 대충 넘어가고 결과가 나오냐 안나오냐만 보고,  그 다음에는 이 결과가 왜 이렇게 나오지? 하고 의심하게 되고 그 부분을 찾아보고 그러다보면 언젠가 아~~~~~ 그렇구나 라는 결론에 도달하게 되죠. 저도 그렇게 거꾸로 공부를 많이 합니다. 오늘 몰라도 내일 이해하면 됩니다. 내일 모르면 뭐 모레 이해해도 되죠..

그래서 말씀하신데로 가장 중요한건 포기하지 않고 되든 안되는 부딪혀보는게 가장 중요하다고 생각합니다.