insert 3

SQLAlchemy 1.x 와 2.0의 Query 스타일 비교

SQLAlchemy 2.0 SQLAlchemy 2.0에서는 query를 생성할 때 2.0 스타일을 사용할 수 있습니다. 2.0 스타일은 기존의 Session.query()가 아닌 select() 등의 메소드로 생성한 쿼리를 Session.execute()로 전달하여 DB와 통신할 수 있습니다. 현재 공식문서에서는 기존 스타일의 ORM을 제거할 계획은 없다고 하며, 어떤 스타일이든 함께 사용할 수 있다고 합니다. 다만, SQLAlchemy를 비동기로 구현할 경우 AsyncSession 클래스는 Session.query()를 지원하지 않으므로 2.0 스타일을 사용해야합니다. Within the ORM, 2.0 style query execution is supported, using select() cons..

선형배열

배열이란? 배열이란 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 방법 리스트 길이과 관계 없이 빠르게 실행 결과를 보게되는 연산들 요소 마지막에 추가 .append('삽입할 요소') 요소 마지막 혹은 지정된 인덱스에서 꺼내기 .pop('꺼낼 인덱스') 리스트의 길이에 비례해서 실행 시간이 걸리는 연산들 요소 삽입하기 '리스트명'.insert('인덱스', '삽입할 요소') 요소 삭제하기 del('리스트명['인덱스']') 리스트의 길이에 실행 시간이 비례. 오래걸리는 이유는? 리스트의 중간이 수정되어 전체 인덱스가 변경되기 때문. 추가 다른 연산 요소 탐색하기: '리스트명'.index('찾을 요소') 실습1. 리스트 L 에 정수 x를 숫자 크기에 알맞게 넣는 코드 def solution(L, x)..

파일 시스템으로 DB 인서트 하는 중

목표 파일 시스템을 활용하여 수신 데이터를 저장해두었다가 벌크로 DB에 저장하는 로직 구현하기 문제 파일 시스템으로 csv파일에 데이터를 입력해야 함 DB에 벌크로 입력하는 코드를 작성해야 함 csv에서 DB로 벌크 입력한 후 해당 파일의 내용은 삭제해야 함 최신 데이터 100개를 가져오는 로직을 구현해야 함 행동 csv파일을 생성하고 데이터를 입력하는 로직 구현함 sql문으로 벌크 저장하는 로직 구현함 csv의 전체 데이터를 읽어 들여 DB에 입력하는 기능 구현함 DB에서 최근 데이터 100개 불러오는 로직 구현함 고민 csv 데이터를 요청 때마다 초기화 해주지 않으면 DB로 중복해서 저장될 우려가 있음 csv 전체 데이터를 한 번에 저장하기 때문에 요청과는 별개로 불필요한 부하가 생길 수 있음 앞으로..

Log/Today 2022.01.14