Skip to content

JaeHunJang/Defect-Studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,060 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ ์‚ผ์„ฑ ์ฒญ๋…„ SW ์•„์นด๋ฐ๋ฏธ 11๊ธฐ SDC 1ํŒ€ ํ’ˆํ–‰์ œ๋กœ ๐ŸŒŸ

๐ŸŒณ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

โœจ ํŒ€์›

ํŒ€์žฅ ํŒ€์› ํŒ€์› ํŒ€์› ํŒ€์› ํŒ€์›
์ •ํ˜„์ˆ˜ ๊น€๊ฒฝ๋Œ€ ๊น€๊ฐ€๋žŒ ๋ฐ•์ˆ˜์ง„ ์žฅ์žฌํ›ˆ ๊น€๋ฒ”์ˆ˜
FE FE BE BE AI AI

๐Ÿ“… ๊ธฐ๊ฐ„

  • ๊ธฐํš ๋ฐ ์„ค๊ณ„ : 2024.08.19 - 2024.08.23
  • ๊ฐœ๋ฐœ : 2024.08.26 - 2024.10.10

๐Ÿ’Ž ์†Œ๊ฐœ

๐ŸŒƒ ๊ธฐํš ์˜๋„

์‹ค์ œ ๊ฒ€์ฆ์— ์“ฐ์ด๋Š” AI ์— ํ•™์Šต์‹œํ‚ฌ ์–‘์งˆ์˜ ๋ถˆ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด ์„ฑ๋Šฅ ๋ฐ ์ •ํ™•๋„ ๋ฅผ ๋†’์ด๊ธฐ!

4์ฐจ ์‚ฐ์—…์— ๋“ค์–ด์˜ค๋ฉด์„œ ์ œ์กฐ์—…์€ ์ตœ๊ทผ ๋ฌผ๊ฑด์€ ์ œ์กฐํ•˜๋Š” ์–‘์ด ๋งŽ์•„์ง์— ๋”ฐ๋ผ ๋ถˆ๋Ÿ‰ ์ ๊ฒ€์€ ๊ฐˆ์ˆ˜๋ก ์–ด๋ ค์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ AI๋ฅผ ํ™œ์šฉํ•œ ๋ถˆ๋Ÿ‰์„ ์ ๊ฒ€ํ•˜๊ณ  ์žˆ๋Š” ์ถ”์„ธ์ธ๋ฐ, ํ•ด๋‹น AI์— ๋Œ€ํ•œ ๋„์ž… ์‹คํŒจ ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์ด์œ ๋“ค ์ค‘ ํ•œ ์ด์œ ๋Š” ์–‘์งˆ์˜ ๋ฐ์ดํ„ฐ ๋ถ€์กฑ ์ž…๋‹ˆ๋‹ค.

์ •์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ AI ํ•™์Šต์€ ํŽธํ–ฅ์ ์ธ ํ•™์Šต์œผ๋กœ ์ธํ•ด ๋ถˆ๋Ÿ‰์„ ๊ฒ€์ฆํ•˜๋Š”๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค๋Ÿ‰์˜ ๋ถˆ๋Ÿ‰ ์ด๋ฏธ์ง€ DataSet์ด ํ•„์š”ํ•˜์ง€๋งŒ, ์‹ค์ œ ์ œ์กฐ ๊ณผ์ •์—์„œ ๋ฐœํ–‰ํ•˜๋Š” ๋ถˆ๋Ÿ‰ํ’ˆ์˜ ์ƒ์„ฑ๋Ÿ‰์€ ๋งค์šฐ ์ž‘์œผ๋ฉฐ, ์ผ๋ถ€๋Ÿฌ ์ œํ’ˆ์— ์ฐํž˜ ๋ฐ ์Šคํฌ๋ž˜์น˜ ๋“ฑ์„ ๋งŒ๋“ค์–ด์„œ ์‹ค์ œ ๋ถˆ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๊ณ  ์žˆ์ง€๋งŒ, ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ €ํฌ ํŒ€์€ ์ œ์กฐ ๋ถˆ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” Gen AI ์‹œ์Šคํ…œ ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์ด๋ฅผ ๊ฐœ์„ ์‹œํ‚ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒƒ ํƒ€๊ฒŸ์ธต

AI๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿ‰์„ ํŒ๋ณ„ํ•˜๋Š” ๋ชจ๋“  ๊ธฐ์—… ๋ฐ ๋ถ€์„œ

๐Ÿ” ์ฃผ์š” ๊ธฐ๋Šฅ

  • Stable Diffusion์„ ์ด์šฉํ•œ ๊ฒฐํ•จ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๋ฐ ์ด๋ฏธ์ง€ ์ˆ˜์ •

    • text-to-image, image-to-image, remove-background, inpainting, cleanup
  • ํ•™์Šต์„ ํ†ตํ•ด ํŠน์ • ์ œํ’ˆ์— ๋Œ€ํ•œ ๊ฒฐํ•จ, ์ •์ƒ ์ด๋ฏธ์ง€ ํ•™์Šต

  • ์ด์ „ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ History ๊ธฐ๋ก

  • Token ๊ด€๋ฆฌ ๋ฐ ํ†ต๊ณ„ ์ œ๊ณต

๐Ÿ”จ Tech Stack ๐Ÿ”จ

Front End

TypeScript Badge React Badge Vite Badge Electron Badge KonvaJS React Router Badge Redux Badge React Query Badge

HTML5 Badge Tailwind CSS Badge Styled Components

Back End

Python Badge FastAPI Badge Celery Badge

AI

PyTorch Badge Stable Diffusion DreamBooth Badge

DB

PostgreSQL Badge Redis SQLAlchemy MongoDB Badge

Infra

Amazon EC2 Badge Amazon S3 Badge Jenkins Badge Docker Badge

Team Collaboration Tools

Jira Badge GitLab Badge Mattermost Badge Git Badge Slack Badge

Architecture

DD




๐ŸŒ ์„œ๋น„์Šค ๊ธฐ๋Šฅ

๐ŸŽฏ Generation

๐Ÿ“Œ Text To Image

text_to_image

Text Prompt๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด์„œ ๋‹ค์–‘ํ•œ ๋ถˆ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Basic ๋ชจ๋“œ์—์„œ๋Š” Text ์ž…๋ ฅ์„ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž…๋ ฅ์„ ํ•  ์ˆ˜ ์žˆ๊ณ 
Advance ๋ชจ๋“œ์—์„œ๋Š” ์„ธ๋ถ€์ ์ธ Parameter๋“ค์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Image To Image

image_to_image

๊ธฐ์กด์— ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ. ํ˜น์€ ๋‹ค๋ฅธ ํŒŒํŠธ์—์„œ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ
๋ฐ”๋กœ ๊ฐ€์ ธ์™€์„œ ํ•ด๋‹น ์ด๋ฏธ์ง€ ๋ฐ”ํƒ•์œผ๋กœ ๋˜๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

๐Ÿ“Œ Inpainting

inpainting

ํŠน์ • ์˜์—ญ์„ ์„ ํƒํ•ด์„œ, ์ด์— ๊ด€ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Clean Up

cleanup

๋ถˆํ•„์š”ํ•œ ์š”์†Œ๋“ค์„ AI๊ฐ€ ์Šค์Šค๋กœ ํŒŒ์•…ํ•ด์„œ ์—†์• ์„œ ์ด๋ฏธ์ง€๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค!

๐Ÿ“Œ Remove Background

remove-bg

๋ฐฐ๊ฒฝํ™”๋ฉด ๋ถ€๋ถ„์„ ์•Œ์•„์„œ ์—†์•  ์ฃผ์–ด ์†์‰ฝ๊ฒŒ ํˆฌ๋ช… ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณตํ†ต์ ์ธ ์š”์†Œ

Preset

preset

๊ฐ๊ฐ ํŒŒํŠธ์—์„œ ์ž๊ธฐ๊ฐ€ ์›ํ•˜๋Š” Prompt ๊ธ€ ๋ฐ ์—ฌ๋Ÿฌ๊ฐ€์ง€ Parameter ์„ค์ •๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์—ฌ๋Ÿฌ๊ฐ€์ง€ parameter ๋ฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ถˆ๋Ÿฌ ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Batch Mode

batch

์—ฌ๋Ÿฌ์žฅ์˜ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ ์—…๋กœ๋“œ ํ•˜์ง€ ์•Š๊ณ , ํŒŒ์ผ ๊ฒฝ๋กœ๋งŒ ์ง€์ •ํ•˜๋ฉด ์•Œ์•„์„œ ์ด๋ฏธ์ง€๋ฅผ ์ฝ์–ด์™€์„œ
๊ด€๋ จ๋œ ์ฒ˜๋ฆฌ๋ฅผ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

Side Bar

sidebar

์‚ฌ์ด๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฏธ์ง€ ์„ ํƒ, ๋‹ค์šด๋กœ๋“œ, ์ž‘์—…๋ฌผ ์‚ญ์ œ ๋“ฑ์„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

Clip

ํ•ด๋‹น ๊ธฐ๋Šฅ์€ image-to-image, inpainting ์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

clip

ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ์—…๋กœ๋“œํ•œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ AI๊ฐ€ ์ž๋™์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ ์•Œ๋งž๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๋Š” ์ œ์‹œ๋œ ์—ฌ๋Ÿฌ ํ”„๋กฌํ”„ํŠธ๋“ค ์ค‘ ๋ช‡๊ฐ€์ง€ ์„ ํƒํ•˜์—ฌ ์‹ค์ œ ํ”„๋กฌํ”„ํŠธ์— ๋ฐ˜์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ Training

training

์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์•ฝ ํŠนํ™”๋œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ํ•™์Šต์„ ์‹œํ‚ค๊ณ  ์‹ถ์„ ๋•Œ
ํ•ด๋‹น ๋ถ€๋ถ„์—์„œ ๋‹ค์–‘ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ๊ธฐ๋ณธ Model ์„ ํƒ. ํ•™์Šต ์ด๋ฏธ์ง€๊ฐ€ ๋‹ด๊ธด ๊ฒฝ๋กœ ์„ ํƒ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ์ค‘์—๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•™์Šต ์ƒํ™ฉ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

training_status

๐ŸŽฏ History

history1

์‚ฌ์šฉ์ž๋“ค์€ Generation ์‚ฌ์šฉํ•œ ๊ธฐ๋ก๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๋‹น ๊ธฐ๋ก์„ ํ†ตํ•ด์„œ ์ด์ „์— ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋“ค์— ๋Œ€ํ•ด์„œ ์‰ฝ๊ฒŒ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,
ํ•ด๋‹น ๊ธฐ๋ก์—๋Š” ํ”„๋กฌํ”„ํŠธ ์ •๋ณด, ํˆด ๋„๊ตฌ,๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

history2

๋˜ํ•œ ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด Home ํŽ˜์ด์ง€์— ํ•ด๋‹น ๋ถ๋งˆํฌ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ Settings

setting

Settings์—๋Š” ํ˜„์žฌ GPU ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ .
๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  GPU ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏToken

AI ์ƒ์„ฑ ๋ฐ ํ›ˆ๋ จ์— ๋Œ€ํ•ด์„œ ๋งŽ์€ ์ปดํ“จํ„ฐ ์ž์›์„ ์†Œ๋ชจํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๋“ค์ด ๋ฌด์ž‘์ • ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ํ† ํฐ ์ด๋ผ๋Š” ์‹œ์Šคํ…œ์„ ๋„์ž…ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Token ๋ฐœํ–‰

token_issue

๋ณธ ๊ธฐ๋Šฅ์€ ๊ณ„์ • ๊ถŒํ•œ ์ค‘ ์ตœ์ƒ์œ„ super_admin ์—๋งŒ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ๊ฐ ๋ถ€์„œ๋ณ„์— ํ† ํฐ์— ๋Œ€ํ•œ ๋ฐœ๊ธ‰์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ๋ถ€๋ถ„์—์„œ๋Š” ๋ถ€์„œ์— ์ „๋‹ฌํ•ญ ํ† ํฐ ์–‘ ๋ฐ ์œ ํšจ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•ด์„œ
๋„˜๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Token ๋ถ„๋ฐฐ

token_distribute

๋ณธ ๊ธฐ๋Šฅ์€ ๊ณ„์ • ๊ถŒํ•œ ์ค‘ super_admin ํ˜น์€ department_admin ์—๋งŒ ํ™œ์„ฑํ™”๊ฐ€ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐœํ–‰์„ ํ†ตํ•ด ๋ฐ›์€ ํ† ํฐ์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ๋ถ€์„œ ๋‚ด์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘ ์ „๋‹ฌํ•  ์‚ฌ๋žŒ๋“ค์„ ์„ ํƒํ—ˆ์—ฌ
ํ•ด๋‹น ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํ† ํฐ์„ ๋„˜๊ฒจ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Statistics

token_statictics

๋ถ€์„œ (super_admin, department_admin ๋งŒ ๊ฐ€๋Šฅ) ๋ฐ ์ž๊ธฐ์ž์‹ ์— ๋Œ€ํ•œ
๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ํ†ต๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋ธ ์‚ฌ์šฉ ๋นˆ๋„
  • ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰, ์ด๋ฏธ์ง€ ์ƒ์„ฑ๋Ÿ‰
  • Tool ์‚ฌ์šฉ ๋นˆ๋„ ํ†ต๊ณ„

๐ŸŽฏ ํšŒ์›

๐Ÿ“Œ ํšŒ์›๊ฐ€์ž… & ์ด๋ฉ”์ผ ์ธ์ฆ

signup

email_verify

ํšŒ์› ๊ฐ€์ž… ์‹œ ํ•ด๋‹น ์ด๋ฉ”์ผ์ด ์œ ํšจํ•œ ์ด๋ฉ”์ผ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ
ํ™•์ธ ์ฝ”๋“œ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ์ด๋ฉ”์ผ์— ์ „์†ก๋œ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ "์ž„์‹œ ํšŒ์›" ์œผ๋กœ์„œ ์Šน์ธ์ด ๋˜๊ณ 
์ •์‹์œผ๋กœ ์Šน์ธ์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ด€๋ฆฌ์ž์˜ ํšŒ์›๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ
์Šน์ธ์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ํšŒ์›๊ด€๋ฆฌ

๋ณธ ๊ธฐ๋Šฅ์€ super_admin ๋งŒ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

user_management

๊ธฐ์กด ํšŒ์›๋“ค์— ๋Œ€ํ•œ ๊ณ„์ • ๊ถŒํ•œ ์ •๋ณด ์ˆ˜์ •, ๊ณ„์ • ์‚ญ์ œ (๊ฐ•์ œ ํƒˆํ‡ด) ๋“ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ,
์ž„์‹œ ํšŒ์›์— ๋Œ€ํ•œ ์Šน์ธ,๊ฑฐ์ ˆ ์„ ํƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”† ๊ธฐ์ˆ 

๐Ÿ–ฅ๏ธ Front End

Electon

Electron ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ React ํ™˜๊ฒฝ์—์„œ๋„ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Web ํ™˜๊ฒฝ์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅ ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์„ค์ •๋„ ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ง€์ •ํ•œ ํŒŒ์ผ ๊ฒฝ๋กœ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋“ค์„ ์ฝ์–ด์˜ค๊ธฐ
  • ์ปค์Šคํ…€ ๋‹จ์ถ•ํ‚ค ์„ค์ •

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ Eletron์˜ IPC ๊ฐœ๋…์„ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

electron-ipc-img(https://kdydesign.github.io/2020/12/23/electron-ipc-communication/)

๊ธฐ๋ณธ์ ์œผ๋กœ preload.ts ์—์„œ React ํ”„๋กœ์ ํŠธ ์•ˆ์—์„œ ์‹คํ–‰์‹œํ‚ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  main.ts ์—์„œ ๊ด€๋ จ๋œ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

Lazy Loading

.exe ํŒŒ์ผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด๋ผ ํ•ด๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ React ์˜ ํ™˜๊ฒฝ์„ ๋ฐ”ํƒ•์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ React์˜ CSR (Client Side Rendering)์„ ๋”ฐ๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ CSR์€ ์ฒ˜์Œ FCP (First contentful paint) ๊ฐ€ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ์ด์œ ๋Š” CSR ํŠน์ง•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ SPA (Signe Plage Applicaton)์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—
๋ชจ๋“  JS ํŒŒ์ผ์„ ๋‹ค ๋‹ค์šด์„ ๋ฐ›์•„์•ผ ์›น์ด ์‹คํ–‰๋˜๋Š” ํŠน์ง• ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ตณ์ด ์ฒ˜์Œ์— ๋‹ค ๋ฐ›์ง€ ์•Š๊ณ  ํ•„์š” ํ•  ๋•Œ ๋งŒ ๋‹ค์šด๋ฐ›๊ฒŒ ๋งŒ๋“ค๋ฉด ์ดˆ๊ธฐ ๋กœ๋”ฉ์ด ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ธฐ์ˆ ์ด ๋ฐ”๋กœ Lazy Loading ์ž…๋‹ˆ๋‹ค.

๐ŸŒ Back End

FastAPI

๊ณ ์„ฑ๋Šฅ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋งˆ์ดํฌ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ์ธ FastAPI๋ฅผ ํ™œ์šฉํ•˜์—ฌ AI ์ฃผ์ œ์— ์ ํ•ฉํ•œ BE ํ”„๋ ˆ์ž„์›Œํฌ ํ™œ์šฉ ์—ญ๋Ÿ‰์„ ์Œ“์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. FastAPI์˜ API ๋ฌธ์„œํ™” ์ž๋™ํ™” ๊ธฐ๋Šฅ(swagger), type hint๋ฅผ ์‚ฌ์šฉํ•œ ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•œ validation, DI(์˜์กด์„ฑ ์ฃผ์ž…) ์ค‘์‹ฌ ์„ค๊ณ„๋กœ ๊ฐ„ํŽธํ•œ ๊ฐœ๋ฐœ์ด๋ผ๋Š” ์žฅ์ ์„ ์ ๊ทน ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Redis & Celery

AI ํ•™์Šต ๋ฐ AI Generation ๊ธฐ๋Šฅ ์‚ฌ์šฉ๊ณผ ๊ฐ™์ด ์žฅ์‹œ๊ฐ„์˜ ์ž‘์—…์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹œ์Šคํ…œ ์‘๋‹ต์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Redis์™€ Celery๋ฅผ ์ด์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Defect Studio์—์„œ AI ๋ชจ๋ธ ํ•™์Šต ์ค‘์—๋„ ๋‹ค๋ฅธ ์ž‘์—…๋“ค์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽ“ AI

Diffusion ๋ฐ ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ์„ ํ†ตํ•ด ์ด๋ฏธ์ง€ ๋ฐ ํ…์ŠคํŠธ ๋“ฑ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ diffusers, transformers๋ฅผ ํ™œ์šฉํ•ด ๋‹ค์–‘ํ•œ Generation AI๋ฅผ ํ™œ์šฉํ•˜๊ณ , DreamBooth ๊ธฐ๋ฐ˜์˜ ํ•™์Šต, ๋ชจ๋ธ Management ๋“ฑ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors