All Articles

TIL&TEL 20.06.29~20.07.05

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
      1. django에서 default value를 SQL 적용하도록 코드를 수정할 수 있다.
      2. Django code fix
      1. SQL에서 default value를 지정한다
      1. default Value 찾는 로직을 안타도록 한다 (=값을 놓치는 경우가 없도록 한다)
  • Error : ImportError: cannot import name

    • Situation: 다른 프로세스에서는 잘동작하는데 이걸 다른데서 실행을 하려고 하니 import 에러가 난다.
    • Reason: Circular Error :실행 Constants를 가져오기 위해 상위 실행 파일 전체를 들고 왔었는데 그렇게 하다보니 local module에서 상위 실행 파일을 부르고, 상위 실행 파일이 다시 local module 을 부르는 참조
    • Solution: 실행 파일이 constants를 들고 있는 모양새가 좋은 줄 알고 있었는데 좋은 모양새가 아니다.
      1. constant만 별도 import 가 가능하지 않다.
      1. .py file을 import 할 경우 파일 전체를 import 하기 때문에 다른 import 문들이 전부 활성화가 되어 버린다. 주의주의주의
      1. 실행하는 파일은 코드 흐름만 확인하지 실행 변수가 따로 있는편이 더 느슨한 결합력과, 응집력이 있다고 생각된다.