전체 글
IT 관련 잡다한 지식 기록
-
기록용으로 남깁니다. 보통 환경 변수가 필요할 때 VAR1="this_value" python3 aa.py 와 같이 변수=값 을 앞에 써주고 그 뒤에 실행시킬 명령(python3 aa.py)을 써주면서 사용합니다. 이런 저런 테스트로 노가다를 하다가 보니 이런 생각이 들었습니다. argument 로 aa.py 가 해석할 명령을 주는데 그거와 별개로 파라미터를 명령 해석 및 실행이 아니라 다른 방식 또는 모드 지정을 하고 싶다는 생각이었습니다. 다만, 그렇게 하려면 키워드 옵션 지정해서 처리하거나 argparse 를 써서 설정해야 하는데 귀찮더군요.. 그래서 생각해낸 게 환경 변수였습니다. 파이썬에서도 자신의 환경 변수에 접근할 수 있으니(os.environ) 어떻게든 되겠지라는 생각을 했습니다. 다만, ..
[bash] 다중 환경 변수(multiple environment variable)와 함께 프로그램 실행하기기록용으로 남깁니다. 보통 환경 변수가 필요할 때 VAR1="this_value" python3 aa.py 와 같이 변수=값 을 앞에 써주고 그 뒤에 실행시킬 명령(python3 aa.py)을 써주면서 사용합니다. 이런 저런 테스트로 노가다를 하다가 보니 이런 생각이 들었습니다. argument 로 aa.py 가 해석할 명령을 주는데 그거와 별개로 파라미터를 명령 해석 및 실행이 아니라 다른 방식 또는 모드 지정을 하고 싶다는 생각이었습니다. 다만, 그렇게 하려면 키워드 옵션 지정해서 처리하거나 argparse 를 써서 설정해야 하는데 귀찮더군요.. 그래서 생각해낸 게 환경 변수였습니다. 파이썬에서도 자신의 환경 변수에 접근할 수 있으니(os.environ) 어떻게든 되겠지라는 생각을 했습니다. 다만, ..
2024.01.18 -
vscode 로 라즈베리파이에 접근하여 원격으로 작업시 "Visual Studio Code is unable to watch for file changes in this large workspace" 오류가 종종 발생했습니다. 그동안 계속 무시하고 있었는데 오늘은 해결책을 찾아봤네요. ms 에서는 다음 링크에 어떻게 할 지 안내하고 있습니다. https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc 간단하게 정리를 해보면.. 현재 max_user_watches 값 확인 cat /proc/sys/fs/inotify/..
[vscode] "Visual Studio Code is unable to watch for file changes in this large workspace" 오류 발생 시 처리 방법vscode 로 라즈베리파이에 접근하여 원격으로 작업시 "Visual Studio Code is unable to watch for file changes in this large workspace" 오류가 종종 발생했습니다. 그동안 계속 무시하고 있었는데 오늘은 해결책을 찾아봤네요. ms 에서는 다음 링크에 어떻게 할 지 안내하고 있습니다. https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc 간단하게 정리를 해보면.. 현재 max_user_watches 값 확인 cat /proc/sys/fs/inotify/..
2024.01.08 -
기존에 파이썬 cpu 온도 얻어오는 코드가 awk 를 두번 돌려서 파싱하는 구조로 되어 있었습니다. vcgencmd measure_temp 명령 결과를 파이썬에서 파싱해도 되는데 뭐가 성능이 더 좋을까 하는 궁금증이 생겼습니다. pi@RPwiznet013:~/wiznet/skp_arhis/app $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> ret, res = subprocess.getstatusoutput("vcgencmd measure_te..
[python3] 셸 명령 파싱하기 성능 비교기존에 파이썬 cpu 온도 얻어오는 코드가 awk 를 두번 돌려서 파싱하는 구조로 되어 있었습니다. vcgencmd measure_temp 명령 결과를 파이썬에서 파싱해도 되는데 뭐가 성능이 더 좋을까 하는 궁금증이 생겼습니다. pi@RPwiznet013:~/wiznet/skp_arhis/app $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> ret, res = subprocess.getstatusoutput("vcgencmd measure_te..
2024.01.05 -
기록용으로 남깁니다. 라즈베리파이의 /proc/cpuinfo 의 revision 값에서 모델 종류 값을 디코딩하는 방식으로 얻어옵니다. 간단한 코드 설명을 남깁니다. 라즈베리파이의 /proc/cpuinfo 에는 Revision 값이 남습니다. 이 값에서 모델 종류 값을 추출합니다. rev 값은 이 값을 파싱해서 16진수라는 것을 알려주고 정수로 바꿔서 저장합니다 rpi_type 값은 엄청 구형인 모델은 리스트 형태의 테이블에서 값을 가져오고 그 이외의 모델(요새 구입하는 대부분의 모델) 비트 연산을 해서 모델 코드만 뽑아냅니다. rpi_model 은 rpi_type 값과 모델명의 연결(mapping) 자료형입니다. return 문은 rpi_type 값에 해당하는 모델 값을 찾아 반환합니다. 없다면 빈 문..
[raspberry pi][python3] 라즈베리 파이 모델 확인하기기록용으로 남깁니다. 라즈베리파이의 /proc/cpuinfo 의 revision 값에서 모델 종류 값을 디코딩하는 방식으로 얻어옵니다. 간단한 코드 설명을 남깁니다. 라즈베리파이의 /proc/cpuinfo 에는 Revision 값이 남습니다. 이 값에서 모델 종류 값을 추출합니다. rev 값은 이 값을 파싱해서 16진수라는 것을 알려주고 정수로 바꿔서 저장합니다 rpi_type 값은 엄청 구형인 모델은 리스트 형태의 테이블에서 값을 가져오고 그 이외의 모델(요새 구입하는 대부분의 모델) 비트 연산을 해서 모델 코드만 뽑아냅니다. rpi_model 은 rpi_type 값과 모델명의 연결(mapping) 자료형입니다. return 문은 rpi_type 값에 해당하는 모델 값을 찾아 반환합니다. 없다면 빈 문..
2023.12.28 -
기록용으로 남깁니다. 제가 관리하는 장비의 ~/.vimrc 는 첫번째 줄에 set number 가 있고 19번째 줄에 set nowrap 이 있습니다. 저는 그 옵션을 매우 싫어 합니다. 그래서 이 옵션들을 .vimrc 의 문법인 " 을 줄 맨 앞에 삽입하여 주석처리하려고 합니다. 일일이 vim 으로 열어서 이동 수정 저장하기가 귀찮아서 한 줄 명령을 찾아봤습니다. sed -i -e '1s/^/"/' ~/.vimrc -e '19s/^/"/' ~/.vimrc 간단히 설명하면 -i 옵션을 빼면 동작 결과를 화면으로만 보여주고 실제 파일에 반영하지 않습니다. 즉, -i 는 저장 옵션 -e 는 여러 동작을 한 줄에서 순서대로 명령하기 위해서 사용합니다. 한마디로 다중 명령용 옵션 s 명령은 s/원본/대상/ 의 ..
[sed] vim 특정 줄 주석 처리기록용으로 남깁니다. 제가 관리하는 장비의 ~/.vimrc 는 첫번째 줄에 set number 가 있고 19번째 줄에 set nowrap 이 있습니다. 저는 그 옵션을 매우 싫어 합니다. 그래서 이 옵션들을 .vimrc 의 문법인 " 을 줄 맨 앞에 삽입하여 주석처리하려고 합니다. 일일이 vim 으로 열어서 이동 수정 저장하기가 귀찮아서 한 줄 명령을 찾아봤습니다. sed -i -e '1s/^/"/' ~/.vimrc -e '19s/^/"/' ~/.vimrc 간단히 설명하면 -i 옵션을 빼면 동작 결과를 화면으로만 보여주고 실제 파일에 반영하지 않습니다. 즉, -i 는 저장 옵션 -e 는 여러 동작을 한 줄에서 순서대로 명령하기 위해서 사용합니다. 한마디로 다중 명령용 옵션 s 명령은 s/원본/대상/ 의 ..
2023.12.19 -
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 가 존재하고 이를 ..
[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 가 존재하고 이를 ..
2023.12.12 -
기록용으로 남깁니다. 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..
[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..
2023.12.07 -
sudo raspi-config 명령을 통해 NCURSES GUI 로 자동 로그인 설정을 할 수 있습니다. 접근 방법은 1 System Options >> S5 Boot / Auto Login 메뉴를 선택하면 B1, B2, B3, B4 로 자동 로그인 방법을 선택할 수 있는 창이 나옵니다. 이 중 B1, B2 는 콘솔 자동로그인에 대한 선택이고, B3, B4 는 모니터를 연결했을 때 나오는 데스크탑(기본 설치시, X 설치 안하면 해당 안됨) 자동 로그인에 대한 선택입니다. 홀수는 자동 로그인 안함, 짝수는 pi 계정에 대한 자동 로그인 허용입니다. 참고로 시스템이 켜지자 마자 사용자 세션에서 서비스를 돌리고 싶다면 콘솔 자동 로그인은 활성화 되어 있어야 합니다. 그렇지 않으면 ssh 나 키보드/모니터 연..
[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 나 키보드/모니터 연..
2023.12.05