본문 바로가기

(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 ..
(Django) 비즈니스 로직을 어디에 모아둘까 비즈니스 로직을 어따모아둘까.. 🤔 루비온레일즈, 장고를 쓸 때마다, 도메인 관리에 대한 프레임이 정해져있지 않은 듯하여 매번 고민이다.  But. Djagno엔 QuerySet, Form Object 개념이 기본으로 포함되어 있어서, 좋다. 레일즈에서는 레이어를 만들거나, 라이브러리를 사용해야한다.  ( 참고 - 레일즈에 Service/Decorator Layer 적용하기 🐜🐜..
2019년 1월 4째주 로그 #Pocket - DjangoA. Where to Put Business Logic in Django이거슨 길어져서 요기에 정리해두었다.B. Python @property루비에서는 get_XXX 메서드를 사용하지 않았다. 파이썬에서는 Property와 get_XXX메서드를 구분해서 써서, 어떤 경우에 Property를 써야하는지 궁금해졌다.요 글을 후르르륵 읽고, 대충 내가 정한 기준은 다음과 같다.property..
(PostgreSQL) 테이블에 제약사항이 있는 컬럼 추가하기 Postgresql 테이블에 컬럼을 추가하는 작업은 신중하게 처리해야한다.  사이즈가 큰 테이블에 기본값이 있거나, 제약사항이 있는 컬럼을 추가하는 작업은 리스크가 있기 때문이다. 이번 포스트에서는 제약사항이 있는 컬럼을 추가할 때 발생하는 리스크와 이를 분산시키는 방법에 대해서 정리해보고자 한다. PostrgreSQL 컬럼 추가 동작 방식 ALTER ADD COLUMN 명령문을 실행하면, PostgreSQL은 아래와 같은..
(PostgreSQL) JSON VS JSONB RDB에 JSON 포맷을 저장할 때, 평소처럼 텍스트 포맷으로 저장할지, JSON Format을 적용할지 고민하게 된다. 뫼비우스의 띠 같은 삶을 사는 나는 딱 1년전에도 비슷한 고민을 했었다.( 작년에 조사한 글 :  👉 [MariaDB]RDB 속에서 NOSQL 사용하기 👈)작년에는 리서치만 해보고 말았는데, 올해에는 PostgreSQL에 JSON 타입을 실제로 적용해봐야겠다. 🐜🐜🐜고..
2019년 계획하기 #도서소프트웨어 공학SRE - 사이트 신뢰성 엔지니어링 (ing)함께 자라기 - 애자일로 가는 길 (done)매니지먼트 3.0리팩토링/디자인패턴개발자가 반드시 정복해야 할 객체 지향과 디자인패턴 (ing)레거시 코드 활용 전략 - Michael Feathers 테스트주도개발 - 켄트백리팩토링: 코드 품질을 개선하는 객체지향 사고법 - 마틴파울러옵션 - 클린 코드: 애자일 소프트웨어 장인 정신심리학성공의 새로운 심리학 - 캐롤 드웩#오픈소스s..