본문 바로가기

전체 글64

[APl] flask_jwt_extended 모듈 ,access token, 로그인 했을시 권한 부여 flask_jwt_extended flask_jwt_extended 모듈은 Flask 애플리케이션에서 JSON Web Tokens(JWT)을 사용하여 사용자 인증 및 권한 부여를 처리하는 데 사용된다. 이 모듈은 Flask-JWT의 확장된 버전으로, 추가적인 기능과 유연성을 제공한다.create_access_token: 이 함수는 JWT(access token)를 생성한다. 사용자 ID와 함께 호출되어 사용자를 인증하고, 액세스 토큰을 발급한다. 일반적으로 사용자가 로그인하거나 권한이 필요한 엔드포인트에 액세스할 때 호출된다.jwt_required: 이 데코레이터는 엔드포인트에 액세스하는 사용자가 JWT(access token)를 제공해야 함을 나타낸다. 사용자가 유효한 JWT를 제공하지 않으면 엔드포인.. 2024. 5. 22.
[sql] 암호화 방법, passlib.hash 라이브러리 pbkdf2_sha256 함수 사용법, 로그인 암호화암호화는 보안을 강화하고 데이터를 안전하게 보호하기 위해 사용되는 기술이다.개념: 암호화는 텍스트나 데이터를 읽기 어려운 형식으로 변환하는 과정이다. 이 변환된 데이터를 이해할 수 있는 사람이나 시스템이 없는 한, 데이터는 안전하게 유지된다. 암호화는 대부분의 경우 특정 알고리즘과 키를 사용하여 수행된다.해싱: 해싱은 단방향 암호화 기술로, 원본 데이터를 고정된 길이의 고유한 값으로 변환한다. 해시 함수를 사용하여 데이터를 해싱한다. 이 때, 같은 입력에 대해서는 항상 동일한 해시 값이 생성되지만, 해시 값을 기반으로 원본 데이터를 복원할 수는 없습니다. 대표적인 해시 함수로는 SHA-256이 있다SHA-256는 passlib.hash 모듈 에 있는 함수중 하나로 passlib.hash 모듈은 비밀.. 2024. 5. 22.
[sql] python에서 mysql 연결, CRUD, postman Python에서 MySQL에 연결하고 데이터를 업로드하고 불러오는 방법. Python의 mysql-connector-python 라이브러리를 사용하여 MySQL 데이터베이스와 상호 작용할 수 있다. 우선 연동하기위해 postman 프로그램이 필요하다1.PostmanPostman은 API 개발 및 테스트를 위한 협력 도구입니다. 사용자는 Postman을 사용하여 HTTP 요청을 만들고, 보내고, 테스트할 수 있습니다. Postman의 기능은 다음과 같습니다.다양한 HTTP 요청 지원: GET, POST, PUT, DELETE 등의 다양한 HTTP 요청을 생성하고 보낼 수 있습니다.요청 파라미터 및 헤더 관리: 요청 URL에 쿼리 문자열 추가, 요청 헤더 수정 등의 작업을 할 수 있습니다.응답 확인: 서버에.. 2024. 5. 21.
[sql] error code 1062.Deuplicate entry, unique 설정, 중복데이터 방지 MySQL에서 오류 코드 1062는 "중복 키" 오류를 나타낸다. 이 오류는 데이터베이스에서 고유한 값을 가져야 하는 열에 중복된 값을 삽입하려고 할 때 발생한다.고유한 제약 조건 위반: 데이터베이스에 설정된 고유한(unique) 제약 조건을 위반하여 중복된 값이 삽입되는 경우입다. 예를 들어, PRIMARY KEY 또는 UNIQUE INDEX가 설정된 열에 중복된 값을 삽입하려고 할 때 발생한다.INSERT 쿼리 중복: INSERT 쿼리를 실행할 때 이미 테이블에 존재하는 값을 삽입하려고 할 때 발생한다.복제 중복: MySQL 복제 시에 마스터와 슬레이브 간 데이터의 불일치로 인해 중복된 값을 삽입하려고 할 때 발생한다.이 오류를 해결하려면 중복된 값을 삽입하지 않도록 데이터베이스 스키마를 검토하고, .. 2024. 5. 20.
[sql] 테이블 2개 합치는법 join on left right join 조인(Join)은 데이터베이스에서 두 개 이상의 테이블 간에 연결을 만드는 데 사용되는 기능이다. 이를 통해 여러 테이블에 있는 정보들을 결합하여 원하는 결과를 얻을 수 있다.조인은 일반적으로 두 테이블 사이에 연결되는 공통된 열(또는 열의 조합)을 명시하여 사용된다. 이를 통해 두 테이블 간의 관계를 정의할 수 있다. 학생 이름과 id 번호가 적힌 데이터이다책이름과 점수 학생 id가 적힌 데이터이다 이 데이터는 students 테이블에선 id , papers 테이블에선 sudent_id를 기준으로 합쳐야한다.  papers 테이블의 student_id는 students 테이블의 id 가 UN 타입이기 때문에 똑같이 UN 으로 맞춰준다.  하단의 foreignkeys 에 들어가 referenced tab.. 2024. 5. 16.
[sql]시간 dafault now(), 업데이트시 시간 바꾸는법 , 시간 추가, 빼기, 년,월,일,시,분,초 조회 테이블을 만들때 datatype을 TIMESTAMP로 바꾸고 default를 now()로 만든다. TIMESTAMP는 날짜와 시간을 함께 저장하기 위한 데이터 타입이다. 이 데이터 타입은 특정 순간을 초 단위까지 정확하게 표현할 수 있도록 한다. now()는 현재 시간을 입력하는 함수이다. NOW() 함수를 사용하여 얻은 시간이 한국 시간과 다른 이유는 데이터베이스 서버의 시간대 설정이 한국 시간대(KST)와 다르기 때문이다. 대부분의 데이터베이스 서버는 기본적으로 서버가 설정된 시간대를 사용하므로, 서버가 다른 시간대에 있을 경우 반환된 시간이 한국 시간대와 다를 수 있다. default를 now로 함으로서 따로 value를 입력 안해줘도 자동으로 now가 입력이 된다.  리뷰 수정과 같은 작업을 할때.. 2024. 5. 16.