Download Day 2008

'컴퓨터'에 해당되는 글 59건

  1. 2008/10/12 Linux에 나오는 에러는 다 보는 것 같구나.
  2. 2008/08/13 제 5회 다음 DevDay 신청을 했다.
  3. 2008/08/13 정보검색에 대해서 (1)
  4. 2008/08/08 metaWeblog를 이용하여 Tistory에 글 쓰기
  5. 2008/08/08 Ruby를 이용하여 Tistory에 글쓰기
  6. 2008/08/01 노트북이 고장났어요.
  7. 2008/07/28 서울한강체, 서울남산체를 리눅스에 설치.
  8. 2008/07/22 Mac OS Theme를 Ubuntu에 설정하였음. (2)
  9. 2008/07/21 MVC Pattern (1)
  10. 2008/07/12 노트북에 Gentoo를 깔아볼까?

Linux에 나오는 에러는 다 보는 것 같구나.

예전, 2006년 5월경. 2006년 1월초부터 모 조직의 Linux서버를 갑자기 맡고나서 안정적으로 운영을 한답시고 공부를 하다가, 갑자기 서버에 이상이 생길듯한 징후들이 보였습니다.

어떤 징후였나면파일이 갑작스럽게 접근이 안되는 것도 있었고, 시스템이 갑자기 느려지고 등의 문제가 있었습니다.
그 당시에는 혼자만 쓰던 Linux가 아니라 여러 사람들이 쓰는 Linux서버를 처음 맡게 되어서 어떻게 해결할지도 걱정되었지요. 그때에 하드디스크 부족해서 N모사 다니시는 90학번 선배님이신 클랴님 친구분께 하드디스크를 얻어서 공간 확보하느라 정신 없을 시기였습니다.

그러다 2006년 8월달. 모 조직의 Linux서버가 있는 학교 컴퓨터실에 공사를 한다고 정전이 되어버렸습니다.

정전이 난 후에 다시 컴퓨터를 켜보니 뭥미? 컴퓨터 부팅이 안되는 것이였습니다. 
아래와 같은 메시지가 뜨고나서 좌절을 했지요.

*** An error occurred during the file system check.
*** Dropping your to a shell : the system whill reboot
*** when you leave the shell.
Give root passwd for maintenance
(or type Control-D for normal startup) :
이걸 알아보니, 갑작스런 정전 또는 비정상적인 시스템 종료등으로 인해 마운트되어 있던 파일 시스템이 정상적으로 언마운트 되지 않아 파일 시스템에 이상이 생기게 되면 부팅시 자동으로 파일 시스템을 복구하는 유틸리티에 의해서 복구가 되는데 파일시스템 손상정도가 심해서 자동으로 복구가 되지 않아서 이런 메시지가 나오는 것임.
파일 접근이 안되고, 파일이 안읽혀지는 등의 문제였죠.

그래서 부랴부랴 하드디스크 복구 시도를 했다만...
exec of init(/sbin/init) failed!!! : No such file or directory
Kernel panic - not syncing : Attemped to kill init!
이것때문에 하드디스크 새로 구해서 다시 설치하는 삽질을 했습니다.

이후로도 하드디스크문제때문에 2006년 내내 골치를 썩혔죠.
모 조직 Linux서버의 문제점은 하드디스크의 내구연한을 충분히 넘겼는데도 그대로 사용하여, 후임인 저에게 골탕먹이는 짓을 했다죠. 하드디스크가 3개 있었는데 다들 4년을 넘게 쓰던 것이라서 자료의 안전성이 걱정이 되었죠.

2007년도에 제 돈 쓰고 자료들을 옮겨서 자료 손실은 없는 것이 다행.

2006~2007년도에 Linux에서 하드디스크 문제로 나오는 Error들을 너무나 많이 보아서 눈 감고도 문제를 풀 정도가 되었습니다.

2007년 10월달이였나? 이때에는 Linux서버가 해킹되는 문제가 생겼습니다.
KT에서 전화가 와서 
그래서 여기서는 문제를 발견 못했다 irc데몬이 돌아간다는 것에 경악하여 서버 다시 설치 -_-;; 여기서는 서버 에러를 못알아먹을 수 있구나와 해킹이 쉽게 되는 것을 알게 되었죠.

2008년 7월 방학때.
연구실에 들어가서 2008년 2월부터 Linux서버 두대를 운영하게 되었습니다. 하나는 연구실 연구용 서버, 또 다른 하나는 교수님이 연구및강의용으로 사용하는 서버였죠. 둘다 Fedora Core 7 (x86_64)를 쓰게 되었습니다.
어느날 Linux(Fedora Core 8 x86_64)에 Sakai Project를 돌리면서 yum으로 update를 하였습니다. 
(※ 참고로 Fedora Core 7에서 8로는 5월달에 업그레이드 하였습니다.

제가 쓰고 있는 연구용 컴퓨터의 램이 1Gb라서  Sakai Project와 동시에 yum으로 update를 하다가 메모리를 다 쓰고 스왑까지 다써서 접속 자체도 안되고등의 메모리 부족 에러가 생겼다.
Sakai Project는 메인 메모리를 1G가까이 사용되는 대규모 Project이라서 tomcat를 쓰는데에 메모리 할당을 엄청 많이 해버렸지.
yum으로 업그레이드 하는데에도 실행을 해야하니 메모리를 많이 사용해야하니 컴퓨터에 메모리 부족에러 뜨면서 제대로 작동이 되지 않는 문제가 생겼 ㅠㅠ
Cannot allocate memory
Out of Memory: Kill process 
위 문제때문에 Fedora Core를 버리고 CentOS로 전향하게 되었고, 교수님과 쇼부를 쳐서 램 1G더 마련해서 위의 문제가 없게 만들었습니다.

그리고 그래픽카드 문제도 생겨서 용산서 수리까지 하였음. -_-;; 그래픽 카드는 Kernel Error는 안나왔지만 모니터 출력이 안되어서 -_-;;

(위의 문제때문에 한달내내 연구를 진행하지 못하고 서버문제만 매달리다 짤릴듯 하였다 ㄷㄷㄷ)

Linux에서 하드디스크 에러만 줄창 보다 프로세스 너무 많이 굴리면 메모리 부족하여 실행못하는 에러까지 다 봤으니 서버를 빡세게 굴리는 것은 확실한 것이다 ㅎㅎ

그리고 2008년 10월 10일
지도교수님 서버에 접속이 갑자기 안되자, 뭔가 원인이 뭔지 모르다가 아래의 메시지가 나와 당황 ;ㅁ;
Give root passwd for maintenance
(or type Control-D for normal startup) :
다른 문제는 없었고 갑자기 잘 돌아가다 멈춰버리는 것이였다.

하드디스크쪽에는 전혀 문제가 없었고(산지 얼마되지 않는 컴퓨터에 fsck로 검사해보아도 아무런 문제 없었음) 잘 돌아가다 갑자기 멈추는 에러가 생겨서 재부팅을 시도를 해보았더니......
계속 이런 메시지가 뜬다.
Kernel panic not syncing: Aiee, killing interrupt handler!
아님
RIP blah~ blah~
REP blah~ blah~
Kernel panic - not syncing: Attempted to kill init!
그러다 갑자기 부팅이 안된다. 부팅이 안되고 삐익 소리만 계속 난다. 이건 메인보드쪽 문제임을 알게 되었음.
부팅이 되었다 그러나 아래의 메세지가 나온다. ㅠㅠ
Call Trace
_atomic_dec_and_lock+0x39/0x58
dput +0x37/0xfb
path_release+0xc/0x27
vfs_stat_fd+0x3c/0x4a
autoremove_wafe_function+0x0/0x2e
kmsg_read+0x3a/0x44
sys_newstat+0x19/0x31
tracesys+0xd5/0xda
메인보드같은 하드웨어쪽의 문제를 알고 나서 용산가야겠다는 생각이 들면서..... 이건 내 책임이 아니라 컴퓨터가 부끄럼을 타서를 주장해야겠다.
(메인보드같은 하드웨어 문제이니 만큼 수리비는 교수님이 주시겠지?)

2006년도부터 조직 서버를 관리 했었고 2008년도에 연구실에 들어가면서 Linux서버에서 나오는 에러는 다 보는 것 같은 생각을 해보았다.
(위의 내용 말고도 더 많은 에러 메세지를 보았지요. 그러나 Kernel에서 에러나는 것은 아니니 기록은 제외)

ps. 이 글은 지도교수님 서버가 메인보드 에러가 나와 부팅 안되는 것을 한탄을 하며 쓴 글입니다.
저작자 표시 비영리 동일 조건 변경 허락
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

블로그코리아에 블UP하기
Trackback 1 Comment 0

Trackback : http://blog.studioego.info/trackback/401

  1. Subject StudioEgo의 생각

    Tracked from sungdh86's me2DAY 2008/10/12 08:55 delete

    Linux에 나오는 에러는 다 보는 것 같구나. ㅠㅠ 하드웨어 문제라는것을 알았다면 집에서 잤을건데 괜히 밤샜다. OTL

제 5회 다음 DevDay 신청을 했다.

사용자 삽입 이미지

제 5회 Daum DevDay


이번에 제주도에 열리는 제 5회 다음 DevDay신청을 하였다.

Jong10님께서 미투데이"Daum DevDay 8월 29일(금)~30일(토) -> 저 좀 끼워주실 팀 구합니다!! (초 진지함)"을 올려서 바로 끌렸습니다. 멋모르고 같이 하자고 일을 저질렀는데 이제 실력발휘를 해야할듯 ㄷㄷㄷ

  • 행사명: 제5회 Daum DevDay
  • 일시: 2008년 8월 29일(금)~30일(토)
  • 장소: 제주 Daum GMC

이번 행사는 1박 2일간의 행사로 기획했으며 첫째날은 DevDay를 진행하고 둘째날 제주 투어 프로그램으로 구성했습니다. 지난 행사들과 마찬가지로 직접 프로젝트를 제안하고 다양한 언어를 통해 실제로 현장에서 구현해보는 라이브 코딩 행사입니다. 단, 이번에는 야외에서 바베큐 파티와 함께 개발을 하는 차이가 있지요. ^^ 아울러 이번 행사는 2~4인으로 구성된 팀 단위로만 참가 신청을 받으며 대표 1인만 신청하시면 됩니다. 또한 전체 참가 인원의 20% 이상은 여성으로 선발하는 여성 쿼터제를 적용하고자 하오니 여성 개발자 여러분들의 많은 참여 바랍니다.

참가 신청은 8월 15일(금)까지 가능하며 이 후 추첨을 통해 40명을 선정, 8월 18일(월) 이 곳에 공지하도록 하겠습니다. 많은 신청 바랍니다.

행사 페이지: http://dna.daum.net/devday/

홈페이지에 위와 같이 공지가 되어 있더군요. 저는 제주도가 끌려서 그리고 고수님들과 프로그래밍을 하고 싶어서 참여를 하게 되었습니다.
이 행사에 신청해서 당첨되면 단돈 3만원에 다음에서 밥주고 재워주고 여행까지 시켜준다는 아름다는 혜택을 준다고 하더군요.
Ruby on Rails라는 것으로 매쉬업을 하기로 하고 남들을 어떻게 이길지에 대해서도 의논을 많이 했습니다.

제발 당첨되면 방학 끝무렵에 제주도에 배우면서 거의 공짜로 놀러갈 수 있을텐데, 제 능력이 될지가 의문시;;
Ruby on Rails로 거길 갈 수 있는 기회가 있었으면 좋겠어요 ;ㅁ;
사용자 삽입 이미지

프로그램 진행 순서입니다.

프로그램 진행순서를 보아도 하루는 코딩 하루는 노는 것으로 일정이 잡혀있는데 그 것을 단돈 3만원에 한다는 것이 정말 매력적이다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

블로그코리아에 블UP하기
Trackback 0 Comment 0

Trackback : http://blog.studioego.info/trackback/342

정보검색에 대해서

정보검색(Information Retrieval)에 흥미를 느낀 것은 응용데이터베이스 시간때였다.

응용데이터베이스 수업시간에 김경창 교수님께서 데이터베이스의 응용분야인 정보검색(Information Retrieval)에 대해 설명하시면서 Google의 예를 설명하셨습니다. Google의 성공 이면에는 정보검색(Information Retrieval)에서 나온 이론을 토대로 한 것이라고 한 것에 흥미가 느껴졌습니다.

Page Rank라는 이론이 정보검색이론에서 출발했다는 사실에 흥미가 느꼈죠. 교재에 있는 내용중에서 매우 관심을 끄는 문구가 있었으니

If the pages pointing to this page are good, then this is also a good page.
(만약 홈페이지가 가리키는 페이지가 좋으면 그 또한 좋은 페이지이다. 의역하면 좋은 사이트가 가리키는 사이트는 좋다.)

구글이 인터넷 검색엔진을 휩쓴 것이 바로 정보 검색이론을 바탕으로 한것입니다.

Google같은 검색엔진이 돌아가는 것을 이론적으로 볼려면 정보 검색을 공부하면 나옵니다.


데이터베이스 시스템(3/E) 상세보기
RAGHU RAMAKRISHANA 외 지음 | 한국맥그로힐 펴냄



Modern Information Retrieval(현대 정보 검색)



이번 마지막 4학년 2학기때에는 정보검색을 들을 예정인데, Google 검색엔진이나 Naver, Daum검색엔진의 작동원리나 웹 크롤러인 Googlebot, Naver robot, Daumoa robot이 작동되는 원리같은것을 배울 것 같습니다.

4학년 2학기 컴퓨터공학과 전공인 "정보검색"

마지막 학기에도 공부하는 열성을 가지면서, 12월달 이후로 내년 2월 전까지 Lucene이라는 오픈소스 프로젝트를 가지고 정보검색엔진을 만들어 볼까 생각도 합니다.^^


저작자 표시 비영리 동일 조건 변경 허락
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

블로그코리아에 블UP하기
Trackback 0 Comment 1

Trackback : http://blog.studioego.info/trackback/269

  1. BlogIcon jong10 2008/08/13 16:53 address edit & del reply

    앗, 저도 이 책(최신정보검색론) 있어요. 머릿말만 읽은.. -_-; 펼쳐보면, 교재처럼 생겨서.. 안 읽혀져요. ㅋ (루씬 인 액션은, 저는 1판 봤는데, 많은 부분이 바뀌는 2/E가 곧 나온다는 얘길 어디서 읽은듯도...)

metaWeblog를 이용하여 Tistory에 글 쓰기

이번 제 5회 다음 DevDay에 RoR(ruby on Rails)를 이용하는 것으로 참여하려고 준비를 하고 있습니다.

오픈 API를 가지고 프로그래밍을 하려고 하니 Ruby에 대해서 공부를 하게 되면서 metaWeblog에 대해 공부를 하게 되었습니다.

metaWeblog란?
blogger의 단점을 보완하기 위해 Dave Winer 에 의해 2002년도에 만들어진 블로그를 다루기 위한 interface API입니다.
The MetaWeblog API is an application programming interface created by software developer Dave Winer that enables weblog entries to be written, edited, and deleted using web services.
- Wikipedia : metaWeblog

XML-RPC API들
  1. metaWeblog.newPost (blogid, username, password, struct, publish)  
  2. metaWeblog.editPost (postid, username, password, struct, publish)  
  3. metaWeblog.getPost (postid, username, password)  
  4. metaWeblog.newMediaObject (blogid, username, password, struct)  
  5. metaWeblog.getCategories (blogid, username, password)  
  6. metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) 
metaWeblog API를 가지고 블로그을 쓸수 있고 볼수 있고 수정을 할수 있다고 하는 SPEC입니다.
위의 API를 적용하여 프로그램을 만든 것이 Windows Live writer등이 있습니다.

위의 API를 가지고 Ruby로 tistory에 글을 올려 보게 하였습니다.
여기서는 BlogAPI가 필요합니다. BlogAPI에 대한 것은 [기타설정] BlogAPI 를 활용해봅시다를 참조하시면 됩니다.
사용자 삽입 이미지

관리자 메뉴에서 BlogAPI사용여부를 통해서 외부에서도 글을 쓸수있다.



티스토리 블로그 관리자 페이지에서 'BlogAPI 세팅주소' 와 ' BlogAPI Blog ID'를 얻을 수 있다.
티스토리에서 BlogAPI를 사용할 떄에 인자값으로 주는 username, password, blogid는 아래와 같이 사용하면 됩니다.
  1. username은 티스토리 관리자로 로그인할 때 사용하는 이메일 주소
  2. password는 티스토리 관리자로 로그인할 때 사용하는 비밀번호
  3. blogid는 ' BlogAPI Blog ID'
metaWeblog.newPost (blogid, username, password, struct, publish) 메소드를 이용해서 티스토리에 글을 올릴 수 있습니다.
newPost()에서 인자값으로 주는 것에 대한 설명입니다.
  1. blogid는 'BlogAPI Blog ID'
  2. username은 티스토리 관리자로 로그인할 때 사용하는 이메일 주소
  3. password는 티스토리 관리자로 로그인할 때 사용하는 비밀번호
  4. struct는 새로운 포스트를 작성할때의 구조체
  5. publish는 글을 작성할때 공개인지, 비공개인지를 확인해주는 인자값 (true, false)
metaWeblog.newPost()를 이용하여 ruby로 글을 올리는 테스트를 해보았습니다.

아래는 ruby code입니다.
require "xmlrpc/client"
api_address = '[자신의 BlogAPI 세팅 주소]'

server = XMLRPC::Client.new2(api_address)
post = {
"title" => "Ruby를 이용하여 Tistory에 글쓰기",
"categories"=> ["컴퓨터"],
"description" => "Ruby를 이용하여 Tistory에 글 쓰고 있습니다.<br/>
MetaWeblog라는 API를 가지고 Tistory에 글을 쓰고 올리니깐 재미가 있군요<br/>
이번에 제 5회 다음 DevDay에 신청을 한다고 Ruby를 가지고 Test를 하고 있습니다.<br/>
여성쿼터제가 있다는데 여성분 모아서 갈 수 있을 것 같기도 하고 아이디어가 시급 ㅠㅠ<br/>
Tistory를 활용한 API등을 생각을 하다 Flickr API를 사용할까 Daum API를 사용할까 고민중 @.@
<br/>2008.8.8<br/>
- Written by StudioEgo (성대현)",
}
server.call('metaWeblog.newPost','[BlogAPI ID]', '티스토리 로그인 메일주소','티스토리 로그인 비밀번호', post, true)

여기서 struct로 이용하는 post는 글을 올릴때 사용합니다.
title는 포스트에 넣을 제목
categories는 포스트에 넣을 카테고리, 본인이 만든 카테고리의 이름을 넣으면 됨. 없는 카테고리 쓰면 분류없음으로 나옵니다.
description 은 포스트에 넣을 본문입니다.

티스토리서 제공하는 metaWeblog API를 이용하여 Ruby 코드를 넣어보니 글 올라가는 것에 신기했지요.
그러나 비밀번호를 직접 넣어야 하는 것에 약간은 보안의 위험성이 있는 것 같습니다.
누가 패킷스니핑하여 티스토리 로그인 메일주소와 티스토리 로그인 비밀번호를 알아 내서 주인 몰래 글을 지우고등의 일이 일어날 가능성이 있지요.
이글루스에서는 비밀번호를 직접 넣지 않고 보안에 신경을 쓴 듯 API Key를 제공하여 암호 대신 사용하더군요.

Tistory관계자분게서는 암호를 직접 넣는 것 대신에 API Key를 사용하여 넣는 것이 보안에 좋을 듯한 생각을 해보았습니다.

metaWeblog로 사용하는 Windows Live Writer도 암호를 넣는 문제때문에 갑자기 쓰기가 껄끄러워지더군요.


Referrence
MetaWeblog API specification

ps. Ruby를 이용하여 블로그도 만들어보고 별에 별 기능들을 사용해보니, ruby에 대해서 전반적으로 모르고도 가독성이 좋아서 금방 배울 수 있어서 좋더군요. 제 5회 다음 DevDay에 붙었으면 하는 바람이 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

블로그코리아에 블UP하기
Trackback 0 Comment 0

Trackback : http://blog.studioego.info/trackback/335

Ruby를 이용하여 Tistory에 글쓰기

Ruby를 이용하여 Tistory에 글 쓰고 있습니다.
MetaWeblog라는 API를 가지고 Tistory에 글을 쓰고 올리니깐 재미가 있군요
이번에 제 5회 다음 DevDay에 신청을 한다고 Ruby를 가지고 Test를 하고 있습니다.
여성쿼터제가 있다는데 여성분 모아서 갈 수 있을 것 같기도 하고 아이디어가 시급 ㅠㅠ
Tistory를 활용한 API등을 생각을 하다 Flickr API를 사용할까 Daum API를 사용할까 고민중 @.@
2008.8.8
- Written by StudioEgo (성대현)
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0

Trackback : http://blog.studioego.info/trackback/334

노트북이 고장났어요.

이번에 근 2년 6개월 이상 사용하던 Fujitsu C1320이 고장나서 용산에 있는 용산고객지원센터에 갔습니다.

약 6월 중순쯔음에 소프트웨어공학 과제를 한다고 계속 끄지도 않고 노트북을 쓰다가 그만 갑자기 스피커에서 지지직거리는 소름이 나와서 뭔가 이상해졌다 싶었습니다만, 결국 여름방학을 넘기지 못하고 수리를 맡기게 되었습니다.

그 이후에는 사운드카드 아니 메인보드에 내장된 사운드칩이 인식이 되었다 안되었다는 문제도 생겼고 그리고는 부팅조차도 버겁더군요. 부팅 자체가 안될때가 있었습니다.

 7월 말에 갑자기 USB인식도 안되고 USB메모리도 망가지고, 사운드카드는 인식 자체도 안되는 상황까지 와버렸습니다.  

결국, 용산터미널전자상가 2층에 있는  후지쯔 용산 고객지원센터에서 노트북 수리를 맡길려다가 구입한지 2년 6개월이 되었길래 수리 견적를 뽑아 보고 새로 노트북을 구입할지 말지를 결정을 하려고 했습니다.

문제의 FUJITSU C1320. 제 노트북입니다.

제가 사운드 칩과 USB가 인식 불가능이라고 말을 하였더니 담당자분게서 "메인보드의 문제네요"라는 말씀을 하시면서 잠시 TEST를 하였습니다.

가격이 얼마 나올지 덜덜덜 하면서 가격을 물어보았더니 의외로 담당자 분의 말씀은 간단하게 "메인보드의 문제라서 무상수리를 해주겠습니다".

제가 알기로는 보증기간이 구매일로부터 1년간이라서