ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Streamlit 실전 마스터 시리즈 2화 – 기본 UI 요소로 첫 앱 만들기
    기술과 산업/AI 2025. 5. 12. 22:21
    728x90

    Streamlit으로 처음 웹 앱을 만들어 보세요. 제목, 텍스트, 버튼, 슬라이더 등 기본 UI 컴포넌트를 사용하는 방법과 실습 예제를 제공합니다.


    드디어 첫 Streamlit 앱을 만들어봅니다

    이전 회차에서는 Streamlit의 개념과 활용 사례를 알아봤습니다.
    이번 회차부터는 직접 코드를 작성하여 앱을 만드는 실습을 시작합니다.
    목표는 아주 간단한 웹 앱이라도 내 손으로 작동하는 첫 Streamlit 앱을 완성하는 것입니다.


    준비물 확인

    1. Python 설치 (3.7 이상 권장)
    2. Streamlit 설치
    pip install streamlit
    
    1. app.py라는 파일을 새로 만듭니다.

    기본 앱 구조 이해하기

    Streamlit 앱은 매우 심플합니다.
    Python 파일에 Streamlit 함수만 호출하면 바로 웹 앱이 만들어집니다.

    import streamlit as st
    
    st.title('나의 첫 Streamlit 앱')
    st.header('이 앱은 Streamlit으로 만들었습니다!')
    st.text('Streamlit을 배우는 중입니다 🚀')
    

    이제 아래 명령어를 입력해 보세요.

    streamlit run app.py
    

    웹 브라우저가 자동으로 열리면서 나만의 첫 앱이 실행됩니다.


    다양한 기본 UI 컴포넌트 실습

    Streamlit은 많은 **UI 요소(Widgets)**를 제공합니다.
    대표적인 몇 가지를 실습해 보겠습니다.

    1. 텍스트 입력

    name = st.text_input('당신의 이름을 입력하세요:')
    st.write(f'안녕하세요 {name}님!')
    

    2. 버튼 추가

    if st.button('클릭하세요'):
        st.write('버튼이 눌렸습니다!')
    

    3. 슬라이더로 숫자 선택

    age = st.slider('나이를 선택하세요', 0, 100, 25)
    st.write(f'당신의 나이는 {age}세입니다.')
    

    4. 선택 박스 만들기

    color = st.selectbox('좋아하는 색을 고르세요', ['빨강', '파랑', '초록'])
    st.write(f'{color} 색을 선택하셨군요.')
    

    이 정도만 해도 간단한 인터랙티브 앱의 기본 뼈대가 완성됩니다.


    실전 예제: 미니 프로필 카드 만들기

    import streamlit as st
    
    st.title("나만의 프로필 카드")
    name = st.text_input("이름을 입력하세요")
    age = st.slider("나이를 선택하세요", 0, 100, 20)
    job = st.selectbox("직업을 선택하세요", ["학생", "개발자", "디자이너", "기획자"])
    
    if st.button("카드 생성"):
        st.subheader(f"{name}님의 프로필")
        st.write(f"나이: {age}세")
        st.write(f"직업: {job}")
    

    활용 예시:

    • 학원/교육용 미니 자기소개 앱
    • 프로토타입 인터페이스 제작

    실무에서 이렇게 활용할 수 있습니다

    이 간단한 기능만으로도 데이터 입력 → 처리 → 출력이라는
    모든 웹 서비스의 기본 로직을 테스트할 수 있습니다.

    예를 들어

    • 제품 컨설팅용 진단폼
    • 고객 정보 입력 → 자동 추천 서비스
    • 비개발자가 사용하는 내부 데이터 입력 도구

    등으로 바로 확장할 수 있습니다.


    마무리

    Streamlit의 가장 큰 강점은 프론트엔드 개발 경험이 없어도 웹 앱을 만들 수 있다는 것입니다.
    이번 시간에 만든 기본 예제를 발전시켜 나가면
    다음 단계에서는 더욱 복잡하고 유용한 앱을 개발할 수 있습니다.


    다음 회차 예고

    👉 Streamlit 실전 마스터 시리즈 3화 – 다양한 사용자 입력 받기
    슬라이더, 날짜 선택, 체크박스, 라디오 버튼 등
    더 다양한 인터랙션 기능을 추가해 봅니다.

    728x90
Designed by Tistory.