1. entities.pyfrom uuid import UUIDfrom advanced_alchemy.base import UUIDAuditBasefrom sqlalchemy.orm import Mapped, mapped_columnfrom sqlalchemy.dialects.postgresql import UUID as psql_UUID # postgresql ์์๋ string type ์ด ์๋ UUID type์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด importclass IdempotencyKey(UUIDAuditBase): idempotency_key: Mapped[UUID] = mapped_column(psql_UUID(as_uuid=True), unique=True, nullable=False) 2. auto..
Backend ๐ป
CORS ๋ ๋ฌด์์ธ๊ฐ ๋ธ๋ผ์ฐ์ ์์๋ ๋ณด์์์ ์์ ์ ์ํด์ cross-origin HTTP ์์ฒญ์ ์ ํํ๋ค. ๋ฐ๋ผ์ cross-origin ์์ฒญ์ ํ๊ธฐ ์ํด์๋ ์๋ฒ ์ธก์์ ํ์ฉ์ ํด์ฃผ์ด์ผ ํ๋ค. ์ด๋ HTTP-header ๋ก ๊ตฌํํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ CORS๋ผ๊ณ ํ๋ค. CORS ๊ฐ ํ์ํ ์ด์ ๋ ๋ค๋ฅธ ์ฌ์ดํธ์์ ์๋์ ์ฌ์ดํธ๋ฅผ ํ๋ด๋ด์ ์
์์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค. ๊ธฐ์กด ์ฌ์ดํธ์ ๋์ผํ๊ฒ ๋์ํ๊ฒ ๊ตฌํํ์ฌ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์
์์ ์ผ๋ก ๊ฐ๋ก์ฑ๋ ๋ฑ์ ๊ณต๊ฒฉ์ ํ์ง ๋ชปํ๋๋ก CORS๋ฅผ ํตํด ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ ํ์๊ฐ ํ์ํ ๊ฒ์ด๋ค. CROSS-ORIGIN ์ด๋ cross-origin ์ด๋ ์ด๋ค ์ค ํ๊ฐ์ง๋ผ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ค. 1. protocol : ํ๋กํ ์ฝ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ์ด๋ค. ex. ht..
GitHub๊ฐ 2023๋
3์ 24์ผ ์ดํ๋ก RSA SSH host key ์ ์ฑ
์
๋ฐ์ดํธ๋ฅผ ํ๋ฉด์ ์๊ธด ์ด์๋ผ๊ณ ํ๋ค. private key๊ฐ public repository์ ๋
ธ์ถ์ด ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์
๋ฐ์ดํธ๋ฅผ ํ๋ค๊ณ ํ๋ค old host key๋ฅผ ๋ค์์ ๋ช
๋ น์ด๋ฅผ ํตํด ๋ค์ key๋ฅผ ์์ฑํด์ค์ผ๋ก์จ ์ญ์ ํ๊ณ , ์๋กญ๊ฒ ์์ฑํ๋ฉด ๋๋ค. ssh-keygen -R github.com ๊ทธ๋ค์์ Are you sure you want to continue connecting (yes/no/[fingerprint])? ๋ผ๋ ์ง๋ฌธ์ด ๋์ค๋ฉด yes ๋ฅผ ์
๋ ฅํ๋ฉด ๋๋ค.
Django ์์ ํ์๊ฐ์
๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด UserCreationForm ์ ์ฌ์ฉํ ์ ์๋ค. Django์ UserCreationForm ํด๋์ค๋ django.contrib.auth.form ํจํค์ง์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์์ํด์ ์ ์ ์์ฑ form ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค. from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class UserForm(UserCreationForm): email = forms.EmailField(label="email") # ์ฅ๊ณ ๋ชจ๋ธ ํผ์ ๋ด๋ถ ํด๋์ค๋ก Meta ํด๋์ค๋ฅผ ๊ฐ์ ธ์ผ ํ๋ฉฐ, Meta ํด๋์ค..