'분류 전체보기'에 해당되는 글 275건

  1. 2004.09.25 또 부산. 3
  2. 2004.09.23 살균 세척기!
  3. 2004.09.20 오늘도 이렇게. 2
  4. 2004.09.19 사랑스런 초등학생 6
  5. 2004.09.17 시스템 프로그래밍 HW#1 5
  6. 2004.09.16 당연하지~ :)
  7. 2004.09.16 마일리지로 부산 내려가기
  8. 2004.09.14 행운의 날~* ( '') 6
  9. 2004.09.12 뭘 하며 살지? 1
  10. 2004.09.12 기억해 두자아-
스니 이야기/일기2004. 9. 25. 01:06
일주일 만에 다시 찾은 부산.
정확히 말하면, 5일 만에 다시 왔다. 하하하

오자마자 친구 만나고.
들어왔는데.
이거... 맨날 있다가 들어온 거 같군.

짐은 엄마가 들고 들어가셨으므로.
나는 놀다가 내 가방 하나 달랑 들고. 히히

오늘은 정말 우울한 날이다.

뒤쳐진 사람, 인생 낙오자가 된 그런 기분.

사람은 기준이 다르다.
뭔가 빨리 이루어 내길 원하는 사람이 있고,
걍 느릿느릿, 큰 성공은 못해도, 편하게 살아가길 원하는 사람이 있다. (나나나나나~)
그 외에도 여러 부류의 사람이 있겠지.

어떤게 정답이라고 말할 수는 없는 거 같다.
각자의 가치관이 다르듯이.

그러나, 교수님들과 이야기를 하다 보면.
내가 정말 한심하고, 생각 없이 살아온 것 같아. 마음이 아프다.

아토피가 심할 때, 졸업도 못할 줄 알았을 때.
그 때 포기하고 아무것도 하지 않았던 것이 후회되고 또 후회된다.

나는 지금 상태가 호전된 것이지, 병이 나은 것은 아니다.
내가 이 상태를 유지하기 위해서,
버려야하는 많은 것들을,
겪지 않은 사람들은 모르겠지.

나 또한, 내가 겪지 못한 것을 이해하지 못하듯이 말이지.

그래. 내가 이해하지 못하는 것들, 다른 사람들이 이해하지 못하는 것들.

내 귀가 매우 두꺼워서, 그 어떤 것에도 흔들리지 않았으면 좋겠다.
다른 사람의 말을 잘 받아들이는 것이 장점이기도 하지만,
이렇게 괴로울 때는 참으로 큰 단점인 것 같다.

오늘 양성봉 교수님 말처럼,
CPU 처럼 일을 처리해야지.
잠시 다른 일을 위해 이 고민은 하드 디스크로 넘겨야겠다.
Posted by 스니
스니 이야기/일기2004. 9. 23. 23:12
오늘 드디어 배달이 되었다!
그렇게도 사고 싶었던 살균 세척기.

나는 야채랑 과일을 무지하게 많이 먹기 때문에
저게 꼭~~ 필요하다.
아무리 유기농을 사먹어도, 불안하다. -.-

야채는 워낙 많이 사서 먹기 때문에,
한번 씻을라치면.... 장난 아니다.
근데... 이제 넣어놓고 기다리기만 하면 된다... 기쁘다... T.T

지금 포도랑 자두랑 토마토를 넣어놨는데
쪼매 시끄릅군....

기쁘다. 구주 오셨네. 으흐흐
Posted by 스니
스니 이야기/일기2004. 9. 20. 23:16
잔다.

학교 마치고 운동하고 집에 와서 저녁 먹고
여학생 모임 연락 돌리고
디논 숙제를 급히 할려다, 연기됐다는 말에
아싸. 하며 놀다가.
걍 잔다.
Posted by 스니
스니 이야기/일기2004. 9. 19. 20:54
참 어울리지 않는 단어의 조합 같았다.
오늘 현우를 만나기 전까지.

오늘 서울로 오는 비행기 안에서 만났던 초등학교 1학년 주현우.

내가 앉으려고 할 때, 조심스럽게 말을 했다.
"저기요, 이거(발 아래 있는 플라스틱 통) 발로 차지 마세요.
제가 잡은 게랑 새운데요, 발로 차면 스트레스 받을꺼예요."

너무 귀여웠다. 그런데 보니, 혼자 창가에 앉아있었다.
"혼자 왔어요?"
"아니요, 아빠랑 고속철 타고 토요일에 왔는데요,
아빠는 회사에서 더 일하고 저는 내일 학교가야해서 지금 가요."
"아~, 그럼 아빠랑 저거 잡은거예요?"
"아니요, 이모 아빠랑요."
"이모 아빠? 이모부?"
"네." :)
"저는 초등학교 1학년이예요."

이렇게 시작해서 1시간동안 놀았다.
그렇게 작은 게랑 새우는 부산 어디에서 잡았는지.... -.-

어찌나 착하고 귀엽고 똑똑한지. 졸려 죽겠는 와중에 계속 같이 놀았다.

나중에, '건빵 먹어도 되요?' 라고 묻더니, 건빵을 가방에서 꺼낸다.
하나 꺼내서 내 입 앞에 가져다 댄다.
내가 고맙다고 먹으니, 좋아하면서 많이 먹으란다.

그 때, 스튜디어스들이 음료를 서빙한다.
"콜라요." 라고 하더니, 건빵 하나를 스튜어드에게 건낸다.
그리곤 나를 쿡쿡 찌르더니,
내 옆에 앉아있는 아저씨에게도 먹으라고 권해란다.
내가 웃으며 아저씨에게 말하니,
현우는 건빵을 한웅큼 쥐어서 아저씨에게 건냈다.
그리곤 또 한 웅큼 쥐어서 다른 스튜디어스 언니한테 전해달란다.

건빵 나눠주는 소년. -ㅇ-

내가 안먹고 있으면 계속 하나씩 꺼내서 내 입에 준다.
"많이 먹어도 되요."

나는 감귤주스를 마셨는데,
"누나는 뭐 마셔요?"
감귤주스라니, 자기도 먹고 싶었나보다.
그걸 보곤 스튜디어스가 감귤주스도 한잔 더 주었다.

나중에 나를 자기 쪽으로 오라고 손짓하더니,
귀에다 대고, 아주 조심스럽게,
"저 배불러서 이거 다 못먹겠어요."
남기는게 미안했나보다. 이뻐라.

그러고 음료 잔을 치우고....
또 나를 자기 쪽으로 오라 하더니,
귀에다 대고, 또 역시 아주 조심스럽게,
"누나 결혼했어요?" 란다.
내가 낀 반지를 보고. ㅋㅋㅋㅋ

"아니야. 그냥 이뻐서 낀거야. 현우도 껴볼래?"
하고 끼워줬더니 이쁘다고 이리저리 껴보다가 또 역시 조심스럽게 돌려준다.

나중에는 실뜨게 할 줄 아냐고 물어보더니,
같이 하자고 분홍 털실을 가방에서 꺼냈다.
한 10분 하다보니, 김포에 도착.

"아. 이제 작별해야되네요." 하면서 아쉬운 표정을 하더니,
내 손을 고사리 같은 두 손으로 잡는다.
그러더니 내 다른 한 손을 가져다 다시 자기 손 위에 놓는다.
"누나 어디 살아요?"
"대림."

현우는 올림픽 아파트에 산단다. 세륜 초등학교? 뭐였드라...
'학교 어디냐'는 질문에 손으로 약도까지 그리며 아주 상세히 설명해줬는데. -.-

현우는 스튜디어스가 안내해줄 때 까지 기다려야 된단다.
같이 기다려줬다.

내가 폰카로 현우를 찍을려고 하니,
웃으면서 브이-한다.
그러곤, "누나. 같이 찍어요."

너무 착하고 어른스럽고 순진하고 똑똑한 초등학생이었다.
사랑스런 초등학생.
요즘에도 이런 애들이 있구나. 놀랬다.

언젠가 꼭 다시 만나고 싶은 꼬마다.
Posted by 스니
과제설명
top은 프로세스의 CPU사용량을 보여주는 유틸리티 이다. 일반적으로 배포본에 같이 포함되지만 unix top project를 통해 다양한 환경에서 이식될 수 있도록 소스가 제공된다. 배포되는 top 소스는 다양한 환경을 자동으로 인식하고 각기 적절하게 컴파일할 수 있도록 해주기 위해 configure 라는 쉘스크립트 파일을 제공하고 있다. 따라서 top을 설치하기 위해서는 configure라는 파일을 실행시켜준 다음 make 명령으로 컴파일을 하도록 되어 있다. 보다 자세히 말하면 configure를 실행시키면 해당 시스템을 여러가지 테스트를 통해 자동으로 인식하고, 각기 적절하게 컴파일할 수 있는 Makefile을 작성한다.
이후 사용자는 make 명령을 내려주면 해당 시스템에 맞게끔 컴파일이 되게 된다. 이번 과제는 여기서 사용되는 쉘스크립트로 작성되 있는 configure 파일의 코드를 분석하고, 이 파일이 실행된 후 작성되는 Makefile의 코드를 분석함으로써 쉘스크립트와 Makefile에 대한 이해를 증진시키고, 나아가 실제 프로그램 작성시 쉘스크립트와 Makefile작성에 익숙하게끔 하려는 것이다.

쉘 스크립트에 익숙해 진후 쉡 스크립트를 이용하여 실제 어플리케이션을 작성하도록 한다. 작성할 어플리케이션은 system admin을 위한 사용자 계정 작성 프로그램이다. 리눅스에는 adduser라는 shell기반의 사용자 등록 프로그램이 있지만 많은 옵션때문에 사용하기 어렵다. gui기반의 사용자 관리툴도 존재 하지만 x-windows가 없는 상황에서 빠르고 편리하게 사용자를 등록 할 수 있는 사용자 계정 작성 프로그램을 만들어 보도록 하겠다. top의 configure 파일을 참고하여 인터렉티브한 사용자 계정 작성 프로그램을 만들도록 한다.


Top 소스 설치 과정
  • 사용자를 root로 하고,

  • top 3.5 소스를 다운받는다.

  • top 3.5 는 (http://www.unixtop.org)에서
    다운받을 수 있다.

  • 원하는 디렉토리로 top-3.5.tar.gz을 복사한 후
      tar
    xvfz top-3.5.tar
    .gz

    로 명령하여 top 소스를 푼다.

  • 이렇게 하면 원하는 디렉토리에 top-3.5라는 디렉토리가 생기고 그 안에 소스 압축이
    풀린다.

  • 그러면 top-3.5 디렉토리로 가서
      ./Configure
    라고 명령한다.(반드시 리눅스에서 실행시킨다.)

  • 물어보는 질문에 개인의 시스템에 맞추어 적절히 대답한다.

  • 실행이 종료된 후 해당 디렉토리에 Makefile이 작성되었는지 확인한다.

  • 아래와 같이 명령하여
       make
     install

    정상적인 설치가 되는지 확인해 본다.



Makefile 및 Configure 코드 분석자료 작성방법

  • Makefile 및 Configure코드분석은 보고서에 들어갈 내용만 작성한다.

  • 보고서에 "Makefile 코드분석" 이라는 항목에 아래의 5개의 컴파일 명령에 대해 번호를 붙여 작성토록 한다.
    • make를 사용하여 컴파일할 경우 다양한 옵션을 줄 수 있다. 본 과제에서는 이 중 다음의 5개 컴파일 명령에 대해
      각 명령의 의미와 이 명령에 의해 컴파일되는 과정을 Makefile의 수행코드를 순서대로 나열하고 상세히 설명한다.

      (변수선언은 순서에 포함시키지 않아도 된다. 단, 옵션에 변수가
      포함되 있을시 어디에서 어떤 식으로 변수값이 지정되는지 포함시키도록 한다.)
      1. make install
      2. make prefix=/usr/local/share install
      3. make uninstall
      4. make realclean
      5. make test

    • 실행되는 코드 나열시 설명과 함께 몇 번째 줄인지 명시한다.

      • 예를들어 if부터 fi까지, case부터 esac까지등 구문의 의미를 중심으로 주석을 위의 예시
        단, if부터 fi까지의 내부에 또 다시 if, case등의 구문이 있을 경우
        각각의 의미에 대해서도 기술한다.
        또한, 명령어가 독립적으로 사용되었을 경우나 중요한 명령이라 생각되는 부분에
        대해서는 이에 대한 의미를 기술한다.
        아래와 같이 리다이렉션되어 다른 파일에 저장되는 부분의 코드에 대해서는
        주석을 달지 않아도 된다.
        첨부문서에서 코드의 주석부분은 알아보기 쉽게 색을 달리하거나,
        폰트와 굵기등을 달리하여 출력한다.
        한 라인, 라인마다 주석을 달 경우 추가점수가 부여된다.


  • 보고서에 "Configure 코드분석"이라는 항목에는 다음 2가지 내용을 기술한다.
    • Interactive 메뉴의 Control flow


    • 전체코드와 주석 (Makefile 예시 참조)



사용자 계정 관리 프로그램 작성

1. 배경지식
passwd와 관련된 정보는
/etc/passwd
/etc/group
등에 저장되어 있다.
/etc/passwd에는 기본적인 사용자 계정 관련 정보가 들어 있고,
/etc/group에는 그룹 정보가 들어 있다.

useradd, groupadd 유틸리티를 사용하면 사용자 및 group를 등록 할 수 있다.

2. 설명
사용자 계정 정보는 "사용자명(ID)", "사용자ID(UID)", "사용자 그룹(GID)", "정보(Comment)",
"로그인 쉘(shell)", "홈 디렉토리(home directory)" 로 구성되어 있다.
사용자 등록시 useradd(혹은 adduser)를 사용하게 되면 이러한 정보들을 옵션을 이용하여
등록하도록 되어 있다. shell프로그래밍을 이용하여 간편하게 사용자 정보를 작성하고 관리
할 수 있는 프로그램을 작성한다.

이때 인터렉티브한 입력은 shell을 통해서 받을 수 있도록 하고, 실제 등록은 shell 스크립트에서
useradd와 groupadd를 직접 호출하여 등록 할 수 있도록 한다.


3. 상세 프로그램
프로그램은 각각 메뉴와 sub메뉴로 구성되어 있다. 초기 프로그램을 실행하면 다음과 같은
메뉴가 나온다.

각각의 메뉴는 다음과 같은 역할을 한다.

1. Show All Group : 모든 유저 정보를 보여준다.
2. Create New Group : 새로운 그룹을 생성한다.
3. Show All User : 모든 유저 정보를 보여준다.
4. Create New User : 새로운 유저를 생성한다.

1을 선택할 경우 다음과 같이 그룹 정보를 보여준다


2를 선택할 경우 다음과 같은 순서로 그룹을 등록 할 수 있도록 한다.
Group ID : 사용자가 직접 입력도 가능하고, 입력없이 엔터치면 자동적으로 할당하여 준다.
Group Name : 사용자가 직접 입력하도록 한다. 중복을 검사하여 중복 입력일 경우 에러 메시지 출력후 다시 입력 받는다.


3을 선택할 경우 다음과 같이 그룹 정보를 보여준다.

4를 선택할 경우 다음과 같은 순서로 유저를 등록 할 수 있도록 한다.

User ID : 사용자명, 사용자가 직접 입력한다. 중복을 검사하여 중복된 입력일 경우 에러 메시지 출력 후 다시 입력 받는다.
UID : UID, 사용자가 직접 입력 가능하며, 엔터치면 자동적으로 할당한다.
Select Group : 현재 입력 가능한 그룹명을 모두 출력하여 선택 할 수 있도록 한다.
Comment : 학번과 이름을 입력 받을 수 있도록 한다. (분리하여 입력 가능)
Shell : /bin/csh, /bin/tcsh, /bin/sh 중에 하나 선택 가능하도록 한다.
Home directory : 엔터칠 경우 자동적으로 만들어 지도록 한다.

보다 구체적인 내용은 레드햇 배포판의 "Red Hat 사용자 관리" 유틸리티 참조.

4. 힌트

Configure에 쓰인 인터렉티브 프로그래밍 방법 참조
useradd, groupadd 명령어 참조
"Red Hat 사용자 관리" 유틸리티등 계정관리 유틸리티 참조


과제 제출 형식
  1. 보고서 제출 형식

    • Makefile 및 Configure code 분석
      • 시스템 환경

      • 기본지식 (Makefile및 Configure에 쓰인 주요 명령어 및 문법사항 기술)

      • Makefile code분석

      • Configure화일 분석(인터렉티브 관점)

    • 계정관리 시스템 구현
      • 테스트 환경

      • 기본 지식

      • 프로그램에 쓰인 주요 알고리즘

      • 프로그램에 쓰인 주요 함수

      • 프로그램 실행 방법 및 실행 결과

  2. 프로그램 제출 형식

    • 실행 파일명을 자신의 학번으로 하여 제출한다.
      ex) 학번이 2020100인 학생 -> 2020100.sh





참고 사이트 및 자료


  • Unix Shells by Example (Paperback) 저자:Ellie Quigley,
    출판사:Prentice - Hall

  • useradd, groupadd man page
Posted by 스니
스니 이야기/Have Fun!2004. 9. 16. 10:34

절/대/공/감/




사실 쪼꼼... 나와 견해를 달리하는 게 있다면.. -.-
나 같으면 강동원 보러 뛰어갔을 것이라는... 것이지..... ( '')
Posted by 스니
스니 이야기/일기2004. 9. 16. 10:31
아니 이거. KTX 할인 행사한다더니
왜 내 눈에는 안보이는거야!

게다가 4만 5천원이라니!!!
2만원만 더 주면 비행기를 타는 군. ( '')
내가 트렁크를 힘들게 지하철을 타고 학교까지 들고 간다고 생각하면
택시비 만원 빠지고...
그러면 만원만 더 주면 비행기를 탄다는 이야긴데... -.-

이렇게 비행기로 다시 마음을 돌리고,
처음으로 보너스 항공권을 예약했다.
(요즘 재정 상태가 안좋아서. -.-)
일요일은 예약 다차고, 오전 10시 40분이 젤 늦단다..

일요일은 아빠한테 용돈 받아서 늦게 걍 타고 올까.
KTX를 탈까...

다음 주는 또 추석이라 내려가기 때문에
지금 내려가는게.. 참... 그렇지만. -.-

나는 부산 간다.
내가 사랑하는 부산.
오늘 오전 C++ 수업이 휴강이라
집도 다 치웠다.
방금 쓰레기도 다 버리고.

므하하하하하하하하하하하하하
Posted by 스니
스니 이야기/일기2004. 9. 14. 22:35

사진에서 카리스마가 마구 나오고 있다.



스니의 이상형 차교수님.
처음엔 강력한 카리스마에 반했지만,
교수님 러브 스토리에 완전 홀딱 반해버렸다. T.T

철은 언제 들 것인가. (너무 무겁다. -.-;;;;; =333 )
중고등학교 때도, 학교 남선생님을 좋아하진 않았지만,
지금은 차호정 교수님에, 조성배 교수님을 너무 좋아하고,
강동원에 환장한다. -ㅇ-


어제 교수님께서 꿈에 나오신 것을 기념하여...
글을 남긴다. 음화화화화화화화

(음료수 사다 드리는 꿈을 꿨다.
오늘 강의 시작 전에 사들고 들어갔어야 했는데!!!
오늘따라 유난히 목이 타서 음..음... 하셨다. )

시스템 프로그래밍은 참으로 재밌고 유익한 과목이다.
내가 졸업하기 전에 청강도 다하고... 흐흐흐



(언젠가는 꼭 교수님과 사진을 같이 찍고야 말 것이다. 므하하하하)


역시, 내 이상형 조성배 교수님.
마르고 하얗고 눈이 크시다.


오늘 엘리베이터에서 조성배 교수님과 대화도 했다.
오늘은 뭔가 있는 날이다. 뭔가 있는 날이야.

저번 주에는 교수님 한 번 뵐려고 오토마타 시작 시간에
강의실을 배회하고도 인사도 못드렸는데. 크흐...

즐겁게. 나는 오늘도 공부 하나도 안한 채.
교수님 꿈을 꾸러 자러 간다. =333


교수님들이 이 글을 보신다거나 하는 일은 없겠지? 으흐흐...
Posted by 스니
스니 이야기/일기2004. 9. 12. 23:17
요즘 피부 좋아졌단 소리를 많이 듣는다.

생식 먹고 음식 많이 가리고,
저녁 9시나 10시에 잤다.

얼마나 갈까.
졸업은 할 수 있겠지.

대학원 가서도 저런 생활이 가능할까?
직장은? -.-

암울한 미래다.
Posted by 스니
2001년 DS 시간에 배웠지만, 까먹었던... ( 한 두개냐. -.- )

Theorem
1. An idea that has been demonstrated as true or is assumed to be so demonstrable.
2. Mathematics A proposition that has been or is to be proved on the basis of explicit assumptions.
: 증명 필요. 독립적.

Lemma
1. A subsidiary proposition assumed to be valid and used to demonstrate a principal proposition.
2. A theme, argument, or subject indicated in a title.
3. A word or phrase treated in a glossary or similar listing.
: theorem construct 하는데 필요하다. 보조 정리.

Corollory
1. A proposition that follows with little or no proof required from one already proven.
2. A deduction or an inference.
3. A natural consequence or effect; a result.
: 증명 필요 없음. theorem이랑 lemma에서 증명되어 너무 직관적인 것.
Posted by 스니