2008년 2월 25일 월요일

데이터베이스의 개념


데이터베이스: 업무수행에 필요한 상호관련 data들의 모임.
  • 통합데이터: 중복을 배제한 데이터
  • 저장데이터: 컴퓨터가 접근할 수 있는 곳에 저장된 데이터
  • 운영데이터: 업무수행 시 없어서는 안될 데이터
  • 공용데이터: 공동으로 소유하고 유지하는 데이터


데이터베이스의 특징

  • 실시간 접근성: 실시간 응답이 가능해야 함.
  • 계속적인 변화: 삽입, 삭제, 갱신으로 최신의 데이터 유지
  • 동시공용: 여러 사용자가 동시에 데이터 이용 가능
  • 내용에 의한 참조: 레코드의 주소나 위치가 아니라 요구 내용으로 검색


데이터베이스 시스템
: 데이터베이스를 이용해서 자료를 저장하고 관리하는 시스템

  • 구성요소→데이타베이스, 스키마, DBMS, 언어, 컴퓨터, 사용자
  • 사용자가 일을 요청하면 DBMS가 데이터베이스로 접근해서 처리

정보시스템



Data: 가공되지 않은 상태의 단순한 사실이나 결과
Information: 자료를 가공하여 얻음. 의사결정에 도움을 줄 수 있다.

정보시스템: data를 수집, 저장해 두었다가 필요시에 유용한 정보를 생성/분배
  ex) 경영정보시스템, 군사정보시스템, 의사결정지원시스템

자료처리시스템: 정보시스템이 사용할 자료를 처리하는 서브시스템

  • 일괄처리시스템: 모아서 한꺼번에 처리
    - 시스템 중심의 자료처리법, 반환시간이 늦지만 idle time이 줄어든다.
    - 순차 접근 업무에 적합, 성능↑, 처리비용↓
    ex) 급여계산, 세무처리, 공과금처리, 연말결산 등
  • 온라인실시간처리시스템: 요구 즉시 처리
    - 사용자 중심의 처리법, 시간단축, 처리비용↓
    ex) 우주선 운행, 레이더 추적기, 핵실험, 은행 온라인 업무 등
  • 분산처리시스템: 여러 컴퓨터를 연결해서 하나처럼 이용
    - 각 컴퓨터는 고유의 OS와 CPU, Memory를 가짐.
    - 시스템 구축과 운영이 어려움, 신뢰성↑, 확장용이.

※ 데이터웨어하우스(DataWareHouse)
- 조직이나 기업체의 중심이 되는 주요 업무시스템에서 추출해 새로 생성된 데이타베이스
- 의사결정지원 시스템을 지원하는 주체적, 통합적, 시간적 데이터.

잠수종과 나비.


잠수종과 나비.

주연: 매티유 아맬릭(장 도미니크 역)
감독: 줄리앙 슈나벨



난, 개인적으로 유럽영화를 매우 좋아한다. 굉장히 아름답고 영상의 미가 돋보이는 영화들이 유럽영화다. 스토리가 잔잔하고 조용해서 뭇 헐리우드 영화에 길들여진 사람들은 '재미없다'고 치부해버릴지 모르지만 너무 좋은 영화들이 많다.

이 영화는 프랑스 영화라고 들었는데 맞는지 잘 모르겠다.
게다가 실화이다.

줄거리보기


잠수종과 나비라는 말은 몸은 잠수종에 있지만 마음만큼은 나비처럼 자유롭게 날고 싶은 장 도미니크의 소망일까, 아니면 장 도미니크가 눈으로 나비처럼 자유로워질 수 있었다는 것일까...

아무튼 많은 것을 느끼게 해준 영화였다.
나는 눈뿐만아니라 모든 몸이 자유로움에도 불구하고 (유연성은 좀 떨어지지만) 내가 할 수 있는 모든 가능성을 생각치 않는 것 같다.
나의 가능성은 무한하고 나는 그것을 활용할 수 있을 것이라...

2008년 2월 21일 목요일

6년째 연애중.


6년째 연애중.

주연: 김하늘(이다진 역), 윤계상(김재영 역)
감독: 박현진


공짜표로 봤던 영화. 사실은 볼 마음이 없었는데 어쩌다가 보게 되었다.
남들이 공감안간다 어쩐다 떠들고 있나본데, 내가 보기엔 괜찮았다. 나는 6년이 아니라 1년정도 긴 연애도 해보지 못했지만-_-);
다만, '내 생애 최악의 남자'와 비슷한 느낌이 들었다. 여러가지 부분에서..

다진과 재영은 6년째 사귄 커플로, 바로 옆집에 살고 있다. 같이 잠도 자고, 밥도 먹고, 술도 마시고 주저 없이 사랑한다라고 말하던 그들은 서로에게 너무 당연한 존재이다.

그리곤, 재영에게 '나랑 재밌는 연애 해볼래요?' 라고 제안하는 재영이 다니는 회사의 아르바이트생. 다진에게 '나 다진씨 좋아해요.' 라고 말하는 삽화작가. 둘로 인해 재영과 다진은 연애 초기의 두근두근함을 떠올리게 된다.


편안하게 안주하고 있을 때는 새로운 것을 찾게 되지만 새로운 것을 찾고 나면 다시 편안하고 싶은 마음은 누구나 다 가지고 있을 것이다.
난 사랑도 믿지 않고, 오랜기간의 연애도 해본 적 없지만, 그래서 그런지 이 영화를 공감대를 느끼기보다는 영화자체로 받아들였다. 그냥 멋있는 영화였다.ㅎ

너무 뻔한 영화였고, 그랬기에 또 그 나름대로의 맛이있었다.


근데, 윤계상은 좀 살쪘더라-_-);;
그리고 김하늘은 너무너무너무 이뻤다+_+) 캬하~




〃나 한대만 때려봐〃
짝~
〃내가 다시는 너한테 맞을 짓 안할께〃
- 과거 회상 중에..



BGM - 우리 만난 이날.

2008년 2월 18일 월요일

AVR Edit


AvrEdit
AvrEdit는 C언어용 편집기이고 AVR컴파일러를 손쉽게 사용할 수 있게 해주는 툴이다.

AvrEdit 설치

다운로드: http://www.terabank.co.kr
다운로드하여 압축을 풀면 여러개의 폴더가 생성되는데 그 중에 "Disk1" 폴더에 들어가서 setup.exe파일을 실행시키면 자동으로 설치된다.
모든 옵션은 default로 설치하여도 무관하다. (무조건 next...)


AvrEdit설정

설정해주어야 할 사항은 MCU타입과 HEX format타입이다.
AvrEdit를 실행시킨 후 파일을 열면 (새 파일도 상관없다) 설정을 할 수 있다.
메뉴바에서 [설정]-> [환경설정] 을 선택하면 MCU타입과 HEX format타입을 설정할 수 있다.
나의 경우에는 센서네트워크 개발환경을 만들고 있으므로 각각을 atmega128, ihex로 설정하였다.
그 외의 환경설정은 원하는대로 한다.


AvrEdit사용

새파일을 열면 기존의 C프로그램 작성과 같은 방법으로 프로그램을 코딩할 수 있으며 컴파일 단축키는 "F9"이다.
컴파일을 하게되면 프로그램창 하단에 컴파일 관련 사항이 뜨고, 성공할 경우 "Compiling OK"가 뜨며, 실패할 경우 "Comliling Error"가 뜬다.
에러에 관한 사항 역시 하단에 나열된다.

컴파일이 완료되면 .cof, .eep, .elf, .lst, .map, .o, .obj, .rom파일이 생성된다.
맘에드는 파일을 사용하면된다. 나는 rom파일을 보드에 올린다.

2008년 2월 14일 목요일

스위니토드.


스위니토드.

주연: 조니뎁(스위니토드 역), 헬레나 본햄 카터(러빗부인 역)
감독: 팀버튼



뮤지컬 "스위니토드"를 영화로 만든 작품.
작년 9월에 뮤지컬을 봤던 터라서 기대하고 보러갔다. (물론 팀버튼과 조니뎁 콤보도 많이 기대했다.)

줄거리보기(스포일러 있음)


뮤지컬은 뮤지컬 나름대로, 그리고 영화는 영화 나름대로 좋았었다. 하지만 나는 뮤지컬을 봐서 반전을 알고 있었기 때문에 영화를 쫓아가면서 즐기지 못한 것 같다.
영화에서도 뮤지컬의 묘미가 남아있었지만, 조금 아쉬웠던 것은 안소니와 조안나의 부분이 약했다는 것이랄까.ㅎㅎㅎㅎ

뮤지컬은 무대에서 생방으로 이루어지는 것이기 때문에 시간과 공간의 제약을 많이 받는다. 공연장은 정해져 있고 거기서 모든 장면을 표현해내야 한다. 그리고 대화의 주체는 노래이다. 영화는 시공간의 제약을 받지는 않지만 뮤지컬의 생음악이 좀 아쉽다.
그러니까, 결론은 둘 다 각각의 장단점이 있었고 각각의 묘미가 있다는 것이다. 난 개인적으로 둘 다 좋았으니까~

게다가 팀버튼콤보는 이번에도 날 실망시키지 않았다. 그 음침한 분위기와 다크서클..
그리고 팀버튼의 스타일이 있다. 이번 스위니토드도 그 스타일과 분위기가 잘 살아 있었다.ㅋ

같이 봤던 동생은 잔인해서 손으로 눈 가리느라고 몇 장면 보지 못했지만.ㅎ
암튼 조니뎁은 멋있다>_<)/

 

static의 쓰임.




static

- 정적인 데이타영역

- 컴파일 혹은 링크시 데이터가 저장될 공간 지정

- 데이타 영역의 유효성을 가짐

- 프로그램이 종료될 때까지 유지됨


local static 변수

- 컴파일 과정에서 전역 데이터 영역에 변수 생성


global static 변수

- 데이터 영역에 자리잡는 곳은 일반 global 변수와 같음

- '컴파일타임'에 바인딩 결정

- 전역변수 이지만 다른 모듈에서 extern으로 링크해서 사용할 수 없음.


static member 변수

- 해당 클래스의 모든 객체에서 동일한 변수를 사용


static member 함수

- 함수 내에 직접 참조하는 요소가 컴파일 타임에 결정될 것을 요구

- this 포인터의 사용 금지

- static member만 접근 가능

Nano Q+ 설정



1. 버전정보 확인

$ autoconf --version
$ automake --version


이것을 실행하였을때 autoconf는 버전이 2.13이어야 하고, automake는 1.4*여야 한다.

아니라면 바꿔줘야 한다.



2. 버전 바꾸기


가장 간단하고도 노가다적이며 손쉬운 방법은 cygwin을 다시 깔아서 install할 때 automake 1.4와 autoconf 2.13만 까는 방법이 있다.

그러나 무식한 방법.. ㅠㅠ


우선,

/etc/alternatives로 간다.

여기서 보면, automake와 autoconf가 링크가 걸려있다.

automake는 강제적으로 1.4로 링크를 바꿔줄 수가 있는데, autoconf는 그럴 수가 없다.


automake 링크를 바꾸는 방법은

/usr/bin/automake-1.4 로 링크를 다시 걸어주면 된다.


autoconf 설정을 다시하는 방법은

export WANT_AUTOCONF_2_1=1

을 bashrc파일에 적어주면 된다.

자세한 사항은 /usr/share/autotools/ac-wrapper.pl 파일을 잘 읽어보면 되는데, 그게.. 펄스크립트인관계로... 읽기가 대략 난감하다.ㅠㅠ

거기 보면, WANT_AUTOCONF_2_1에 1을 넣어주면 2.13버전을 사용하는 것이고, 그렇지 않을경우 default값이 2.59버전이라고 되어있다.


아니면 직접 대입법!!

ac-wrapper.pl파일을 열어서

$ENV{'WANT_AUTOCONF_2_1'} = 1;

을 써주고 저장하면 된다.ㅋㅋㅋㅋ

(잔머리 잘굴리시기는.ㅋ)


.. 근데 2.5버전을 쓰도록 하세요.. ㄱ-


나중에 script가 잘 동작하지 않습니다;



3. cross-rule.def 파일 수정


이건 qplusn-1.5.1e 디렉토리에 있는 파일인데-

이 파일을 열어서

CDTDIR 을

/cygdrive/c/cygwin/home/seungyeon/nano-q+/plusn-1.5.1e/tools/wins/avr-3.2/opt/qplusn/cdt/avr-3.2/bin/


이라고 수정해준다-0-

컴파일러 경로이다.

cygwin설정



1. qplusn설치


nano-q+ 디렉토리를 만든다

~$mkdir nano-q+


이 디렉토리 안으로 들어가 qplusn을 설치한다.






2. cygwin.bat파일 가져오기


qplusn-1.5.1e(qplusn설치하면 생기는 폴더)안의

tools/wins/cygwin-setup안에 있는 cygwin.bat파일을 nano-q+.bat으로 복사한다. root디렉토리로.






3. 환경변수 설정


가져온 nano-q+.bat을 vi편집기로 열어서 환경변수를 설정해 준다


set CYGROOT=c:\cygwin (cygwin이 설치 되어있는 경로)

set CYGTOOR=c:\cygwin (cygwin이 설치 되어있는 경로)


set WORKROOT=%CYCROOT%\home\seungyeon\nano-q+

(1단계에서 만들어둔 폴더 경로)


set QHOME=%WORKROOT%

set HOME=%CYGROOT%\home\seungyeon\nano-q+\qplusn-1.5.1e (qplus가 설치 되어있는 경로)


패스는 3개가 있는데 이중에서 자바패스만 제대로 설정을 해주면 된다. 나머지는 건드리지 않아도 OK.

set PATH=%PATH%;c:\Program Files\Java\jre1.5.0_07;c:\Program Files\Java\jre1.5.0_07\bin;

(자바가 설치되어 있는 경로)


set JAVA_SDT=c:\Program Files\Java\jre1.5.0_07

(자바가 설치되어 있는 경로)

classpath는 JAVA_SDT만 잘 바꿔주면 특별히 손댈것은 없다.






4. bashrc 파일 설정


이 파일 역시 tools/wins/cygwin-setup 아래에 있다.

이 파일 역시 root디렉토리로 복사해 와서 수정한다.


아까 3단계에서 nano-q+.bat파일을 잘 수정해 주었다면, 여기서 해줄일은 두가지이다.


AVR_CDT=/home/seungyeon/nano-q+/qplusn-1.5.1e/tools/wins/avr-3.2/opt/qplusn/cdt/avr-3.2/avr/bin

(avr컴파일러의 경로)


avr컴파일러는 tools/wins/avr-3.2/opt/qplusn/cdt/avr-3.2/avr에 있다. opt이하를 복사해서 옮겨와서 경로를 지정해도 되지만, 귀찮은 관계로 패스를 다 적어줬다;;;;


QPLUS_NANO=c:/cygwin/home/seungyeon/nano-q+/qplusn-1.5.1e

(qplus가 있는 경로)

... 라고 쓰니까 링크에러가 난다.

c:/cygwin/home/seungyeon/nano-q+/qplusn 까지만 써줬더니 괜찮아졌다.

버전정보가 한번 더 붙어서.. 위에처럼 써주면

qplusn-1.5.1e-1.5.1e 이렇게 된다.. ;;






5. vimrc 파일


또 설정할 파일이 있는 건 아니고,

이 파일도 같은 디렉토리(root)로 옮겨주어야 한다.

/usr/share/vim/vim64/vimrc_example.vim을 root디렉토리로 복사해준다.






6. 실행시켜보기


nano-q+.bat파일을 바탕화면에 바로가기를 만든 후, 실행시켜본다.

프롬프트는 bat파일에서 설정해준 대로 뜨게 되어있다.

바꾸고 싶다면 set PS1부분을 바꾸어 주면 된다.


잘되었는지 알고 싶다면

echo명령어를 사용하여 패스설정이 잘 되어있는지 알아본다.

echo $AVR_CDT 등등...

그러면 내가 설정 해준 패스가 뜬다+_+) 신기하다!ㅋ






※ 주의할점

도스창에서는 하위디렉토리 구분이 / (슬래시)이고, 윈도우에서는 \(역슬래시)이다.