본문 바로가기

hacking or software engineering skills/programming

(3)
jupyter lab, jupyter notebook 상에서 arg_parse 이용하기 이걸 jupyter lab이나 jupyter notebook에서 바로 실행시키는 건 안된다. 여튼 argment를 제대로 인식하지 못한듯하다. 이럴땐 어떻게 해야할까? Clean sys.argv if __name__ == "__main__": import sys temp_argv = sys.argv try: sys.argv = [''] print(sys.argv) args = argparse.parser_args() finally: sys.argv = temp_argv print(sys.argv) # 실행하고자 하는 함수에 args를 넣어준다! run(args) 잘 된다. 해결! stackoverflow.com/questions/30656777/how-to-call-module-written-with-a..
c++ OpenSource 이용하기 openCV와 MFC를 이용하는 과정에서openCV를 라이브러리로 설치하는 것이 너무나 오래걸렸다. 코드 작성하는 시간보다 openCV라이브러리 설치하고 그 문제를 파악하기 위해 수많은 주석을 지웠다 반복하며openCV함수들을 뜯어보는 미친 노가다를 하는 시간이 더 길었다. 10배차이 나는 visual studio 2010을 쓰므로 vs10 이 떠야하는데 처음 vs14가 떠서여러 오류들이 많았고 이에 해당하는 dll들을 다 추가하여도 잘 되지 않았다. 그래서 수많은 뻘짓 끝에... source파일을 받고 cmake를 썻다.이후 cmake를 통해 생성된 솔루션을 빌드(이때 릴리즈모드를 쓸경우 릴리즈모드에 관련된 lib,dll이 형성)를 했는데내가 원하는 건 디버그 모드 였는데 처음 릴리즈모드로 해서 또 여..
c++ polymorphism c++ 다형성 개념이 잘 이해가 안 가서 정리 c++은 상속성(inheritance)을 갖고 있기에, 기본클래스와 파생클래스가 있다. 이때 기본클래스 타입의 포인터를 이용하면 파생클래스또한 같이 다룰 수 있다. 단, 기본클래스 내에서 virtual function으로 정의 된 함수를 파생클래스에서 따로 정의하였을 때만 결과가 달라진다. ex) Shape 이란 기본 클래스와 Rectangle이란 파생클래스에서 Shape shape; Rectangle rectangle; Shape** pointers = new Shape*[2]; pointers[0] = &shape; pointers[1] = &rectangle; -> 이렇게 기본클래스 타입의 포인터는 파생클래스 포인터를 저장할 수 있고. pointers[..

728x90