SlideShare uma empresa Scribd logo
1 de 40
SaveDataAsImage
For iOS
NHN NEXT
어떻게 하면 자기 스케줄을 공유할 수 있을까?
어떻게 스케줄을 공유할까? – 유레카!
• 달력 공유 어플 제작
– 어떤 방법으로 공유하지?
• Facebook처럼 서버에서 처리!
• 다른건 없을까???
어떻게 스케줄을 공유할까? – 유레카!
아이폰 iOS is…
• 사진같은거 말곤 어플끼리 파일 공유
어려워!
• 사람들이 많이 사용하는 어플? 메신저
• 내가 로 많이 하는것은?
– 텍스트, 사진
어떻게 스케줄을 공유할까? – 유레카!
아이폰 iOS is…
• 사진같은거 말곤 어플끼리 파일 공유
어려워
• 사람들이 많이 사용하는 어플? 메신저
• 내가 로 많이 하는것은?
– 텍스트, 사진사진
사진
어떻게 스케줄을 공유할까? – 유레카!
사진에 스케줄을 녹여넣고
그 사진을 메신저로 보내자!
사진에 데이터를 녹여내다.
• 사진보관함
- 모든 어플에서 접근 가능하다.
- 폴더 기능도 있음.
• 메신저. 사진보내기로 데이터(File) 공유 가능하다
– 전용 FTP서버 제작 안해도 됨.
– 친구한테 감히 URL을 넘겨서 “다운받으세요~”라고 하겠다고!!??
만약, 사진이 파일의 역활을 대신한다면?
R : 40
G : 148
B : 146
16진수
0x289492
여기에 Binary Data를
집어넣자!
한 픽셀 색상 정보
Has a
사진에 데이터를 녹여내다.
사진에 데이터를 녹여내다.
• 무엇이 저장되어 있을까?
• 어디서 쓰는 파일일까?
• 언제 만든걸까?
• 어느 어플에서 한걸까?
• 누가한거지?
파일 속성 X
Has No Attribute
사진에 데이터를 녹여내다.
0101010101110101
0100101001010101
1010101010100010
1010100010101010
0101001010101001
0101010010101001
0100101010101001
0101001001010010
0101001010100101
0010101001010010
96 a3 b2 16 47 39 20
10 55 32 ba 64 ff 12
12 76 94 60 28 39 20
A8 b8 29 01 96 a3 b2
16 47 39 20 10 55 32
ba 64 ff 12 12 76 94
60 28 39 20 A8 b8 29
01 C2 f0 ff ff ff 12 11
01 10 35 22 80 88 08
A2 B7 C5 D1 C2 A2 B1 D7 S5 9D
32 D8 47 C7 F1 2B 39 8A 52 71
59 6C 81 3F 70 9D 23 1B 86 74 A3
90 85 17 2C 39 D0 85 2E 71 E9 3 8
91 76 31 48 95 78 47 534 98 T71
243 98 57 12 95 E8 23 71 95 83
2F B7 59 82 37 52 13 98 67 14 39
E8 57 23 B9 86 17 34 98 53 72 98
61 43 72 95 E8 7B B5 23 91 87 61
92 43 08 53 79 58 17 49 2E 38 75
32 AB 1C 5D 2E F3 E6 AB 5C 12 36
43 AB 7C 64 D5 F1 DB DA 46 32
11 11 11
구별 불가능
사진에 데이터를 녹여내다.
구별 가능
사진에 데이터를 녹여내다.
내가 보면 글씨, 너가 보면 데이터
• 각 파일끼리 다름을 인식할 수 있어야 한다.
• 즉,
– 사람이 봤을땐 글씨
– 컴퓨터가 봤을땐 데이터
내가 보면 글씨, 너가 보면 데이터
내가 보면 글씨, 너가 보면 데이터
사진에 데이터를 저장하다.
A : 12345678
R : 00101000
G : 10010100
B : 10010010
한 픽셀 색상 정보 (이진수)
Has a
문제 설정
- 내가 하려는 것은?
: 노이즈 속에서도 글씨가 보이게 하기
사진에 데이터를 저장하다.
A : 12345678
R : 00101000
G : 10010100
B : 10010010
문제 설정
- 내가 하려는 것은?
: 노이즈 속에서도 글씨가 보이게 하기
내가 보면 글씨, 너가 보면 데이터
11XXXXXX
00XXXXXX
R : 11000000
G : 11000000
B: 11000000
R : 00111111
G : 00111111
B: 00111111
최소 75% 명암 차이
00 11
R : 11111111
G : 11111111
B: 11111111
R : 00111111
G : 00111111
B: 00111111
최소 75% 명암 차이
00 11
내가 보면 글씨, 너가 보면 데이터
• 아! 문서 파일이겠구나!
• 아! 그 어플로 보면 되겠구나
• 아! 그때 만들었구나!
• 아! 누가 만든거구나!
• Etc. 그 무엇이든
파일 속성 O
Has An Attribute
내가 보면 글씨, 너가 보면 데이터
• 아! 문서 파일이겠구나!
• 아! 그 어플로 보면 되겠구나
• 아! 그때 만들었구나!
• 아! 누가 만든거구나!
• Etc. 그 무엇이든
파일 속성 O
Has An Attribute
내가 보면 글씨, 너가 보면 데이터
A. 모든 파일은 이진수로 이루어져 있다.
B. 사진데이터는 이진수를 저장할 수
있다.
C. 모든 파일은 사진데이터로 저장할 수
있다.
What I Make
데이터 데이터 -> 사진
데이터 <- 사진데이터
함수
함수
What I Make
쉬운API 라이브러리 제작
데이터 데이터 -> 사진
데이터 <- 사진데이터
함수
함수
이것의 철학적(?)
의미는
유저와 iOS는 아직 클라우드 준비가 안되었다!
나의 것 이니라.
유저와 iOS는 아직 클라우드 준비가 안되었다!
어? 아직
너네 타이밍 아닌데;; 뭐래 ㅋ
유저와 iOS는 아직 클라우드 준비가 안되었다!
• 애플의 폐쇄성
– 개발하기 힘들어! ㅠㅠ
– 사용자들도 불편해!ㅠㅠ
• 그렇다고 클라우드로 다 극복?
– 다운받은 파일 다시 어떻게 옮겨??
– 인터넷 끈기면 어떻게해?
• 파일 보내기 위해서…
1. 클라우드 어플 다운
2. 서비스 가입
3. URL 복사
4. 메시지로 붙여넣기
장난해!?
유저와 iOS는 아직 클라우드 준비가 안되었다!
• Like 버디버디, 네이트온
1. 쪽지에
2. 파일을 따악
우리는?
1. 쪽지에
2. 사진보내기를 따악
유저와 iOS는 아직 클라우드 준비가 안되었다!
메신저들은 사진을 손상시킨다
• 메신저는 사진을 JPEG 압축
– 데이터 잃는 손실압축
– 어떻게.. 회피는 안되겠습니까?
메신저들은 사진을 손상시킨다
메신저들은 사진을 손상시킨다
http://medialab.khu.ac.kr/new/lecture/data/dip/DIP_Ch08.pdf
메신저들은 사진을 손상시킨다 어찌 감히!
0
8
16
24
32
40
48
56
메신저들은 사진을 손상시킨다 어찌 감히!
• 라인
– 1280 x 1280 = 25.6kbyte
• 카카오톡
– 1136 x 1136
• 그 이상의 해상도는 강제로 해상도 낮춤
메신저들은 사진을 손상시킨다 어찌 감히!
• 25.6kbyte
– 문제인가?
• 5년전만 해도…
– 시간으로 해결될 문제!
Save Data As Image
• Brand New
– 개발자, 사용자의 파일에 대한 고정관념 와장창!
• 새로운 수요를 낳다
– 어떻게 사진에 데이터를 더 많이 보관할것이냐!
– 어떻게 더 이쁘게 보이게 할거냐!
파일, 이젠 당신이 주인입니다.
당신의 뜻대로 메신저로 보내고, 사진보관함에서 관리하십시오
파일, 이젠 당신이 주인입니다.
당신의 뜻대로
메신저로 공유하고,
사진보관함에서 관리하십시오.
NHN NEXT
SaveDataAsImage
For iOS
NHN NEXT

Mais conteúdo relacionado

Semelhante a D2 ppt

모바일 개발자가 원하는 디자인 가이드
모바일 개발자가 원하는 디자인 가이드모바일 개발자가 원하는 디자인 가이드
모바일 개발자가 원하는 디자인 가이드Duck-hyeon Yoo
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기Wonha Ryu
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
에버노트 자기관리 완성하기
에버노트 자기관리 완성하기에버노트 자기관리 완성하기
에버노트 자기관리 완성하기호석 진호석
 
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기Hyeshik Chang
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신현욱 김
 
iOS human interface guidelines(HIG)
iOS human interface guidelines(HIG)iOS human interface guidelines(HIG)
iOS human interface guidelines(HIG)Sun Jin Choi
 

Semelhante a D2 ppt (7)

모바일 개발자가 원하는 디자인 가이드
모바일 개발자가 원하는 디자인 가이드모바일 개발자가 원하는 디자인 가이드
모바일 개발자가 원하는 디자인 가이드
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
에버노트 자기관리 완성하기
에버노트 자기관리 완성하기에버노트 자기관리 완성하기
에버노트 자기관리 완성하기
 
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
iOS human interface guidelines(HIG)
iOS human interface guidelines(HIG)iOS human interface guidelines(HIG)
iOS human interface guidelines(HIG)
 

Mais de Sehyeon Nam

Game programing gems 4.11
Game programing gems 4.11Game programing gems 4.11
Game programing gems 4.11Sehyeon Nam
 
Game programing gems 1.11
Game programing gems 1.11Game programing gems 1.11
Game programing gems 1.11Sehyeon Nam
 
Game programing gems 1.10
Game programing gems 1.10Game programing gems 1.10
Game programing gems 1.10Sehyeon Nam
 
Game programing gems 3.4 3.6
Game programing gems 3.4 3.6Game programing gems 3.4 3.6
Game programing gems 3.4 3.6Sehyeon Nam
 
Hexagrid Draw by NHN NEXT Seo Dong Yu
Hexagrid Draw by NHN NEXT Seo Dong YuHexagrid Draw by NHN NEXT Seo Dong Yu
Hexagrid Draw by NHN NEXT Seo Dong YuSehyeon Nam
 
아르카스톤 기획
아르카스톤 기획아르카스톤 기획
아르카스톤 기획Sehyeon Nam
 
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 [GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 Sehyeon Nam
 
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티Sehyeon Nam
 
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용 [GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용 Sehyeon Nam
 
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산 [GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산 Sehyeon Nam
 
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법Sehyeon Nam
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법Sehyeon Nam
 
Ec++ c 1,2 surmary
Ec++ c 1,2 surmaryEc++ c 1,2 surmary
Ec++ c 1,2 surmarySehyeon Nam
 

Mais de Sehyeon Nam (13)

Game programing gems 4.11
Game programing gems 4.11Game programing gems 4.11
Game programing gems 4.11
 
Game programing gems 1.11
Game programing gems 1.11Game programing gems 1.11
Game programing gems 1.11
 
Game programing gems 1.10
Game programing gems 1.10Game programing gems 1.10
Game programing gems 1.10
 
Game programing gems 3.4 3.6
Game programing gems 3.4 3.6Game programing gems 3.4 3.6
Game programing gems 3.4 3.6
 
Hexagrid Draw by NHN NEXT Seo Dong Yu
Hexagrid Draw by NHN NEXT Seo Dong YuHexagrid Draw by NHN NEXT Seo Dong Yu
Hexagrid Draw by NHN NEXT Seo Dong Yu
 
아르카스톤 기획
아르카스톤 기획아르카스톤 기획
아르카스톤 기획
 
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 [GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
 
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
 
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용 [GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용
[GPG 스터디] 1.4 게임프로그래밍에서의 STL 활용
 
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산 [GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
[GPG 스터디] 1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
 
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법
 
Ec++ c 1,2 surmary
Ec++ c 1,2 surmaryEc++ c 1,2 surmary
Ec++ c 1,2 surmary
 

D2 ppt