분류 전체보기

오늘은 로그인, 유저 조회를 구현해볼거다 로그인 생각 보다 진도가 너무 안나가서 ... 불안해진다.. ㅠㅠ 일단 단순히 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..
오늘 13시 10분에 회의를 통해 작성 해놨던 API 명세, ERD에 대한 대략적인 피드백을 받고 본격적인 개발진행을 위해 팀원들과 DB 통일을 하자는 의견이 나와서 놀고있던 Ubuntu 서버를 돌려 PostgreSQL 서버에 이번 프로젝트에 쓸 계정과 db를 만들었다. 그 후 공식 문서에 나와있는 방식대로 파일구조를 나눴다 그리고 .env를 이용해서 database.py 에 연결정보들을 담았다 import os from dotenv import load_dotenv from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker l..
· Dev/DB
본 글은 Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-86-generic x86_64) 버전을 기준으로 작성합니다. 오랜만에 옆에서 놀고있는 우분투서버를 켜서 거기에 PostgreSQL을 설치해보았다. 공식 사이트(https://www.postgresql.org/download/linux/ubuntu/)에 나와있는 데로 진행 1. sources.list.d 에 PostgreSQL 공식 저장소를 추가 sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' 2. PostgreSQL의 공식 GPG 키를 받고 추가 ..
· Dev/DB
PostgreSQL 설치 공식사이트 접속 PostgreSQL 공식 사이트 (https://www.postgresql.org/) > Download 메뉴(https://www.postgresql.org/download/) windows로 이동 Download the installer 클릭 해당 글은 windows 기준으로 작성하므로 window x86-64 에서 원하는 버전을 다운로드 16 버전을 다운로드 하겠습니다. 크롬을 사용할 경우 아래 확인 또는 크롬 다운로드 페이지 확인해보세요 chrome://downloads/ 설치 시작 설치 경로 지정 AND Next 설치 컴포넌트 설명 PostgreSQL Server : 데이터베이스 서버 pgAdmin 4 : 데이터베이스 관리 GUI 툴(DBeaver, Wo..
· Dev/DB
PostgreSQL 소개 PostgreSQL은 오픈소스 ORDBMS(object-relational database management system) 이다. 미국 캘리포니아에 있는 버클리 대학 컴퓨터 과학부에서 개발한 POSTGRES v4.2를 기반으로 개발됨 엔터프라이즈급 DBMS의 기능과 차세대 DBMS에서나 볼 수 있을 법한 많은 기능을 제공하는 오픈소스 DBMS 이다 역사 PostgreSQL은 마이클 스톤브레이커(Michael Stonebraker)가 Ingres 프로젝트로 시작되었다. 마이클 스톤브레이커는 1982년 Ingres의 상용화를 위해 학교를 떠났다. 그 후 1985년에 다시 학교로 돌아와 1980년대 초반부터 급증하게 된 당시의 데이터베이스 시스템의 문제점들을 해결하고자 "post-I..
전염병 예측 인공지능 만들기 블루닷이라는 서비스는 코로나 19의 확산을 누구보다 먼저 예측한 인공지능으로 유명 인공지능을 사용하여 전염병ㅇ이 발생할 수 있는 곳을 예측하는 기술이 이미 사용되고 있다 인공지능을 사용하여 전염병의 발병률을 예측하기도 한다 이번에 만드는 인공지능은 이전 3일의 확진자 수를 토대로 다음 날의 확진자 수를 예측하는 간단한 인공지능 확진자 수 예측하는 인공지능 from keras.models import Sequential from keras.layers import SimpleRNN, Dense from sklearn.preprocessing import MinMaxScaler from sklearn.metrics import mean_squared_error from sklea..
mnist 데이터셋에서 X의 형태 바꾸기 데이터의 형태 바꾸기 28 * 28의 데이터를 1*784 형태처럼 한 줄로 만든 후 이를 딥러닝 모델에 입력 X_train = x_train.reshape(60000, 784) X_test = x_test.reshape(10000, 784) X_train 28×28 형태인 x_train 데이터를 1×784로 바꾸는 명령어 reshape: 넘파이의 명령어이고 데이터의 형태를 원하는 대로 바꿀 수 있다. (60000, 28, 28) → (60000, 784)로 데이터의 형태가 된다. X_test (10000, 28, 28) → (10000, 784)로 데이터의 형태가 된다. X_train = X_train.astype('float32') X_test = X_test...
파이썬 파이썬이란 무엇인가? 파이썬을 사용하는 이유 비교적 쉬운 문법이기 때문에 초보자가 접근하기에 좋다 수많은 라이브러리가 있다 인터프리터 언어 명령어를 한 줄씩 번역하는 방법을 사용하는 언어로 작성한 프로그램을 바로바로 확인할 수 있다 코랩 https://colab.research.google.com/ Google Colaboratory colab.research.google.com 텐서플로우 버전 확인 %tensorflow_version 케라스(keras) 딥러닝을 만들 때 사용하는 라이브러리 https://keras.io/ko/ Home - Keras Documentation 모듈성. 모델은, 최소한의 제한으로 다양한 조합이 가능한 독립적이며 완전히 변경가능한 모듈의 시퀀스 혹은 그래프로 이해할 ..
다양한 딥러닝 기술 살펴보기 인공 신경망(ANN): Artificial Neural Network의 약자로 다양한 딥러닝 기술의 기초 심층 신경망: 인공 신경망의 층을 여러 개로 해서 깊게 만든 것으로 이 심층 신경망을 학습시키는 과정 - 딥러닝 컴퓨터의 관점에서 살펴보면 왼쪽과 같은 숫자 0의 이미지는 픽셀로 이루어져 있다 이 이미지에서 각 픽셀은 하나하나의 점으로 이루어져 있지만, 컴퓨터는 이 점을 숫자로 인식 픽셀을 입력값으로 인공 신경망에 넣어 이미지를 인식하는 인공지능을 기본적인 인공 신경망으로 만들 수 있음 이때 가장 간단한 방법은 이미지의 픽셀을 한 줄로 세우는 것 합성곱 신경망 실제 이미지 인식 인공지능을 딥러닝 기법으로 만들 때에는 합성곱 신경망(CNN, Convolutional Neur..
딥러닝 원리 이해 딥러닝과 인공 신경망 딥러닝: 사람의 뇌에서 이루어지는 원리를 이용하여 인공지능을 만드는 방식 인공 신경망(ANN, Artificial Neural Network): 신경망을 사람들이 인공적으로 만든 것 인공 신경망에서는 신경망의 최소 구성 단위인 뉴런이 다른 뉴런과 연결된 모습을 각각의 층, 즉 레이어(Layer)라는 개념을 사용하여 연결하고 있다. 입력층: 데이터를 입력받는 층 출력층: 이 출력층에 어떠한 값이 전달되었ㄴ냐에 따라 인공지능의 예측 값이 결정됨 은닉층: 입력층에서 들어온 데이터가 여러 신호로 바뀌어서 출력층까지 전달됨 이때 연결된 여러 뉴런을 지날 때마다 신호 세기가 변경됨 심층 신경망(DNN, Deep Neural Network): 레이어가 한 층으로만 구성된 것이 ..
고랑E
'분류 전체보기' 카테고리의 글 목록 (5 Page)