- 가상환경에서 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] 의 데이터 타입과 값은 아래와 같이 동일함에도 덧셈 작업이 수행되지 않음
하위 메뉴 진입 시 상위 메뉴까지 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
- MAC 재부팅, 소프트웨어 upgrde, Mac Cleaner 등의 작업 수행 후 SpringToolSuite4 에 대한 권한이 없다고 실행이 안되는 경우 발생하는 에러
- 스택오버플로우 참고
- 추가적으로 web Context root 가 변경될 수 있으니 조정 필요
POST method 를 지원하지 않는 error
- 혹시 아래와 같은 에러가 발생한다면 아래 코드로 RequestMapping 수행
@RequestMapping(value ="reg", method = {RequestMethod.GET, RequestMethod.POST})
POST 입력 Null error