전체 글 326

[fastapi] main.py 가 아닌 test.py 실행하기

fastAPI 를 잘 몰라서 헤매다가 이 단순한 내용을 기록용으로 남깁니다... 저는 fastapi_test.py 라는 파일을 실행시키려고 합니다. 그 파일 안에 다음 내용이 들어 있습니다. app = FastAPI() 기존에는 main.py 를 uvicorn main:app --reload 명령으로 실행시켰습니다. 그러면 main.py 가 없이 fastapi_test.py 를 실행하려면 어떻게 해야 할까요? uvicorn fastapi_test:app --reload 이 간단한 명령을 몰라서 엄청 삽질했습니다.. ㅎㅎ 참고로 현재 실행하는 디렉토리가 소스가 위치한 곳과 다르다면 이를 앱 이름에 반영해줘야 합니다. 현재 디렉토리 하위에 examples 안에 fastapi_test.py 가 존재하고 이를 ..

IT/python 2023.12.12

[windows 10] wifi 목록에서 옆집 목록 감추기

기록용으로 남깁니다. Win + X, A 키를 연속으로 눌러 powershell 을 관리자 권한으로 실행합니다. 다음 명령을 내립니다. 가리고자 하는 wifi 의 ssid가 KT_GiGA_5G_ABCD 라고 합시다. netsh wlan add filter permission=block ssid="KT_GiGA_5G_ABCD" networktype=infrastructure 제대로 들어갔는지 확인하려면 다음 명령을 내립니다. netsh wlan show filters 그러면 시스템의 차단 목록(사용자) 항목에 차단한 wifi ssid 목록이 나타납니다. 혹시 잘못 입력해서 지우고 싶은 것이 있다면 (위의 경우 KT_GiGA_5G_ABCD) 다음 명령으로 삭제하면 됩니다. netsh wlan delete f..

IT/System Digging 2023.12.07

[raspberrypi 4b] 자동 로그인 옵션 관련

sudo raspi-config 명령을 통해 NCURSES GUI 로 자동 로그인 설정을 할 수 있습니다. 접근 방법은 1 System Options >> S5 Boot / Auto Login 메뉴를 선택하면 B1, B2, B3, B4 로 자동 로그인 방법을 선택할 수 있는 창이 나옵니다. 이 중 B1, B2 는 콘솔 자동로그인에 대한 선택이고, B3, B4 는 모니터를 연결했을 때 나오는 데스크탑(기본 설치시, X 설치 안하면 해당 안됨) 자동 로그인에 대한 선택입니다. 홀수는 자동 로그인 안함, 짝수는 pi 계정에 대한 자동 로그인 허용입니다. 참고로 시스템이 켜지자 마자 사용자 세션에서 서비스를 돌리고 싶다면 콘솔 자동 로그인은 활성화 되어 있어야 합니다. 그렇지 않으면 ssh 나 키보드/모니터 연..

IT/RaspberryPi 2023.12.05

[raspberry pi 4B][python3] 라즈베리 파이 csi 카메라 체크하기

라즈베리파이 V2 카메라는 csi 케이블로 라즈베리파이 4B 등에 연결할 수 있습니다. /boot/config.txt 에 imx219 장치를 활성화해야 사용할 수 있습니다. 이 카메라를 연결 여부, 정상 동작 여부를 pathlib.Path 와 smbus 를 사용하여 확인할 수 있습니다. 참고로 위 소스는 카메라의 i2c 주소가 항상 10을 사용하고, 카메라 외에 i2c 를 사용하는 다른 장치가 없을 때에만 정상 동작합니다.

IT/RaspberryPi 2023.11.17

[ubuntu 20.04] apt update 실패 doesn't support architecture 'i386'

apt update 실행시 아래와 같은 오류가 발생했습니다. N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https://packages.grafana.com/oss/deb stable InRelease' doesn't support architecture 'i386' 해당 패키지 목록 파일(/etc/apt/sources.list.d/grafana.list)을 살펴보니 아래와 같이 되어 있었습니다. deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main 이 자체로는 문제가 없어 보이는데 무..

IT/System Digging 2023.11.09

[python3][pyaudio] 초기화 디버그 메시지 숨기기

pyaudio 를 쓰면서 좀 짜증아 났던 부분이 강제적인 디버그 메시지를 봐야 한다는 것입니다. 구현한 프로그램이 시스템의 서비스로 등록되면 해당 메시지가 syslog 를 당당하게 차지하기도 합니다. 보통은 /usr/share/alsa/alsa.conf 파일이나 ~/.asoundrc 파일이나 /etc/asound.conf 설정이 문제가 있어서 발생하는 메시지라고 합니다. 가장 좋은 것은 최적화된 설정을 찾아서 고치는 것이겠죠.. 고치지 않아도 동작 잘 되고, 위의 alsa 설정 고치기도 머리 아프고, 지저분한 것이 싫은 경우에는 에러 핸들러를 비워주면 해당 메시지 없이 사용할 수 있습니다. #!/usr/bin/env python from ctypes import * import pyaudio # c 언어..

IT/python 2023.10.18

[crontab] cli 에서 내용 추가하기

crontab 은 작업을 특정 시간/주기마다 실행할 수 있게 해주는 프로그램입니다. 보통 crontab -e 명령으로 편집기를 실행한 다음 내용을 편집해서 사용해오셨을 텐데요, cli 로도 사용할 수 있습니다. (crontab -l; echo '*/10 * * * * 실행할 명령') | crontab - 위 명령을 사용하면 한 줄로 기존 crontab 내용 맨 뒤에 새 내용을 추가할 수 있습니다. 일괄 작업에 도움이 되리라 생각합니다.

IT/System Digging 2023.10.06

[python3] 터미널에서 한 줄로 if else 사용하기

가끔 터미널에서 작업을 할 때 bash 로 작성하기에는 짜증나고 python 으로 하면 금방 처리되는 경우가 있습니다. 파이썬 명령이 길어지는 경우 파일로 작성해서 터미널에서 실행하면 가장 간단한데, 가끔 파일 자체를 작성할 수 없는 경우가 있습니다. 이런 경우 터미널에서 python -c '파이썬 명령들' 로 실행을 할 수 있는데 단순 한줄짜리 명령들은 세미콜론 ; 을 사용해서 여러 명령을 입력할 수 있었는데 if else 등은 할 줄 몰라서 못했었습니다. 그냥 대충 써보면 개행이 잘못되었다든지 문법이 틀렸다든지의 오류가 발생했었습니다. 인터넷을 뒤져 찾아낸 방법은 python -c $"파이썬 명령1\n파이썬 명령2\n..." 형태로 쓰면 정상적으로 실행되는 것을 확인할 수 있었습니다. 예를 들면 if..

IT/python 2023.10.06

[Office365][exchange 모드] 이메일 파일 위치 C 에서 D 로 변경하기

office365 를 회사에서 쓰면서 초반에는 별 불편함이 없었는데 연차가 늘어나니 C 드라이브 용량이 자주 부족해지는 문제가 있었습니다. 그래서 이런 저런 삽질을 통해 동작하는 방법을 정리합니다. 참고로 pop 이나 imap 은 서버에서 메일을 가져오는 옵션 등이 있기 때문에 기존 데이터 파일을 백업하고 아래 설정으로 새로 d 드라이브에 데이터 파일이 있는 상태에서 다시 데이터 파일을 읽어서 오래된 파일을 복사하는 과정이 필요합니다. 선행 작업 메일 접속 정보 저장 계정 명, 비밀 번호, 서버 이름, 포트 번호, port, 프로토콜 등... exchange 인 경우 계정 명과 비밀 번호만 기억해두면 됩니다. 기존 메일 데이터 백업 exchange 방식이 아닌 pop/imap 방식으로 서버에서 메일을 가..

IT/office 2023.10.06

[Windows10] 탐색기 상의 USB 드라이브 이름(label) 최대 길이

기록용으로 남깁니다. 차에서 음악 감상용으로 쓰려고 usb disk 를 구매해서 디스크 이름을 변경하려고 했습니다. 그런데 문제가 생겼습니다. 변경이 안됩니다!! 그림과 같이 12자 이상은 기록이 안됩니다. 바꾸려고 하면 잘못된 드라이브 레이블이라는 오류가 뜹니다... 아니 지금이 어느 시대인데 아직도 디스크 이름을 11자 밖에 쓸 수 없는지 이해가 되지 않지만... 안된다니 그에 맞춰 쓸 수 밖에 없네요. FAT 파일 시스템이나 NTFS 는 모두 11자가 한계라고 합니다. 참고로 저 드라이브는 exfat 으로 포맷이 되어 있었습니다. 어떤 다른 글에는 exfat 은 더 긴 이름을 지원한다는 말이 있었지만 그 이름까지 변경되지는 않았습니다.

IT/System Digging 2023.10.04