[Streamlit]4. Ubuntu 서버에서 연결하기, NGINX 도메인 및 보안 설정
·
ASAC 6기/Streamlit
이번 포스트에서는 Streamlit을 Ubuntu 서버에 연동해서 올려놓는 방법을 정리하고자 한다. 0. 환경 설정우선, 로컬에서 만들어 둔 Streamlit 파일들을 원격 서버로 옮겨야 한다.서버 권한을 가지고 있는 사람들은 로컬에서 직접 옮기는 등의 다른 방법을 써도 되지만,나는 권한이 없기 때문에 깃허브를 이용해서 파일을 올렸다. 우선 서버에 필요한 패키지를 설치해준 뒤sudo apt update && sudo apt upgrade -ysudo apt install python3 python3-pip git -y Streamlit 파일들이 저장된 리포지토리를 클론해준다.git clone https://github.com/사용자이름/저장소이름.gitcd 저장소이름 참고로 내 원격 서버 내 디렉토리는 ..
[Streamlit] 3. config와 secrets
·
ASAC 6기/Streamlit
Streamlit에서 일반 설정은 config와 secrets로 관리할 수 있다. config에서는 테마, 서버 설정 등을 관리,secrets에서는 민감한 개인 정보를 관리한다. 나는 프로젝트에서 각각 다음과 같은 방식으로 활용했다.configtheme, server, browsersecretsdatabricks, api  설정을 위해서는 실행 파일과 같은 위치에 .streamlit 폴더를 만들고 그 안에 config와 secrets를 넣으면 된다.확장자는 toml로 설정해 줘야 한다. 참고로 toml 파일은 터미널에서 생성할 수 있다.[terminal]# cd 스트림릿 파일 경로mkdir .streamlitecho. > .streamlit\secrets.toml 그렇게 구성된 경로는 다음과 같이 만들어..
[Streamlit] 2. CSS/폰트 적용하기
·
ASAC 6기/Streamlit
저번 멀티페이지 설정 이후 이런 사이드바가 생성되었다.   기능엔 충실하지만 웹서비스 사이드바 버튼으로 쓰기는 UI적으로 부족해 보였다.특히, 한글 페이지의 경우 폰트가 깔끔하지 않은 느낌을 많이 주었다.그래서 우선 폰트를 변경해 주고자 한다.  1. 폰트스트림릿 자체에서 지원하는 폰트는 이렇게 세 개가 끝이다.즉, 스트림릿에서 이외의 폰트를 사용하기 위해서는 웹폰트를 사용해야 한다. 나는 깔끔하고 무난한 프리텐다드 체를 반영하기로 했다.내가 반영한 버전은 1.3.8 버전이지만 현재 1.3.9 버전까지 나와 있다.자세한 사항은 프리텐다드 깃허브를 참고하면 된다.  GitHub - orioncactus/pretendard: 어느 플랫폼에서든 사용할 수 있는 system-ui 대체 글꼴 | A system-..
[Streamlit] 1. 효율적인 멀티페이지 설정(글리치 현상 해결)
·
ASAC 6기/Streamlit
Streamlit을 사용하는 대부분의 사람들은 단일 페이지(카테고리)만 구성된 웹사이트를 원하지는 않을 것이다.그렇다고 한 파일에 다중 페이지 코드를 때려박는 걸 원하지도 않겠지스트림릿에서 다중 페이지를 구성하기 위해서는 여러 가지 방법을 활용할 수 있다. 그 중 하나로 많이 추천되는 방법은 pages라는 폴더를 만들고 원하는 페이지에 해당하는 파일들을 하나씩 넣는 것이다.Streamlit 공식 도큐먼트에서도 이 방법에 대해 소개하고 있다.  Streamlit DocsJoin the community Streamlit is more than just a way to make data apps, it's also a community of creators that share their apps and id..
[Streamlit] 0. Streamlit이란?
·
ASAC 6기/Streamlit
📌 Streamlit이란? Python 기반(라이브러리) 프론트엔드 데이터 시각화 기능 프레임워크로,파이썬 코드로 구현 가능한 데이터 대시보드 및 챗봇을 웹페이지에 구현할 수 있는 서비스라고 생각하면 된다.  리서치를 통해 정리해 본 핵심 기능은 다음과 같다. 📌 핵심 기능1. 반응형 프로그래밍   - 복잡한 상태 관리나 콜백 함수 없이도 사용자 인터랙션에 따른 변화를 쉽게 구현할 수 있음2. 데이터 캐싱     - 파라미터가 달라졌거나 구현 내용이 달라진 경우에 한해서만 함수를 다시 실행하여 불필요한 재실행 방지     - 복잡한 연산 결과를 재사용해야 할 경우(직렬화 가능, 데이터 불변성 필요) 3. 리소스 캐싱     - 프로그램에서 사용되는 리소스를 한 번만 로드하거나 연결하고, 이후의 호출에..
helena1129
'ASAC 6기/Streamlit' 카테고리의 글 목록