<금일 스터디 진행사항>

1. GIT 개념 및 간단한 사용법 발표(정X원님)와 이클립스와 GIT 연동

2. 프로젝트 관리 토론

3. 각 파트별 프로젝트 리딩
  - 주제에 대한 개발 가능 성 검토 및 개발 범위 산정
  - 공통 모듈 산출


---------------------------------------------------------------------------------------

1. GIT 개념 및 간단한 사용법 발표

: Git을 SVN과 비교하여 장점을 위주로 설명함.
  > Git은 "로컬저장소"가 있음
  > 속도가 빠름
  > commit에 대한 부담이 없음
  > 원격 저장소와 연결되어있지 않아도 버전관리가 가능함
  > 원격 저장소가 폭파되어도 로컬 저장소로 복원이 가능함

: 스테이지 영역이란?
  > 변경사항이 저장소에 commit하기 전에 거치는 중간단계(commit되기 전의 파일의 내용까지 기억해둠)
  > staging area가 필요할 때?
   : 커밋하기전에 변경사항들을 하나씩 "확인"하는 역할을 수행
         
: Git의 Snapshot
  >Git에서 각 버전의 차이점이 아닌 버전자체를 저장하는 기능
  > 파일과 각 버전의 변경내역이 아닌 버전 자체만을 다운로드 하기때문에 느리지 않고, 로컬 저장소에서 받기 때문에 
    네트워크가 불가한 상황에서도 받을 수 있음
  > 버전 자체를 저장하므로 버전의 차이가 발생할 때 이를 극복할 수 있게 도와줌

※ Git을 잘 설명해주는 곳...
- 이클립스와 github연동 : http://unikys.tistory.com/330


2. 프로젝트 관리 토론

: 프로젝트 관리도구 "Trello" 사용
  > 각 파트별로 보드를 만들어 관리
  > "Action Item(주단위 요구사항) -> Request(세부사항) -> TO DO(해야할것) -> Doing(진행중) -> Done(완료)"


3. 각 파트별 프로젝트 리딩

  ※ 공통목표 : 하이브리드 웹 구현

  [1PART]
   - 주제 : 나만의 다이어리
   - 내용 : 폰빌더(?)를 이용하여 나만의 다이어리를 만들자!
   - 목표 : 속지선택, 글쓰기, 사진넣기, 스티커 붙이기 등등
   - 엔드유저 : 다이어리를 사용하는 모든 일반인들

  [2PART]
   - 주제 : PocketTube
   - 내용 : 유튜브 API를 활용하여 확장되고 편리한 유튜브 서비스 제공
   - 최소목표 : 결과 내 검색, 즐겨찾기 기능(핸드폰 계정)
   - 최대목표 : 온라인계정 적용
   - 엔드유저 : 유튜브를 효과적으로 사용하고자하는 일반인들

  [3PART]
   - 주제 : 쇼핑몰 구축
   - 내용 : Spring과 MVC를 사용하여 기능구현보다는 만드는 과정에 포커스를 두고 진행
   - 최소목표 : 기본 웹페이지 구성(회원관리 및 게시판)
   - 최대목표 : 웹 쇼핑몰 
   - 엔드유저 : 쇼핑몰고객(.. 인가요?ㅋㅋㅋ 일단은 "과정"에 포커싱)


[화면설계] 항목

1. 메인페이지
- 검색메뉴
- 즐겨찾기 항목
- 로그인버튼
등등

2. 로그인 창
- ID/PW
- 로그인버튼
- 회원가입
- ID/PW 찾기
등등

3. 메뉴바
- 설정창
- 회원정보
- 알림
- 즐겨찾기

3. 설정창
- 회원정보 메뉴
- 알림메뉴("구독" 등 알림메뉴.. 가능할까...?)

4. 회원정보 창
- 정보 출력창 (수정창으로 통합? or "수정하기"버튼?)
- 정보 수정창

5. 알림창
- 즐겨찾기나 구독으로 추가한 동영상에 대한 업로드 알림 설정
 (예. 팝업알림, 소리알림, 등등..)

6. 즐겨찾기 창
- 그룹 추가/수정/삭제
- 즐겨찾기 한 동영상 리스트

7. 검색결과 창
- 검색메뉴
- 상세검색바(결과내 검색)
- 동영상 리스트

[DB] DB 스키마

*사용 DB : MySQL
*DB  : db_pocket_tube

[정책]
1. 사용자가 탈퇴해도 해당 사용자에 대한 정보는 바로 지워지지 않고 tbl_memberis_joinout필드의 값을 1(true)로 수정한다.
2. 사용자가 비밀번호를 찾을때는 id, birth_date

[테이블 상세]
1. tbl_member
사용자 정보 테이블
필드명
타입
제약조건
설명
index
Int(32)
P.K.
Auto_increment
Not NULL
해당 테이블의 인덱스필드
id
Varchar(32)
Not NULL
사용자 id
(email 형식)
passwd
Varchar(32)
Not NULL
사용자 비밀번호
birth_date
DateTime
Not NULL
사용자의 생년월일
reg_date
DateTime
Not NULL
사용자가 서비스에 가입한 날짜
is_joinout
Int(1)
Default : 0
Not NULL
탈퇴여부

2. tbl_member_info
사용자의 추가 정보 테이블(가령 설정내용 등등)
필드명
타입
제약조건
설명
index
Int(32)
P.K.
Not NULL
tbl_member index값과 동일한 값
(auto_increament 속성을 사용하지 않음)
is_push
Int(1)
Not NULL
서비스의 push(알림)서비스

3. tbl_favorite
동영상 즐겨찾기 관련 테이블
필드명
타입
제약조건
설명
index
Int(32)
P.K.
Not NULL
auto_increament
tbl_member index값과 동일한 값
(auto_increament 속성을 사용하지 않음)
member_index
Int(32)
F.K.
Not NULL
Tbl_member의 사용자정보와 매필될index
url
varchar(128)
Not NULL
url 정보
reg_date
date_time
Not NULL
즐겨찾기를 등록한 날짜
group_num
Int(8)
Default : 0
Not NULL
즐겨찾기 항목에대하여 폴더구조를 가질시에 해당 필드로 구분
(아직 큰 의미는 없음)


playlist

단일 YouTube 재생목록을 표시합니다. 재생목록은 순서대로 감상하거나 다른 사용자와 공유할 수 있는 동영상의 모음입니다.

  https://developers.google.com/youtube/v3/docs/playlists


- 최대 목록 갯수 : 200개
- 메소드 :
  1. list : API 요청 매개변수와 일치하는 재생목록의 모음을 반환합니다. 예를 들어 인증된 사용자가 보유한 전체 재생목록을 검색하거나, 고유 ID를 통해 하나 또는 여러 개의 재생목록을 검색할 수 있습니다. 
    https://developers.google.com/youtube/v3/docs/playlists/list#try-it
  2. insert : 재생목록을 만듭니다. 
    https://developers.google.com/youtube/v3/docs/playlists/insert#try-it
  3. update : 재생목록을 수정합니다. 예를 들어 재생목록의 제목, 설명, 개인정보 보호 상태를 변경할 수 있습니다.
    https://developers.google.com/youtube/v3/docs/playlists/update#try-it
  4. delete : 재생목록을 삭제합니다. 
    https://developers.google.com/youtube/v3/docs/playlists/delete#try-it

playlistItem

재생목록에 포함된 동영상과 같은 리소스를 식별합니다. 
playlistItem 리소스에는 포함된 리소스가 재생목록에서 사용되는 방식을 설명하는 세부정보도 포함되어 있습니다.

- 메소드 
  1. list : API 요청 매개변수와 일치하는 재생목록 항목의 모음을 반환합니다. 지정된 재생목록의 모든 항목을 검색하거나 고유 ID를 통해 하나 또는 여러 개의 재생목록 항목을 검색할 수 있습니다.
    https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
  2. insert : 재생목록에 리소스를 추가합니다. 
    https://developers.google.com/youtube/v3/docs/playlistItems/insert#try-it
  3. update : 재생목록의 항목을 수정합니다. 예를 들어 재생목록에서 항목의 위치를 업데이트할 수 있습니다.
    https://developers.google.com/youtube/v3/docs/playlistItems/update#try-it
  4. delete : 재생목록의 항목을 삭제합니다. 
    https://developers.google.com/youtube/v3/docs/playlistItems/delete#try-it

search result

API 요청에 지정된 검색 매개변수와 일치하는 YouTube 동영상, 채널 또는 재생목록의 정보를 포함합니다. 검색 결과는 동영상과 같이 고유하게 식별할 수 있는 리소스를 보여주지만, 자체적으로는 영구적인 데이터를 가지지 않습니다.

- 메소드
  1. list : 기본적으로 검색결과의 집합은 쿼리 매개변수와 일치하는 videochannelplaylist 리소스를 식별하지만, 특정 유형의 리소스만 검색하도록 쿼리를 구성할 수도 있습니다
    https://developers.google.com/youtube/v3/docs/search/list

subscription

YouTube 사용자의 구독 정보를 포함합니다. 구독정보는 채널에 새 동영상이 추가되거나 다른 사용자가 YouTube에서 동영상 업로드, 동영상 평가 또는 동영상 추천 등의 작업 중 하나를 수행할 때 이를 알려줍니다.

- 메소드 
  1. list : API 요청 기준과 일치하는 구독정보 리소스를 반환합니다.
    https://developers.google.com/youtube/v3/docs/subscriptions/list#try-it
  2. insert : 인증된 사용자 채널에 대한 구독정보를 추가합니다.
    https://developers.google.com/youtube/v3/docs/subscriptions/insert#try-it
  3. delete : 구독정보를 삭제합니다. 
    https://developers.google.com/youtube/v3/docs/subscriptions/delete#try-it


+ Recent posts