CoWithMe

플라스크 라우터 그리고 디비 생성

이영훈닷컴 2024. 6. 12. 09:04
728x90

 

학습한 내용에서의 발견

 

  • Flask의 라우터 데코레이터를 활용하면 간결하고 명확하게 URL 엔드포인트를 정의할 수 있음을 발견
  • @app.route('/path') 데코레이터를 사용하여 특정 URL에 대한 HTTP 요청을 처리하는 함수와 연결하는 방법이 매우 직관적
  • SQLAlchemy의 ORM 기능을 사용하면 데이터베이스 쿼리를 Python 객체처럼 다룰 수 있어 코드의 가독성과 유지보수성이 크게 향상

어려웠던 점

  • Flask와 SQLAlchemy를 통합하는 과정에서 가장 어려웠던 부분은 데이터베이스 세션 관리
  • 엔드포인트에서 동일한 데이터베이스 세션을 공유해야 하는 상황에서 세션의 생성과 종료 시점을 명확하게 관리하는 것이 까다로움
  • 관계형 데이터베이스 모델을 설정할 때 테이블 간의 관계를 올바르게 정의하는 것이 처음에는 쉽지 않았습니다.

 

해결 방법

  • 이 문제를 해결하기 위해 Flask의 애플리케이션 팩토리 패턴을 도입
  • 애플리케이션 인스턴스와 데이터베이스 세션을 보다 체계적으로 관리
  • Flask-SQLAlchemy 확장을 사용하여 애플리케이션과 데이터베이스를 초기화하고, @app.teardown_appcontext 데코레이터를 이용해 애플리케이션 컨텍스트가 종료될 때마다 데이터베이스 세션을 자동으로 제거하도록 설정 
  • SQLAlchemy의 relationship 함수와 외래 키 제약 조건을 활용하여 테이블 간의 관계를 명확하게 정의함으로써 데이터 무결성을 유지

내일 해야할일

  • 실습하면서 깃 공부를 해야겠다는 점을 느낌 
  • 여기서도 배우겠지만 깃 관련해서 교보문고 가서 책 구매 할거 목차 내용 수준 체크 해보기

수업방향에 대한 나의 생각

  • 온라인 수업이 좋은점은 사전 OT때 공감 함
  • 지인들은 IT 직업은 좁다고 하는데 그래서 자기 관리가 중요 하다.
  • 한달에 한두번 정도 토요일 또는 일요일날 오프라인에서 랜덤 배치하여 실제 얼굴보고 대화의장 마련쯤 해보는건 어떨까?
  • 여기서 끝이 아니라 여기서 끝나 더라도 밥이나 먹으면서 연락도 하고 혹시 일자리나 또는 일거리 생기면 소개 시켜주는 이런 네트워크가 유지되었으면 좋겠음

파이썬 공부하다가 이스터에그 정보 얻음

 

 

728x90