TIL( Today I Learned)
21-06-07 월
- 쿼리개선
- indexing 수정
21-06-08 화
- Data insight 수정하기
21-06-09 수
- batch job 확인
- 코드 리뷰
- AWS migration 청취
21-06-10 목
- 대시보드 API 개선2
- GSN 랩업 미팅 준비
-
Git merge 확인
-
merge 시점 결과물이 중복 되느냐 안되느냐, 중복이 된다면 , 중복 되는걸 없애는 merge 커밋을 한다.
-
—no-ff
- merge commit 생성
-
—ff
- merge commit 생성이 안됨, 커밋 순차 적용?
- 베이스 커밋에 추가된 커밋이 있으면 ff 가 적용되지 않는다.
-
- rebase도 마찬가지이다. 중복되는것이 있다면 각각의 커밋에서 확인하면서 커밋이 진행 된다.
- 완성된 커밋 지점에서 중복이 지워져야 한다.
-
-
21-06-11 금
- 주간 업무보고
- 업무평가 자료 입력
업무 성과 관리
TEL (Trial and Error Log)
21-06-07
-
ERROR: Indexing not working
- SITUATION: 2.7m row searching by status with row cardinality
-
REASON:
- The only time it won’t engage is if the range is large enough that the optimizer concludes it’s faster to do a full table scan. This happens with dense tables and particularly large ranges. It will also happen with the >= and < range choice. They’re the same.
-
SOLUTION:
-
- set proper range.
-
- run dynamical sql by SQL or Code
-
21-06-08
-
ERROR: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe3 in position 11: invalid continuation byte
- SITUATION: Django makemigrations, enter default value
- REASON: 한국어 입력시 안됨 코덱 관련한 이슈로 보인다. ASCII 가 아닌 문자로 입력시 bytes 변환에 문제가 있는 걸로 보인다.
-
SOLUTION:
- 일단 영어로 입력하면 잘 된다.
-
ERROR: the current database router prevents this relation.
- SITUATION: django migrate
- REASON: DB Router 설정에 의해 데이터를 읽어오는 DB, Write 하는 DB가 다를경우, ORM 코딩 시, 데이터 부정합이 발생할 수 있다.
-
SOLUTION:
-
def allow_relation(self,obj1,obj2,**hints): db_list = ("default","MASTER","SLAVE") if obj1._state.db in db_list and obj2._state.db in db_list: return True return None```
-
21-06-09
-
ERROR: pymysql.err.OperationalError: (2013, ‘Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)‘)
- SITUATION: python pymysql cronjob select or insert 쿼리
-
REASON:
- connection err => conn.close() 생략 => Got timeout reading communication packets
-
Got timeout reading communication packets
- DB서버로 로그인한 계정이 사용하지 않아 sleep 상태에서 MySQL에 설정한 기간이 도래하여 connection을 중지하겠다는 메시지입니다
- 네트웍 어딘가 에러가 발생했다.
-
SOLUTION:
- pymysql 에서 connection 에러가 났는데 왜인지는 잘 모르겠다.
- 구글 네트워크에서 에러가 났을 수도?
21-06-10
-
ERROR: 결과 안나옴
- SITUATION: mySQL datetime BETWEEN
- REASON: BETWEEN 사용을 잘못함
-
SOLUTION:
- BETWEEN 앞시점 AND 뒷시점
-
ERROR: InvalidQuery: Field CollectorReport.collector cannot be both deferred and traversed using select_related at the same time.
- SITUATION: django orm only select_related
-
REASON:
- Only와 , select_related 를 중복해서 사용하고 있었다.
-
SOLUTION:
- only( “select_related field” )