stable-diffusion과 wordexpress를 활용한 금융심리검사만들기
실습 요약
- superviser 대신 underdog 사용하여 동기화 자동 시스템을 만들자!
- stable-diffusion과 wordexpress를 사용해 웹을 구상해보자!
[사전 준비]
conda activate webui-forge
cd stable-diffusion-webui-forge/
./webui.sh --share --enable-insecure-extension-access
SAS와 컨테이너에 대한 작은 정리
Azure storage에서 SAS(Signed Access Signature) 는 권한 제어 용 임시 URL 토큰이고, 이걸로 컨테이너나 파일에 안전하게 접근할 수 있다
Azure Storage 구성 요소
text
복사편집
Storage Account : 모든 저장소의 최상위 (계정)
└── Container (ex: mycontainer) : blob을 담는 디렉토리 같은 단위
└── Blob/File (ex: image.png, data.csv) : 우리가 업로드/다운로드하는 실제 데이터
SAS vs SAS Token 차이점
용어 설명
SAS (URL) | 특정 자원에 접근 가능한 전체 URL ex: https://...blob.core.windows.net/...?...sig=... |
SAS Token | URL 뒤에 붙는 ?...sig=... 형태의 쿼리 스트링 |
역할 | 제한된 시간 + 권한으로 자원에 안전하게 접근할 수 있도록 해줌 |
실전 팁
- 권한을 최소한만:
- r(read), w(write), d(delete), l(list) 중 필요한 것만!
- SAS는 만료 시간 꼭 설정
- 보통 1시간~하루 정도면 충분
- 파일 단위로도 SAS 만들 수 있음
- 컨테이너 전체 공개 말고 개별 접근 권한이 필요할 때 유용
Blob이란?
Blob = Binary Large Object
→ 이름 그대로 크고 다양한 형식의 파일을 저장할 수 있는 데이터 객체
Blob의 3가지 타입
타입 용도 설명
Block Blob | 일반 파일 저장용 | 가장 흔하게 씀. 업로드, 다운로드에 최적화 |
Append Blob | 로그 저장용 | 기존 내용에 추가만 가능 (로그 저장에 유리) |
Page Blob | 가상 머신 디스크 | 512바이트 단위 접근. Azure VM 디스크로 사용 |
보통 우리가 쓰는 건 거의 Block Blob.
구조적 비교: 일반 파일 vs Azure Blob
항목 일반 파일 (로컬/서버) Azure Blob
저장 위치 | 내 컴퓨터, NAS, 서버 | Azure 클라우드 스토리지 |
접근 방식 | 로컬 경로 (C:\\, /home/) | URL 또는 Azure SDK/API |
권한 관리 | OS 권한, 파일 소유권 | SAS Token, RBAC, 공유 정책 |
전송 방식 | 복사, FTP, SMB 등 | HTTPS, SDK, REST API |
타입 분류 | 없음 (그냥 파일) | Block / Append / Page Blob |
확장성 | 디스크 용량 제한 | 수십~수백 TB까지 무제한 확장 |
자동화 | 직접 스크립트 짜야 함 | Azure Event Grid, Functions 연동 가능 |
간단 정리
- 일반 파일: 컴퓨터 폴더에 있는 문서처럼, 오직 네가 직접 열 수 있다.
- Blob: 클라우드에 올라간 드라이브 문서처럼, 원하면 공유 링크로 열 수 있고, 앱에서도 접근 가능하고, 자동 처리도 가능
sh upload_to_azure.sh
입력해서 수동으로 스토리지 동기화 하던 걸 추가 파일을 자동 감지하고 자동으로 동기화 되도록 수정해보자!
나는 권한 문제가 발생해서 권한부터 바꿔주었다.
chmod +x /home/azureuser/stable-diffusion-webui-forge/outputs/upload_to_azure.sh
watchmedo shell-command --patterns="**.**" --recursive -command="sh /home/azureuser/stable-diffusion-webui-forge/outputs/upload_to_azure.sh" ./
옵션 설명
--patterns="*.*" | 모든 파일을 감지하겠다는 의미인데, |
--recursive | 하위 폴더까지 감시함 |
--command="..." | 변경 발생 시 실행할 명령어 |
./ | 감시할 디렉토리 경로 (현재 디렉토리) |
실습2. stable-diffusion과 wordexpress를 사용해 웹을 구상
간단한 테스트를 통해 나의 소비 습관을 분석하여 소비 성향 캐릭터를 알아보고 이에 대해 본인에게 맞는 금융 팁을 얻는 시스템을 개발하였다.
1. home
소비 성향 테스트를 할 수 있는 링크와 경제 관련 뉴스 레터를 받아볼 수 있는 링크 및 관련 홍보물
2.test
간단한 틀 만들기 구현이 목표였기 때문에 테스트 항목을 만들고
그 점수에 따라 js코드로 해당 소비 성향 캐릭터 페이지로 넘어가도록 함.
3. 소비 성향 캐릭터
총 5가지 캐릭터를 stable-diffusion을 통해 만들었고,
해당 캐릭터에 대한 설명과 이에 따른 금융 팁을 알려주도록 하였다.
이 결과를 링크로 공유하거나 다시 테스트해보는 버튼을 같이 제작하였다.
4. share
결과 공유하기 버튼을 누르면 이 페이지로 넘어온다.
링크 복사 버튼을 누르면 자동으로 링크가 복사 된다.
발표 시간
다른 wordexpress 구축하신 분들의 아이디어를 들을 수 있는 시간을 가질 수 있었다.
꽃의 개화를 실시간으로 알려주는 시스템.
사이트의 상위 키위드를 분석하여 주식 분석 사이트,
일기 내용에 따른 이미지 생성 시스템,
목적지를 선택하면 최적 경로를 알려주는 api사용 시스템.
상하좌우로 움직이는 게임 시스템,
trpg지원 시스템
타로 카드 해석 시스템
등이 인상깊었다.