본문 바로가기

Python13

I/O bound and CPU bound, 동시성 Python 으로 백엔드를 제작 중이다. 그리고 python 으로 특정 기능을 구현하고 그 기능을 백엔드로 연동시켜주고자 할 때 혹시 필요한가 싶어서 이거저거 레퍼런스를 서칭하고 있다. 그중에서도 threading 관련 하여 정리가 필요함을 느꼈다. https://youtu.be/qnVKEwjG_gM?si=gGXXwBCbK05XrGp_ CPU (Central Processing Unit) 프로세스 명령어를 해석하고 실행하는 장치 I/O 파일을 읽거나 쓰기 네트워크와 데이터를 주고 받기 (네트워크 통신) 입출력 장치(키보드, 모니터 등)와 데이터를 주거나 받기 DB 접근 Burst 어떤 현상이 짧은 시간 안에 집중적으로 일어나는 것 -> CPU Burst: 프로세스 가 CPU에서 한번에 연속적으로 실행되는.. 2024. 3. 12.
Flask-session 으로 서버에서 세션 관리 로그인 시 세션 정보를 넘겨주고 싶었다. 기존 Flask 에 존재하는 session 은 클라이언트 측에 세션을 저장하는 방식이므로 매우 위험하다. from flask import session flask-session 하지만 플라스크 라이브러리 중 flask-session 을 설치하고 app에 설정해주면 해당 session은 서버측에 저장되게 된다. from flask_session import Session server_session = Session(app) 이때 꼭 정해야 하는 app config 두 가지는 SECRET_KEY 와 SESSION_TPYE 이다. app 에 여러 설정 들이 늘어나면서 app.py 가 더러워져서 클래스로 분리시켜 주었다. import os, dotenv dotenv.lo.. 2024. 3. 9.
SQLAlchemy - filter + 조회 예시 SQLAlchemy 를 사용하고 있으나 filter 에 관련된 사용법을 정리할 필요가 있어서 작성한다. ORM(Object Relational Mapping) 라이브러리인 SQLAlchemy 객체 지향 프로그래밍과 관계형 데이터베이스의 데이터를 맵핑하기 위해서 사용된다. 특히 filter 메서드는 ORM을 사용할 때 where 절처럼 쿼리문의 조건문을 작성해줄 때 사용해준다. 모델클래스.query.filter() 형태로 사용되며 filter 메서드까지만 사용해주면 쿼리문의 결과가 나올 것이라는 예상과 달리 쿼리문 자체로 콘솔에 보이게 된다. 비슷한 용법으로 filter_by 도 있지만 사용법이 조금 상이하고 제한적이라 대표적으로 filter만 정리한다. 기본 사용법 Select * from 테이블명 wh.. 2024. 3. 7.
Flask + PostgreSQL + React - 2 https://youtu.be/EAcD5ueqvHQ?si=tJ21_L9IAaKYkDID 저번 강의에서 간단하게나마 백엔드 구성이 끝났다. 플라스크와 SQLAlchemy, pgcopg2 를 활용하여 간단하게 이벤트 테이블의 모델을 만든 다음 CRUD를 구성했다. Frontend 구성하기 요즘 리액트 프로젝트는 vite 를 쓰는게 대세지만 예전 강의 특성상 cra을 쓰고 있다. 일단은 강의에 따라가기 위해 오랜만에 cra를 사용하고, axios 와 date-fns 를 다운 받아준다. date-fns 기존의 날짜/시간 관련 라이브러리는 day.js 만 알고 있었는데 해당 라이브러리를 새로이 알게 되었다. https://www.npmjs.com/package/date-fns date-fns Modern Java.. 2024. 3. 6.