TIL( Today I Learned)
20-06-29 월
- 이전 프로세스 코드로 구현정리
- 데이터 인사이트2
20-06-30 화
- 변동사항 적용법 생각하기
- 코드 짜기
20-07-01 수
- 정리사항 공유 및 진행하기
- SQL 처리
20-07-02 목
- 크롤링 정보 확인하기
20-07-03 금
- gunicorn time out 설정 변경
- circular import 처리
TEL (Trial and Error Log)
20-07-01
-
Error: 관리 에러
- Situation: 서버 관련 동작이 안됨
- Reason: 서버 용량이 거의 다 차감
- Solution: 필요없는 파일 삭제. 파일 관리도 일이다.
- 주기적으로 체크해서 일정 퍼센티지 이하일 경우 슬랙 알람 오게 만드는게 있으면 좋지 않을까? 알람도 오게 하고, 내용을 자동 삭제하는 것도 방법이 될 수 있겠다
-
Error: SQL INNER JOIN 에러
- Situation: INNER JOIN 문 작성중
- Reason: 테이블명 치환 해놓고 치환한 이름 사용하지 않아서 에러남
- Solution: 치환 명으로 바꿔줌
20-07-03
-
Error: pymysql.err.InternalError: (1364, “Field ‘status’ doesn’t have a default value”)
- Situation: djanodel에서 칼럼 추가하고 default value 지정 했는데 sql 상으로는 적용된게 안잡힘
- Reason: django의 default value 는 django 에서 인스턴스를 만들때에 적용되는 사항. DBMS에까지 적용이 되지는 않는다.
- Solution
-
- django에서 default value를 SQL 적용하도록 코드를 수정할 수 있다.
- Django code fix
-
- SQL에서 default value를 지정한다
-
- default Value 찾는 로직을 안타도록 한다 (=값을 놓치는 경우가 없도록 한다)
-
Error : ImportError: cannot import name
- Situation: 다른 프로세스에서는 잘동작하는데 이걸 다른데서 실행을 하려고 하니 import 에러가 난다.
- Reason: Circular Error :실행 Constants를 가져오기 위해 상위 실행 파일 전체를 들고 왔었는데 그렇게 하다보니 local module에서 상위 실행 파일을 부르고, 상위 실행 파일이 다시 local module 을 부르는 참조
- Solution: 실행 파일이 constants를 들고 있는 모양새가 좋은 줄 알고 있었는데 좋은 모양새가 아니다.
-
- constant만 별도 import 가 가능하지 않다.
-
- .py file을 import 할 경우 파일 전체를 import 하기 때문에 다른 import 문들이 전부 활성화가 되어 버린다. 주의주의주의
-
- 실행하는 파일은 코드 흐름만 확인하지 실행 변수가 따로 있는편이 더 느슨한 결합력과, 응집력이 있다고 생각된다.