Backend
-
FastAPI 시작 전, Python 가상 환경 설정Backend/FastAPI 2023. 6. 7. 14:03
모든 프로젝트를 시작 하기 앞서, 가상 환경을 설정해줘야 함! 필자의 경우 virtualenv 를 좋아하는 편! (나의 머리속에 새기기 위해 기록하는 것) [순서] - 로컬에서 진행하는 경우 1. pip install virtualenv (설치) 2. virtualenv .venv(이름) -> .venv 는 이름이며, 다른 이름을 지정해도 상관 없음 -> 아래 사진에서 빨간 부분을 보면, (.venv) -> 이렇게 된 부분이 제일 앞에 있음을 볼 수 있음 -> 가상 환경 진입 완료 3. 윈도우 기준 → .\venv\script\activate → 실행 명령언어 -> 위의 명령어를 치면, 가상환경이 실행됨 4. pip install -r requirements.txt. → 가상 환경에서 library 설치..
-
FastAPI 시작하기Backend/FastAPI 2023. 6. 6. 20:40
신규 프로젝트에서 Python을 이용하여, Backend API를 만들기 위해 여러가지를 찾아보았다. Flask도 유명하지만, 더 최근에 나온 FastAPI를 도입해보기로 결정하였다. FastAPI는 공식 홈페이지가 친절한 편임! https://fastapi.tiangolo.com/ko/ -> 읽어보고, Python 문법만 알고 있다면 누구나 가능할 것이다! 먼저 전체적인 구조를 만들어 준다. 필자와 같은 경우는, MVC 구조를 참조하여 만들었다. 왜냐하면 실제 프로젝트에서는 각각의 페이지에 따라 공통적인 .py 를 만들어서 가독성을 좋게 하기 위해서다. API에 있어서 보통 (common), controller, router,model 의 구조로 하려고 했으나, 추가적으로 middleware, db, ..
-
Python에서 Oracle 연결하기Backend/Oracle 2023. 6. 5. 15:07
필자는 전처리 후, csv 파일을 DB에 insert 하려고 하는데, 계속 여러 오류가 났었다. 오류 처리를 대체 어떻게 하면 좋을지, 막막하던 도중 파일을 한줄씩 insert 해서 오류가 나는 것은 로그로 남기기로 했다. 이때, 먼저 Oracle DB를 연결하기로 했다. 필자는 DBeaver 을 이용하였으며, DBeaver 설치 부터 시작됨! 1. DBeaver 를 먼처 설치함 -> 아래 링크에서 download를 진행 (os에 맞춰서 설치할 것) https://dbeaver.io/download/ 2. 이 후 oracle 계정이 있다면, oracle 계정을 따로 기록해둔다. 3. 그리고 파이썬에서 DB에 연결할 수 있는 오라클 인스턴스 클라이언트를 설치한다. -> cx_Oracle 설치 방법 참고 u..
-
Python 통한 데이터 전 처리 후, ORACLE DB에 Insert 할 때의 오류Backend/Oracle 2023. 6. 5. 13:37
[Eloqua_sample_ver2 DB에 넣었을 때 Error] SQL Error [12899] [72000]: ORA-12899: value too large for column →"YEON"."CS_INTEGRATION"."ex" (actual: 23, maximum: 20) ORA-12899: value too large for column "YEON"."CS_INTEGRATION"."ex" (actual: 23, maximum: 20) ORA-12899: value too large for column "YEON"."CS_INTEGRATION"."ex" (actual: 23, maximum: 20) ORA-12899: value too large for column "YEON"."CS_INTEG..
-
Oracle 오류 로그 정리Backend/Oracle 2023. 6. 5. 13:33
예전에 혼자 프로젝트를 맡으면서 만나게 된 오류들에 대해 정리하기 위한 기록! 데이터 처리에 있어 중요한 것은 DB스키마의 데이터 타입을 꼭 맞춰줄 것!! 9 :ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 (주로 원인: 컬럼의 형식이 DATE 인데 STRING으로 비교 하려거나 조건을 주려할 때 발생함) Date 형을 String 형으로 변환 -> TO_CHAR(SYSDATE, 'YYYYMMDD') String형을 Date형으로 변환 -> TO_DATE('2020-07-01','YYYYMMDD') 10 : Too long data. à 로드할 파일의 데이터가 로드 될 컬럼 사이즈보다 큰 경우 -> 주로 형 변환에 있어서 발생함, 컬럼의 타입을 변경거나 or 컬럼명을 사이즈에 맞게 줄여야 함 ..