요즘은 많은 분들이 동영상을 다운로드 받아서 보실겁니다. 그런데 동영상 중에는 아래와 같이 챕터가 설정되어 있는 경우가 많이 있습니다. 저는 Windows 컴퓨터에서 동영상을 시청 할 때 주로 팟플레이어를 많이 사용하고 책갈피 기능을 사용하곤 합니다. 아시겠지만 책갈피 기능은 동영상에서 표시해놓고 싶은 부분을 체크 해 놓는 기능입니다. 책갈피는 할 수도 있고 삭제할 수도 있습니다. 그런데 위에서 얘기했던 챕터는 팟플레이어에서 삭제가 되지 않더군요.

그래서 오늘은 mkv 파일에 설정된 귀찮은 챕터를 삭제하는 방법에 대해서 소개하려 합니다. 동영상에 표시된 챕터를 삭제하기 위해서 mkvtoolnix 라는 프로그램을 다운로드 받았습니다. mkvtoolnix 은 아래 주소에서 다운로드 할 수 있습니다.

https://mkvtoolnix.download/downloads.html

위 주소에서 아래 그림과 같이 자신의 컴퓨터 운영체제를 선택해 주시면 설치 할 수 있는 바이너리 파일을 받을 수 있는 링크가 나타납니다.

저는 현재 윈도우 64비트 운영체제를 사용하고 있어서 아래 주소에서 윈도우 바이너리 파일을 다운로드 받았습니다. 인스톨 버전과 포터블 버전이 있으니 기호에 따라 선택하시면 될 것 같습니다.

https://www.fosshub.com/MKVToolNix.html

Windows 에서 Chocolatey 를 사용하시는 분들은 아래 명령어로 mkvtoolnix 를 간단하게 설치하실 수도 있습니다.

choco install mkvtoolnix -y

설치가 다 끝났으면 mkvtoolnix 를 실행하고~ 아래와 같이 챕터 편집기를 선택합니다.

그리고 위 그림에 나와 있는 바와 같이 편집할 동영상을 drag & drop 하면 편집할 동영상의 챕터가 열리는 것을 확인할 수 있습니다.

챕터를 지우기 위해서 아래와 같이 메뉴의 챕터 편집기 -> “기존의 Matroska 파일에서 챕터 삭제” 를 눌러주고 저장해 줍니다.

챕터가 삭제된 동영상을 다시 실행해서 확인해 보면 아래와 같이 예전에 보이던 챕터가 삭제된 것을 확인할 수 있습니다.

그럼 이제 즐거운 동영상 시청 하시기 바랍니다.



임베디드 프로그래밍을 하다 보면 레지스터 등의 설정을 2의 보수로 해야 하는 경우가 많이 있습니다. int 값을 2의 보수 헥사값으로 표현하거나 또는 2의 보수 헥사 값으로부터 int 값을 구하는 경우 저는 주로 Python bitstring 모듈을 사용하곤 합니다.

대부분의 파이썬 모듈이 그렇듯이 bitstring 모듈 역시도 pip를 통해 아래와 같이 설치할 수 있습니다.

pip install bitstring

사용은 아래와 같이 bitstring 모듈을 import 를 하고~

from bitstring import Bits

헥사값을 넣어 줍니다.

num = Bits(hex="FFD856")

int 값을 구하기 위해서는 int 멤버 변수 값을 확인하면 되고 아래 예를 보면 -10154 임을 알 수 있습니다.

hex 값을 구하기 위해서는 hex 멤버 변수 값을 확인하면 ffd856 임을 알 수 있고~ bin 값을 구하기 위해서는 bin 멤버 변수 값을 확인하면 "111111111101100001010110' 임을 알 수 있습니다.



아래 포스팅에서 윈도우에서 사용할 수 있는 OCR 툴로서 Tesseract-OCR 라는 툴에 대한 설치 및 간단한 사용 방법에 대해서 소개를 한 적이 있습니다. 오늘은 비슷하지만 조금 다른 특성을 가진 윈도우 OCR 툴인 Capture2Text 에 대해서 소개해 보려 합니다.

Capture2Text 의 홈페이지 주소는 아래와 같습니다. 아래 주소에서 Capture2Text 에 대한 소개를 확인해 보면 Capture2Text 는 설치가 필요 없는 portable 프로그램 이고, 구글 번역, TTS(Text to speech) 기능 등도 들어 있다고 합니다. 조그만 툴인것 같은데 굉장히 기능이 많은것 같습니다.

https://sourceforge.net/projects/capture2text/

설치가 필요 없기 때문에 위 주소에서 다운로드 버튼을 눌러서 다운로드 후에 압축을 해제하고 바로 사용하시면 됩니다. 제가 다운로드 해 보니 60메가 정도 되네요. 다운로드 버튼을 누르고 느긋하게 커피 한잔 하고 오시면 될 것 같습니다.

기본 언어로 한글도 포함되어 있기 때문에 특별히 추가적인 언어 설치를 할 필요는 없을 것 같지만 혹시나 추가적인 언어 설치가 필요하신 분들은 아래 주소에서 필요한 언어를 다운로드해서 Capture2Text 의 tessdata 폴더에 넣고 Capture2Text 를 재시작 하시면 됩니다.

https://sourceforge.net/projects/capture2text/files/Dictionaries/

저는 Chocolatey 를 통해 아래 명령어로 설치했고~

choco install capture2text

아래 폴더에 언어 파일이 설치된 것을 확인할 수 있었습니다.

C:\ProgramData\chocolatey\lib\capture2text\tools\Capture2Text_v4.5.1_64bit\tessdata

SourceForge.net 에서 다운로드 해서 설치 하신 분들은 아래 폴더에 언어 파일이 설치된 것을 확인할 수 있습니다.

Capture2Text_v4.6.0_64bit\Capture2Text\tessdata

설치 폴더를 확인해 보시면 아래와 같이 실행 파일이 두 개가 있는 것을 확인할 수가 있고~ 파일 이름을 보시면 아시겠지만 하나는 GUI 프로그램이고 하나는 CLI 프로그램 입니다.

Capture2Text.exe, Capture2Text_CLI.exe

Capture2Text.exe 를 실행하면 윈도우 작업표시줄에 프로그램이 실행 된 것을 확인할 수 있습니다.

해당 아이콘을 오른쪽 클릭해서 Settings 에 들어가보면 단축키를 확인할 수가 있는데 Win + Q 가 OCR 캡처를 시작하는 기본 단축키로 설정되어 있어서 Windows 10 의 Cortana 런치키와 충돌이 생기므로 저는 아래와 같이 Alt 를 같이 눌러주도록 설정을 했습니다.

기본 OCR 언어 설정은 영어로 되어 있고~ 캡처 하고 싶은 이미지 부분에 커서를 위치 시킨 후 위에서 설정한 Start OCR Capture 단축키를 누르면 캡처가 시작됩니다. 드래그 해서 범위를 설정해 주면 아래 화면에서 보시는 바와 같이 왼쪽 위편에 OCR 된 텍스트가 표시되고~ 드래그가 끝나면 캡쳐가 마무리 됩니다.

캡쳐가 마무리되면 인식된 텍스트가 클립보드에 들어가게 되고~ Ctrl + V 를 해서 붙여넣기를 하면 됩니다. 다른 언어를 인식하기 위해서는 아래와 같이 OCR 언어 설정을 변경해 준 후에 Start OCR Capture 과정을 진행하시면 됩니다.

테스트 해 본 결과 영어에 대한 인식은 대체적으로 잘 되는 것 같지만 한글에 대한 인식은 이전에 소개했던 Tesseract-OCR 에 비해 조금 떨어지는 것 같습니다. 

http://iamaman.tistory.com/2615


그래도 빠르게 캡처하면서 영어 이미지에 대해서 인식을 하는 경우에는 굉장히 좋은것 같고 캡처와 동시에 번역도 자동으로 되게 설정할 수 있기 때문에 OCR 후 바로 바로 번역하는 경우에는 정말 괜찮은 툴인것 같네요~



아래 포스팅에서 Synology NAS 에 pip 설치하는 방법에 대해 설명한 적이 있는데, 오늘은 Python3 와 pip 를 설치하는 방법에 대해 소개하려 합니다.

http://iamaman.tistory.com/1887

일단 Synology NAS 에 Python3 를 설치하는 방법은 매우 간단합니다. Synology NAS 패키지 센터에서 아래와 같이 Python 으로 검색을 해서 Python3 를 설치하시면 됩니다.

다음으로 pip 를 설치하는 방법은 ssh 로 Synology NAS 에 접속한 다음 아래와 코딩하시면 됩니다.

sudo -i # root 사용자 변경

wget https://bootstrap.pypa.io/get-pip.py # get-pip.py 다운로드

python3 get-pip.py # pip 설치

python3 -m pip install requests # requests 설치

python3 -m pip install selenium # selenium 설치

su - 유저명   # 사용자 변경



요즘 웹 서핑을 하다 보면 Javascript 로 된 괜찮은 소스코드들이 눈에 띄더군요.


이런 Javascript 코드 들을 PC 에서 실행하기 위해서는 보통 nodejs 를 설치해서 사용하곤 하는데~


오늘은 Python 에서 Javascript 를 실행시키는 방법에 대해 소개하려 합니다. 


Python에서 Javascript 코드 실행을 위해서는 Windows CMD 창에서 아래와 같이 js2py 모듈을 설치 합니다.

pip install js2py

다음으로 아래 예제를 실행해 보면~ 굉장히 쉽게 알수 있을 겁니다.


코드 문자들을 js2py.eval_js() 함수를 사용하여 Python 내부에서 바로 사용 할 수 있습니다.


또는 Javascript 코드가 파일로 되어 있는 경우에는 다음과 같이 js2py.translate_file() 함수를  사용하면 Javascript 코드를 Python 코드로 변환해더 import 할 수도 있더군요. 

js2py.translate_file('example.js', 'example.py')


js2py 모듈의 더 많은 예는 아래 주소를 참조하시기 바랍니다. 


https://github.com/PiotrDabkowski/Js2Py




윈도우에서 리눅스 명령어를 사용하고 싶을때는 아래 포스팅에서 소개한 GOW 를 사용하거나~ Cygwin  등을 사용했었습니다. 



그런데 GOW 를 쓰다 보니 없는 명령어들이 좀 되더군요. 

그래서 최근에는 GnuWin32 를 사용합니다.

오늘은 GnuWin32 설치 방법에 대해 소개해 드리려 합니다.

     1. 일단 주소에서 GnuWin32 를 다운로드 합니다. 


다운로드 받은 GetGnuWin32-0.6.3.exe 파일을 실행하면 GetGnuWin32 폴더가 생성 되고~

     2. 해당 폴더 안에 들어가서 download.bat 파일을 더블클릭해서 실행 시킵니다.
         이건 시간이 좀 오래 걸리더군요. 그냥 명령어 실행 시켜 놓고 다른일 하시다 보면 끝납니다. 1~2시간 걸린거 같네요.

     3. 다음으로 아래 명령어를 통해 설치하고 싶은 폴더에 설치 합니다.

install D:\GnuWin32


     4. 마지막으로 path 환경 변수에 D:\GnuWin32 폴더를 등록하면 어떤 폴더에서던 GnuWin32 명령어를 사용 할 수 있습니다. 


정리하면 GnuWin32 다운로드 하고 압축을 푼 후에 설치 명령어는 아래와 같습니다.

cd /d .\GetGnuWin32
download.bat
install.bat  D:\GnuWin32
setx path "D:\GnuWin32\bin";%path% /m


간만에 Python을 사용하여 C 확장 모듈을 만들어서 사용하기 위해 책을 펼쳐 들었습니다.

 

저는 열혈강의 파이썬이라는 책을 참조했고

 

아래 주소에서 열혈강의 파이썬 소스코드를 다운로드 받을 수 있습니다. 25장에 있는 C 확장 모듈 예제를 사용했습니다.

 

https://freelec.co.kr/bbs/read.asp?BBSName=LECPDS&SORTUID=53&page=1&id=18333

 

책에 있는 소스코드가 간단하길래 윈도우에서도 그냥 쉽게 될 줄 알았는데… 컴파일러가 뭔가 안 맞는 것 같더군요.

 

다음과 같이 작성한 setup.py 파일을 빌드 하는데… 어쩌구 저쩌구 에러가 쭉~

 

python setup.py build

 

구글링을 해도 그닥 잘 모르겠어서…

 

Virtualbox 에 Mint Linux 64 bits 를 설치하고 터미널에서 다음과 같이 해보니 간단하게 되더군요.

 

sudo apt-get install python-dev -y   # Python.h 를 설치하기 위함

python setup.py build

sudo chmod -R ugo+rX /usr/local/lib/python2.7/dist-packages/   # 파이썬 라이브러리 권한 설정

 

다음으로 아래와 같이 명령을 하니 firefox 가 정상적으로 뜨더군요.

 

역시 개발은 linux 인가 봅니다.


보통 프로그램은 관리자 권한으로 실행 할때 프로그램에서 마우스 오른쪽 키를 누른 후에 관리자권한으로 실행 하곤 합니다.


하지만 가끔씩은 커맨드라인에서 관리자 권한으로 실행 할 필요가 있는 경우가 있습니다.


이런 경우 sudo 라는 프로그램을 사용할 수 있습니다.


sudo 는  chocolatey 에서 설치할 수 있습니다.


https://chocolatey.org/packages/Sudo


Windows CMD 에서 아래 명령어를 사용하면 sudo 가 설치 됩니다. 

choco install sudo

 

간단하게 커맨드라인에서 아래 예와 같이 사용 할 수 있습니다. 


sudo notepad.exe 메모장이 관리자 권한으로 실행


sudo calc.exe 관리자 권한으로 계산기 실행


sudo explorer.exe 관리자 권한으로 탐색기 실행


다음과 같이 하면 특정 폴더를 관리자 권한으로 열 수도 있습니다. 


sudo explorer.exe C:\Users\


요즘 데이터 처리 관련 내용을 좀 보다가 R 의 함수들을 python 에서 사용 할 수 있다는 것을 알게 되었습니다.

 

바로 rpy2 라는 모듈을 설치하면 되는데~

 

일단 아래 포스팅에서 소개한 바와 같이 R 을 설치 합니다.


http://iamaman.tistory.com/1517

 

R 을 설치한 후에는 위 포스팅에서 소개한 대로 R_HOME, R_USER 환경 변수를 설정합니다.

 

다음으로 Windows Rpy2를 설치 합니다. 아래 링크를 통해 자신의 파이썬, 윈도우 버전에 맞는 rpy2 whl 파일을 다운로드 받고~

 

http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2

 

Python package 설치 하듯이 아래와 같은 형식으로 설치 할 수 있습니다.

 

pip install rpy2-2.7.6-cp27-none-win32.whl

 


이제 rpy2 모듈을 사용하는 일만 남았네요~


엑셀을 사용하면 아래 포스팅에서 소개한 바와 같이

 

http://mwultong.blogspot.com/2006/10/numberstring.html

 

숫자를 글자로 읽게 만들 수 있습니다.

 

NUMBERSTRING() 이라는 함수를 사용해서 아래와 같이 처리가 가능 한거죠~

 

 

그런데 이런 비슷한 경우가 파이썬을 사용해도 가능 하더군요.

 

http://stackoverflow.com/questions/8982163/how-do-i-tell-python-to-convert-integers-into-words

 

 

위 주소를 보니 숫자를 글자로 읽게 만드는 모듈들로 inflect, pynum2word 모듈이 소개 되더군요.

 

현재 윈도우 7 64 비트를 사용 중인데 pynum2word 모듈은 pip 로 설치가 안되는 듯 해서 일단 inflect 을 사용해 봤습니다.

 

위 주소에 나와 있는 것과 같이 다음과 같이 pip 로 설치 가능 합니다.

 

pip install inflect

 

다음으로는 다음과 같이 샘플을 돌려 봤습니다.

 

 

마지막 숫자는 125948963 인데 다음과 같이 표현됩니다…. 읽기도 힘드네요~

 

one hundred and twenty-five million, nine hundred and forty-eight thousand, nine hundred and sixty-three


오늘은 리눅스 터미널에서 로그파일 내용의 색깔을 입혀 주는 ccze tool 에 대해 간단히 소개하려 합니다.

   

http://lintut.com/colorize-log-files-on-linux-using-ccze-tool/

 

그냥 일반일 분들이야 뭐 로그 파일 사용 하실 일이 없지만

 

컴퓨터를 좀 전문적으로 사용하시는 분들이라면 로그 파일의 중요성에 대해 아시리라 생각합니다.

 

리눅스를 사용하시는 분들은 아마도 로그 파일을 자주 들여다 보실텐데~

 

검색을 하다 보니 위 주소에 ccze 라는 툴이 있더군요.

 

다음과 같이 CentOS and Fedora linux에서 설치 할 수 있고~

 

yum install ccze –y

 

Debian/Ubuntu linux 에서는 다음과 같이 설치 할 수 있습니다.

 

sudo apt-get install ccze –y


아래 그림과 같이 간단하게~ ccze 로 파이프라이닝을 하니 예쁜 색깔로 로그가 나오더군요.

 


위 주소를 확인해 보시면 간단하게 html 파일로도 저장 할 수 있고~

 

/etc/cczerc, $HOME/.cczerc 파일들을 통해 셋팅을 할 수가 있습니다.

 

플러그인도 다양하게 있다고 하는데 ccze –l 명령어를 통해 알아 볼 수 있습니다.

 

리눅스 시스템 관리자 분들은 한번쯤 사용해 보시는것도 좋을 것 같네요.

 

개인적으로 자동화에 관심이 많이 있습니다.

 

회사에서 주로 윈도우를 사용하는 관계로 Autohotkey 를 많이 사용하는 편인데~

 

때에 따라서는 python 을 사용할 때도 많이 있습니다.

 

그래서 python 에서 autohotkey 를 사용할 수 있는 방법은 없을까 해서 찾아보니

 

아래와 같이 pyahk 라는 파이썬 모듈이 있더군요.

 

https://pyahk.readthedocs.org/en/latest/

 

아시는 분도 계시겠지만 Autohotkey 는 Autohotkey_L, Autohotkey_H 와 같은 다양한 버전이 있습니다.

 

이중 Autohotkey_H 에는 Autohotkey.dll 이 있어서 다양한 프로그램들에서 Autohotkey 를 사용할 수 있도록 해 줍니다.

 

위에서 소개한 pyahk 역시도 이 Autohotkey.dll을 사용한 모듈 입니다.

 

일단 파이썬에서 pyahk를 설치하기 위해 다음과 같이 pip 를 사용하여 pyahk 모듈을 설치 합니다.

 

pip install pyahk

 

저는 현재 python 2.7 windows 32 비트 버전을 설치하여 사용 중입니다. 현재 pyahk 는 Autohotkey_H ANSI 32-bit Version 1.1.8.1 에 대한 wrapper 이라 합니다. 또한 python 3 에서는 동작하지 않는다고 하네요.

 

다음으로 아래 주소에서 Autohotkey_H 를 다운로드 합니다.

 

http://www.autohotkey.net/~HotKeyIt/AutoHotkey/files/AutoHotkey-txt.html

 

현재 1.1 버전의 직접적인 다운로드 주소는 다음과 같습니다. 크롬에서는 아래 주소의 파일을 다운로드 하려 하니 유해 프로그램 경고가 뜨네요.

 

http://hotkeyit.ahk4.net/AutoHotkey.zip

 

일단 다운로드 후에 압축을 해제 하고 Win32a 폴더에 있는 Autohotkey.dll 파일이 들어 있는 폴더를 환경 변수에 설정하거나 파이썬 프로젝트 내에 Autohotkey.dll 파일을 넣어 줍니다.

 

이제 파이썬에서 테스트를 해보죠.

 

다음은 pyahk 의 홈페이지에 있는 예제 코드인데 Notepad 라는 타이틀의 창이 있는지를 체크하고 있을 때는 HWND 값을 출력합니다.

 

# -*- coding: cp949 -*-

 

import ahk


script = ahk.Script() # Initializes with start and ready commands as above

a = script.winActive("Notepad") # Sets a to the return value of the method

print a # prints the HWND of the found window as an int, or None

script.variable('b', float) # Creates a transparent variable attribute

ahk.execute("Random, b, 0.0, 1.0") # Stores value in `b`

print 100 * script.b # b is retrieved and converted to its saved type (float)

 

다음으로 b 라는 변수를 설정한 다음 Autohotkey random 함수를 사용하여 0~1 사이의 값을 구하고 곱하기 100을 해서 출력하는 예입니다.

 

파이썬 파일의 맨 위에는 cp949로 인코딩 옵션을 넣어 줬습니다.

 

일단 실행을 해보니~ 다음과 같이 정상적으로 동작하더군요.

 

 

그런데 다음과 같이 위에 부분을 주석 처리 하고 실행해 봤습니다.

 

결과를 보시면 아시겠지만 뭔가 이상한 결과가 나오더군요. 변수 메모리 참조를 잘못하는 게 아닌가 하는 생각이……

 

아직은 0.2 대의 버전이니만큼 버그가 있는 걸로 보이네요.

 

좀더 확인을 해 봐야겠지만…… ahk.execute() 함수를 사용한 autohotkey 실행은 괜찮게 돌아가는 것 같네요.

  1. 광영 2018.03.05 22:52 신고

    잘 봤습니다. 아무래도 화면제어 쪽이 필요한 일이 있어서 알아보다가, 파이썬으로 제어를 찾다 보니 여기까지 검색으로 흘러 들어왔습니다. 게시물들 잘 보겠습니다.

  2. 2018.03.12 08:49

    비밀댓글입니다

  3. 안준 2018.03.12 09:16

    안녕하세요 파이썬 게시판 항상 열심히 보고있었습니다~
    저도 자동화에 많은 관심이있는데요,
    파이썬, 오토핫키 두개를 따로 쓰다가 문득 같이 쓰면 좋을거 같다는 생각을했습니다.
    근데 파이썬에서 오토핫키의 장점 키보드 마우스 제어는 해보셨나요?ㅠㅠ
    안되는거같아서요...

    • 남성 2018.03.12 11:48 신고

      파이썬을 사용하여 윈도우를 자동화 하기 위한 라이브러리로 pywinauto 라는 라이브러리가 있습니다. 윈도우 운영체제에서 키보드 마우스를 자동화 하기 위한 것이라면 굳이 파이썬에서 오토핫키를 연동 하려는 노력보다는 pywinauto 와 같이 파이썬 만으로 구성된 라이브러리를 사용하여 보시는게 조금 더 편하실 것 같습니다

ABAP, ActionScript, Ada, ADSO/IDSM, AMPLE, ant, Apex Trigger, Arduino Sketch, ASP, ASP.NET, Assembly, autohotkey, awk, blank, Bourne Again Shell, Bourne Shell, C, C shell, c#, C++, C/C++ Header, C:\Windows, CCS, choco, chocolatey, cloc, cloc-1.62.exe, cloc-1.62.pl, cloc.exe, Clojure, ClojureScript, cmake, COBOL, CODE, CoffeeScript, coldfusion, ColdFusion CFScript, COMMENT, css, CUDA, cython, d, Dal, dart, DOS Batch, dtd, ECPP, erlang, expect, F#, focus, fortran 77, Fortran 90, fortran 95, Go, Grails, Groovy, Haml, Handlebars, harbour, Haskell, HLSL, HTML, IDL, install, InstallShield, Java, javascript, JavaServer Faces, JCL, JSON, jsp, kermit, Korn Shell, Kotlin, less, LEX, LISP, Lisp/OpenCL, LiveLink OScript, LUA, M4, make, matlab, maven, Modula3, MSBuild script, mumps, Mustache, MXML, NAnt script, NASTRAN DMAP, Objective C, Objective C++, Ocaml, Oracle Forms, oracle reports, pascal, Pascal/Puppet, Path, Patran Command Language, perl, php, PHP/Pascal, Pig Latin, PL/I, PowerShell, python, QML, r, Racket, Razor, Rexx, RobotFramework, ruby, Ruby HTML, rust, SASS, Scala, sed, Skill, SKILL++, SMARTY, Softbridge Basic, sourceforge, SQL, SQL Data, SQL Stored Procedure, strip-comments, Swift, Tcl/Tk, Teamcenter met, Teamcenter mth, TypeScript, Unity-Prefab, Vala, Vala Header, Velocity Template Language, Verilog-SystemVerilog, VHDL, vim script, Visual Basic, Visualforce Component, Visualforce Page, Windows Message File, Windows Module Definition, Windows Resource File, WiX include, WiX source, WiX string localization, XAML, xBase, xBase Header, xml, xquery, xsd, XSLT, yacc, YAML, 라인수, 코드

이전 포스팅에서 powershell 을 사용한 코드 라인수 세기 방식에 대해 소개한 적이 있는데요~

 

http://iamaman.tistory.com/1577

 

검색을 해보니 역시나…… cloc 라는 프로그램이 있더군요.

 

cloc 의 홈 페이지는 아래와 같습니다.

 

http://cloc.sourceforge.net/

 

또는 이전에 소개했던 Chocolatey 을 사용하여 아래와 같이 설치 할 수 도 있더군요.

 

choco install cloc

 

다운로드 주소는 아래와 같습니다.

 

http://sourceforge.net/projects/cloc/files/cloc/


현재 최신 버전은 1.62 입니다.

 

 

현재 저는 윈도우 64비트를 사용 중이라 위 그림과 같은 페이지에서 cloc-1.62.exe 을 다운로드 받았습니다.


Perl 에 관심이 있는 분들은 cloc-1.62.pl 파일을 다운로드 받아서 소스를 살펴보는 것도 좋은 공부가 될 듯 하네요.

 

다운로드 받은 cloc-1.62.exe 파일을 cloc.exe 라는 이름의 심볼릭 링크로 해서 C:\Windows 와 같이 path 로 설정된 폴더에 넣거나 cloc.exe 로 파일명을 변경 한 후에 path 로 설정된 폴더에 넣습니다.

 

사용법은 굉장히 간단한데요~

 

CMD 창을 연 다음 아래 그림과 같이 cloc 파일명을 넣어 주고 엔터를 때리면~ 각 확장자 별로 code, blank, comment 줄 수 별로 카운트를 해서 목록으로 알려 줍니다.

 

 

위에 그림은 C++ 파일과 헤더 파일 MATLAB 파일의 Code, Blank, Comment 줄 수를 나타내 주는 것을 확인 할 수 있습니다. cloc 는 아래 주소에서 확인 할 수 있는 바와 같이 정말 다양한 언어에 대해 줄 수를 파악해 줍니다.

 

http://cloc.sourceforge.net/#Languages

 

ABAP, ActionScript, Ada, ADSO/IDSM, AMPLE, Ant, Apex Trigger, Arduino Sketch, ASP, ASP.Net, Assembly, AutoHotkey, awk, Bourne Again Shell, Bourne Shell, C, C Shell, C#, C++, C/C++ Header, CCS, Clojure, ClojureScript, CMake, COBOL, CoffeeScript, ColdFusion, ColdFusion CFScript, CSS, CUDA, Cython, D, DAL, Dart, DOS Batch, DTD, ECPP, Erlang, Expect, F#, Focus, Fortran 77, Fortran 90, Fortran 95, Go, Grails, Groovy, Haml, Handlebars, Harbour, Haskell, HLSL, HTML, IDL, InstallShield, Java, Javascript, JavaServer Faces, JCL, JSON, JSP, Kermit, Korn Shell, Kotlin, LESS, lex, Lisp, Lisp/OpenCL, LiveLink OScript, Lua, m4, make, MATLAB, Maven, Modula3, MSBuild script, MUMPS, Mustache, MXML, NAnt script, NASTRAN DMAP, Objective C, Objective C++, OCaml, Oracle Forms, Oracle Reports, Pascal, Pascal/Puppet, Patran Command Language, Perl, PHP, PHP/Pascal, Pig Latin, PL/I, PowerShell, Python, QML, R, Racket, Razor, Rexx, RobotFramework, Ruby, Ruby HTML, Rust, SASS, Scala, sed, SKILL, SKILL++, Smarty, Softbridge Basic, SQL, SQL Data, SQL Stored Procedure, Swift, Tcl/Tk, Teamcenter met, Teamcenter mth, TypeScript, Unity-Prefab, Vala, Vala Header, Velocity Template Language, Verilog-SystemVerilog, VHDL, vim script, Visual Basic, Visualforce Component, Visualforce Page, Windows Message File, Windows Module Definition, Windows Resource File, WiX include, WiX source, WiX string localization, XAML, xBase, xBase Header, XML, XQuery, XSD, XSLT, yacc, YAML

 

--strip-comments 같은 옵션을 사용하면 comment 을 지울 수도 있더군요. 외부에 코드를 보낼 때 종종 활용하게 될 것 같네요.


오늘은 새로운 launch 프로그램을 하나 소개해 드리려 합니다.

 

아래 글에서도 소개해 드렸듯이 저는 평소에 프로그램 또는 파일 폴더 실행 시 launchy 라는 프로그램을 사용하곤 하는데요~

 

http://iamaman.tistory.com/911

http://iamaman.tistory.com/1253

 

검색을 좀 하다 보니 요즘 WOX 라는 프로그램이 있더군요.

 

아래 글에서 소개했던 chocolatey 을 사용하여 다음과 같이 설치 할 수 있습니다.


http://iamaman.tistory.com/1303

 

choco install wox

 

공식 홈페이지는 아래와 같은데요~

 

https://www.getwox.com/


 


다운로드 버튼을 눌러서 설치 할 수 있습니다. 그 아래 화면이 모습이 wox 의 실행 화면인데요~ launchy 랑 비슷하게 생겼죠~ 아쉽게도 윈도우에서만 동작하네요. 

 

 

wox 역시도 아래 주소를 보시면 많은 플러그 인들이 있습니다.

 

https://www.getwox.com/plugin

 

launchy 에서는 플러그 인을 어떻게 만들어야 할지 잘 몰랐는데~ wox 에서는 Documentation 을 보니 python, C# 과 같이 다양한 언어로 플러그 인을 만들 수 있더군요.

 

http://doc.getwox.com/en/index.html

 

확장성이라는 측면에서 좀더 좋지 않을 까 생각해 봅니다.

 

사용방법은 Launchy 와 비슷하게 ALT + Space 와 같은 단축키를 통해 실행하고 키워드를 타이핑 하면 됩니다.

 

이전에 "윈도우 생산성 향상 스킬 Launchy 에서 Everything 을 이용한 파일 쉽게 찾기" 라는 제목의 아래 글을 쓴 적이 있는데

 

http://iamaman.tistory.com/1421

 

아래 글을 보니 everything 관련 플러그인이 있더군요.

 

https://www.getwox.com/plugin/10

 

위 글을 보시면 아시겠지만 wox 에서는 플러그인 설치가 굉장히 편리 합니다.

 

마치 Chocolatey 에서 choco install 하듯이 wox 입력 창에 wpm install 라고 하면 되더군요.

 

위에 얘기한 everything 플러그 인은 wpm install Everything 라고 하면 설치 되고 아래 그림과 같이 ev "찾을 단어" 하면 되더군요.

 

이런 설정들은 Config.json 파일에 설정이 됩니다. 저는 좀더 적응이 되면 launchy 에서 wox 로 넘어올 생각입니다.



  1. 123123 2018.09.23 10:47

    everything 플러그인을 설치해야 컴퓨터에 있는 파일들을 찾을 수 있는건가요?
    그런데 wpm install everything 해도 작동이안되네요..

    • 남성 2018.09.26 17:26 신고

      예전에는 wpm 명령어로 설치를 해 줬어야는데 최근에는 Everything 플러그인이 기본적으로 설치가 되는군요.

윈도우에서 Command Line 을 종종 사용하시겠지만 cmd.exe 프로그램이 그리 편리하진 않죠~

 

그래서 요즘은 저는 powershell 을 주로 사용하긴 하는데~

 

근래에 찾아보니 clink 라는 프로그램이 있어서 소개 드리려 합니다.

 

clink 는 아래 주소에서 다운로드 받을 수 있습니다.

 

http://mridgers.github.io/clink/

 

소개에 나와 있는 바와 같이 cmd.exe 프로그램을 Bash-style 로 사용할 수 있도록 해주는 프로그램인데요~

 

위 공식 홈페이지뿐만 아니라 이전에 소개했던 chocolatey 을 사용하여~

 

http://iamaman.tistory.com/1303

 

아래 명령어들로 설치 할 수 있습니다. Portable 버전을 사용하고 싶다면 첫 번째 명령어를 install 버전을 사용하고 싶다면 두 번째 명령어를 사용하면 됩니다.

 

choco install clink.portable

OR

choco install clink.install

 

 

Ctrl-V 을 사용하여 붙여 넣기를 할 수도 있고~

 

명령어를 타이핑 하다가 TAB 을 누르면 아래 그림과 같이 자동으로 해당 명령어들이 나옵니다. 저는 이 기능이 cmd.exe 에서 특히 고팠던 건데 자동으로 명령어들이 나오니 편리하더군요.

 

다음으로 Bash Shell 에서와 같이 CTRL + L 을 누르면 창 clear 되고~ CTRL + W 을 누르면 커서 앞의 한 단어가 지워 집니다.

 

그리고~ Alt + H 을 누르면 clink 에서 사용 할 수 있는 명령어 리스트 들이 나옵니다.

 

명령어가 무지하게 많으니 천천히 사용해 보면서 익히면 될 것 같네요.

텍스트 파일을 사용하다 보면 encoding 이 문제가 되는 경우가 종종 있습니다.

 

이런 경우에는 encoding 을 변경하여 해결 하곤 하는데~

 

notepad++ 와 같은 에디터의 기능을 활용 하거나~ 아니면 iconv 와 같은 명령어를 사용하여 encoding 을 변경하곤 하는데요~

 

iconv 와 같은 명령어를 활용하더라도 현재 텍스트 파일의 encoding 방식을 확인 해야 합니다.

 

encoding을 확인 하기 위해 일일이 에디터에서 파일을 여는 것도 귀찮아서 찾아보니~

 

chardet 라는 python 모듈을 있더군요.

 

https://github.com/chardet/chardet

 

위 주소에서 확인 할 수 있는 바와 같이 아래 타입들을 detect 할 수 있다고 합니다.

 

ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants), Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese), EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese), EUC-KR, ISO-2022-KR (Korean), KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic), ISO-8859-5, windows-1251 (Bulgarian), windows-1252 (English), ISO-8859-7, windows-1253 (Greek), ISO-8859-8, windows-1255 (Visual and Logical Hebrew), TIS-620 (Thai)

 

python 모듈이니만큼 설치도 굉장히 간단한데요~

 

다음과 같이 pip 로 설치 할 수 있습니다.

 

pip install chardet

 

설치는 하면 아래 그림과 같이 C:\Python27\Scripts\chardetect.EXE 에 chardetect 실행 파일이 설치가 됩니다.

 

그럼 다음과 같이 명령어를 이용하여 텍스트 파일의 encoding 을 확인 할 수 있습니다.

 

chardetect 파일명1 파일명2 파일명3 …

 


오늘은 간단하게 Raspberry PI 삼바 서버 설정방법에 대해 알아보려 합니다.

 

삼바 서버를 설정하면 서로 다른 OS 시스템 간의 파일을 공유하게 해 줍니다.

 

보통 우리나라에서는 윈도우를 많이들 사용하실 텐데 삼바 서버를 사용하면 윈도우에서 라즈베리 파이의 파일을 수정을 하거나 생성 할 수 있습니다.

 

라즈베리 파이 뿐만이 아니라 리눅스를 사용하시는 분들은 아마도 삼바 서버를 많이들 사용 하실 겁니다.


  • 라즈베리파이 삼바 서버 설정

삼바 설치

 

sudo apt-get install samba samba-common-bin

 

삼바 유저 추가 및 패스워드 설정

 

sudo smbpasswd –a USERID

이후 패스워드를 물어보면 입력한다.

 

삼바 설정 파일 수정

 

sudo vi /etc/samba/smb.conf

아래와 같이 유저 추가

 

[USERID]

comment = 유저 서버 설정에 대한 코멘트, 아무거나 작성해도 됨

path = /home/pi # 공유할 폴더

valid user = USERID # 사용 가능한 유저 지정

writable = yes # 쓰기 가능 여부

browseable = yes # 폴더 목록 보여주기 가능 여부

 

위와 같이 작성 후 파일을 저장하고 닫아준다.

 

이제 아래 명령어로 삼사 서버를 재 실행 한다.

 

sudo service samba restart

  

  • 윈도우에서의 공유 폴더 접속

 

윈도우 탐색기의 주소 넣는 부분에 아래와 같이 라즈베리파이의 IP 주소를 넣는다.

 

\\라즈베리파이의 IP 주소\

 

 

혹시 라즈베리파이의 IP 주소를 모를 경우에는 터미널에서 ifconfig 을 통해 확인한다.

'Raspberry Pi' 카테고리의 다른 글

Raspberry PI 삼바 서버 설정  (0) 2015.04.08
Raspberry Pi 에서 자바를 사용한 I/O 컨트롤 pi4j  (0) 2015.03.09

오늘은 Python Graphviz 모듈 사용법에 대해 간단히 알아보겠습니다.

 

Doxygen 을 사용해 본 분들은 아시겠지만 GraphViz 는 스크립트로 다이어그램 등을 그릴 수 있는 툴 입니다.

 

규격화된 다양한 그래프들을 스크립트로 그릴 수 있으니 노가다를 안 해도 돼서 굉장히 편리하더군요.

 

아무튼 이 GraphViz 를 python 을 통해서 사용하는 방법이 있더군요.

 

바로 GraphViz 모듈을 사용하는 건데요~ 아래 주소에 그 예나 설치 방법 등이 나와 있더군요.

 

https://pypi.python.org/pypi/graphviz

 

pip 를 설치하신 분들은 그냥 간단하게 커맨드 창 또는 쉘에서 pip install GraphViz 라고 타이핑 하면 설치가 됩니다. Pip 설치 안되신 분들은 아래 주소 참조해서 설치하면 됩니다. 요즘은 윈도우에서 파이썬을 설치하면 pip 도 자동으로 설치가 되더군요. 

 

http://iamaman.tistory.com/997

http://iamaman.tistory.com/984

 

그리고 만들어진 dot source code 를 실행 하기 위해서는 당연히 GraphViz 가 설치되어 있어야 합니다. GraphViz 는 아래 주소에서 설치 가능 합니다.

 

http://www.graphviz.org/Download.php

 

GraphViz 는 윈도우 64 비트의 경우 보통 아래 폴더에 설치가 되고~ 아래 폴더를 환경변수의 Path 에 추가하여 시스템 어디에서나 dot.exe를 실행 할 수 있도록 합니다. 포터블 버전을 다운로드 받아서 사용 중이시라면 해당 bin 폴더를 path 에 추가하면 됩니다.

 

C:\Program Files (x86)\Graphviz2.38\bin

 

위 GraphViz 모듈 주소의 예제를 약간 수정하여 스크립트를 하나 만들어 봤습니다.

 

위 코드를 실행하면~ 아래 그림과 같이 커맨드 창에 해당GraphViz 스크립트가 나오고~

 

 

아래 그림과 같이 다이어그램이 보여 집니다. 해당 그래프 및 GraphViz 스크립트는 해당 작업 폴더의 test-output 폴더 안에 저장이 됩니다.

 

 

다음으로 위 그림에서 언더라인이 있는 Sir Bedevere the Wise 을 클릭하면 제 블로그인 http://iamaman.tistory.com/ 가 뜨는 것을 확인 할 수 있습니다.

 

그 외 참조 주소:

GraphViz Node Shapes: http://www.graphviz.org/doc/info/shapes.html

Target 값들에 대한 설명: http://stackoverflow.com/questions/7008355/how-to-make-links-in-an-embedded-svg-file-open-in-the-main-window-not-in-a-sepa


참고주소 : http://wiki.octave.org/Octave_for_Microsoft_Windows

 

Windows 에서는 octave GUI 환경이 정상적으로 동작하지 않아서 불편했는데

 

Octave 3.8 버전에서는 GUI 가 제대로 돌아가는 군요.

 

Octave 도 MATLAB 부럽지 않게 좋아 졌네요.

 

OCTAVE 3.8 windows 버전은 아래 주소에서 다운로드 가능 합니다.

 

http://mxeoctave.osuv.de/

 

official build 는 아니라고 하네요.

 

위 주소에서 아래 그림과 같이 다운로드 하시면 됩니다.



 

저는 portable 버전을 다운로드 했습니다. Install 하고 싶으면 install 버전을 다운로드 하시기 바랍니다.

 

다운로드 후에 octave-3.8.2-1-portable.7z 파일을 압축 해제 하시면 됩니다.

 

저는 현재 windows 7 64 비트인데요. 위 파일을 압축해제 해도 정상적으로 동작하지가 않더군요. GUI 는 뜨는데 그림이 제대로 그려지지 않았습니다.

 

그래서 찾아보니 아래 주소의 파일을 다운로드해서 압축을 해제한 폴더(octave-3.8.2) 에 위치 시키고~ octave-gui.bat 을 실행 시키면 됩니다.

 

http://mxeoctave.osuv.de/octave-gui.bat

 

실행 시켜 보니 아래 그림과 같이 OCTAVE GUI 환경이 나오는 것을 확인 할 수 있습니다.

 

마치 MATLAB 과 유사하게 Workspace, Command History, Command Window 등으로 구성되어 있더군요.

 

아래 그림과 같이 Command Window 에 입력 해보니~

 

정상적으로 그림이 나오네요.

 

종전에는 Cygwin에서 octave 를 주로 사용하곤 했는데, 앞으로는 octave 3.8 버전을 자주 사용하게 될 것 같네요.


  1. sjb 2014.09.22 21:12

    아무래도 정식 버전 나올 때까지 기다려야 겠어요. 전 다운 받으면 자동으로 설치될 줄 알았는데, 다운받은 거 아무리 찾아봐도 installer 는 없네요.

    • 남성 2014.09.23 00:15 신고

      제 포스팅의 설명은 portable 버전에 대한 설명입니다. Installer 버전은 위에 있는 Installer 에 있는 download 를 클릭해서 다운로드 받으시면 됩니다. 저는 Installer 버전도 설치 잘 되네요.

  2. male 2014.09.28 15:42

    좋은 정보 정말 감사합니다! 도움이 많이 되었습니다

    • 남성 2014.09.28 17:00 신고

      도움되었다니 다행이네요. 방문해 주셔서 감사합니다. ^^

  3. oct 2014.11.04 17:50

    제가 octave install 하여 설치하고 experimental line인가를 켰는데 error: C:/Users/?μ??? Invalid argument
    이렇게 뜨면서 command창에 그래프를 입력하려고해도 키가 안먹네요 무슨 방법 없을까요? ㅜ

  4. 비싼매틀랩 2015.03.02 22:07

    설치방법 찾다가 설명 잘보고 갑니다
    그런데 포터블이랑 인스톨해서 쓰는거랑 성능같은건 차이가 없는거죠??
    간소화버전인지.. 뭐가 크게 다른가요??

  5. 비싼매틀랩 2015.03.02 22:44

    하다보니까..저장이 안되는게 다른건가요?? 매틀랩도 별로 안써봐서 왕초본데 command window 내용이 저장이 안되는것같은데..혹시 그게 다른점인지요

    • 남성 2015.03.04 20:26 신고

      성능이나 기능이 차이가 잇는건 아닙니다. 그냥 설치를 해서 사용해야 하느냐 아니면 그냥 폴더 압축만 풀어서 사용하면 되느냐의 차이 입니다.

리눅스에서 문자열 등을 찾을 때 grep 를 많이 사용하곤 하는데요~

 

grep 는 아래 소개 드렷던 gow 를 설치하면 윈도우에서도 사용 가능 합니다.

 

그런데 최근에 검색을 좀 해보니 grep 보다 좀더 편리한 툴이 있더군요.

 

바로 ack 라는 툴인데요.

 

저는 일단 좀 써보니 그 속도가 정말 빠르더군요. perl 로 만들어 졌다고 하던데…. 이렇게 빠른가 싶었습니다.

 

ack 의 공식 홈페이지는 다음과 같습니다.

 

http://beyondgrep.com/

 

install 방법은 아래 주소에 나와 있는데~

 

http://beyondgrep.com/install/

 

perl 의 cpan module 로도 있더군요. 모듈 이름은 App::Ack 입니다.

 

우분투 등에서는 그냥 apt-get install ack-grep 하면 설치되고~

 

저는 현재 윈도우 환경이라 아래 포스팅에서 소개드렸던 chocolatey 를 이용하여 설치했습니다. chocolatey 를 사용하면 windows 에서 다음 명령어로 ack 를 설치 할 수 있습니다.


2014/05/25 - [컴퓨터일반] - 윈도우 프로그램을 쉽게 설치해 보자~ chocolatey

 

cinst ack

 

ack 를 위에서도 애기했지만 perl 을 사용하기 때문에 윈도우 버전에 맞는 perl 이 설치되어 있어야 합니다.

 

ack 사용 방법은 아래 주소에 설명되어 있는데~ grep 를 사용해 보신 분이라면 쉽게 알 수 있을 것 같네요.

 

http://beyondgrep.com/documentation/

 

html 파일에서 field 라는 글자가 들어있는 부분을 찾기 위해서는 아래와 같이 명령어를 작성하면 됩니다.

 

ack –-html field

 

 

ack 는 기본적으로 Recurse 하게 동작하더군요. 즉 하위 폴더들을 기본적으로 다 들어가서 찾는 다는 뜻입니다.

 

Recurse 옵션이 기본적으로 켜져 있으므로 Recurse 옵션을 끄기 위해서는 –n 또는 --no-recurs 옵션을 줘야 합니다.

 

ack 의 좋은 점은 단연 속도에 있을 것 같은데요…. 정말 빨리 찾더군요.

 

아래 동영상을 보시면 8000개 정도의 파일에서 단어 검색하는데 약 2초 걸리더군요. 찾은 단어의 경우의 수에 따라 다르겠지만 빠르긴 하더군요. 쓸만 하겠죠~ 아래 동영상을 보니 vim 플러그인도 있어서 vim에서도 ack 를 사용할수 있는것 같더군요.



아래 포스팅에서 Perl을 이용한 윈도우 Clipboard 접근 방법에 대해 설명 드린 적이 있는데요~

  


2014/03/12 - [programming language/Perl] - Perl Clipboard 사용하기



오늘은 Python에서 Clipboard 사용하는 방법에 대해 설명 드리려 합니다.

 

Python 에서 clipboard 에 접근을 할 수 있게 해주는 모듈은 pyperclip 입니다.

 

Pip search 를 해서 검색을 해보니 다음과 같이 A cross-platform clipboard module for Python. 이라고 나오네요~

 

CMD 창에서 간단하게 아래 명령어로 설치 할 수 있습니다.

 

Pip install pyperclip

 

Pip 가 설치 안된 분들은 아래 포스팅 참조해서 설치하시기 바랍니다.



2013/09/23 - [programming language/Python] - Windows 에서 Python easy_install, pip 설치


다음으로 간단하게 clipboard 의 내용을 다루는 예제를 한번 실행해보죠~

 

import pyperclip

pyperclip.setcb('The text to be copied to the clipboard.') # clipboard 에 내용 넣기

spam = pyperclip.getcb() # clipboard 에서 내용 가져오기

 

정말 간단하죠~ 그럼 운영체제의 clipboard 의 내용을 메모장에 붙여 넣어 볼까요~

 

Ctrl + V 를 눌러서 붙여 넣어보니 잘 되네요~






코딩을 할 때 Ctags 와 같이 해당 코드로 점프하는 기능이나, 프로젝트에 대한 폴더 구조를 쉽게 볼 수 있는 기능들이 필요한데요~

 

오늘은 Notepad++에서 이러한 기능들을 쉽게 사용할 수 있도록 해주는 플러그인들에 대해 소개하려 합니다.

 

Notepad++ 에서 탐색기와 같이 폴더 구조를 보여주는 플러그인은 Explorer 를 사용하시면 됩니다. 플러그인 → Plugin Manager 에서 아래 그림과 같이 Explorer를 선택한 후에 Install 을 해주시면 설치 됩니다.

 

설치 후에 플러그인 → Explorer → Explorer 를 클릭해 주시거나 아래 그림에서 보이는데로 보이는데로 Ctrl+Alt+Shift+E 를 누르시면 옆에 폴더 구조가 보여 집니다.

 

또한 Go to Path를 누르면 아래 그림과 같이 해당하는 Path 로 쉽게 이동할 수 있습니다.

 

다음으로 C/C++ 의 헤더와 소스 코드 간에 이동을 편하게 해 주는 SourceSwitch 와 Ctags 와 같이 해당 변수나 함수들로 이동하게 해주는 Source Cookifier에 대해 소개하겠습니다.

 

아래 그림과 같이 Source Cookifier, SourceSwitch를 설치합니다. 마찬가지로 install 을 눌러 주면 됩니다.

 

SourceSwitch 는 F9 를 눌러주면 C/C++ 코드의 헤더파일에서 소스파일로 소스에서 헤더 파일로 이동 할 수 있게 해줍니다.

 

또한 점프 하려는 헤더에 커서를 둔 상태에서 F10을 누르면 해당되는 헤더 파일로 이동하게 되며~

 

아래 그림과 같이 Set Top Level 을 클릭하고 프로젝트의 최 상위 폴더를 설정해 놓으면 그 이하의 코드들을 인덱싱해서~~ 파일들이 여러 폴더로 나누어져 있을 때 더욱 편리하게 사용할 수 있습니다.

 

다음으로 Ctags 와 같이 해당 변수나 함수들로 이동하게 해주는 Source Cookifier를 간단하게 알아보겠습니다.

 

Source Cookifier는 아래 그림과 같이 Toggle Source Cookifier 버튼을 클릭하면 그림과 같이 나타나게 됩니다.

 

3가지의 모드가 있는데요~ Single file mode, N++ session mode, Cookie session mode 가 있습니다.

 

Single file mode 는 말 그대로 파일 하나에 대해서만 표시 되고~ N++ session mode 모드에서는 현재 열려 있는 다수의 파일들에 대해 각종 함수나 변수들이 표시가 됩니다.

 

보통 개발하시는 분들이라면 Cookie session mode 를 주로 사용하시게 될 텐데요~

 

Cookie session mode 를 사용하려면 Source Cookifier 에 아래 그림과 같이 tag 하려는 파일들을 드래그 합니다.

 

그럼 Import 할거냐고 물어보는데 당연히 Yes 를 하면 되겠죠~

 

다음으로 해당 Cookie session을 아래 그림과 같이 save 를 눌러서 파일로 저장합니다.

 

파일 확장자는.c00k!e 입니다. 저는 tag1.c00k!e 라는 이름으로 저장했습니다.

 

Cookie session mode 는 여러 폴더에 소스들이 나눠져 있는 경우 대단히 편리하게 사용할 수 있을 것 같더군요.

 

다음에 또 사용할 때는 아래 그림과 같이 해당 c00k!e 확장자 파일을 로드해서 사용하면 되고~ Load 버튼을 눌러서 다른 폴더에 저장되어 있는 tag 파일도 불러와서 사용 할 수 있습니다.



Perl 에 CPAN(The Comprehensive Perl Archive Network)이 있다면 Python 에는 easy_installpip 가 있다고 할 수 있을 것 같네요.

 

CPAN 을 사용하듯이 easy_install 과 pip 를 사용하면~ command 창에서 쉽게 원하는 package 를 설치 할 수 있습니다.

 

검색을 해보니 easy_install 은 향후에는 없어질 거라고 하더군요.

 

뭐 난중에 없어진다고 하더라도~ 현재까지는 잘~~ 사용되고 있고

 

easy_install 을 사용해서 pip 를 설치할 것이므로~ 오늘의 포스팅에서는 easy_install 부터 설치를 해보죠~

 

현재 제 컴퓨터 환경은 Windows 7, 64 bits 이고~ python 2.7 버전이 설치되어 있는 상태 입니다.

 

어느 폴더에서나 python 을 실행 할 수 있도록 C:\Python27폴더도 환경변수의 path 에 잡혀 있습니다.

 

easy_install은 python package 인스톨 등을 위한 명령어이고~ 이런 툴을 setuptools이라 합니다.

 

아래 주소에서 ez_setup.py 파일을 다운로드 받습니다. 현재는 1.1.6 버전이 최신 버전이네요~


https://pypi.python.org/pypi/setuptools/1.1.6#windows


 

아래 이미지와 같이 받으시면 됩니다.


편의를 위해 ez_setup.py 파일도 첨부합니다.


ez_setup.py


 

편한 폴더에 다운로드 받은 후에 command 창에서 해당 폴더로 이동 한 후 아래 그림과 같이 입력하고 엔터를 눌러 주면~ setuptools 의 설치가 시작 됩니다.


python ez_setup.py




설치는 인터넷이 연결된 상태에서 진행되야 하며~ 조금만 기다리면 다음과 같이 설치가 완료 됩니다.


 

설치가 완료되면~ C:\Python27\Scripts 라는 폴더가 생성되고 해당 폴더에 easy_install-2.7.exe,

easy_install.exe 와 같은 실행 파일들이 들어 있게 됩니다.

 

easy_install.exe 명령을 아무 폴더에서나 편하게 사용하기 위해~ C:\Python27\Scripts 폴더를 환경변수의 path 에 설정해 줍니다.

 

C:\Python27폴더가 환경변수의 path 에 잡혀 있지 않은 분들은 아래 명령어와 같이 python.exe 의 full path 를 다 쳐줘야 합니다.


C:\Python27\python.exe ez_setup.py

 

환경 변수 설정 후 command 창을 재 실행 합니다.

 

그리고 다음과 같이 pip 를 설치 합니다.


easy_install pip


 

pip 라고하고 엔터를 치면~ pip 에 대한 설명들이 나옵니다.


 

install 명령을 통해 패키지를 설치하고~

pip install [패키지 이름]

 

pip list 라고 하면 현재 설치된 package 들의 목록이 다음과 같이 나타납니다.


 

아래 예와 같이 search 명령을 통해 sqlite3 와 관련한 package 들을 검색 할 수 있습니다.


 

그리고 아래 주소에서는 카테고리 별로 package 들을 검색 할 수 있고

https://pypi.python.org/pypi?%3Aaction=browse

 

아래 주소에서는 package 들의 list 가 쫘~~~ 악 나옵니다. 리스트가 하도 많아서 아래 주소로 들어가니깐 브라우져가 버벅 거리더군요.

https://pypi.python.org/pypi?%3Aaction=index

 


  1. 2014.04.27 23:55

    비밀댓글입니다

  2. 우동짭짭 2014.05.06 18:50

    파이썬을 공부하고있는 초보입ㄴ다. 올려주서셔서 감사합니다. 혹시 프로그그래밍 관련일을 하시는지요?

    • 남성 2014.05.06 19:09 신고

      방문해 주셔서 감사합니다. ^^ 프로그래밍 관련일 하고 있습니다. 저도 잘 몰라서 잊어버리지 않으려고 그때 그때 적어 놓고 있어요~ 저도 파이썬 초보에요~

  3. 2014.06.25 08:50

    비밀댓글입니다

    • 남성 2014.06.25 12:16 신고

      python.exe 를 못 찾는거 보니 환경변수로 설정되지 않은것 같네요. 윈도우라면 보통 python.exe는 C:\Python27 폴더에 들어있습니다. C:\Python27 을 path 환경 변수에 설정해 주시면 될겁니다.

      참고로~ 윈도우에서 환경 변수 설정 할때는 아래 주소에서 설명하는 Rapid Environment Editor 같은 툴을 사용하면 편리합니다.

      http://iamaman.tistory.com/1213

윈도우 이용시 탐색기는 좀 불편해서 이전에 소개를 했던  Nexusfile 이라는 프로그램을 주로 사용하곤 했습니다.

Nexusfile 은 Freeware 인데다가 기능 역시 훌륭해서 매우 좋아라 했죠.

그런데 Nexusfile 은 윈도우만 지원을 한다는게 좀 아쉬운 부분 입니다.

그래서 찾다보니 Double commander 를 찾게 되었습니다.

Double commander 는 크로스 플랫폼을 지원하는 Commander 입니다.

Total commander 에서 영감을 얻어 만든 오픈 소스 commander 인데 윈도우에서는 Nexusfile 에 익숙해 지다보니

잘 안 써 지더군요.

그러다 요즘 우분투를 사용해 보면서 commander 가 필요해서 double commander 를 본격적으로 써 볼까 해서 설치 했습니다.

현재의 제 우분투 버전은 10.01 LTS 64 bits 입니다.

터미널에 아래와 같이 간단하게 명령어를 치니 깔리더군요.


sudo add-apt-repository ppa:alexx2000/doublecmd

sudo apt-get update

sudo apt-get install doublecmd-gtk


그림처럼 깔끔하게 생겼습니다.






Doubel Commander 열심히 써 봐야 겠네요.



2013-09-16 추가 내용

도움말 화면을 위해서 터미널에서 아래 명령어를 통해 도움말 설치


sudo apt-get install   doublecmd-help-en


QT 버전을 설치하고 싶다면 다음과 같이 설치


sudo apt-get install doublecmd-qt


Double Commander 에서 터미널 실행시 처음에는 Xterm 이 실행된다.


gnome-terminal 이 실행되도록 설정 >> 옵션  >> 명령 프롬프트의 내용을 다음과 같이 바꿔준다.



MATLAB 과 마찬가지로 Octave 도 함수들의 사용방법을 확인 할 때는 Help 또는 Doc 명령어를 사용 합니다.

 

Doc 는 Document 명령어의 약자로 Help 보다 좀더 자세한 내용들을 담고 있어서 정확한 이해가 필요할 때 주로 사용하는데요~

 

아래 그림과 같이 Octave 에서 doc 명령이 제대로 동작을 안 할 때가 있습니다.



Octave에서 Document 가 제대로 보이게 하기 위해서는 터미널에서 아래 명령어를 통해 Octave Document를 설치해 줘야 합니다.

 

sudo apt-get install octave-info

 

이제 Octave 터미널에서 doc fft 하면 다음과 같이 정상적으로 동작하는 것을 확인 할 수 있습니다.


윈도우에서 리눅스 명령 또는 툴들을 사용할 때 GOW 도 사용하지만


2012/11/11 - [유틸] - GNU On Windows 를 이용하여 Windows 에서 Linux 명령어 사용하기


많은 분들이 훨씬 더 많은 기능을 담고 있는 Cygwin 을 주로 사용하실 텐데요~


아래 주소의 Cygwin 홈페이지를 가보니 요즘은 64 비트 Cygwin 도 나왔더군요.

 

http://cygwin.com/install.html

 

32 비트를 설치하시려면~ setup-x86.exe 파일을,  64 비트를 설치하시려면~ setup-x86_64.exe 파일을 다운로드 받아서 설치하시면 됩니다.

 

 

저도 요즘은 64 비트 윈도우를 사용하다 보니 64 비트 Cygwin 을 낼름 깔아 봤습니다.

 

설치 방법은 밑에 글 참조 바랍니다. 

2012/10/07 - [유틸] - Cygwin에서 간단히 C 코딩해보기~

 

제 블로그에서는 MATLAB 을 주로 설명하지만 리눅스에서는 Octave 라는 MATLAB 과 굉장히 유사한 프로그램이 있습니다.

 

Cygwin 에서 Octave 를 설치하실 때, Octave 는 Math 카테고리에 있으니깐 Math 옆의 Default 라고 되어 있는 글을 클릭해서 Install 로 바꿔준 후에 설치하셔야 합니다.

 

 

기쁜 마음으로 ~ Cygwin64 Terminal 에서 다음과 같이 Octave를 실행했습니다.

 

뭐 당연히~ 잘~~ 실행 되더군요.

 

그래서 간단히 사용을 해 봤죠.

 

x=linspace(0, 2*pi,100);

y=sin(x);

plot(x,y)

 

간단하게~ sin() 그래프 그리는 건데…. 헉!! 아래와 같은 메시지가 나오면서 에러가 뜨더군요.

 

0 [main] octave-3.6.4 4852 child_info_fork::abort: ……………. 어쩌구 저쩌구… 블라 블라~


 

그래서 32 비트에서도 해보니 아래와 같이 잘 나오더군요.

 

64 비트에서는 안 되는게 이상해서 구글링을 해보니 아래 글의 중간 정도에 해결 방법이 있었습니다.

 

http://octave.1599824.n4.nabble.com/Octave-3-6-x-for-windows-td4649424.html

 

아래 첨부한 rebaseall_example.bat 파일을 C:\cygwin64 폴더에 다운로드 한 후에~ 아래 그림처럼 관리자 권한으로 실행해 줍니다.


rebaseall_example.bat


 

 

rebaseall_example.bat 파일 내용 >

@echo off

 

cd bin

 

dash -l -i -c "echo ' !! Starting rebasing. Be patient !! \n' ; rebaseall "

 

echo .

echo !! No rebaseall errors ? Than done and fine, !!

echo !! otherwise you have others cygwin process running !!

echo .

 

pause

 

조금 기달렸다가~ 아래와 같은 화면이 나오면 해당 화면을 닫아 주시면 문제가 해결됩니다.

 

이제 Octave 를 다시 실행 시키고 그래프를 그려 볼까요?

 

이제 아래 그림처럼 촤라락~~ 하고 그래프가 나오는 것을 확인 할 수 있습니다.

 

물론 예쁜 그림은 아니지만~


+ Recent posts