부업 실험 일지

📂 부업 실험 일지 · Streamlit 주식분석 앱 제작기 2편

이젠내가 2026. 4. 20. 16:40
반응형

부업 일지

 

 

👉 1편 보기 — 코딩 한 줄 못 하는 50대가 AI로 주식분석 앱을 만들었다

앱은 됐는데, 내 컴퓨터에서만 된다

1편에서 Streamlit 앱을 만드는 데는 성공했다. Claude한테 코드 받아서 붙여 넣기, 실행하면 대시보드 화면이 나왔다. 신기했다.

근데 이렇게 만들었지만 문제가 있었다. 나는 어디서나 스마트폰으로 종목을 확인하고 싶었는데, 방법을 몰랐다. 앱이 내 컴퓨터에서만 돌아가는 거였다. 집에 와야만 볼 수 있었다.

"웹에 올려야 어디서든 쓸 수 있다"는 건 알겠는데, 어떻게 하는지를 몰랐다. Claude한테 물었다.

"이 앱을 스마트폰에서도 쓸 수 있게 하려면 어떻게 해?"

Claude

"Streamlit Cloud에 배포하면 돼요. GitHub에 코드를 올리고, Streamlit Cloud에서 연결하면 무료로 웹에서 접속할 수 있어요."

GitHub. 또 처음 듣는 이름이었다. 처음이라 다 생소하다.


GitHub가 뭔지부터 물어봤다

검색해보면 "코드 저장소", "버전 관리" 같은 말이 나오는데 와닿지 않았다. 그냥 Claude한테 쉽게 설명해 달라고 했다.

"GitHub는 코드 파일을 인터넷에 저장해두는 곳이에요. 구글 드라이브랑 비슷한데, 코드 전용이라고 보면 돼요. Streamlit Cloud가 여기서 코드를 가져다가 앱으로 실행해 주는 구조예요."

그제야 이해됐다. 구글 드라이브에 파일 올리듯이, GitHub에 코드 파일을 올리면 된다는 거였다.

github.com에 가입하고, 새 저장소(repository)를 만들고, 코드 파일을 올렸다. 이것까지는 그럭저럭 따라갔다.


그런데 보안 문제가 터졌다

내 앱은 주식 데이터를 가져오려고 API 키라는 걸 쓴다. 쉽게 말하면 데이터를 요청할 때 필요한 비밀번호 같은 거다.

처음엔 이 API 키를 코드 안에 그냥 써넣었다. 그런데 GitHub에 올리면 이게 전 세계에 공개된다. Claude가 경고해줬다.

 

[초보의 절대 하면 안되는 실수]

AI에 키를 직접 주면 절대 안됨. 키를 주고 "이거 어디에 넣어야 돼?" 하는 순간 키는 전세계에 유출된 거임.

이럴땐 기존 키를 삭제하고 다시 키를 받아 진행해야 함.

⚠ Claude 경고

"API 키를 코드에 직접 쓰면 GitHub에 올렸을 때 누구나 볼 수 있어요. 악용될 수 있으니까 .env 파일이나 Streamlit secrets를 써야 해요."

.env 파일? Streamlit secrets? 또 모르는 게 나왔다.

이게 가장 막혔던 구간이었다. 개념을 이해하는 것도 시간이 걸렸고, 실제로 적용하면서 오류가 계속 났다. Claude한테 오류 메시지를 그대로 붙여 넣고, 고치고, 또 오류 나고 — 이걸 열 번 이상 반복했다. 정말 많이 수정했다. 키 값이 워낙 길어서 복사, 붙여 넣기를 했음에도 오류가 났다. 


해결 방법 — 이렇게 하면 된다

결국 찾은 방법은 Streamlit Cloud의 Secrets 기능이었다. 코드에는 키를 안 쓰고, Streamlit Cloud 설정 화면에 따로 입력해 두면 앱이 알아서 가져다 쓰는 방식이다. claude가 잘 알려줬다.

  1. 코드에서 API 키 부분을 st.secrets ["API_KEY"]로 바꾼다
  2. GitHub에 올릴 때는 키가 없는 상태로 올린다
  3. Streamlit Cloud → 앱 설정 → Secrets 메뉴에 키를 입력한다
  4. 배포하면 끝

이걸 이해하는 데 꽤 걸렸지만, 한번 해놓으니까 그다음부터는 쉬웠다.


드디어 웹에서 열렸다

Streamlit Cloud에서 배포 버튼을 눌렀다. 몇 분 뒤, URL이 생겼다. 스마트폰으로 열어봤다.

됐다. 내가 만든 앱이 인터넷에 떠 있었다.

코딩을 모르는 사람도 할 수 있다. 다만 막히는 구간이 있고, 그걸 AI한테 계속 물어볼 용기만 있으면 된다.

아직도 미완성이지만 조금씩 수정하면서 완성해갈 예정이다. 지금도 어느 정도 만족하지만...

 

3편에서는 실제 앱 화면을 공개하고, 어떤 지표를 어떻게 보는지 설명해 볼 생각이다. RSI가 뭔지, MACD를 어떻게 읽는지 — 나도 만들면서 배웠으니까.


이 글이 도움이 됐다면 공감 한 번 눌러주세요 🙏
막히는 부분 있으면 댓글로 남겨주세요. 같이 해결해 봐요.