본문 바로가기

(PostgreSQL) BRIN 인덱스 활용하기 BRIN 인덱스BRIN 인덱스는 Block Range Index의 약자다. BRIN 인덱스는 페이지의 메타데이터를 뽑아서 인덱스를 구성한다. 그래서 타임시퀀스한 대용량 데이터를 저장하고, 조회할 때 유용하다. 테이블은 여러개의 페이지들로 구성되어 있다. 비슷한 시기에 만들어진 로우는 같은 페이지에 위치하거나, 물리적으로 서로 근접한 위치에 있다. BRIN VS B-TREE BRIN 인덱스는 B-T..
(Pytest) Fixture 모아두기 - conftest.py conftest.py Django Pytest 에서 공통으로 사용되는 Fixture / Plugin / Module을 모아두는 파일이다. 테스트가 돌아갈 때, 공통적으로 호출되어야하는 Hook들도 이 파일에서 관리한다.  conftest.py은 도메인 모듈 (디렉토리)별로 나눠서 관리하는걸 권장한다.  도메인별로 Fixture를 나눠서 관리하는게 좋고, Fixture를 여러개 만들면 테스트가 느려질 수 있기 때문..
(Pytest) Fixture에 매개변수 넘겨주기 함수 호출부에서 Fixture의 일부 데이터를 변경하고 싶다면, 아래와 같이 Fixture에 매개변수를 넘겨주면 된다.@pytest.fixture()def facebook_user_data(): def _data(user_id, email): return { "hometown": "Your, Hometown", "birthday": "01/01/1985", ..
(디버깅) Google Chrome 개발자콘솔로 프론트 통신상태 조절하기 Slow 3G으로 설정해주면, 통신상태가 불안한 상태에서 프론트가 처리되는 상태를 디버깅할 수 있다 👍
위르헌 아펄로 -Management 3.0 9. 제약 조건을 정렬하는 방법 여러분의 목표와 팀의 목표를 절충하자 팀과 목표가 부딪히면 그걸 해결해야 할 것이다. 팀의 결정을 무시하면 매우 갚기 어려운 동기 부채가 생길 것이고, 그건 상황을 더욱 어렵게 만들 뿐이다. 권한 경계 목록을 만들자 권한 경계 목록을 만들면 사람들이 전기 철조망에 뛰어들지 않아도 되기 때문에 사람들에게 동기를 부여하고 생산성을 유지할 수 있다. 10. 규칙을 만드는 기술 애자일의 맹점 애자일 선언의 ..
(PostgreSQL) 쿼리 실행계획 비쥬얼라이징하기 1. PgAdmin에서 실행계획 비쥬얼라이징하기PgAdmin에서 질의 쿼리 앞에 EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) 쿼리를 추가해주면, 손쉽게 쿼리 실행계획을 비쥬얼라이징해서 볼 수 있다.  PgAdmin QueryTool > Explain Tab에서 결과를 확인할 수 있다. Index, Join 방식 등도 비쥬얼라이징해주기 때문에, 복..
(saleor) 가독성 좋은 함수명 만들 때 유용한 팁 모음집 이 글은 Django E-commerce OpenSource인 Saleor에서 얻은 팁들을 정리한 문서입니다. 1. 값을 증분할 때는 increase / decrease 동사를 prefix으로 붙인다.def increase_voucher_usage(voucher): voucher.used = F('used') + 1 voucher.save(update_fields=['used'])def decrease_voucher_usage(v..
2019년 2월 첫째주 로그 금주의 Pocket#saleor커머스 시스템에 필요한 전반적인 기술을 학습하기에 유용해보이는 장고 오픈소스를 발견했다. 💖 #PATTERNS FOR BUSINESS-TO-CONSUMER ECOMMERCE APPLICATIONS커머스 도메인 다이어그램 자료를 찾았는데, 맘에 든다.  👀금주의 TOOL#dbdiagram.ioERD 다이어그램 툴을 발견했다. #teamsql ..