찾으시려는 내용은 ctrl + f or cmd + f 를 이용해 주세요 :)
[TIL/79일차/11.14] Docker Opencv 설정 ft. 내배캠
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
ubuntu22.04.1에서 파이썬 3.10.8 이미지에 opencv를 설치하고 실행을 하는데 아래와 같은 에러가 났다.
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
찾아보니 libgl1-mesa-glx라는 것이 설치가 안됐기 때문이고
해결 방법은
이미지 빌드하는 파일인 Dockerfile에 설치하는 구문을 추가해 주면 된다.
1
2
RUN apt-get update
RUN apt-get -y install libgl1-mesa-glx
ubuntu 버전 확인
$ lsb_release -a
[TIL/80일차/11.15] 프로젝트 구상, drf살짝 ft. 내배캠
프로젝트 기능에 대한 회의, 아이디어 구상과 와이어 프레임, 정책을 생각하는 하루였고 drf에 대하여 약간 공부하는 하루였습니다.
[TIL/81일차/11.16] Generics RetrieveAPIView ft. 내배캠
[TIL/82일차/11.17] Algorithm, DRF ListCreateView ft. 내배캠
python len()함수는 어떻게 O(1)의 시간 복잡도를 가질까?
- len()은 __ len __()을 호출한다. (마크다운 언어로 __ 띄움)
- __ len __()은 카운터로 작동하며 데이터가 정의되고 저장되면 자동적으로 증가한다. 결과적으로 길이를 가져오라는 것 대신 이미 저장된 value값을 가지고 오는 것이다.
algorithm 회고
- 짧게 생각하고 오만함이 차고 넘쳐 까불다가 오히려 시간을 더 써버렸다.
- 하지만 맞왜틀이 아닌 틀왜맞을 찾았다. 반례를 등록하고 싶은데 프로그래머스에는 있지는 않는 것 같다.
- 쉬운 풀이가 있음에도 돌아가서 나자신에게 아쉬웠다
(성능은 좀 나으니까 정신 승리, 아무나 그렇다고 해줘ㅠ) - 화나지만 그래도 뿌듯하고 짜증나지만 재밌다. 나 자신에게 화가나
[TIL/83일차/11.18] Django 쿼리셋 로깅하기 ft. 내배캠
로깅이란?
- 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동.
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LOGGING = {
'version': 1, #logging 버젼
'disable_existing_loggers': False, # 원래 있던 로깅들을 그래도 냅둠 # 만약 True면 못쓴다는 거겠죠? ㅎ
'handlers': { # 로깅 메세지에서 일어나는 일을 결정하는 녀석이라고 장고공식문서에 나와있는데, 아직 무슨말인지는 저도 모르겠네요 ㅎㅎ
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
}
},
'loggers': { # 로깅을 console에 띄울지 ... 다른데 띄울지 그냥 DEBUG용으로 레벨을 설정할 수 도있고,
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG',
},
}
}
[TIL/84일차/11.19] django-crontab ft. 내배캠
django-crontab이란?
- 서버를 실행하고 주기적으로 함수를 실행해야할 경우 필요한 라이브러리이다.
django-crontab
pip install django-crontab
- settings.py 앱 추가 settings.py
1 2 3 4 5 6 7
INSTALLED_APPS = [ . . 'django_crontab', . . ]
- 앱 하위에 cron.py 생성 후 원하는 함수 구현
1 2
def crontab_hello(): print('hello')
- settings.py 설정하기
1 2 3
CRONJOBS = [ ('* * * * *', 'study_group.cron.crontab_penalty_student', '>> '+os.path.join(BASE_DIR, 'stady/log/cron.log')), ]
- 매분 실행하고 프로젝트/폴드/로그파일 경로를 설정하여 로그를 확인할 수 있다. (crontab 시간 설정 웹 사이트)[https://crontab.guru/#_*_]