마이크로소프트의 문서는 매우 잘되어있지만 코드는 공개되어 있지 않음.반면 코드가 공개된 오픈소스는 문서가 부실한 경우가 있음. 왜이럴까 생각해보면 코드가 문서이기 때문내가 코드까지 공개했는데 문서도 잘 써줘야해? 뭐 이런 마인드가 아닐까
우리가 커밋을 하고 코드를 push/merge 할 때에는 잘 동작하고 테스트도 잘 통과되었기 때문에 그랬을 것이다. 만일 내가 서비스를 잘 알고, 개발도 잘 하고, 테스트 커버리지도 100%에 가깝다 하더라도 항상 주의하고 침착해야 한다. 만일 코드 한줄로 회사가 문을 닫을수도 있는게 바로 개발이다. git add -p는 변경된 파일의 일부만 선택적으로 스테이지에 추가할 수 있도록 도와주는 기능이다. 전체 파일을 한 번에 커밋하지 않고, 필요한 부분만 선택해서 커밋하고 싶을 때 사용하며 매번 사용하는 습관을 들이면 좋다.습관을 들인다면 10년후 누군가 내 코드의 의도를 쉽게 파악하는데 도움이 된다. 누가 여기에 매우 잘 작성해 놨다. https://gist.github.com/mattlewissf/..
DML 문UPDATE / DELETE 실수 방지 습관쿼리를 실행하기 전 트렌젝션으로 묶는다.쿼리를 작성할 때 SELECT 절을 사용하여 삭제할 데이터를 확인한다.SELECT a.*, (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) FROM t1 a WHERE t1 a WHERE EXISTS (SELECT 1 FROM emp x WHERE x.deptno. a.deptno);이후 쿼리를 UPDATE / DELETE 쿼리로 변경한다.UPDATE t1 a SET a.sal = (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) WHERE EXISTS (SELECT 1 FROM emp x WHERE x.d..
PostgreSQL 를 사용하다 보면 어느 순간 디스크가 기하급수적으로 늘어난다.DELETE / UPDATE 가 지속적으로 발생하면서 디스크는 크게 줄지 않고, 비용은 점점 올라간다.뿐만 아니라 쿼리 성능 저하, 인덱스 비대화의 문제로 데이터베이스의 성능이 점차 떨어진다.Auto vacuum이 안 돌면 생기는 성능 이슈1. 쿼리 성능 저하UPDATE, DELETE가 많아지면 dead tuples 이 쌓인다.PostgreSQL은 MVCC 방식이라, 삭제된 데이터도 실제로는 지워지지 않고 남아 있는데 이걸 지워주는 게 vacuum이다.vacuum 은 백그라운드에서 autovacuum 이 실행되며, 쿼리로 명령어를 작성할 수 도 있다.이것이 제대로 돌지 않으면 테이블이 점점 무거워진다. 이 과정으로 전체 테이..