SlideShare a Scribd company logo
A조 : 쿠우쿠우
EZStorage
태그기반 파일관리시스템을 적용한스토리지서비스
장윤경신아름
조성수
(조장)
김태경
목차
1 프로젝트 소개
시연
설계 및 구현
한계점
결론 및
활용분야
2
3
4
5
11 프로젝트 소개프로젝트 소개
1프로젝트 소개
태그 기반 파일 관리 시스템을 이용한
스토리지 서비스
1프로젝트 소개
쉽게 말해 이것과 비슷한 서비스를 만들었습니다
1프로젝트 소개
독창적인 아이디어는?
1프로젝트 소개
정리는 귀찮다
근데 원하는 파일은 빠르게 찾고 싶다!
1프로젝트 소개
[파일처리]lab06.doc
+
과제, 2015, 학교
태그
파일에 부가적인 정보를 더 추가하자
1프로젝트 소개
그래서 뭘 어떻게 하자는건데?
1프로젝트 소개
2015년에 작성한
데이터베이스
중간 발표자료를 찾아줘!!
1프로젝트 소개
파일이 아무리 많아도
[파일처리]lab06.doc 운영체제 과제.doc 데이터베이스 중간 발표.ppt 인가탐1.doc 데이터베이스 보고서.doc
+
실습, 2015, 학교
파일처리
+
과제, 2014, 학교
운영체제
+
발표, 2015, 학교
데이터베이스, 중간
+
보고서, 2013, 학교
+
보고서, 2015, 학교
데이터베이스, 중간
1프로젝트 소개
파일이 아무리 많아도
[파일처리]lab06.doc 운영체제 과제.doc 데이터베이스 중간 발표.ppt 인가탐1.doc 데이터베이스 보고서.doc
+
실습, 2015, 학교
파일처리
+
과제, 2014, 학교
운영체제
+
발표, 2015, 학교
데이터베이스, 중간
+
보고서, 2013, 학교
+
보고서, 2015, 학교
데이터베이스, 중간
연관 단어들로만 검색하면 찾을 수 있다.
1프로젝트 소개
연관된 태그를 묶으면 카테고리
1학년 포트폴리오
2011년 과제 보고서 발표자료
1프로젝트 소개
그러니까
1프로젝트 소개
이런 복잡한 폴더구조 만들려고 하지 말고
1프로젝트 소개
그냥 파일만 저장하면 됩니다.
태그와 함께..
[파일처리]lab06.doc
+
과제, 2015, 학교
태그
1프로젝트 소개
파일을 찾고 싶으면 태그만 입력하세요
과제, 2015, 학교
[파일처리]lab06.doc
22 시연시연
2시연
설계/구현에 대해 알아보기 전 사용해 보세요
http://ezstorage.khuhacker.com
http://goo.gl/4GMTwE
33 설계 및 구현설계 및 구현
3전체 ERD
3파일 및 태그 관련 테이블
파일정보
관계정보
태그정보
사용자
파일타입
3
왜 N:M 을 직접 연결하지 않았나?
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id File_id name
1 1 학교
2 1 과제
3 2 2015
4 2 학교
5 3 파일처리
tags
파일 및 태그 관련 테이블
3
왜 N:M 을 직접 연결하지 않았나?
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id File_id name
1 1 학교
2 1 과제
3 2 2015
4 2 학교
5 3 파일처리
tags
같은 태그명이 중복!
파일 및 태그 관련 테이블
3
참조 테이블을 통한 중복 제거
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name
1 학교
2 과제
3 2015
4 파일처리
tags
File_id Tag_id
1 1
1 2
1 3
2 1
2 4
파일 및 태그 관련 테이블
3
참조 테이블을 통한 중복 제거
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name
1 학교
2 과제
3 2015
4 파일처리
tags
File_id Tag_id
1 1
1 2
1 3
2 1
2 4
파일 및 태그 관련 테이블
3
태그 수정은 삭제/추가 연산으로
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name
1 학교
2 과제
3 2015
4 파일처리
tags
File_id Tag_id
1 1
1 2
1 3
2 1
2 4
a.txt 의 학교 태그를 파일처리로 수정하고 싶다.
파일 및 태그 관련 테이블
3
태그 수정은 삭제/추가 연산으로
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name
1 학교
2 과제
3 2015
4 파일처리
tags
File_id Tag_id
1 1
1 2
1 3
2 1
2 4
1 4
File_id : 1 – Tag_id : 1 인 row를 지우고,
File_id : 1 – Tag_id : 4 row 를 추가
파일 및 태그 관련 테이블
3파일 업로드
파일을 업로드 하는 작업은 2개 작업이 복합되어있다.
과제, 2015, 학교
[파일처리]lab06.doc
3파일 업로드
두 작업 중 하나라도 실패시 전체작업이 실패
과제, 2015, 학교
[파일처리]lab06.doc
3파일 업로드
하나의 Transaction 으로 작업을 처리
실패 시 Rollback 후 에러반환
3파일 업로드
3파일 업로드
3파일 업로드
insert into eztags (name) values (?) on duplicate key
update reference_count=reference_count+1
reference_count : 태그의 참조 횟수
3파일 삭제
파일삭제는 3개의 테이블이 연관되어서 작용
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name count
1 학교 2
2 과제 1
3 2015 1
4 파일처리 1
tags
File_id Tag_id
1 1
1 2
2 3
2 1
3 4
3파일 삭제
cascade on delete 이용?
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name count
1 학교 2
2 과제 1
3 2015 1
4 파일처리 1
tags
File_id Tag_id
1 1
1 2
2 3
2 1
3 4
3파일 삭제
파일이 지워지면 관계 테이블의 내용은 지워진다
하지만 관계 테이블의 cascade 는 감감무소식
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name count
1 학교 2
2 과제 1
3 2015 1
4 파일처리 1
tags
File_id Tag_id
1 1
1 2
2 3
2 1
3 4
3파일 삭제
Before Delete Trigger를 사용
id name
1 a.txt
2 b.txt
3 c.txt
Storage_file
id name count
1 학교 2
2 과제 1
3 2015 1
4 파일처리 1
tags
File_id Tag_id
1 1
1 2
2 3
2 1
3 4
3파일 삭제
3파일 삭제
3태그를 이용한 검색
2015년에 작성한
데이터베이스
중간 발표자료를 찾아줘!!
3태그를 이용한 검색
사용자가 입력한 태그가 실제 시스템에 없을 수 있다.
tag
2015
DB
발표자료
id name
1 2015
2 과제
3 DB
사용자가 입력한 태그 실제 시스템의 태그 테이블
3태그를 이용한 검색
검색 절차
1. 사용자가 입력한 태그에 해당하는 태그 ID 목록 조회
2. 검색을 요청한 사용자 소유의 파일이면서,
(1)에서 조회한 태그들을 1개 이상 가진 파일 조회
3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
4. 매칭률로 결과를 내림차순 정렬
3태그를 이용한 검색
검색 구현 중점 사항
1. 각 단계 별 결과를 어플리케이션까지 가져오지 않는다.
-> 연결 세션에 한정적인 메모리엔진기반 임시 테이블 생성
2. 최소의 쿼리를 이용하여 검색을 수행하자
3. 결과는 정확해야한다
3태그를 이용한 검색 - SQL
절차 1. 사용자가 입력한 태그에 해당하는 태그 ID 목록 조회
create TEMPORARY table ttags ENGINE=MEMORY
as (select id from eztags where name in (tags))
3태그를 이용한 검색 - SQL
절차 2. 검색을 요청한 사용자 소유의 파일이면서, (1)에서 조회한 태그들을
1개 이상 가진 파일 조회
create TEMPORARY table files ENGINE=MEMORY
as (select distinct storage_file_id from eztags_has_storage_file
where tags_id in (select id from ttags) and user_id= ?)
3태그를 이용한 검색 - SQL
절차 3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
tag
2015
DB
발표자료
name
2015
과제
DB
사용자가 입력한 태그파일이 가진 태그
차집합
name
2015
DB
매칭되는 태그
3태그를 이용한 검색 - SQL
절차 3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
매칭되는 태그 갯수
X 100 = 매칭률
전체 입력 태그 갯수
3태그를 이용한 검색 - SQL
절차 3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
select tmp.storage_file_id, ef.name, ft.value from
(select storage_file_id from ttags left join eztags_has_storage_file f on id =
f.tags_id where f.storage_file_id=?) as tmp join ezstorage_file as ef
on tmp.storage_file_id = ef.id join ezfile_type as ft on ef.type_id = ft.id
3태그를 이용한 검색 - SQL
절차 3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
select tmp.storage_file_id, ef.name, ft.value from
(select storage_file_id from ttags left join eztags_has_storage_file f on id =
f.tags_id where f.storage_file_id=?) as tmp join ezstorage_file as ef
on tmp.storage_file_id = ef.id join ezfile_type as ft on ef.type_id = ft.id
3중 조인....
3카테고리를 이용한 검색
1학년 포트폴리오
2011년 과제 보고서 발표자료
카테고리의 태그가 실제 시스템에 없을 수 있다.
하지만 실제 존재하는 태그에 대해서는 파일이 모두 가지고 있어야한다.
3카테고리를 이용한 검색
검색 절차
1. 카테고리가 가진 태그 중, 실제 존재하는 태그이면서 사용자가
보유한 파일들에 포함되는 태그 ID 목록 조회
2. (1)에서 조회한 태그들을 1개 이상 가진 파일 조회
3. 사용자가 입력한 태그 수 대비 (2)의 파일 각각이 가진 태그들의
매칭률 계산
4. 매칭률이 100%인 파일을 필터링
3카테고리를 이용한 검색
절차 1. 카테고리가 가진 태그 중, 실제 존재하는 태그이면서 사용자가
보유한 파일들에 포함되는 태그 ID 목록 조회
create TEMPORARY table ttags ENGINE=MEMORY
as (select distinct ec.tags_id as id from eztags_has_categories ec join
eztags_has_storage_file ef on (ec.tags_id = ef.tags_id)
where ec.categories_id = ? and ef.user_id = ?)
4API 명세
44 한계점
4한계점
(1)쿼리 성능 평가 미진행
-> 생각보다 join이 많이 발생하였다.
-> (시간상) 대량의 데이터에 대한 성능 평가를 진행하지 못함
(2) 검색의 결과에 대한 Paging 을 고려하지 않음
-> 매칭률을 계산하기 위해서는 전체를 상대로 검색해야한다
-> 전체를 검색하되 Paging 을 어떻게 지원할까?
55 결론 및 활용분야
5결론
스토리지 시스템을 직접 손으로 구축해보았다
복잡한 조건이 걸린 검색 기능을 구현해보았다
곰곰히 생각해보니 엄청난 기능이다
5활용분야
5활용분야
출처 : http://m.post.naver.com/viewer/postView.nhn?volumeNo=1669760
&memberNo=11575417&vType=VERTICAL
5활용분야
출처 : http://m.post.naver.com/viewer/postView.nhn?volumeNo=1669760
&memberNo=11575417&vType=VERTICAL
5활용분야
사용자가 태그를 입력하는 것을 기계가 대신한다면?
스토리지에 나의 자료를 저장하는 것이 일기가 되고
삶의 기록이 될 수 있겠다.
66 Reference
6특허
감사합니다감사합니다

More Related Content

Similar to 태그기반 파일관리시스템을 적용한 스토리지 시스템

03.실행환경 실습교재(배치처리)
03.실행환경 실습교재(배치처리)03.실행환경 실습교재(배치처리)
03.실행환경 실습교재(배치처리)
Hankyo
 
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
yonseilibrary
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
Gruter
 
ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정
Javajigi Jaesung
 
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
Hyunwoo Kim
 
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
Firebase for web (웹개발을 위한 파이어베이스) 4 StorageFirebase for web (웹개발을 위한 파이어베이스) 4 Storage
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
승빈이네 공작소
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDD
Sanghyuk Jung
 
구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색
혜웅 박
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
Ildoo Kim
 
(130330) #fitalk codegate 2013 write-ups
(130330) #fitalk   codegate 2013 write-ups(130330) #fitalk   codegate 2013 write-ups
(130330) #fitalk codegate 2013 write-ups
INSIGHT FORENSIC
 
12books
12books12books
12books
cheongwonseo
 
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docxKotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
ridex92
 
구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable
혜웅 박
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
Matthew (정재화)
 
Docspin 에셋에 대해
Docspin 에셋에 대해Docspin 에셋에 대해
Docspin 에셋에 대해
현욱 김
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
chandler0201
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
Taekyung Han
 
정보검색의개요
정보검색의개요정보검색의개요
정보검색의개요
Dosang Yoon
 
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
JaewonLee153
 

Similar to 태그기반 파일관리시스템을 적용한 스토리지 시스템 (20)

03.실행환경 실습교재(배치처리)
03.실행환경 실습교재(배치처리)03.실행환경 실습교재(배치처리)
03.실행환경 실습교재(배치처리)
 
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
ProQuest TDM(Text Data Mining) Studio_이용 매뉴얼
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정
 
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
서울대학교 IAB 강의 Pytorch(파이토치) CNN 실습 수업
 
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
Firebase for web (웹개발을 위한 파이어베이스) 4 StorageFirebase for web (웹개발을 위한 파이어베이스) 4 Storage
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDD
 
구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색구글을 지탱하는 기술 요약 - Google 검색
구글을 지탱하는 기술 요약 - Google 검색
 
Python - Module
Python - ModulePython - Module
Python - Module
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
(130330) #fitalk codegate 2013 write-ups
(130330) #fitalk   codegate 2013 write-ups(130330) #fitalk   codegate 2013 write-ups
(130330) #fitalk codegate 2013 write-ups
 
12books
12books12books
12books
 
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docxKotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
Kotlin 테스트 코드 결함 Intellij 플러그인 개발기.docx
 
구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable구글을 지탱하는 기술 요약 - Bigtable
구글을 지탱하는 기술 요약 - Bigtable
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Docspin 에셋에 대해
Docspin 에셋에 대해Docspin 에셋에 대해
Docspin 에셋에 대해
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
 
정보검색의개요
정보검색의개요정보검색의개요
정보검색의개요
 
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
 

More from nexusz99

[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
nexusz99
 
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
nexusz99
 
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
nexusz99
 
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
nexusz99
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
 
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
nexusz99
 
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
nexusz99
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종nexusz99
 
REST API 디자인 개요
REST API 디자인 개요REST API 디자인 개요
REST API 디자인 개요
nexusz99
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음
nexusz99
 

More from nexusz99 (10)

[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
[2017 파이썬 연말 세미나] PyCon APAC 2017 참가 후기
 
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
스마트 홈 Io t 서비스를 위한 분산 데이터베이스 설계 및 구현
 
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스
 
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
 
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
[ 2015 SOSCON ]오픈스택 swift로 시작하는 오픈소스 분석 삽질기
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종
 
REST API 디자인 개요
REST API 디자인 개요REST API 디자인 개요
REST API 디자인 개요
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음
 

태그기반 파일관리시스템을 적용한 스토리지 시스템