2017년 9월 25일 월요일

fopen()을 써서 랜덤하게 데이터를 fwrite하기

fopen()을 써서 랜덤하게 데이터를 fwrite할때 주의 사항
처음 열때는 "wb+"로 열고, 그다음부터는 "rb+" 로 열어야 한다.
"ab+"로 열면 무조건 파일 끝에만 write가 된다. (fseek이 제대로 동작 하지 않는다)
이미 있는 파일에 "wb+"로 열어버리면 파일 내용이 지워져 버린다.
파일 내용을 편집, 추가 할때는 "rb+"로 해야 한다.

예제)
#include
#include
#include

int main(int argc, char *argv[]) {
        char *filename = "test.bin";
        FILE *fp = NULL;
        int array[]= {9,3,1,2,5,0,6,8,7,4};
        int len = sizeof(array)/sizeof(int);

        for(int i=0; i                if(i==0)
                        fp = fopen(filename, "wb+");
                else
                        fp = fopen(filename, "rb+");

                int offset = array[i];
                unsigned char data = array[i] & 0x0ff;
                int datalen = 1;

                fseek(fp, offset, SEEK_SET);
                fwrite(&data, datalen, 1, fp);

                fseek(fp, 0, SEEK_END);
                fclose(fp);
        }
        return 0;
}

2017년 8월 24일 목요일

Eclipse에 Python 통합개발환경 구축방법 (Linux)

문서는 Ubuntu 14.04 Eclipse Python 플러그인 설치를 통한 Python 통합개발환경(IDE) 구축 방법에 대해 기술함

다음 링크를 참고로 하여 작성함
http://yaraba.tistory.com/173

이클립스(eclipse) 다운로드 설치

-       Linux 환경에 따라 이클립스가 이미 설치되어 있을 수도 있으며, 적절한 버전 (3.8이상) 이미 설치된 경우, 단계를 생략하여도 된다.
-       JRE 또는 JDK가 미리 설치되어 있어야 함
-       이클립스 다운로드 : http://www.eclipse.org/downloads/  에서  (: 리눅스에서 원격 접속시 원격으로 웹브라우저를 띄워야 한다. 쉘에서  google-chrome 실행) Eclipse IDE of Java Developers (Linux, 64bit)를 선택, 다운로드한다.

-          다운로드가 완료되면, 다음과 같이 자기 홈 디렉토리에서 압축을 해제한다. ( tar zxvf 다운로드/eclipse-java-mars-2-linux-gtk-x86_64.tar.gz )
-       eclipse 디렉토리로 들어간 다음, eclipse 실행한다. 처음 실행시 workspace 경로 확인을 물어 있다. 경로를 확인하고 OK 누른다.

-       그러면 eclipse 실행되어 대기 상태가 된다.


PyDev 플러그인 소프트웨어 설치

-        이클립스 상단 메뉴에서 Help > Install New Software를 선택한다.
-        다음 그림과 같이 Work with: http://www.pydev.org/updates 를 입력후 엔터를 누르면 아래에 PyDev PyDev Mylyn Integration 이 나오는데 PyDev 를 선택, 아래의 [Next] 버튼을 누른다
-        경우에 따라 calculating dependency가 오래 걸릴 수도 있다. 계속 기다려야 한다.
-        설치중 라이선스, 보안 등 질문이 있는데 Accept, OK 를 선택한다.
-        설치가 끝나면 이클립스를 다시 시작하도록 한다.

PyDev 플러그인 설정

-        파이션 경로를 설정하여야 한다. 이클립스에서 Windows > Preferences 메뉴를 선택한다.
-        왼쪽의 PyDevInterpreters의 삼각형을 눌러 펼친후, Python Interpreter를 선택한다.
-        우측 상단의 New를 눌러, Interpreter Name과 실행파일 위치(/usr/bin/python2.7)를 선택한다. (python실행파일 위치를 모를 경우 콘솔에서 which python 으로 확인할 수 있다)
-         
-       
-        OK 눌러 설정을 마무리한다.
-         
-        이번에는 이클립스에서 Windows > Perspectvies > Open Perspectives > Other… 을 선택한다. 그리고 PyDev 를 선택한다.
-       
-        이클립스 우측에 PyDev 탭이 보이고, 우측에 PyDev Package 탐색창이 보이면 준비가 것이다.
-         


HelloPython.py 작성 실행

-        왼쪽 PyDev Package에서 우클릭, New > Project… 를 선택하고, PyDev Project 선택한다.
-       
-        프로젝트 이름을 HelloPython 으로 입력한 다음, [Finish] 선택한다.
-       
-        PyDevPackage HelloPython 프로젝트에서 우측 클릭하여 New > File 선택후, 파이션 파일명 (HelloPython.py) 입력후 [Finish] 선택한다.
-        코드를 작성후, Run 실행한다.


TensorFlowEx1.py 작성 실행

- tensorflow 가 잘 설정되어 있어야 함
-  이클립스에서 새로운 Python 프로젝트로 TensorFlowEx1 를 만든다.
- 새로운 파일 TensorFlowEx1.py 만든다.
- 코드를 작성하고, 실행(Run) 한다.


밖에..

- 에디터 창에 물결 밑줄은 bad indentation 경고가 생기는데, Preferences -> PyDev -> Editor -> Code Analysis -> Others -> "indentation problems and mixing of tabs and spaces" Ignore로 설정하면 없앨 수 있다.



-문서끝-