양파개발자 SW의 블로그입니다^^

[AWS] S3 Presigned URL 이용하여 다운로드시, Signature Version4 관련 오류해결: Please use AWS4-HMAC-SHA256

By  | 2021년 9월 14일 | 
나는 Python Django 로 웹 서비스를 유지보수 하고있다. Public Access 가 차단된 S3 버킷에 대하여 다운로드를 위해 서버단에서 presigned url 을 발급받아 처리를 하려고 했는데 아래와 같은 오류가 났음 ---<?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidRequest</Code><Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message><RequestId>FM219905MB2HVRKQ</RequestI

[django] DRF Serializer 최적화 (=Best Practice)

By  | 2021년 9월 15일 | 
Serializer 이해하기model object ↔︎ data (dict) 변환을 위한 도구입력받는 데이터의 필드별 Validation + 가공 을 제공출력하는 데이터의 포맷과 형식을 커스터마이징 할 수 있음ModelSerializer 의 경우 Model 과 직접적으로 연결하여 활용 가능1개의 요청을 처리하는데 일반적으로 약 12%의 처리시간을 소요함ModelSerializer 가 느리다… 왜? 그럼 어떻게 해야?단순히 (un)serializing 만을 제공하는 함수를 만들어 사용하는것보다 약 370배 가까이 느림원인: 내부적으로 django.utils.functional 모듈이 validation 을 처리하는데 시간이 많이 소요되기때문해결책- 필드 validation 은 writable 일때만

[Django] Unittest에서 SQL 로그를 보는 방법

By  | 2022년 8월 25일 | 
Unittest에서 Debug 모드가 False로 오버라이딩 되는 이유Debug 모드일 경우에는 별도로 동작하는 디버깅을 위한 로직, 캐싱 등을 넣을 수도 있고 이런 경우가 테스트에 미치는 영향을 막기 위해서 기본적으로 unittest 가 동작할 때는 Debug = False가 되도록 오버라이딩 한다고 한다. 아마 디버그 모드일때 기본 환경과 다르게 트릭을 주거나, 다른 행동을 하는 부분들이 정확한 테스트를 방해한다고 판단한게 아닐까 싶다. Regardless of the value of the DEBUG setting in your configuration file, all Django tests run with DEBUG=False. This is to ensure that the observed o

linux systemd (systemctl, service) log 보는 법

By  | 2021년 9월 24일 | 
이 글을 읽기 전에 Linux 의 sytstmed 에 대해 잘 모르시는 분은 여기 를 먼저 한번 보고 오시는걸 추천 드립니다. sudo service MY_APP status 라는 명령어를 치면 기본적으로 데몬 정보와 아래쪽에 간략한 로그정보들이 뜬다 예를들어 sudo service gunicorn status 이라고 하면 아래처럼 뜬다. 자 위 같은경우 gunicorn 서비스에 대한 내용인데 아래쪽에 보이는 로그는 gunicorn에서 제공하는 error log 도 아니고 access log 도 아니다.어디서 보여지는 로그일까? 바로 gunicorn 을 데몬화 하여 실행해주는 systemd 프로세스에서 찍히는 로그이다.그럼 이것은 어떻게 보아야 하나? journalctl 이라는 linux

[운전 노하우] 차로 변경법

By  | 2021년 9월 17일 | 
은근.. 차로 변경 무서워 하시는 분들이 많이 있다.그래서 내 운전법을 바탕으로 가이드를 한번 적어보았다. <차로변경 5 Steps> 1. 일단 변경하려는 방향으로 깜박이를 킨다 2. 옆차선을 살짝 바라봐서 나란히 주행중인 차가 없는지 확인한다. (백미러 사각지대이므로 육안으로 확인 필요) 3. 끼어들고자 하는 방향에 백미러를 바라본다 4. 백미러에 비치는 옆 차선 주행 차량이 짤려보이지 않고 차체 전체가 거울안에 다 들어오는지(=공간이 충분하다는 뜻) 확인한다 5. 핸들 방향을 틀고 약 3초 정도 (너무 오래걸려도 안됨) 안에 옆차선으로 완전히 이동한다 <+ 주의사항> - 내가 변경하려는 차로의 맞은편에 있는 차도 차로변경을 하려고 하는것은 아닌지 확인 * 예