저번에 내가 윈드서프로 '딸깍' 해서 업비트 코인 자동매매 봇을 만들었다고 자랑했던 거 기억하지? 근데 사실 솔직하게 고백할 게 하나 있어. 바이브 코딩이 다 알아서 해 주는 마법 같긴 한데, 중간에 살짝 턱! 하고 막힌 구간이 있었거든.
"이게 뭔 에러야?" 낯선 라이브러리의 습격
AI(캐스케이드)한테 구조 짜달라고 명령하고 신나게 실행 버튼을 딱 눌렀는데, 터미널에 뻘건 글씨로 이런 에러가 뿜어져 나오더라고.
ModuleNotFoundError: No module named 'dotenv'
순간 뇌 정지가 왔어. "dotenv?? 도트엔브? 난생 처음 보는 건데????" 파이썬을 예전에 조금 만져보긴 했지만, 내가 아예 모르는 라이브러리를 AI가 혼자 가져다 써버리니까 에러가 났을 때 순간적으로 엄청 당황스럽더라고.
해결책: 딸깍 한 번 (pip install)
근데 원인을 알고 보니 진짜 허무했어. 그냥 내 컴퓨터(가상환경)에 저 라이브러리가 안 깔려 있어서 나는 에러였던 거야.
해결 방법? 터미널 창에 이거 한 줄 치고 엔터 누르면 끝나.
pip install python-dotenv
여기서 소소한 함정이 하나 있는데, 설치할 때는 그냥 dotenv가 아니라 반드시 python-dotenv라고 쳐야 정상적으로 깔려. (이런 디테일을 AI가 안 알려주고 쓱 넘어가면 초보자는 멘탈 털리기 딱 좋지.)
도대체 dotenv가 뭔데 AI가 쓴 걸까?
네가 추측한 게 정확히 맞아! 이건 바로 보안을 위한 필수 라이브러리야.
자동매매 봇을 돌리려면 업비트 계정에 접속하고 주문을 넣을 수 있는 'API 키(Access Key, Secret Key)'가 필요하잖아? 이건 사실상 네 통장 비밀번호나 다름없어.
근데 이 키를 main.py 같은 메인 파이썬 코드 안에 대놓고 텍스트로 적어뒀다가, 혹시라도 깃허브(GitHub) 같은 곳에 실수로 올려버리면 어떻게 될까? 전 세계 해커들이 3초 만에 봇을 돌려서 네 계좌를 싹 다 털어갈 거야. 진짜 지옥을 맛보는 거지.
그래서 이 dotenv라는 라이브러리를 쓰는 거야.
코드와 분리된 .env라는 확장자를 가진 비밀 파일을 하나 만든다.
거기에 UPBIT_ACCESS_KEY=내비밀번호 식으로 나의 프라이버시한 보안 내용만 따로 적어둔다.
dotenv 라이브러리가 이 .env 파일을 몰래 읽어서, 파이썬 코드 안으로 안전하게 불러와 준다.
즉, 내 소중한 자산과 보안을 지키기 위해 Windsurf가 알아서 '보안 등급'을 높여서 안전한 코드를 짜 준 아주 기특한 상황이었던 거지.
꿀팁 추가: .env의 영혼의 단짝, .gitignore
여기서 한 발짝 더 나아가서 완벽한 보안을 갖추려면 .gitignore라는 파일도 꼭 알아야 해. .env 파일에 비밀번호를 꼭꼭 숨겨 놨더라도, 폴더 전체를 깃허브에 통째로 올려 버리면 결국 비밀 파일도 같이 올라가게 되잖아? 이때 .gitignore 파일 안에 .env라고 한 줄 적어두면, 깃허브에 코드를 올릴 때 시스템이 알아서 "아, .env 파일은 빼고 올려야지"라고 인식하게 돼. 완벽한 철통 보안이 완성되는 거지.
마무리
즉, 내가 굳이 명령하지 않았는데도 윈드서프 AI가 내 소중한 자산과 보안을 지키기 위해 처음부터 '실무용 보안 등급'
을 적용해서 안전한 코드를 짜준 아주 기특한 상황이었던 거야.
결론적으로 바이브 코딩으로 남(AI)이 짜주는 코드를 편하게 쓸 때는, 이렇게 내가 모르는 라이브러리가 튀어나왔을 때 멘탈 털리지 말고 "이게 왜 필요한가?"를 한 번쯤 짚고 넘어가는 게 중요해. 그래야 다음에 비슷한 에러가 터져도 의연하게 대처할 수 있거든. 그럼 다들 보안 튼튼하게 챙기고, 냉철하게 자동화 파이프라인 잘 굴려보자고! 화이팅!