aws 기본 구성 요소

image

aws iot core ( iot 기기에 대한 기본 작업)

image
image
image

image


aws iot 1 click (원 클릭에 대응하는 기기에 대한 서비스)

image


aws iot device defender (iot 기기에 대한 authorization, authentication 작업 제공)

image

aws green grass

개념이해를 위한 비디오 (local network단위내에서 기기간 서로 상호작용하고 또 이것이 외부 클라우드 서비스와도 상호작용하는 기능을 제공하는 듯)

https://youtu.be/1rLxPOxVJoQ

original source : http://www.androiddocs.com/design/wear/index.html

the Android Wear UI consists of two main spaces centered around the core functions of Suggest andDemand.

Suggest: The Context Stream

The context stream is a vertical list of cards.

Only one card is displayed at a time, and background photos are used to provide additional visual information.

Cards in the stream are more than simple notifications. They can be swiped horizontally to reveal additional pages.

image

Demand: The Cue Card

the cue card allows users to speak to Google. The cue card is opened by saying, “OK Google” or by tapping on the background of the home screen.

image


Other UI Features

  • The Home screen
  • Watch faces 
  • low-power Ambient Mode
  • Swiping down on the Home screen reveals the Date and Battery display. 
  • The Settings screen.
  • Full screen apps 
  • The background
  • Status indicators, showing connectivity, charging status, airplane mode, and in some watch faces a count of unread items.
  • The top ranked card in the Context Stream.

android wear의 기본 철학

기기가 스스로 context를 파악해서 사용자게 에게 필요한 정보를 먼저 제공(suggest)한다. 사용자는 단순화된 방법으로 기기에 작업을 요구한다(demand).

필요한 정보는 직관적으로 파악할수 있게 한다. 사용자의 interactive action을 최소하게 한다.

TCP / UDP 설명

facebook SDK php 를 이용 Retrieve User’s Profile

이글루스 API 를 설명드리기 전에 XML-RPC라는 용어에 대해 먼저 설명드리겠습니다.

XML-RPC는 서로 다른 OS, 서로 다른 프로그래밍 언어에서도 웹을 통해서 데이터를 주고 받을 수 있도록 해주는 표준 통신규약(protocol)을 의미합니다.527
(그림출처 : XML-RPC Home Page)

그림에서 보시다시피 XML-RPC의 표준 규약을 지원하는 곳이라면 어떤 환경이든 어떤 프로그래밍 언어든 상관없이 웹을 통하여 XML 형식으로 데이터 교환이 가능합니다.

XML-RPC 중 특히 블로깅과 관련된 기능을 지원하는 것을 blogging API 라고 말하며, 자신의 블로그에 접속하지 않고도 글을 등록하거나 등록된 글을 수정/삭제 등의 글 관리까지 가능합니다.

예를 들어 문서 제작을 위해 자주 사용하는 툴이 ‘MS Word’ 라면 워드에서 글을 작성하여 워드 내의 기능을 이용하여 이글루스로 글 등록이 가능해 지는 것입니다. 물론 워드에서 XML-RPC를 지원한다면 말이죠.

FullText 의 개념
mysql 메뉴얼을 읽어보면 알 수있듯이
FullText 검색 기능의 개념 자체는 작은 규모가 아닌 큰 규모의 
문자열 집합을(Large collections) 대상으로 빠르게 해당 검색어를 
검색하기 위해서 만들어진 것입니다.
그리고, 이것은 ‘Like’ 문 기능과는 다르고,
‘Where 필드 = 검색문자열’ 문과도 (어떻게 만드느냐에 따라서) 다를 수 있습니다.
큰 규모라고 하면, 웹 검색엔진을(the Internet with a search engine) 
상상해보시면 될겁니다. 구글(Google)의 경우 30억개 이상의 웹페이지를 
대상으로 검색할 수 있다고 사이트에 명시하고 있습니다. DB 개념으로 
이해하자면, 웹페이지와 같은 큰 문자열을 각각 지니고 있는 30억개 
이상의 레코드들을 검색한다는 것입니다.
이런 방대한 자료에서 어떤 문자열 하나를 찾기위해서 ‘Like’ 문을 쓴다고 상상해보세요.
여기에, 전 세계적으로 엄청난 동시 사용자들을 감안한다면, ‘Like’ 문같은 검색은 
쓸 수가 없겠죠. 실제로 구글에서 여러가지 문자열을 가지고 테스트 
해보시면, 절대 Like 검색방식으로 처리가 되고있지 않다는 것을 알 수 
있습니다.
그리고, ‘Where 필드 = 검색문자열’과 같은 것은, FullText 검색기능을 
내부적으로 어느 정도선까지 지원하도록 개발하느냐에 따라서 틀려질 수 
있습니다.
 
단어를 포함하는 모든 자료를 가져올지, 아니면 단어들중 의미 
있다고 판단되는 단어만을 포함하는 자료를 가져올지 등등… 구글은 
전자의 형태로 개발된 것 같습니다.
당장, ‘a’, ‘are’, ‘this’라는 단어로 검색해보면 엄청난 수의 검색결과를 볼 수 있습니다. MySQL의 FullText 검색은 보통 후자를 택하고 있고,
일종의 자연어 검색(Natural Language Search)을 한다고 밝히고 있습니다.
(단, Boolean Mode도 따로 제공하고 있습니다.)
 
* ‘자연어 검색’에 대해서는 잘 모르지만, 그것과는 별개로, MySQL이 
채택한 검색방식의 핵심을 이해하기 위해서는, 해당부분 MySQL 메뉴얼에서 
자주 쓰인 ‘적절성 값(Revelence Value)’라는 말을 이해해야 될겁니다.
‘적절성 값(Revelence Value)’의 뜻은, 레코드에 포함되어있는 문자열과 
검색하려는 검색어가 얼마나 유사성(Similarity)을 갖고 있는지를 측정한 
것이라고 합니다.(여기에서의 유사성은 단어중 몇글자가 같냐는 식으로 
판단되는 것은 아닙니다.) 그리고, 이 값은 다음과 같은 것들을 계산해서 
나온다고 합니다.
 
레코드안에 들어있는 단어들의 수 
(the number of words in the row) 
그 레코드 안에서 유일한 단어들의 수 
(the number of unique words in that row) 
그 집합 안에서 단어들의  총 갯수 
(the total number of words in the collection) 
특별한 단어를 포함하고 있는 문서들(레코드들)의 수 
(the number of documents (rows) that contain a particular word)
 
‘유사성’이라는 말을 염두에 둔다면, 대충 Revelence Value가 어떻게 계산 
되는지를 유추해볼 수는 있을겁니다. 예를 들어, 검색어로 5개의 단어를 
입력했다면, 5개의 단어들중 각각의 레코드가 몇개의 단어를 포함하고 
있는지, 5개 각각의 단어들이 몇개씩 포함하고 있는지 등에 따라서 
유사성이 틀려질 수 있겠지요. 이 값이 0이면, 유사성이 전혀 없다는 것을 
의미합니다. (Zero relevance means no similarity.)
fulltext 를 이용한 검색 기능 구현 방식은 아래와 같습니다.
 
1. 테이블 생성시에 검색할 필드를 전부 fulltext() 로 잡습니다.
fulltext ( name, subject, contents )
2. 검색 쿼리
select * from table match(name,subject, contents ) against(’“검색단어”’ in boolean mode);
3. 쿼리시 주의점
in boolean mode 선언이 반드시 필요하며, match()의 필드는 fulltext() 에서 선언된 그대로 넣어야합니다.
 
against 에서는 작은따옴표 안에 큰따옴표를 사용해야 온전한 글로 인식되어 검색됩니다.
따옴표가 하나밖에 없다면, or 검색이 되어 원치 않는 결과가 나옵니다
4. 필드 추가시
alter table ‘해당테이블’ add fulltext(‘추가필드’)