분류 전체보기

· Dev/AWS
멀티 팩터 인증(MFA)에 대한 AWS 공식 문서 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html?icmpid=docs_iam_console#enable-virt-mfa-for-own-iam-user 가상 멀티 팩터 인증(MFA) 디바이스 활성화(콘솔) - AWS Identity and Access Management 코드를 생성한 후 즉시 요청을 제출하세요. 코드를 생성한 후 너무 오래 기다렸다 요청을 제출할 경우 MFA 디바이스가 사용자와 연결은 되지만 MFA 디바이스가 동기화되지 않습니다. 이는 시간 기 docs.aws.amazon.com 간단하게 말하자면 음.. 게임 로그인 했을..
인증을 어떻게 처리할 것인가에 대해서 의견을 정하기위해 미뤄놨던 이메일 인증을 구현해보려고 한다. Gmail의 SMTP(Simple Mail Transfer Protocol)를 이용해 이메일을 발송할거다. 우선 Gmail SMTP 설정 단계 IMAP 사용 2단계 인증 앱 비밀번호 Gmail SMTP 설정 IMAP 사용 메일로 들어간다 https://mail.google.com/mail/u/1 Gmail 이메일 또는 휴대전화 accounts.google.com 우측 상단 설정 > 모든 설정 보기 를 눌러준다. 전달 및 POP/IMAP로 들어가준다. 왼쪽에 있던 사진을 오른쪽 사진처럼 IMAP 사용을 한다. IMAP 사용, 자동 삭제 사용, IMAP 메일 수 제한하지 않음 후 변경사항 저장 IMAP 사용 빼..
이제 이미지 로컬 저장 -> s3 저장으로 바꿔보자 어제 물어본 내용 오늘 회의때 해제 해줬다고 확인해 달라고 한다, 그래서 시작!! AWS S3 세팅 IAM 계정으로 로그인 로그인 후 화면 S3로 들어간다. 버킷 만들기 일반 구성 버킷 이름을 pid-bucket 으로 해주고 지역을 서울로 한다. 객체 소유권 ACL 비활성화 이 버킷의 퍼블릭 액세스 차단 설정 일단은 생성할때 차단으로 설정한다.. 어짜피 수정해야됨 버킷 버전 관리 비활성화 태그 다음으로 패스 기본 암호화 Amazon S3 관리형 키(SSE-S3) 고급 설정 객체 잠금 - 비활성화 응 안돼!~ 그냥 내 aws 계정으로 테스트 버킷을 생성했다. 버킷 이름만 pid-bucket-test 로 해서 나머지는 동일하게 생성 했다. 사용자 그룹 생성..
오늘은 이미지 업로드 기능을 구현 해보자 fastapi 공식문서에 나와있는 것 처럼 https://fastapi.tiangolo.com/tutorial/request-files/ 일단 python-multipart 를 설치한다. pip install python-multipart main.py 상단 fastapi에 File, UploadFile 를 임포트 한다. from fastapi import FastAPI, Depends, HTTPException, File, UploadFile @app.put("/users/{userId}/img") async def update_user_image(userId: int, file: UploadFile, db: Session = Depends(get_db)): r..
소개 윈도우 기준으로 작성 마인크래프트 자바에디션(JE)는 기본적으로 Java라는 언어로 만들어졌다. 구동을 위해서는 Java가 설치가 필수입니다. 마인크래프트 버전에 따라 자바의 버전도 다르게 설치해야 된다. 일반 서버(spigot, paper 등등) 1.18 ~ Java 17 1.16.5 ~ 1.17.1 Java 16 1.13 ~ Java 11 ~ 1.12.2 Java 8 모드 서버(forge) 1.18 ~ Java 17 1.17 ~ Java 16 ~ 1.16.5 Java 8 다운로드 링크 Java SE Development Kit 에서 OS에 맞게 설치하면 된다. Java 8 https://www.oracle.com/java/technologies/javase/javase8u211-later-arc..
모델 생성 모델 생성 할때 받을 데이터 정의 해주고 schemas.py class ModelCreate(BaseModel): userId: int title: str private: bool file: str description: str main.py # 상단에 create_model 및 ModelCreate 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models, get_my_models, create_model from BE.schemas import UserCreate, UserLogin, UserUpdate, ModelCreate @app.post("/model..
개인 모델 리스트 가져오기 main.py # get_my_models 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models, get_my_models @app.get("/my-models/{userId}") def read_my_models(userId: int, db: Session = Depends(get_db)): my_models_in_db = get_my_models(db, userId) return my_models_in_db crud.py def get_my_models(db: Session, userId: int): return db.query(Model..
오늘은 오전,후 에 일정이 있어서 너무 늦게 개발시작한 탓에 전체 모델 리스트을 조회 하는 기능을 만드는데 일단 조회만 가능하게 코드를 추가하고 나중에 상황에 맞게 수정해야겠다.. main.py # 상단 get_models 추가 from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info, get_models /models, get으로 요청했을때 모델 테이블을 조회할 수 있게 해준다. @app.get("/models") def read_models(db: Session = Depends(get_db)): models_in_db = get_models(db) return models_in_db crud...
오늘은 정보 수정을 해야겠다 정보 수정할 모든 데이터는 닉네임, 패스워드이고 이 2개만 하면되서 비교적으로 간단한거같다..아마두 ㅋㅋ main.py #상단 부분에 update_user_info from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info @app.patch("/users/{userId}") def update_user(userId: int, db: Session = Depends(get_db)): update_user_info(db, userId) return JSONResponse(content={"message": "정보가 수정되었습니다."}, status_code=200) crud..
오늘은 로그인, 유저 조회를 구현해볼거다 로그인 생각 보다 진도가 너무 안나가서 ... 불안해진다.. ㅠㅠ 일단 단순히 DB에 있는 정보랑 비교해서 맞게 입력했다면 로그인 성공 여부를 구현해 보자 pydantic 을 이용해 로그인 정보를 벨리데이션 해준다. schemas.py class UserLogin(BaseModel): email: str password: str 로그인 절차는 1. email, password 를 받아오고 2. db에서 email를 찾는다 3. 없다면 오류를 보내고 있다면 비밀번호를 비교해준다 4. 비번도 맞으면 로그인 성공 main.py # 위쪽에 get_user, verify_password 를 추가 from BE.crud import create_user, get_user, ..
오늘은 패스워드 암호화를 할 것이다. 일반적으로 가장 많이 사용하고 있는 bcrypt 라는 라이브러리를 사용해 패드워드 암호화를 할껀데 선택한 이유는 아주 간단하다. 가장 자료가 많다. 구현이 쉽다. 비교적 강력하다. pip install bcrypt 로 bcrypt 를 설치해준다. 기존 회원가입 코드에서 def create_user(db: Session, user: UserCreate): db_user = User(**user.dict()) db.add(db_user) db.commit() db.refresh(db_user) return db_user 비밀번호 암호화를 위해 비밀번호를 str -> bytes 변경 bcrypt로 암호화 암호화 데이터 -> str로 변경 작업을 거쳐 db에 저장합니다. d..
Alembic 패키지 추가 추가 이유 : 데이터베이스를 다른 인스턴스나 리전을 변경할 경우 빠르게 마이그레이션 할 수 있게 하기위해 pip install alembic 패키지를 설치하고 초기화 해준다 alembic init (환경명) 와 같이 alembic.ini 파일과 환경폴더가 생성된다. alembic.ini 에서 우리는 .env에서 db url를 따로 관리해줄거여서 63번째 줄 에 있는 sqlalchemy.url = driver://user:pass@localhost/dbname 를 주석처리해준다. 환경폴더 안에 env.py로 가서 import os from dotenv import load_dotenv load_dotenv('.env') DATABASE_URL = os.environ["POSTGR..
고랑E
'분류 전체보기' 카테고리의 글 목록 (4 Page)