All Articles

TIL&TEL 20.06.01~20.06.07

TIL( Today I Learned)

  • 20-06-01 월

    • 프로세스 처리 등록하기
    • 프로젝트 회의
  • 20-06-02 화

    • 서버 동작과 프로세스 동작 분리
    • 프로세스 별도 배포 및 가동
    • 시작할때 인자를 받지 않고 시작하도록 변경
    • 인자들 DB에서 받아오기
    • 프로세스 전과정 적으면서 해보니 정리가 잘 되고 빠진 부분 없이 순차로 진행이 되었다.
  • 20-06-03 수

    • 프로세스 처리 동작 테스트
  • 20-06-04 목

    • 신규 직원입사시 프로세스 위키화
    • DB 정보 통합하기
  • 20-06-05 금

    • 프로세스 에러 잡기
  • 20-06-06 토

    • 프로세스 동작 시키기
    • DB 값 추출하는 SQL 만들기

TEL (Trial and Error Log)

  • 20-06-01

    • Error: ValueError: invalid literal for int() with base 10: ‘main.py’
    • Situation: sys.argv[0] 으로 값 받고 있을때
    • Reason: argv[0] 은 파이썬 실행 파일 명.
    • Solution: argv[1] <== argv[0]
    • Error: TypeError: unsupported type for timedelta days component: str
    • Situation: sys.argv[1] 으로 값 받고 있을때
    • Reason: argv[1] 은 str으로 처리함
    • Solution: int( argv[1] ) 처리함
  • 20-06-02

    • Error: Column ‘display_status’ in where clause is ambiguous
    • Situation: SQL Select
    • Reason: 동일한 이름의 컬럼이 한개의 테이블이 아닌 여러개의 테이블에 존재할때 해당 컬럼을 어느 테이블에서 가져올지 지정하지 않아서 발생하는 에러
    • Solution: A.column등으로 테이블 지정 필요.
  • 20-06-03

    • Error: None: The sole value of the type NoneType. None is frequently used to represent the absence of a value, as when default arguments are not passed to a function. Assignments to None are illegal and raise a SyntaxError.
    • Situation: function argument로 None을 넣었다.
    • Reason: function dafault parameter로 None을 넣어놓는 거랑은 의미가 다르다.
    • Solution: 함수 실행 값에는 None을 넣으면 동작이 안된다
    • Error: requests response 객체는 status 가 없다
    • Situation: request parse 중 에러
    • Reason: instance attribute pick error
    • Solution: status_code <== status
  • 20-06-05

    • Error: mutable 객체( python dict ) 변형 한 상태로 다른 객체에서 동일한 객체 변형해서 사용시.. 문제가 생긴다.
    • Situation: 값이 내가 기대했던거랑 이상하게 나옴.
    • Reason: mutable dict 객체에서 값을 변형하고 다음
    • Solution: deepcopy로 복사본 만들어서 사용, mutable 변형은 피하는게 상책, 값만(imutable e.g. str, int) 쓰거나 하는게 좋음. 이어지는 과정에서 immutable을 사용하고 있지는 않은지 확인이 필요하다.
    • Error: list unpacking error
    • Situation: *arg 쪼갤때 list 추가로 받는걸 별도로 남겼는데 안됨 mainnumber, calldate, calltype, innernumber, receivernumber, others = callinfo
    • Reason: unpacking elements > target element
    • Solution: *으로 잔여 elements를 받으려면 수를 맞춰야한다.
    • Error: MySQL 1292 Incorrect datetime value
    • Situation: time 값 사용시 이상해짐
    • Reason: The problem is that ‘2011-03-13 02:53:50’ is illegal because of daylight saving time switch between 2 and 3 AM, so all time values between 2 and 3 am on any DST introduction day are invalid. Same for ‘2016-03-13 02:32:21’, etc

      • 즉 오전 2시랑 오전 3시랑 동일해진다는 얘기??
    • Solution: Change the system timezone to the one that does not use DST and you should be fine
    • 일광 절약 시간제(日光節約時間制, 미국 영어: Daylight saving time, DST) 또는 서머 타임(영국 영어: summer time)은 하절기에 표준시를 원래 시간보다 한 시간 앞당긴 시간을 쓰는 것을 말한다. 즉, 0시에 일광 절약 시간제를 실시하면 1시로 시간을 조정해야 하는 것이다. 실제 낮 시간과 사람들이 활동하는 낮 시간 사이의 격차를 줄이기 위해 사용한다. 여름에는 일조 시간이 길므로 활동을 보다 일찍 시작하여 저녁 때 직장이나 학교에서 이렇게 ‘절약된 낮 시간’을 더 밝은 상태에서 오후에 활동할 수 있게 하는 효과가 있으며, 또한 직장이나 학교에서의 조명과 연료 등의 절감 효과를 기대할 수 있기 때문이다. 온대 지역에서는 계절에 따른 일조량의 차이가 크므로 일광 절약 시간제는 보통 온대 지역에서 시행된다.
  • 20-06-06

    • Error: sequence 의 값이 없을 때는 is None으로 판별이 안되고, true / false로 판별이 된다.
    • Situation: DB 값 리턴 some container의 값이 있는지 없는지 if statement로 판단
    • Reason: 문법을 잘 못 알고 적용하고 있었음
    • Solution: if someseq: <== if someseq is not None:

      • is 는 value compare, == 는 메모리 값 compare