개발/Develop

    021. VHS: CLI 명령을 GIF 데모영상으로 만들어주는 툴

    021. VHS: CLI 명령을 GIF 데모영상으로 만들어주는 툴

    소개 개발을 하다보면 터미널에 사용한 명령어를 데모로 만들 필요가 생길 때가 있다. 이럴 때는 주로 비디오 녹화를 켜고 터미널에서 명령어를 순차적으로 입력하는 작업을 녹화하는데, 이 방식은 여러가지 문제가 있다. 첫번째는 가장 큰 문제로 영상 녹화 도중에 잘못 입력할 경우 깔끔한 영상을 위해서는 처음부터 다시 찍어야한다. 기존 방식의 제일 크고 심각하게 시간을 많이 잡아먹게 만드는 문제라고 봐도 무방하다. 특히 명령어가 길고 연속적인 작업을 할 경우 오타 하나 나는 순간 깔끔한 영상은 물건너간다. 이를 위해 수많은 노력 혹은 붙여 넣기를 위한 준비를 해야한다. 다음으로 동영상 촬영을 하는 방식이기 때문에 영상 앞 뒤로 쓸모없는 공백 시간이 발생한다. 이를 깔끔하게 만들어주기 위해서 영상 편집을 해야하는 ..

    009. Heroku에 Sphinx Docs배포하기

    009. Heroku에 Sphinx Docs배포하기

    소개 Sphinx는 프로젝트의 문서를 만들기위한 라이브러리로 많이 사용되는 패키지 중 하나다. 많은 오픈소스의 경우 레포지토리에 docs 폴더를 따로 두어서 문서화를 통합해서 관리한다. Github를 Remote Repo로 사용할 경우 Github Pages를 이용해서 이러한 문서를 제공할 수 있지만, Private Repo의 경우 유로 플랜이 아닌 이상 Github Pages를 사용할 수 없다. 이런 경우에 Heroku를 사용해서 무료로 Sphinx를 배포할 수 있다. 설정 먼저 자신의 github repo에 docs 폴더를 생성하고 sphinx를 이용한 문서화를 위한 파일을 올려둔다. Docs에 테마나, 기타 python 패키지가 필요한경우 docs아래에 requirements.txt파일에 추가해준다..

    008. PyArmor로 코드 난독화 하기

    코드 난독화는 배포해야하는 python 코드를 읽기 어렵게 만들어서 그대로 배끼지 못하게하는 최소한의 보안입니다. 여러 난독화, 암호화 방법중에 OpenSource 중 하나인 PyArmor를 사용해서 난독화를 진행해보겠습니다. 설치pip install pyarmor설치는 위처럼 PIP를 사용하면 간단하게 설치가 가능합니다. PyArmor은 단순히 파일 하나만을 난독화 할 수도있고 한 패키지 전체를 난독화 할 수도 있습니다. 기본적인 사용법은 다음과 같습니다.pyarmor obfuscate myscript.pypyarmor는 myscript와 같은 폴더에있는 모든 *.py파일을 dist폴더에 난독화하여 생성합니다. 다음은 패키지를 난독화 해보겠습니다. 프로젝트 구조myproject/ mypackage/ c..

    005. Ubuntu Apache2 http접속 redirect 하기

    Ubuntu 18.04, 20.04에는 기본적으로 Apache2가 깔려있습니다. 이를 이용해서 80포트로 들어오는 기본적인 http요청을 받을 수 있는데요. 필요에의해 다른 주소로 redirect해야할 필요가 있습니다. 그럴땐 apache2의 기본 index파일인 /var/www/html/index.html 파일을 수정해서 redirect를 할 수 있습니다. /var/www/html/index.html 위와 같이 tag를 이용하여 간단하게 구현할 수 있습니다. 위와 같이 설정했음에도 접속이 안되는 경우 apache2가 작동중인지 확인해보아야합니다.$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded..

    003. Ubuntu NetPlan으로 고정 IP 설정하기

    ubuntu 17.10부터 NetPlan을 이용해서 편리하게 IP 설정이 가능해졌다. 설정방법 0. 네트워크 인터페이스 확인 ifconfig 명령으로 설정하고자하는 인터페이스 이름을 확인한다. ifconfig 명령이 설치 되어 있지 않는 경우 ip -a addr로 확인이 가능하다. 보통 eth0, eno0, enp1s0 등의 이름으로 되어있다. 여기서는 enp1s0를 설정한다. $ ifconfig -a enp1s0: flags=4163 mtu 1500 inet xxx.xxx.xxx.xxx netmask 255.255.255.0 broadcast xxx.xxx.xxx.xxx inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20 ether xx:xx:xx:x..