굴소스 프로젝트 문서

KulsWiki

Jump to: navigation, 찾기

목차

코딩 표준

  • 탭은 2칸 공백을 원칙으로 합니다.
  • 이름을 지을 때에는 언더바(_)를 사용합니다. CamelNotation은 쓰지 않습니다.
  • vi 사용자의 경우 다음 설정을 추가 또는 수정해 주세요.
set ts=2
set sw=2
set sts=2
set enc=utf-8


DB 설계

DB 스키마

CREATE TABLE IF NOT EXISTS `apps` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
CREATE TABLE IF NOT EXISTS `icons` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `app_id` INT(11) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `pos_x` INT(11) NOT NULL,
  `pos_y` INT(11) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `user_id` (`user_id`),
  KEY `app_id` (`app_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
CREATE TABLE `sessions` (
 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `user_id` INT NOT NULL ,
 `app_id` INT NOT NULL ,
 `pos_x` INT NOT NULL ,
 `pos_y` INT NOT NULL ,
 `width` INT NOT NULL ,
 `height` INT NOT NULL ,
 `data` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
 
CREATE TABLE IF NOT EXISTS `users` (
 `id` INT(11) NOT NULL AUTO_INCREMENT,
 `login` VARCHAR(255) NOT NULL,
 `password` VARCHAR(255) NOT NULL,
 `name` VARCHAR(255) NOT NULL,
 `email` VARCHAR(255) NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

Apps

IDint
namevarchar
iconname.png
titlevarchar

icons

id
app_id
user_id
title
pos_x
pos_y

바탕화면 관리

  • 처음 로그인하면 바탕화면 뜨고, DB 검색해서 아이콘 출력한다.
  • 아이콘 추가, 이동, 삭제, 타이틀 명 변경.
  • 아이콘 위치는 그리드로.

프로세스 관리

  • 인덱스가 가면 페이지 이동이 없어야 한다.(요구사항)
  • 어떤 게 떠 있는지 알려줄 수 있는 창이 필요하다.
  • id를 랜덤으로 부여한다.(여러개 열어도 각각 다른 id)
  • 같은 클래스로 id, id 목록 출력, id 목록 제거의 기능을 갖고 있다.
  • 프로세스 관리창을 따로 둘 것인가?
  • 최대화(문제 없음), 최소화(제목표시줄만 남는 in prototype)
  • 세션 세이브는 추후에? (가외 기능)
    • 사이트 주소는 유지될 수 있다.
    • 최종 작업 환경을 가능한 한 유지할 수 있게.
    • 각 창마다 유지할 모드를 두어서(체크박스 등을 통해), 관리하기.
    • 체크해서 나중에 즐겨찾기를 통해서 볼 수 있기.
    • 사용자 경험 차원에서는, 주소만 남는 것보다 창이 유지되는 게 더 나을 것이다.
    • 확인 시간은 30초보다 작으면 다른 애플리케이션에 부하가 남는다.

세션 DB 설계(Sessions)

  • id,appid,userid,pos_x,pos_y,width,height,data(URL,File명).
  • user들이 띄우고 있던 총 애플리케이션 개수.

파일 관리

보드에 포팅방법

nfs를 사용 - 공유기를 사용한다는 가정에서 설명

  • 1. host pc와 target board를 하나의 공유기에 연결
  • 2. host pc의 아이피를 확인(192.168.x.x)(ifconfig 이용)
  • 3. target board와 host pc를 서로 시리얼을 이용하여 연결
  • 4. host pc에 minicom을 설치(sudo apt-get install minicom)
  • 5. root 계정으로 접속후 minicom -s를 이용하여 minicom의 설정을 바꿔줌
  • 6. device를 ttyUSB0(노트북일경우)로 바꿈
  • 7. save를 한후 target board의 전원을 on함
  • 8. target board의 상황이 minicom에 확인됨
  • 9. minicom에 root로 로긴함.
  • 10. http://blog.naver.com/funkyy?Redirect=Log&logNo=110000083853(마운트하는 방법은 이부분 참조)
  • 11. minicom에서 실행파일이 실행되는지 체크
  • 12. end