본문 바로가기
관리자

분류 전체보기

(963)
[TIL] Django Cache 개요 1. Cache 설정 Caching은 잦은 접근이 예상되어 데이터베이스에 직접 접근하지 않고 Memchached나 Redis 같은 속도가 빠른 저장소에 데이터를 저장해놓는 방식이다. Django에서는 아래와 같이 settings.py에 설정하여 사용할 수 있다. CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', }, 'redis': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://localhost:6379/1', 'OPTIONS': { 'CLIENT_CLASS': 'dj..
[TIL] AWS S3 donwload_file() method directory에 random string 붙는 현상. FileNotFoundError 1. 현상 S3의 boto3를 이용하여 donwload_file() 메서드를 실행한다. 첫 번째 인자인 obj.key는 S3에 저장된 파일의 key값, 두번째 인자는 저장된 버킷의 이름, 세 번째 인자는 다운로드한 파일을 저장할 디렉토리 이름이다. os.mkdir(folder, exist_ok=True) 를 써서 folder에 대한 경로는 로컬에 만들어놓고, obj.key값을 붙여서 저장할려고 했는데 저장이 안되고 디버깅 상에서 _packed라는 obj.key 상 파일 이름 뒤에 .bd88bF6E라는 이상한 문자열이 추가로 붙었다. 그리고 실행할 때마다 뒤 문자열이 임의로 계속 변경되었다. 2. 원인 random string이 붙는 현상 boto3는 파일 다운로드 중 파일의 이름 뒤에 random str..
[비공개] Weekly Report - 23/04/03~23/04/09, 1016일차 보호되어 있는 글입니다.
도커 교과서(엘튼 스톤맨, 심효섭) - 8. 모니터링- prometheus, grafana 1. 컨테이너를 사용하는 환경의 모니터링 일반적인 환경은 서버의 목록과 각 서버의 현재 동작 상태를 표시해주는 형태이다. 컨테이너를 사용하는 환경은 수십~ 수백 개에 이르는 컨테이너가 생성 및 삭제를 반복하며 계속해서 동적으로 변화하는 환경이다. 이런 컨테이너 기반의 모니터링 및 측정에 연동되도록 그 자체가 컨테이너로 동작하는 오픈 소스 도구가 프로메테우스이다. 프로메테우스의 장점 모든 애플리케이션에서(Node.js 이든 닷넷이든 상관없이) 똑같이 구성된 측정값을 출력한다. 도커 엔진과 연결하여 도커 엔진 자체의 측정값도 추출할 수 있다. 도커 엔진의 daemon.json 파일 도커 엔진과 프로메테우스를 연결하기 위해서는 도커 엔진의 설정 파일인 daemon.json 파일에서 설정 내용을 추가해야한다. ..
[TIL] 여러 where 조건 한번에 조회하기. multi column related id query join 상황 base_table에 a, b컬럼이 FK로 잡혀있고, 중복된 항을 count로 구한 결과가 아래와 같을 때 다시 base_table에서 a_id, b_id를 갖는 id 값을 조회할려면 어떻게 해야할까? 다시 말해 (a_id, b_id) = (9002, 3145), ...인 Row들의 각 id 값을 구하고 싶은 경우 어떻게 해야할까 해결 방법 with 구문(또는 서브쿼리)로 원래 SQL문을 감싸고, 기존 테이블과 join을 하되 on절에 원하는 조건을 기입하면 된다. with tmp as (select count(id), a_id, b_id from base_table bt where 1 = 1 and deleted is null group by a_id, b_id having count(id) > ..
[비공개] Weekly Report - 23/03/27~23/04/02, 1009일차 보호되어 있는 글입니다.
도커 교과서(엘튼 스톤맨, 심효섭) - 7. 헬스, 디펜던시 체크 1. 헬스 체크 도커는 기본적으로 컨테이너의 애플리케이션 실행 파일, 자바, 닷넷 런타임, 셸 스크립트 같은 특정한 프로세스의 실행 상태를 확인한다. 프로세스가 종료되면 컨테이너도 종료된다. 그러나 프로세스는 실행 중이더라도 애플리케이션 내부적으로 에러가 발생해서 계속해서 에러를 응답하고 있는 상태이면 이런 기본 체크만으로는 부족하다. 이 때 활용할 수 있는 것이 헬스 체크이다. HEALTHCHECK 인스트럭션 이미지를 빌드할 때, Dockfiler상에 HEALCHECK 인스트럭션을 추가해서 특정 기능을 수행하는 헬스체크를 만들 수 있다. 교재의 예제 파일의 Dockerfile 내용은 아래와 같다. FROM diamol/dotnet-sdk AS builder WORKDIR /src COPY src/Num..
[비공개] Weekly Report - 23/03/20~23/03/26, 1002일차 보호되어 있는 글입니다.