Intro 현재 글또 9기에서 만난 팀원들과 같이 Resumait 라는 제품을 만들고 있다. CS 스터디를 진행하다가 뜻이 맞아서 사이드 프로젝트까지 개발을 하게 되었다. Resumait 은 LLM 을 기반으로, 사용자의 이력서 작성을 도와주는 서비스이다. Resumait는 특히 주니어 및 경력 개발자를 주요 타겟으로하고 있다. 개발자 채용 시장 특성상 하나의 이력서를 기반으로 여러 회사의 공고에 지원하게 되기 때문이다. 뿐만 아니라, 종종 개발자에게도 자기소개서를 요구하는 경우가 많다. Resumait 에서는 Credit 이 서비스를 사용할 수 있는 단위이다. 사용자는 본인의 이력서를 기반으로 자기소개서 글을 작성할 때 Credit 을 소비하게 된다. 그런데 유의할 점은 이 Credit은 사용자가 R..
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..
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 클래스..