All Articles

TIL&TEL 21.10.25~21.10.31

TIL( Today I Learned)

21-10-25 월

  • 스토리지 엑셀 업로드

21-10-26 화

  • 엑셀메이커 동작 확인
  • 스토리지 엑셀 업로드
  • 인터뷰참여

21-10-27 수

  • 비밀번호 확인 regex 수정하기

    • 문자, 숫자, 특수문자 혼합, 8자이상 16자미만
  • 스토리지 엑셀 업로드

    • 중복 데이터 처리

      • over wtite
      • 중복 데이터 존재시 uuid 붙이기

21-10-28 목

  • Jwt token 주기 로그인

    • 로그인 중간 parsing
  • 리스트 조회 처리 등록

    • 중간 id 박힌거 대응?
  • Application 인증

21-10-29 금

  • 프론트 통합 이슈 대응
  • Response 랩퍼 에러코드 대응
  • 유저 관리

    • SG App auth 추가하기

TEL (Trial and Error Log)

21-10-25

  • ERROR: 2002, “Can’t connect to MySQL server on ‘127.0.0.1’ (115)

    • SITUATION:

      • docker 내부에서 gunicorn 동작
    • REASON:

      • celery

        • os.environ.setdefault("DJANGO_SETTINGS_MODULE", "tac.settings.develop")
        • 기존 세팅 overide
    • SOLUTION:

      • 해당 라인 지우기

21-10-26

  • ERROR: TypeError: tuple indices must be integers or slices, not float

    • SITUATION: python xlsxwriter library 동작중
    • REASON:

      • 동작 변수 제대로 입력 안함, int 넣어야 하는데 float 넣었음
    • SOLUTION:

      • border : <int>
  • ERROR: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x8f in position 22: invalid start byte

    • SITUATION:

      • python excel file gcloud file upload
    • REASON:

      • mode settings 제대로 안함
    • SOLUTION:

      • with open(<filename>, 'rb') as f:
        	....
  • ERROR: “djangorestframeworkcamelcase.parser.CamelCaseMultiPartParser”,

    • SITUATION

      • django runserver
      • restframeworknested library 생기지 않음
    • REASON:

      • poetry 환경 문제
    • SOLUTION:

      • pyproject.toml 프로젝트 이름을 바꾸면 유지하는 가상환경도 달라진다.
  • ERROR: Expecting property name enclosed in double quotes

    • SITUATION:

      • bytes to dict parsing
    • REASON:

      • json parsing이 잘 안되었는데 요청을 json이 아닌 값으로 보내고 있었다.
    • SOLUTION:

      • 요청 수정

21-10-29

  • ERROR: get() returned more than one AccessToken — it returned 17

    • SITUATION: django queryset parsing
    • REASON:

      • m2m relation
      • queryset.filter 나오는 것이 단독 instance 라면, .get()으로 instance를 불러올 수 있다.
    • SOLUTION:

      • filter().last() 수정