Android App - Haven Keep Watch 소개



몇 년전 미국 정보 기관인 NSA가

거의 모든 미국의 통화를 도청하고 있고,

스마트폰에 백도어를 심어

모든 사용 내용을 감시하고 있다는

내용을 폭로해 관련 업계를  떠들석 하게 만들었던

에드 스노든(@Snowden)이라는 인물을 기억 하는가?



그는 미국 정부를 반하고 러시아로

도피해 망명 생활을 이어가면서

일반 사용자들에게 인터넷 및 정보기기 보안에 관한 경종을

울려주고 있는데,

이번에는 안드로이드폰을 활용한 감시앱인

HAVEN 을 출시해 관심을 모으고 있다.




앱의 주요 기능은

스마트 폰에 달린 카메라, 마이크, 가속도센서 등을

이용해 스마트폰이 놓인 위치에

침입자가 있는지 모니터링을 하고

침입자가 있으면 설정한 연락처로

알림을 전해주는 기능을 한다.




ADT, SECOM 등의 보안 회사의 힘을 빌리지 않고,

단지 쓰지 않는 오래된 안드로이드폰에

앱을 설치해

개인 공간에 대한 보안 모니터링 장비로

사용할 수 있는 것이다.




카메라나 마이크,

진동감지 센서에 의해 움직임을 탐지할 수 있게

각각의 체크 강도를 설정 할 수 있으며,

움직임이 발견되었을 경우,

App 상에 Notification이 나타나며,

설정한 번호로 SMS를 보내거나 하는

방식으로 외부에 전달할 수 있다.


스마트폰 보안 전문가인

스노든이 본인의 장기를 살려 만든 이 앱은

오래된 안드로이드폰을 재활용하여

본인의 공간은 지킬 수 있는 보안 지킴이로

활용할 수 있는 훌륭한 기능을

제공해 주는 앱이다.


카메라, 센서 등을 활용하는 특성상

안드로이드 OS만을 지원하는 이 앱은 

구글플레이(Link)에서 다운 받을 수 있다.


- The Dget -

일부 개발자가 밝혀낸

 구형 아이폰 모델(6, 6s, SE, 7)들의 고의 성능 저하 코드가 문제되어 

대량 소송 사태가 이어지는 가운데, 

미국 현지 시간으로 28일 오후에 애플이

자사 홈페이지에 공식 사과문을 게시하였다.


https://www.apple.com/iphone-battery-and-performance/


내용은

iPhone 6, iPhone 6 Plus, 

iPhone 6s, iPhone 6s Plus,

iPhone SE 모델은 iOS 10.2.1부터


iPhone 7, iPhone 7 Plus 모델은

iOS 11.2 부터

갑자기 기기가 꺼지는 현상을 막기 위해

배터리 상태에 따라 기기의 성능을 제한하는 

코드가 포함되었음 공식 인정하였다.


리튬이온 충전 배터리가

충방전을 반복하면서 변화되는 화학적인 배터리 상태가

기기 성능에 미치는 영향에

대한 상세한 설명도 함께 포스팅하여

사용자의 이해(?)를 구하고 있다.

https://support.apple.com/ko-kr/HT208387


해결책으로는

iPhone 6 이후 모델에 대해서 

$79 이었던 배터리 교체 비용을 

2018년 1월부터 $50 할인하여 $29로 내리고

(미국 먼저 실행, 다른국가는 차차 실행하여 2018년 내에 완료)

2018년 1월 해당 이슈에 대한

배터리 상태 및 성능에 관한 내용을

사용자가 확인할 수 있도록

iOS 업데이트를 진행하겠다고 한다.

이번 사건으로 애플은

신형 모델 출시 이후에도

구형 모델에 대해 끊임없이 iOS 업데이트를

제공하며 사용자 지원을 자랑하던 회사에서

구형 기기의 성능을 일부러 떨어트려

신형 모델 구매를 유도하는

부도덕한 회사로 낙인 찍혀 버리는

상황으로 몰려 가고 있는 과정에 있으며,

배상 금액이 1조가 넘는 금액으로

소비자 피해 관련 소송이 이어지고 있는

가운데 얼마나 사용자들의 불만을

잠재울 수 있을지 귀추가 주목 되는 상황이다.


- The Dget - 

SWIFT TIPS - optional value 처리 방법


SWIFT는 C와 유사하지만 Type Strong Language로써

 C나 Objective C에서 처럼 nil 값을 함부로 사용할 수 없다.


SWIFT 상에서 변수에 값이 있는지 없는지 여부를 활용하기 위한

optional value에 대해서 간단히 요약해 본다.


optional 변수 선언 방법

특정 변수가 값을 갖거나 nil값을 가져야 하는 경우,

변수를 다음과 같이 선언하면 optional 변수가 된다.


var someNumber : Int?


그러면 이 변수가 값을 가졌는지

 확인 하는 방법은 다음과 같다.


 Objective C와 유사한 방법으로,  

if 문으로 nil과 비교할 수 있다.


if (someNumber == nil) {

print("someNumber에는 값이 없습니다. nil")

} else {

print("someNumber의 값은 \(someNumber)입니다")

}


SWIFT스럽게 조금 바꿔보면

 if let을 사용해 optional을 처리할 수 있다.


if let number = someNumber {

print("someNumber의 값은 \(number) 입니다.")

} else {

print("someNumber에는 는 값이 없습니다. nil")

}

이렇게 표현이 가능하다.


함수에서 parameter로 받은 변수는

다음과 같이 guard 키워드를 사용하면,

간단히 처리 할 수 있다.


func doubleNumber(number: Int?) {

guard let number = number else {

print("number의 값이 없으므로 그냥 리턴합니다.")

return

}

print("\(number * 2"는 \(number)의 두배 값 입니다.")

}


또, 파라미터로 받은 값이거나

논리적으로 실행 중에 값이 없을 수가 없는 경우에는

강제로 optional을 해제 할 수 있는데,

이를 FORCE UPWRRAPING이라고 한다.


let forcedUpwrapNumber = someNumber!


이렇게 했을 경우,

someNumber가 값이 없는 nil 상태이면

해당 앱은 실행 중에 뻗는다.


이상으로 optional 변수와

그 값이 존재할 때와 존재하지 않을 때에 대한

처리 문법을 간단히 알아보았다.


-The Dget -



구글 크롬캐스트 울트라(Chromecast Ultra) 개봉기


TV를 보다  스마트하게 만들어 주는 구글

크롬캐스트 울트라에 대해 알아보자.



애플, 구글 등의 스마트폰 제조사들은

그들의 고유 영역인 스마트폰의 대중화를 바탕으로

TV, PC, 태블릿 등의 다양한 스크린에 자신들의 컨텐츠를

계속 사용할 수 있게 만들고 하는 전략의 일환으로

TV에는 스마트 TV 기능을 구현하는 셋톱 박스 형태의

제품들을 출시하고 있다.



구글은 크롬캐스트라는 이름으로

스마트폰 앱 내의 화면을 TV와 공유할 수 있는 기능을

제공하는 TV 애드온 기기를  발매하고 있다.

간단히 TV의 HDMI 단자에 크롬캐스트를 연결하고,

USB를 통해 전원을 연결하는 것으로 하드웨어 설치는 완료된다.



스마트폰에서 구글홈 앱을 실행시켜 WIFI 혹은 유선랜으로

네트워크 설정을 완료하면 TV에 크롬캐스트를 지원하는 앱의

컨텐츠를 화면에 표시할 수 있는 상태가 된다.



크롬캐스트 하드웨어 자체는 동그란 모양에 

HDMI 케이블이 매달려 있는 형태이다.



본체 옆부분에는 전원과 데이터 통신을 위해

USB 포트가 달려있고,

제공된 어덥터나 TV에 달려있는 USB 포트와

케이블로 연결하면 전원이 공급되어

사용 할 수 있는 상태가 된다.



초기 모델은 단지 TV의 USB와 연결하는

방식으로 주로 사용되었는데,

4K 해상도를 지원하는 크롬캐스트 울트라의 경우에는

전원어덥터에 LAN 단자가

달려있어, 유선 LAN을 연결하는 것을 추천한다.

WIFI를 통한 4K 화질 전송은

네트워크 사정에 의해 화질이 손상될 확률이 높다.

또, TV USB 단자에 크롬캐스트를

연결해 놓으면 TV를 먼저 켜지 않으면

컨텐츠 전송이 불가능 한데,

상시 전원인 전원 어덥터에 크롬캐스트를 연결해 놓으면,

앱에서 크롬캐스트와 연결을 활성화 하면

HDMI 규격을 지원하는 TV의 경우

자동으로 전원이 켜지는 기능을 활용할 수 있어 편리하다.


주로 TV 스크린에 동영상을 보여준다거나

큰 화면에 게임 등의 실행화면을 공유하는 다양한  앱들이

크롬캐스트를 지원하고 있으며,

비교적 저렴한 가격에 크롬캐스트만 있으면

보다 큰 화면으로 다양한 컨텐츠를 즐길 수 있어,

새로운 TV 구매자들의 필수품으로 자리 잡아가고 있다.

소니 등 일부 TV 제조사들은 아예 TV에

크롬캐스트를 내장하여 판매하는 경우도 있다.


이상으로 간략한 구글 크롬캐스트 울트라 개봉기를 마친다.


- The Dget -


아마존 킨들 페이퍼화이트 (Amazon Kindle Paperwhite) 개봉기



지금은 아마존 하면 의례 온라인 쇼핑몰이 떠오르지만, 

본래 아마존의 시작은 인터넷 서점이었다는 점을

아는 사람은 많지 않다.

이 본업에 충실하기 위해 아마존은

킨들이라는 전자잉크를 사용한 태블릿 형태의 e-book 리더를

꾸준히 개량 판매하고 있다.



초기 버전 킨들은 백라이트도 없는

전자잉크라서 밝은 곳에서는 가독성이 뛰어났으나

실제 인쇄된 책과 같이

어두운 곳에서는 읽을 수 없는 단점이 존재하였다.

6인치 스크린에 해상도도 그리 높지 않아

167ppi 수준의 직접도를 가지고 있어

글꼴의 가독성도 떨어지는 약점도 있었다.

최근에 이러한 단점을 해소한

 킨들 페이퍼화이트 버전을 추가하였는데,

이 기기에 대한 개봉기를 시작하겠다.



$119.99 에 팔리고 있는

킨들 페이퍼화이트 에디션은

블랙/화이트 두가지 컬러 라인업으로 구성되어 있다.

WIFI전용 모델과 WIFI+Celluar 모델 두가지가 선택 가능 해

총 4가지의 조합의 모델이 존재한다.



하드웨어 수준은

300ppi 수준의 해상도, 백라이트를 가진

6인치 전자잉크 스크린과 4GB 메모리,

205g 무게, 일주일 이상 가능 배터리 등의 스펙을 지녔다.


박스 안에는 간단한 설명서와

킨들 본체, USB 연결케이블이 들어있다.

충전기, 케이스 등 악세사리는 별도로  판매되고 있다.



기기 하단에 전원스위치와

충전 혹은 컴퓨터 등을 연결해 데이터를 넣을 수 있는

USB 포트가 위치한다.



300ppi 백라이트 전자잉크의 가독성은 매우 훌륭하며,

200g 초반의 무게는 한손으로 들고 책을 읽는데 전혀 부담이 되지 않는다.

4개의 LED 백라이트를 사용하고 있는데,

특정 베젤 부위에서 일부 빛샘처럼 보이는 현상이 있는 부분은

조금 아쉽기는 하다.



후면에는 아마존 로고가 크게 새겨져 있으며,

각종 인증 마크들이 하단에 표기되어 있다.

2017년 현재 한글은 미지원이며 

대한민국 내 판매를 위한 KC 인증도 미취득 상태이다.



기본 버전의 아쉬움이 해결 된 것 같아

구입한 킨들 페이퍼화이트 버전은

한글 미지원 부분과 국내서적 미지원 부분이 여전히 아쉽기는 하지만

epub 변환 등을 통해 한글 컨텐츠를

읽을 수 있는 방법이 있고,

다양한 PDF 문서를 읽을 수 있다는 점에서

만족하며 사용하고 있는 중이다.


- The Dget -


+ Recent posts