본문 바로가기

전체 글26

로그 데이터를 어떻게 저장하고 사용해야 할까 로그 데이터는 아주 중요하다.아직 적재하기도, 사용해본 적도 없지만 SRE, DevOps, DA 등 다양한 분야에서 사용될 수 있다. 데이터를 어떻게 사용할 지에 따라 저장하는 방법도 달라진다.특정 기능을 사용했을 때, 유저가 어디에 있는지 위/경도 저장RDB에 데이터를 적재한다고 가정해보자.CREATE TABLE user_pattern( id int unsigned auto_increment primary key, lat decimal(13,10) not null, lng decimal(13,10) not null, type varchar(20) not null, data text not null, -- 또는 varchar batch_yn enum('y','n') not.. 2024. 5. 13.
Jinja2 템플릿 활용 1) style.css 파일 적용from fastapi.staticfiles import StaticFilesfrom fastapi import FastAPIapp = FastAPI()app.mount("/static", StaticFiles(directory="static"), name="static")FastAPI가 초기화된 위치를 기준으로 /static 폴더의 경로를 설정한다.html 코드 내에서 아래와 같이 호출이 가능하다. 2) Jinja2Template 예제from pathlib import Pathfrom fastapi.templating import Jinja2Templatesfrom fastapi.responses import HTMLResponsefrom fastapi import AP.. 2024. 5. 8.
엑셀 다운로드 (Pandas, Workbook) [Pandas 활용]from datetime import datetimefrom io import BytesIOimport pandas as pdimport openpyxlfrom fastapi.responses import StreamingResponsedef make_excel_file(cols: list, rows: list) -> StreamingResponse: buffer = BytesIO() df = pd.DataFrame(data=[rows], columns=cols) file_name = f"example_{datetime.now().date()}" encoded_file_name = file_name.encode('utf-8').decode('cp949') #.. 2024. 5. 8.
임시 비밀번호, 랜덤 문자열 generator import randomdef temporary_password_generator() -> str: """임시 비밀번호 발급 함수 참고사항: 소문자 & 대문자 & 숫자 & 특수문자(!@#$%&*?) 중 임의의 8자리 Returns: temp password """ lower_case = 'abcdefghijklmnopqrstuvwxyz' upper_case = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' number = '0123456789' symbols = '!@#$%&*?' USE_FOR = lower_case + upper_case + number + symbols length_for_pass = 8 temp_password.. 2024. 5. 8.