에러 모음

Codren·2021년 3월 26일
0

가상환경에서 input 함수

  • 가상환경에서 task.json으로 실행시 input 파라미터에 가상환경에 있는 activate가 알아서 보내지게됨 이를 방지하기 위해 activate를 activate1 이런식으로 바꿈



virtualenv 파이썬 버전 설정

  • virtualenv 가상환경에 원하는 파이썬 버전을 설정해주기 위해서는 지정하려는 파이썬이 로컬 컴퓨터에 설치되어 있어야 함
virtualenv env --python=python3.7.7	# 3.7.7 버전이 설치되어 있어야함



VScode 가상환경 파일 경로

  • VScode의 메뉴바 Run 및 Debug 기능은 현재 프로젝트 폴더 기준으로 파일 경로 설정
  • VScode의 run in terminal 기능은 vscode 터미널 창 현재 디렉토리 기준으로 파일 경로 설정
img = cv2.imread('cat.bmp')	# 절대 및 상대경로 지정하던지 terminal에서 디렉토리로 cd 하던지 해야함



VScode opencv 카메라 접근 error

  • terminal 상에서 프로그램 실행하거나 sudo code를 이용해서 관리자 권한으로 VScode 실행



set 으로 프레임 크기 변경해도 변경되지 않는 error

  • VScode로는 접근해서 직접 변경할 수 없는 것 같음
  • OBS 프로그램으로 카메라 프레임 640x480으로 변경 후 실행하면 640x480으로 설정됨



css style 적용해도 적용되지 않는 error

<span style="color: red; list-style-type: none;">{{field.errors}}</span>
  • user agent css(브라우저 기본설정) 때문에 적용되지 않음
  • normalize.css 파일 등을 구해서 따로 지정해주면된다.



Import could not be resolved warning

  • 다른 app의 모델을 import 할 때 Pylance yellow wavy 현상이 발생
  • 동작은 정상적으로 되지만 warning (Pylance bug인 것 같음)
  • 해결 방법 : pylance github 에서 나온대로 path 직접 등록



502 Gate error

  • tail -f var/log/nginx/error.log 명령어로 nginx log 확인
  • django.sock (13 : Permission denied)
  • SElinux Permissive 설정하면 접근 가능




Static 파일 접근 error

  • tail -30 /var/log/nginx/error.log 명령어로 nginx log 확인
  • /static/bootstrap.min.css (13 : Permission denied)
chmod 755 codren		# home/ 에서 수행
chmod 755 django_practice	# home/codren 에서 수행




GCP SSH 접속 error

  • chmod 777 home/codren 수행 시 인스턴스 ssh 접속이 되지 않음
  • user 폴더 내에는 ssh key가 존재하기 때문에 권한에 예민해서 접근할 수가 없음




같은 상품의 주문 환불 시 재고가 제대로 변경되지 않는 error

  • 아래와 같이 같은 상품 (test_product4)의 주문을 환불하면 상태는 '환불'로 제대로 변경되지만 상품의 재고는 둘 다 적용되지 않고 하나만 적용되는 error

  • 원인
    - test_product4의 재고가 100개라면 queryset으로 2개의 주문 항목을 불러올 때 둘 다 obj.product.stock의 수가 100개이기 때문에 트랜잭션 충돌이 일어나게 됨 (갱신 분실)
    즉, 첫 번째 항목을 환불할 때 stock의 값을 변경했더라도 두 번째 항목을 환불할 때 또 다시 100개를 기준으로 작업을하고 해당 결과를 save()하기 때문에 첫 번째 stock 변경 값은 분실(lost)됨

  • 해결 방법
    - 현재 test_product4의 stock 값과 환불하려는 주문 항목의 test_product의 stock 값이 일치하면 그대로 작업을 수행하고 일치하지 않다면 queryset으로 불러온 이후에 값이 변경됬다는 의미이므로 변경된 값을 기준으로 작업을 수행




쿼리셋 [] index로 접근하여 환불 작업 수행 시 error

  • qs 는 추출된 행(들)을 묶는 객체이고 qs[index]이 행임 (update 함수는 qs 객체로 사용해야함)
  • qs 로 반환되는 행은 하나뿐이라서 for 문을 돌리지 않고 직접 [0] 인덱스로 접근해봄
  • 왼쪽 코드는 잘 수행되지만 오른쪽 코드는 product.stock += quantity 가 수행되지 않음

  • obj 와 qs[0] 의 데이터 타입과 값은 아래와 같이 동일함에도 덧셈 작업이 수행되지 않음

  • 하지만 아래와 같이 qs로 for문을 돌리고 상관없는 i로 받아도 제대로 환불 작업이 수행됨

  • 결론 - 이유를 모르겠다.




하위 메뉴 진입 시 상위 메뉴까지 Highlight 되는 error

  • 다음과 같이 free 의 자식으로 model 타입과 free 타입을 지정했을 경우, 최근 주문 메뉴 이동 시 중복되어 하이라이트 기능이 실행되는 error


  • 원인
    - free type 일 때는 location.pathname (현재 페이지의 url) 과 지정된 url 이 정확히 일치할 때만 하이라이트 기능이 실행됨
    - model type 일 때는 location.pathname 에 지정된 url 있는지 정규표현식으로 비교하고, 있으면 하이라이트 기능이 실행됨
    - 주문 메뉴의 url 은 /admin/order/order 이고, 최근 주문 메뉴의 url 은 /admin/order/order/date_view 이므로 위에는 완전 일치 아래는 정규표현식 일치 -> 하이라이트


  • 해결방법
    - 둘 다 free type 으로 지정하기
    - 정규표현식 're': '^/admin/order/order/date_view/(\d*)?'} 을 이용해서 하이라이트 기능 제어 가능




Oracle Adapter Connection error

  • 서비스 설정에서 Oracle 관련 서비스 시작




원격 Oracle 접속 error




SpringToolSuite4 Permission error

  • MAC 재부팅, 소프트웨어 upgrde, Mac Cleaner 등의 작업 수행 후 SpringToolSuite4 에 대한 권한이 없다고 실행이 안되는 경우 발생하는 에러
  • 스택오버플로우 참고
  • 추가적으로 web Context root 가 변경될 수 있으니 조정 필요




POST method 를 지원하지 않는 error

  • 혹시 아래와 같은 에러가 발생한다면 아래 코드로 RequestMapping 수행
@RequestMapping(value ="reg", method = {RequestMethod.GET, RequestMethod.POST})




POST 입력 Null error

  • form 상에서 POST 입력으로 전송될 데이터를 선택하지 않으면 -> "null" 입력으로 처리 (에러 X)
  • http://localhost:8080/admin/board/notice/reg 직접 url 요청시 nullpointerexception -> try-catch

0개의 댓글