Programming
-
참고 네트워크 ip 주소를 얻어오는 방법이 여러가지가 있지만 인터페이스에 직접 ioctl 명령을 사용해서 다양한 정보를 얻어오는 방법을 사용할 수 있습니다. C의 경우 파일과 를 include 해서 사용할 수 있습니다. 결과값은 struct ifreq 구조체로 넘어오는데 요청마다 값의 형태가 다릅니다. 일단은 위의 man page 도움말을 참고하시고 아래 형태와 같이 필요에 따라 변환을 해야 합니다. 참고로 ioctl 명령 이름 뜻은 아래 주석에 표시해놨습니다. 아래 상수 값이 항상 고정인지 특정 상황에 바뀔 수 있는지는 모르겠네요 어떤 소스 보니까 Linux 인지 BSD 인지 구분하는 경우도 있어서 os에 따라 달라질 수 있겠다는 생각도 듭니다. struct ifreq i; char ip[50]; in..
[network] 정보 ioctl 명령으로 확인하기참고 네트워크 ip 주소를 얻어오는 방법이 여러가지가 있지만 인터페이스에 직접 ioctl 명령을 사용해서 다양한 정보를 얻어오는 방법을 사용할 수 있습니다. C의 경우 파일과 를 include 해서 사용할 수 있습니다. 결과값은 struct ifreq 구조체로 넘어오는데 요청마다 값의 형태가 다릅니다. 일단은 위의 man page 도움말을 참고하시고 아래 형태와 같이 필요에 따라 변환을 해야 합니다. 참고로 ioctl 명령 이름 뜻은 아래 주석에 표시해놨습니다. 아래 상수 값이 항상 고정인지 특정 상황에 바뀔 수 있는지는 모르겠네요 어떤 소스 보니까 Linux 인지 BSD 인지 구분하는 경우도 있어서 os에 따라 달라질 수 있겠다는 생각도 듭니다. struct ifreq i; char ip[50]; in..
2020.11.17 -
vscode 로 원격 remote ssh 연결로 잘 쓰고 있었는데 vscode 업데이트를 하니 갑자기 다음 메시지가 나오면서 접속이 안됩니다. "install" terminal command done Install terminal quit with output: bash) was unexpected at this time. Retry 도 해보고 Reconnect 도 해보고 창도 껏다 켜보고 해봤지만 진행이 안됩니다. 인터넷에 검색해도 마찬가지구요.. 그래서.. 무식하게 해결을 해봤습니다! 원격지 홈 디렉토리에 보면 ls -a 명령으로 .vscode 와 .vscode-server 디렉토리가 존재함을 확인할 수 있습니다. 이들을 싹 다 지워버리고 host의 vscode 에서 다시 접속 시도했더니 알아서 다시..
[ vscode] install terminal quit with output 오류vscode 로 원격 remote ssh 연결로 잘 쓰고 있었는데 vscode 업데이트를 하니 갑자기 다음 메시지가 나오면서 접속이 안됩니다. "install" terminal command done Install terminal quit with output: bash) was unexpected at this time. Retry 도 해보고 Reconnect 도 해보고 창도 껏다 켜보고 해봤지만 진행이 안됩니다. 인터넷에 검색해도 마찬가지구요.. 그래서.. 무식하게 해결을 해봤습니다! 원격지 홈 디렉토리에 보면 ls -a 명령으로 .vscode 와 .vscode-server 디렉토리가 존재함을 확인할 수 있습니다. 이들을 싹 다 지워버리고 host의 vscode 에서 다시 접속 시도했더니 알아서 다시..
2020.11.12 -
문자열을 숫자로 저장했다가 다시 복원하는 방법입니다. 아래 글 내용에 나오는 코드를 고쳐봤습니다. 더보기 바보팀1님의 Hellow 난독화하기 글을 읽었습니다. 저는 python v3.8 환경을 사용하는데 여기에서는 동작하지 않아서 동작하도록 고쳐봤습니다. 버전별로 처리해보기 위해 코드를 문자화 하는데에 샐리님 블로그 글을 참조하였습니다. # 출처: https://qkqhxla1.tistory.com/485 # 참고: https://saelly.tistory.com/171 import sys v2 = """(lambda _, __, ___, ____, _____, ______, _______, ________: getattr( __import__(True.__class__.__name__[_] + []._..
유니코드 문자열을 숫자로 변환했다가 복원하기문자열을 숫자로 저장했다가 다시 복원하는 방법입니다. 아래 글 내용에 나오는 코드를 고쳐봤습니다. 더보기 바보팀1님의 Hellow 난독화하기 글을 읽었습니다. 저는 python v3.8 환경을 사용하는데 여기에서는 동작하지 않아서 동작하도록 고쳐봤습니다. 버전별로 처리해보기 위해 코드를 문자화 하는데에 샐리님 블로그 글을 참조하였습니다. # 출처: https://qkqhxla1.tistory.com/485 # 참고: https://saelly.tistory.com/171 import sys v2 = """(lambda _, __, ___, ____, _____, ______, _______, ________: getattr( __import__(True.__class__.__name__[_] + []._..
2020.10.26 -
CMake 를 처음 써보면서 헤매는게 많네요. 기록용으로 남깁니다. gcc 의 -lcurl 같은 옵션을 줘야 하는 상황이라면 CMake 에서도 이를 지정해줘야 합니다. 지정안해주면 undefined reference 뜹니다. CMakeLists.txt 파일에서 target_link_libraries 항목을 찾아서 해당 라이브러리 이름을 추가해주면 되겠습니다. target_link_libraries(${PROJECT_NAME} m azureiot applibs curl pthread gcc_s c)
CMake 사용시 undefined reference 뜰 때 해결CMake 를 처음 써보면서 헤매는게 많네요. 기록용으로 남깁니다. gcc 의 -lcurl 같은 옵션을 줘야 하는 상황이라면 CMake 에서도 이를 지정해줘야 합니다. 지정안해주면 undefined reference 뜹니다. CMakeLists.txt 파일에서 target_link_libraries 항목을 찾아서 해당 라이브러리 이름을 추가해주면 되겠습니다. target_link_libraries(${PROJECT_NAME} m azureiot applibs curl pthread gcc_s c)
2020.10.21 -
원본 2016.02.15. 09:56 simryang 현재 아래 내용이 잘되지 않아서 검색해보니 LC_ALL 값을 지정하라는 내용이 있었습니다. set LC_ALL=ko_KR.UTF-8 그런데.. 안됩니다.. chcp 65001 도 안됩니다.. i18n.commitEncoding, i18n.logOutputEncoding 도 안먹습니다.. core.page 를 'less --raw-control-chars' 로 지정하는 것은 less 를 찾을 수 없답니다!!! 혹시나 싶어서 powershell 을 실행시켜서 $env:LC_ALL 을 지정해도 안됩니다 ㅜㅜ 한참을 뒤지다가 스택오버플로우 사이트를 뒤지는데 대부분의 답변이 실행이 안되는데 LESSCHARSET을 기존의 latin1 이 아닌 UTF-8로 지정하..
[git-bash] 윈도우/리눅스에서 git diff 한글 깨짐 - 2020.10.20 갱신원본 2016.02.15. 09:56 simryang 현재 아래 내용이 잘되지 않아서 검색해보니 LC_ALL 값을 지정하라는 내용이 있었습니다. set LC_ALL=ko_KR.UTF-8 그런데.. 안됩니다.. chcp 65001 도 안됩니다.. i18n.commitEncoding, i18n.logOutputEncoding 도 안먹습니다.. core.page 를 'less --raw-control-chars' 로 지정하는 것은 less 를 찾을 수 없답니다!!! 혹시나 싶어서 powershell 을 실행시켜서 $env:LC_ALL 을 지정해도 안됩니다 ㅜㅜ 한참을 뒤지다가 스택오버플로우 사이트를 뒤지는데 대부분의 답변이 실행이 안되는데 LESSCHARSET을 기존의 latin1 이 아닌 UTF-8로 지정하..
2020.10.20 -
try except로 오류 발생을 처리하다 보면 개발 도중에 자주 오류가 발생할 때 오류 추적이 쉽지 않은 경우가 있습니다. vscode로 실행을 직접 할 수 있는 경우라면 GUI로 편하게 디버깅 가능하지만, vscode 가 지원하지 않는 아키텍처(예를 들면, mips라든지, mips라든지...)인 경우에는 pdb 사용법을 익혀야 되는데 gdb처럼 맘껏 잘 동작하지는 않습니다. import traceback 을 하고 exception 발생했을 때 traceback.format_exc() 값을 출력해주면 됩니다. try: .... except Exception as e: print('ERROR::{}, {}'.format(e, traceback.format_exec())) 작성한지 시간이 지나서(수정 시간..
[python]오류 발생시 호출 스택 출력하기try except로 오류 발생을 처리하다 보면 개발 도중에 자주 오류가 발생할 때 오류 추적이 쉽지 않은 경우가 있습니다. vscode로 실행을 직접 할 수 있는 경우라면 GUI로 편하게 디버깅 가능하지만, vscode 가 지원하지 않는 아키텍처(예를 들면, mips라든지, mips라든지...)인 경우에는 pdb 사용법을 익혀야 되는데 gdb처럼 맘껏 잘 동작하지는 않습니다. import traceback 을 하고 exception 발생했을 때 traceback.format_exc() 값을 출력해주면 됩니다. try: .... except Exception as e: print('ERROR::{}, {}'.format(e, traceback.format_exec())) 작성한지 시간이 지나서(수정 시간..
2020.09.28 -
기록용으로 남깁니다.소스 코드 내app.run() 실행시 파라미터에 debug=True 추가명령줄 실행 시flask run 명령으로 실행한다면 이 명령 실행 전에 export FLASK_DEBUG=1 을 실행합니다. 윈도우면 set FLASK_DEBUG=1 을 하면 될 것 같습니다.
[python][flask] 소스 변경시마다 자동 갱신하기기록용으로 남깁니다.소스 코드 내app.run() 실행시 파라미터에 debug=True 추가명령줄 실행 시flask run 명령으로 실행한다면 이 명령 실행 전에 export FLASK_DEBUG=1 을 실행합니다. 윈도우면 set FLASK_DEBUG=1 을 하면 될 것 같습니다.
2020.09.15 -
대충 이해하고 쓰다가 오랜만에 소스를 보니 헷갈립니다.개인적으로 정리할 목적으로 글을 남깁니다. json.dumpjson.dumpsdump 계열은 파이썬의 객체(dict 등)를 다른 형태로 변환합니다.dump 함수는 파이썬 객체를 스트림 객체(파일 등)로 변환합니다.dumps 함수는 파이썬 객체를 한줄의(직렬화된) json 문자열로 변환합니다.오류Expecting value: json.loadjson.loadsload 계열은 대상을 파싱해서 파이썬의 객체(dict 등)로 변환합니다.load 함수는 스트림 객체(파일 등)에서 데이터를 읽어 파이썬 객체(dict 등)로 변환해줍니다.loads 함수는 json 문자열을 파싱해서 파이썬 객체로 변환해줍니다.오류Expecting value: line 1 colum..
[python] json dump/dumps/load/loads 구분하기대충 이해하고 쓰다가 오랜만에 소스를 보니 헷갈립니다.개인적으로 정리할 목적으로 글을 남깁니다. json.dumpjson.dumpsdump 계열은 파이썬의 객체(dict 등)를 다른 형태로 변환합니다.dump 함수는 파이썬 객체를 스트림 객체(파일 등)로 변환합니다.dumps 함수는 파이썬 객체를 한줄의(직렬화된) json 문자열로 변환합니다.오류Expecting value: json.loadjson.loadsload 계열은 대상을 파싱해서 파이썬의 객체(dict 등)로 변환합니다.load 함수는 스트림 객체(파일 등)에서 데이터를 읽어 파이썬 객체(dict 등)로 변환해줍니다.loads 함수는 json 문자열을 파싱해서 파이썬 객체로 변환해줍니다.오류Expecting value: line 1 colum..
2020.09.07