반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

Weather Station


Weather Flow


https://www.indiegogo.com/projects/weatherflow-smart-weather-stations#/


작년에8월인가? 9월에 펀딩했는데

1년이 지나서 이제야 왔다..


이제품을 소개해주셨던 admusic님 후기도 참고하자

https://cafe.naver.com/stsmarthome/4202 


난 간단 후기 및 SmartThings DTH 개발을 위주로






Sky는 사방이 트여있는 야외에 설치하고


Air는 천정이 덮여있는 야외에 설치해야하는데...


아파트지만 우린 개방형 발코니가 있으니...


사방이 트여있진 않지만... 설치해보기로했다



SKY는 재활용장에서 굴러다니는 행거 파이프를 하나 주서와서

설치햇는데 지름이 딱맞아 설치가 간단했다.


케이블 타이로 고정하고 단차나는 부분은 

은쟈 화장솜을 겹쳤다.

그리고 케이블타이로 딱 고정하니 아주 굿



풀 Shade가 없기때문에 우선 발코니 가장 끝에 두고

화분받침대 뒤집어서 바닥의 열을 덜받게 하고

위엔 좀더 큰 화분 받침대를 덮어서 full shade??를 구성하였다 ㅋㅋㅋ



위사진 이후 3D Printer를 구입하여

마운트 제작


[붱이 Story/3D Printer] - Weather flow mount 제작




이젠 앱 연동 아주 깔끔하다





각요소들을 Graph로도 볼수있어서 좋다 아래는 풍속 풍향에 대한 그래프이다.



몇일 써보니 레인센서의 감지도는 아주 우수하다


가장 큰활용도가 될것같다.


허나 이것들을 산 이유는 단지 SmartThings에 연동된다 하여 구매하였는데


1년이 지난 지금도 지원하고 있지않다.


그저 Ifttt로 비오면 가상 스위치 만들어서 연동해서 써야한다


헌데 가상스위치를 반대로 언제 꺼놔야하는지가 참 애매했다.


근데 API가 오픈되어있더라 그래서 DTH를 만들었다


https://weatherflow.github.io/SmartWeather/api/



아래는 개발의 결과물이다.


이제는 IFTTT없이 SmartThings에서 내가원하는데로 자동화를 할수있게 되었다 !!!

아주 기쁘다


Korean Version


English Version




Detect 에 대한 옵션도 변경하여 원하는데로 설정을 가능하게 하였다.





사용법은 간단하다 SmartThings IDE에서 내 깃을 등록하고 weather flow를 선택해서 publish하고 


New device를 하여 device type을 weather flow를 선택해서 만들면 끝



그리고 자신의 Station id를 기입하면 끝~~~



git 연동을 안하였다면...


git hub 에서 소스를 가져와서 dth를 publish 하면된다.


https://github.com/WooBooung/BooungThings/blob/master/devicetypes/woobooung/weather-flow.src/weather-flow.groovy



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

 Xiaomi Flora 식물 모니터링을 해주는 센서가 있다.


진짜 샤오미는 별걸 다만드는듯


알게된건 SmartThings 카페 오날두님에 의해서 알게됬다.


자세한 소개는 오날두님 포스팅으로 대체


https://blog.naver.com/fuls/221081558948



그러다 카페 아기나무님이 Mi-Connector에 Flora를 지원해주면서


SmartThings에 연동이 가능하게되어 구입을 하게되었다


Mi-Connector에 관련된 내용은


카페 링크로 대체

https://cafe.naver.com/stsmarthome/3496


은자 하나 나 하나 두개를 주문했다.


보름만에 온것같다.





요건 은자꺼 이름은 어렵다 

왜 맨날 왜 저렇게 옆으로 크는지 모르겠다




내 최애 식물 소포라



이렇게 장착하였지만

Flora care는 초기 한번만 붙여보고 사용하지않았다



이유는?

BlueTooth로 되어있어서 폰이 가까이 있을대만 값을 볼수있다.



구려



하지만 우리의 Mi-Connector를 이용하면



시놀로지 NAS가 원하는 주기마다 땡겨와서 


SmartThings에 쏴주기때문에 어디서든 값을 볼수있다.



요렇게 샤오미 블루투스 온습도계는 서비스~~

동일하게 Mi-Connector에서 지원한다.




근데 이렇게 보이기까지 .... 우여곡절이 있었으니



시놀로지 NAS에 달아둔 ... BT 동글은

참고로 요제품이다.

http://www.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=2059355588


거리가 너무 짧아도 너무너무 짧다....

이거너 이제품뿐만아니라 대부분 그런것 같다.

나스에서 꼽아쓰면...


여튼

NAS는 컴퓨터방에있는데 거실에 있는 플로라와 BT 온습도계는 통신이 안된다.



그래서!!! 또 질렀다


USB 연장선.... 알리서 3M하나 2M하나 flat 타입 8.72 달라 무료배송

vention usb로 검색하면 나올테니 알아서 찾으시고~



아래 잘보일라나 모르겠다 최대한 안보이게 하려고 ㅎㅎ 흰색 벽지 끝에...



이렇게 문뒤로 연결하여 거실까지 꺼냈다



동글과 각 샤오비 BT 기기들의 거리는 요정도다


아주 잘된다!!!! 브라보



플로라 값이 20%정도면 물줄때인것같아


20%가 도달하면 SmartThings에서 노티가 오도록 자동화를 만들었다.


아주 유용하다 굿!!!



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


반응형
반응형

※ 우리 부부가 직접 구매하고 사용한 후기입니다.

 


[붱이 Story/IoT] - IoT 입문기 10탄 - 구글홈으로 선풍기와 에어컨을 키고 끄자

[붱이 Story/IoT] - 독일서 구글홈 미니 구입

[붱이 Story/IoT] - 삼성 R6 Bixby TTS-Samsung Connect Audio Notification 사용

[붱이 Story/IoT] - 네이버 클로바 - 필립스 휴 조명 컨트롤 하기


이미 작년부터 구글홈과 미니는 미국과 독일서 사서 영어로 쓰던중에

작년말에 한국어 지원한다더니 여태 안하다가

9월 11일 드디어 지원이 시작되었다


18일이 정식 발매일인데


오후가 되니 지원 언어에 한국어가 보였다


이미 산 해외 기기라도 정발이 아니라도

한국어 사용이 가능하다.


우선 집가기전에 설정을 미리하자

설정법은 아래와 같이 순서데로 따라하자 쉽다



어시스트 언어에서 한국어 선택~



그리고 난 SmartThings에서 모든 기기가 연결되어있어서 SmartThings를 연동하자


이미 되어있지만 방법은 요렇다.



첫장은 위에것 재활용한거여서 화살표가 잘못 표기되어있지만

Home 기기 제어에서 기기추가를 선택하여 SmartThings 계정과 연동을하면


모든 기기들(Switch, Light, SmartPlug, Mode)이 넘어오게된다.


여기서 팁을 주자면 기기이름은 모두 한글이고 띄어쓰기가 없을수록 좋다

기기이름은 그대로 두고싶으면 닉네임을 이용해서 해도좋다.


그리고 방 구분이 아주 중요한데 이유는


구글홈이랑 미니등 각방에 있을 경우 


저기에 방배치한대로 이런게된다.



간단히 예를들면 


거실 : 구글홈, 조명1 조명 2 조명 3


안방 : 구글홈 미니, 조명4, 조명 5



이상태에서 안방에서


"오케이 구글, 조명 켜줘" 

하면 알아서 안방의 조명4, 조명5 만 켜준다.


그렇기때문에 방구분을 잘해서 배치해야한다.



이제 주저리 주저리 말이 길었고 영상으로 모든걸 대체하겠다


상황설명만 간단히



영상1) 구글홈으로 TV와 연결되어있는 SmartThings Smart Plug를 킨다.

KuKu harmony와 연동되어있는 TV를 켠다

그리고 다시 TV를 끈다




영상2) 필립스 휴 스트립을 켜고 끈다. 

그리고 색상을 변경하고 밝기를 조절한다. 밝기조절은 내가 크게 변화를 안줘서 티가 안난다

그리고 샤오미 커튼을 연다.

그 다음 모든 집 조명을 켠다.

거실 부엌 안방 다용도실 컴퓨터실의 연결된 조명이 켜진다.

그리고 모든 조명을 끈다.


!!! 주의할점 !!!

"모든 조명 꺼"하면 조명만 끄는데...

"모든 불 꺼" 하면 구글홈과 연동된 모든 디바이스를 꺼버리니 조심...

컴터하다가 ... 벙찜




영상3) 단일 구역의 조명만 켜기(부엌) 

그리고 영화 모드 실행하기 

영화모드는 모든 조명을 끄고 색상과 밝기조절 및 거실과 복도의 조명만 킨다.

그리고 샤오미 커튼을 닫는다.

SmartThings에서 만든 모드이다






영상4)  SmartThings에 연동된 도어락을 문열기 모드로 만들어서 구글홈에서 실행한다



영상5) 샤오미 선풍기, 가습기, 커튼, eZex Light, 삼성 공기 청정기 큐브를 제어한다. 

이번엔 구글홈 미니를 통해 제어하였다.


영상찍으면서 한국어를 정말 잘인식하는 구글홈에 놀랐다.



참고로 지금 글쓰면서 생각난 영상은 못찍었지만

거실에 시스템 에어컨과 다이슨 선풍기도 제어가된다.



해당 기기들을 연동하기까지의 과정은

블로그 위에 붙어있는 배너(SmartThings Cafe)타고 가면

많은 정보들이 있으니 거기서 찾아보시길....


아니면 요기




구글홈 한국어 사용기 끝....




추가  --------------------------- 추가



[붱이 Story/IoT] - 구글홈 정식 출시 한국어로 SmartThings 연동된 기기 상태값 물어보기


정식 출시 이후 상태값 물어보기도 되니 위 포스팅도 구경해보세요


필립스 휴만 가지고 계신분들을 위한 포스팅은 따로 다루었습니다.

[붱이 Story/IoT] - 구글홈 x 필립스 휴 사용자들을 위한 연동 및 사용방법 소개

[붱이 Story/IoT] - 구글홈 홈 컨트롤 - SmartThings 기기중에 원하는 기기만 등록하기




※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

우선 쓰기에 앞서 준비한것은 


WD 8TB HDD x 2


이걸 준비하기까지 오랜시간이 걸렸다


핫딜뜰때 산거라...


Easystore WD 8TB 검색하면 많이들 나오니 검색 ㄱㄱ



169달러 Eaystore를 먼저 겟해서 가지고있었고

(위사진들)


HDD 적출법은 아래 블로거님꺼 참고해서 분리했다.


https://pspsim.blog.me/221229085392


참고로 쉬워보이지만 처음에 고생했다.. ㅠㅠ


두번째 분리땐 그나마 쉽게함


두번째 elements분리는 메이크리즘님꺼 참고

http://makelism.tistory.com/entry/WD-8TB-Elements-Desktop-Hard-Drive-%EC%A0%81%EC%B6%9C?category=689239


149 달라 elements가 아마존 직배 무료배송으로 떠서

(아래 사진들)

구입 링크 ...

https://www.amazon.com/gp/product/B07D5V2ZXD/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1


지금은 무료배송이 아지만 그래도 싼가격~



바로 구입해서 드디어 8TB 두개가 모였다.


둘다 white... 


이제 Synology 2TB x 2를 어떻게 자료를 옮기고 세팅을 옮길까 고민고민


여러분들께 문의 및 검색 결과


최종 이방법이 제일 낫다고 생각하여 진행을 옮겼다




진행 사항 요약


새로운 HDD를 이렇게 명칭하고 설명하겠음

8TB HDD(A) 8TB HDD(B)


1. 기존 2TB x 2 의 내용들을  Hyper Backup을 이용하여 모두 새로운 B에 백업을 한다

B는 USB로 연결 

총 1.6TB기준 약 7시간 소요


2. 제어판 업데이트 복원에서 구성 백업을 한다. dss파일 생성


3. Nas전원을 내리고 기존 2TB를 모두 빼낸다.


4. 새로운 A를 716+ Disk1 에 장착한다. Disk2는 비워 있는 상태


5. Disk1이 장착된 상태에서 전원을 올리고 

dsm image를 synology site에서 내려받고

synology assistant를 이용하여 설치한다.


6. 신규 사용자처럼 진행한뒤 2번에서 백업한 구성설정 백업 복원한다. 


7. hyperbackup package를 설치하고 1번 내용을 A에 복원을한다.

총 1.6TB기준 약 7시간 소요


8. B를 포맷하고 USB연결을 해제하고 716+ Disk2에 장착한다


9. 그외 백업 불가능한 부분들을 다시 재설정한다.

docker관련, download 관련, db관련



전체 진행사항은 이렇고 세부 설명이 필요한


hyper backup, 구성백업, 초기 복원은

아래에서 다시 세세하게 

알려주겠음



hyper backup

실행을하면 여러개 나오는데

내가 사용한건 맨왼쪽 위


"로컬 폴더 및 USB"를 사용하였다.

아래 (단일 버전)은 뭔지 모르겠다...



다음을 누르고 나면 나오는 화면에서 헷갈릴수 있는데

요기 화면은 "어디다 백업할래?" 라는 소리이다.

난 "뭘 백업할래?" 인줄알고 헷갈렸다.


헷갈리지말자


공유폴더는 usb로 꼽은 B하드의 이름이 뜬다

만약 설정하지않았으면 usbshare1인가 이런식으로 뜰것이다.

그리고 디렉토리도 내가 만든 폴더다.



다음을 누루면 기존 Synology에서 쓰고있던 공유폴더가 쫙 나온다~(아래사진)

여기가 "뭘 백업할래?" 단계이다

정리하고싶었던거나 백업 굳이 안해도되는건 빼고 다 선택하면된다.




다음을 누루면 hyperbackup을 해야하는 이유인

응용프로그램 백업이 있다

photostation 공유 폴더 자동 백업

web station 가상 호스트 설정값 그외 세팅

(추후 php나 db 이런건 따로 또 설치해줘야 정상동작한다)

걍 모두 선택하자~



그리고 다음 진행하면 몇개 더 설정이 있는데 캡처를 놓쳤다

백업 일정 반복 뭐이런것도 있고 하는데 난 한번만 할거라 설정하지 않았다.

그리고 다음 넘기면

지금 백업 시작? 이란 팝업이 뜨는데 누루면 진행이된다.



아래보면 24일 18:38분에 시작했는데

새벽 01:11분에 완료된걸 볼수있다.

총 1.6TB기준 이정도니 참고하자~




구성 백업


그리곤 구성 백업 요걸해야 samba나 친구들하고 같이 쓰고있었다면

유저 계정 정보라던가 ftp설정 등등을 귀찮게 다시 안해도된다. 

백업을하면 dss파일이 로컬 pc에 저장된다~

꼭하자




이제 백업은 모두 완료


복원을 해야한다




복원



A Hdd만 716+의 Disk1에 장착된 상태에서 전원을 올린뒤에

Synology Assistant를 실행하면

설치파일은 여기

https://www.synology.com/ko-kr/support/download/DS716+#utilities


아래와 같이 잡힌다 근데 상태를 보면 빈상태이기 때문에 "설치되지 않음"이다.



설치파일 링크로 이동해서 DSM파일을 다운받는다.

https://www.synology.com/ko-kr/support/download/DS716+#utilities



그리고 Assistant에서 Disk1오른쪽 클릭 "설치"를 누르면

아래와 같이 설치 마법사가 뜬다

위에 다운받은 dsm파일을 선택하자


그럼 설치가 진행되고 완료되면

최초 Synology nas 설정할때처럼 web으로 접속하면된다.



접속을 해서 제일 처음 할건 구성 복원

아래처럼 아까 백업할때 구성 백업해둔 dss파일을 선택해서 복원하자


모두 선택 하고 확인



아래와 같은 메세지가 뜨는데 

공유폴더는 아직 복원전이기때문에 이렇게뜬다.

무시해도된다. 



이제 구성 복원을 한뒤에

hyper backup을 package 설치뒤에 복원을 진행하자


hyper backup을 실행해서 왼쪽 아래에

"기존 리포지토리에서 복원" 을 선택



"왼쪽 위 로컬 폴더 및 USB" 선택



여기도 말이 헷갈리지만 백업해둔 폴더가 뭐니? 라는 질문이다


위에서 새로운 하드 B에서 백업해둔 디렉토리를 선택하면된다.

아직 B는 USB로 연결된 상태이다.



선택을 하게되면 아까 백업했던 시간이 보인다.

선택하고 다음


이것도.... 7시간 정도 걸린다.. 켜놓고 자니 아침에 되어있었다.



이후엔 docker쓰고계시던분은 다시 다해야한다...

그리고 download station에서 rss필터 건것들도 다시 걸어줘야하고...

web service 쓰시던분들은 php 랑 apach 설치를 해줘야한다.


그리고 이제 usb에서 B를 제거하고 Disk2에 장착하고 volume2지정해주고 사용하면 된다.


요정도만 새로해주면 기존과 동일하게 돌아온것으로 보인다.


남은 2TB는 Easystore에 다시장착해서 외장하드로 사용이되니 참고

elements에는 장착이 안된다.. 사이즈가 안맞음..



힘든 NAS HDD 교체기 끝~~~




※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

은쟈 Story

 

 

육류나, 해물 같은 음식들은 최대한

온라인 구매를 꺼려하는데

 

붱이의 최애 요리 모.츠.나.베를

매번 음식점 가서 사먹기 부담스러워서...

집에서 직접 만들어볼까 해서 알게된 파파쿡 모츠나베.

 

재료랑 소스 다 배송되서 조리만 하면되는데

음식점 가서 먹는것보단 훨씬 맛없겠지- 생각하면서

후기를 보니 ㄷㄷㄷㄷ

만족도가 꽤높고 모츠나베로 유명한 판매자라서 믿고 주문!

거기다 사먹는것보다 훨 싸서 맛없으면

다음에 거르면 되겠거니 하고 반신반의 주문완료.

 

주말에 먹으려고 목요일에 주문했는데

딱 맞게 도착했다!

 

이렇게 아이스박스에 재료들 포장 이쁘게되서 왔음.

 

 

포장된 재료는 양배추,숙주,우동사리,대창,버섯,우엉,고추,깨,마늘,부추,소스인데

제일 중요한 대창, 양배추, 숙주, 우엉, 마늘, 부추가 국내산이다♡

 

양배추도 주문하고 바로 포장된건지 상한 부분없이 싱싱!

 

 

 

대창은 사실 정말 기대안했는데 외관상 상태는 합격이라 만족스러웠다.

 

냄비에 물 좀 채우고, 소스넣고 재료들 차곡차곡 넣으면 되는데,

우리가 자주먹었던 '후쿠오카 모츠나베' 서울로점에는 두부가 있었던것 같아서

두부랑 버섯 좀 더 사서 넣었다.

 

부추랑 고추 비주얼이 아름다와-

 

 

보글보글 끓으면 대창 상태보고 먹으면 된다.

집에서 모츠나베 먹기 짱쉽!

 

 

완성된건데..... 비주얼은 이래도 소스 진짜! 대창 진짜! JMT!

 

 

 

대창도 요롷게 잘익어서 통통구리-

달달소스에 먹어도 맛나고, 옆에 같이 포장된 고춧가루느낌쓰에 먹어도 맛나고!

후쿠오카 모츠나베 하나도 안부러운 맛!

 

 

 

개인적으로 곱창,대창은 느끼해서 잘 안먹는데

모츠나베로 먹으면 참 맛있다.

하나도 안질리네!

 

요즘은 너무 더워서 혹시나 배송중에 상할까봐

안시켰는데 좀 더 선선해지면 또 해먹어야 겠다.

 

모츠나베 전문점이 근처에 없다면

파파쿡 완전*100000 추천!

 

 

 

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

SmartThings 계정으로 원래 사용하다가

순차적으로 Samsung Account와 통합이 이루어 지고있는데

 

통합 후에 로케이션이 두개가 되어

원하는 로케이션을 냅두고

나머지 하나를 지우고 싶은데

못지우는 경우에 대한 팁을 소개하려고한다.

 

Location 이름을

SmartThings계정에서 쓰던 Location을 "SmartThings"

Samsung Account로 쓰던 location을 "Samsung"

이라고 칭하겠습니다.

 

사용자 케이스 1

"SmartThings"에만 기기를 추가하고 쓰고있었고 O

"Samsung"에는 기기가 없는경우 X

 

"Samsung" Location을 지우고 싶은데 안지워진다!!

 

사용자 케이스 2

"SmartThings"에는 기기가 없고 X

"Samsung"에는 기기가 있는경우 O

 

"SmartThings" Location을 지우고 싶은데 안지워진다!!

 

사용자 케이스 3

두 Location 모두 기기가 추가되어있는경우

 

한 로케이션으로 모든 기기를 모으고 싶다!!!

 

 


사용자 케이스 1번 2번의 해결 방법 - 필요없는 Location을 지워라

 

https://graph.api.smartthings.com 로 이동하여 "My Locations"를 클릭한다.

 

앞으로 쓸 Location을 클릭하여 "Edit"을 누른다

 

 

누르게 되면 Default Location이란게 보이는데

 

아마 쓰고싶은 Location이  "false"로 되어있고

안지워지는 Location이 "true"로 되어있을것인데.

 

true를 false로는 바뀌지 않지만

 

false가 true로는 바꿀수 있다.

 

이행위로 default location이 바뀐다.

 

SmartThings는 Location이 꼭 한개를 가지고 있어야하는데

Default홈은 지워지지 않는다.

 

이렇게 자기가 앞으로 쓸 Location을 Default Location으로 지정하고 난뒤

 

남은 Location을 지우기 시도를 하면 지워질 것이다.

 

 

 

 


사용자 케이스 3번의 해결 방법 - 모든 디바이스를 이동시켜라

 

 

두군데 따로 따로 쓰고있을수도있다

 

실수로?

 

또는 모르고?

 

그럼 난 하나로 합치고 싶어!!! 의 경우도 있을텐데

 

이렇게 하면된다

 

New SmartThings앱을 열고

 

장소 편집을 한다.

 

장소 편집은 숨어있으니 이렇게 하면된다.

난 안드로이드 사용자니

안드로이드 기준으로 설명하겠다

 

 

1. 앱실행

2. 아래 3개 탭중에 가운데 "디바이스" 선택

3. 왼쪽위 모든 디바이스 부분 선택

4. 이동할 Device가 있는 Location 선택

5. 맨오른쪽 점 세개 More 메뉴의 "편집" 선택

 

그럼 이렇게 아래 화면이 나온다 숨어있으니 잘찾길바란다.

 

 

 

 

6. 오른쪽 more 메뉴를 누르면 "내 디바이스 모두 이동"이 보일것이다. 선택하자

 

 

 

7. 이동시키고자 하는 Location이 보이고 선택하면 모든 디바이스가 이동될 것이다.

 

 

그다음 남은 Location은 안지워질 경우

위에 사용자 케이스 1번 2번 해결 방법으로 하면 된다.

 

팁 끝~

 

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.

 

 

 

반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

안드로이드 다시 시작한지 2년차...

약 7~8년전 깔짝 배운걸로만 하려니

발전이 없어 신문물을 공부하기로 하고 

Kotlin을 공부 하였다.


우선 가장 추천이 많은 

Kotlin in Action을 샀다...


커니의 코틀린은 빌렸는데 이 두책이 가장 볼만한듯 하다



책에서 소개하는 아래 링크를 가보자


http://try.kotl.in


아래와 같이 빠르게 웹에서 테스트가 가능하다.

처음 문법익히고 요것저것 간단히 테스트해볼때 유용할듯하다.



기초적인 문법들은 블로깅 된게 많으니 Pass


내 기준 오! 이거 좋네?

이런게 되?

신기하다~

이건 알아두면 나중에 쓰겠지?


하는 항목을 나열해보았다.


Smart Cast

Null safety call “?.”

 Elvis operator “?:”

let operator

Triple quote “”” 

Default arguments and named arguments

Extension functions | infix

Singleton “object”

Local functions

“apply”

“with”

“run”


Smart Cast


위 링크에 Examples 중에 책의 예제코드들이 있는곳으로 가서

코드를 돌려보자


"is"

 java에서 instanceof와 같다.

해당 오브젝트의 타입을 확인할때 쓰곤했었다.

뭐 여기는 문법의 차이라고 보면되지만

그다음이 중요하다 

as를 통해 Num Class를 casting을 명시적으로 해주었지만

아래 message창을 보면 warning이 뜬것을 볼수있다

"No cast needed"


kotlin에서는 is로 이미 체크하고 다음 블록에선

따로 casting 없이 바로 쓰면된다.

 Num으로 캐스팅이 된 상태라고 보면된다.

(사실 컴파일타임에 알아서 캐스팅해준거다)


두번째 Sum 체크에서 보듯이 블록안에서는 casting 없이 사용한 것을 볼수있다.


요 기능이 "Smart Cast"라고 부른다




Null Safety Call "?."

Null Safety call "?."

아래 자바 스타일 함수에서 보듯이

자주 쓰는 null 체크가 


위에 ?. 하나로 간결하게 줄어든것을 볼수있다.

아주 심플하다. 

말그대로 ?. 왼쪽이 null이 아니면 오른쪽을 수행하고 아니면 null을 돌려준다.

아주 코드가 심플하다



아래는 chain으로 사용하는것을 보여준다.




Elvis Operator "?:"


아래 코드보면 이해가리라 생각이 든다.

null일경우 기본 값을 지정해주는 용도?



기본값이 아닌 원하는 Exception을 발생시킬수도있다.

아래 코드를 보고 이해하자~




"let" operator

let은 "?."와 같이 자주 쓰인다.

객체가 null이 아니라면 뭔가 수행한다로 보면 된다

아래코드보면 이해가 쉬울것이다~

앞서 두개의 sendEmailTo만 수행되고

마지막은 email이 null이여서 수행이 안된것을 확인할수 있다.




Triple Quote """


3중 따옴표 안에 글씨를 쓰면 개행까지도 표현가능하다

개행뿐만 아니라 back slash를 써서 특수 문자를 표시하던것들을

없이 바로 출력해준다.

booungEx 문장을 보면 이해가 갈 듯


trimMargin()으로 |(파이프) 까지는 잘라준다.(default)

17번 18번 line 수행결과는 같다



Default arguments and named arguments


C++에선 있지만...Java에 없어서 살짝 불편했었던 Default argument


Kotlin에선 좀더 진화된 Default arguments와

named arguments를 제공함으로써

Java에서 수많은 overloading이 필요했던것을 대폭 간소화 시켜준다.

아래 .. 내가 예제로 짠거지만 요걸 찬찬히보면

java때와 비교해서 볼수있을것이다.


Kotlin에서의 Default arg, Named arg는 다 이해했다고 봐도 될듯하다.(붱피셜)


main에서의 음영부분이 Named arg를 사용한것이다.

결과는 위아래 동일하지만 코드는 엄청 심플해진것을 알 수 있다.



Extension functions | infix


확장함수 요것도 물건이다..


예전 Java에서는 상속을통해 함수를 추가하곤했다


코틀린은 상속없이 마치 원래 멤버함수인것처럼 함수를 확장할수 있다.


String에 lastChar라는 함수를 확장했고

Int에 max 함수를 확장한 코드이다.


추가적으로 fun 앞에 중위함수표시인 infix를 적어넣으면

13 14 line 형태로 코드를 작성할수도 있다.

infix는 굳이 꼭 이래써야하나 싶긴하다...

그래도 신박한 기능이라 생각해서 언급해보았다.



Singleton "object"


Kotlin에서 싱글톤.... 너무 심플하다 그냥 class대신 object로 쓰면된다.





Local function

로컬함수가 된다... 우선 알고만 있으라는 뜻으로 언급해봤다

함수 안에 중복되는 코드가 있을경우...


아래와 같이 함수 안에 또 다른 함수로 중복 코드를 줄일수 있다.

모르면 있는지도 모르지만

알고나 있으면 ... 써먹을때가 올지도...





여기서 부터는 커니의 안드로이드를 참고하였음

자세한건 링크서 확인하고

https://www.androidhuman.com/lecture/kotlin/2016/07/06/kotlin_let_apply_run_with/



저는 이해한바만 ...


apply operator

apply는 어떠한 객체를 생성할때 property에 원하는값을 넣어서 생성할때...

아래 코드를 보면 위아 래 같은 코드이다.


사실 장점은? 모르겟지만 코드가 분산되지 않는다는거??

모르겠다 사실 뭐가 장점인지...





with operator

apply()와 유사하지만 내가 이해한건...

이미 생성된것에 대한 property를 변경시?

아래코드 처럼 이미 다른데서 생성된 messageView를

this로 접근하여 property값을 바꿀때 쓴다?

this생략도 가능


장점 이것도 잘모르겠다 


우선 존재를 알고 어느정도 알아야.. 

코드 해석을 할테니




run operator

run()은 두가지 형태가 있다.


먼저 객체없는 run()은 아래 코드와 같이

어떤 계산이라던지 작업을 한 결과를 리턴한다.

아래에서 블록의 마지막줄의 결과가 리턴이된다.



객체를 통한 run()은 생성된 객체의 연속된 동작이 필요할때

사용되는데 with()와 비슷하다


다른게 있다면 non-null상태여야한다.

 let과 with로 표현이 가능하다.

아래 코드를 보자~




더 재미난 기능들이 있지만

첫 코틀린은 여기까지...



제가 잘못 이해하고 있거나

잘못 기술 한점은 댓글로 알려주시면 감사하겠습니다.

단 !

비아냥은 노노



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.




반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

[사용기/IT기기] - 아이패드 프로/ 애플 팬슬 / 스마트 키보드 구입기

애플 팬슬을 사서 .... 분실하기 쉽게 되어있는

캡과 젠더 .. 그래서 홀더가 필요했었다.


한님이 마침 핫딜을 알려주셔서 구입하게된

Apple pencil Accessories 


애플 팬슬의 촉 커버, 캡 홀더, 젠더 홀더 구성




한님이 알려주실땐 무려.. 0.06 달러... 100원도 안됨...

2018.06.27 환율 기준

근데 Amazon prime인경우 배송도 무료...(미국내 배대지까지만)


지금 들어가보니 이제 핫딜은 없다... 

그래도 사고싶으신분들을 위해 링크

아마존 링크



드디어 100원짜리가 왔다.


사이트 이미지 보단 쬐끔 질이 떨어져보이지만 만족




안그래도 펜촉 떨어뜨리면 찍힐까 걱정

펜슬 캡 잃어버릴까 조심

충전 젠더는 관리 안될것 같아서 박스에서 꺼내지도 않았는데

이번에 꺼냈다


아래는 모두 장착후 홀더들 제거된 상태


촉 커버, 캡 홀더, 젠더 홀더 장착 상태 모습


100원의 만족ㅎ



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.



반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

화장실엔 아직 딱히 IoT 관련 작업을 안했지만


화장실 재실에 맞는 등 On/Off 정도는 꼭 하고싶었다


메이크리즘님 블로그(링크)를 보고 이런게 있구나는 알았지만


카운터 센서 송수신부가 너무 크고 안이뻐서 하고싶은 맘은 없었다.



그러나....


얼마전 카페 스텝이신 플루님 집에서 신세계를 경험하고는


바로 주문을 하였다.


거실 화장실 + 안방 화장실


그리고 안방 화장실은 4구 스위치라 아크릴 커버도 같이 구입하였다.

가정용을 구입하였으며 3인까지 카운팅된다

모델명은 HST300CAW




역시 다시봐도 너무 크고 안이쁘다..


저 검은선 아래부분이 다 AA 베터리인데

이부분은 좀 소형 베터리로 개선이 시급하다

너무 커...




안방 화장실 설치


먼저 안방 화장실부터

먼저 누전차단기를 내리고 작업을 하였기때문에 

많이 어둡다


그래서 필립스 Hue go를 가져왔다 포터블로 이동이 가능하기에...



보다 시피 안방은 4구다 보템 스위치보다 커서 

제거시에 남는 공간이 많다





선연결은 좀 헤맸는데 빨간선이 전원이고 

녹색? 검은색? 두개선이 전등 1 2

노란색 파란색은 환풍기다


사진은 못찍었지만 보템엔선이 총 3개이다


"R상", "Fan", "Light"


R상에 전원 빨간선을 연결하고


Fan에 파란색을 넣던 노란색을 넣던 동일하게 동작해서 하나만 엮고

나머지 한선은 절연 테이프로 막았다.

그리고 Fan에는 케이블이 두개를 연결할수있는데

전등이 두개인경우 한개를 넣으면된다.

안방에는 전등이 두개임으로 환풍기에 가까운 남는 전등2를 연결하였다 


그리고 Light에 전등1을 연결



(사진 위) 원래 스위치를 제거 후 남는 공간을 가릴 

아크릴 커버와 보템 스위치가 설치된 모습이다.


그리고 문틀에 설치된 카운터 센서 바닥으로부터 60cm에 설치하였다.




동작 영상은 아래에서 확인 아주 빨리 동작하는걸 볼수있다.





거실 화장실


거실 화장실은 바로 교체가 가능한 3구이다.



거실 화장실은 간단하다

전원 빨간색

전등 검은색

환풍기 노랑 파랑


남는선 없이 연결해서 설치된 모습(아래)


허나 우리집은 환풍기는 매번 사용하지않고


필요시에만 on을 하였다.


근데 보탬 기본설정은 전등과 환풍기가 동시에 켜지고 동시에 꺼진다


그래서 문의를 남김


전등만 자동으로 on/off되고 


환풍기는 기존처럼 수동으로 하고싶었다.


그래서 보템 고객문의에 문의 결과 답변은 아래와 같다


가능하다는 답변이고 아래와 같이 따라하니 

원하는데로 환풍기는 수동으로 변경되었다.




여기서부턴 보탬 답변 내용~~~


안녕하세요!

환풍기 수동설정 방법에 대해 설명드리겠습니다.

1. 아래 설명서를 보시면서 세팅모드에 진입 합니다.

2. 세팀매뉴얼의 2단계로 진입해서 부저음1회 : 시간없음 으로 설정변경한 후 환풍기 버튼과 전등버튼을 동시에 2초간 누르고

   있으면 삐삐 부저음 후 저장되며 변경 완료 됩니다.

*변경 후 동작은 환풍기 버튼으로 눌러 켜고 다시 버튼으로 끌수 있구요 혹시 끄지 않았다면 5단계 설정대로 1시간 후 자동으 로 꺼집니다.

1시간이 짧다면 5단계 시간설정을 원하시는 시간으로 변경 하시면 됩니다.





은쟈도 역시 카운터센서의 크기와 설치된모습에 경악을 했지만...


자동으로 되는거에는 만족하였다



나 또한 매우 만족...

좀더 스마트한 홈이 되었다.


※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.



반응형
반응형

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

[붱이 Story/게임] - 닌텐도 스위치 + 젤다의 전설 구입


 

 닌텐도 젤다구입 후

마리오 카트

마리오 오디세이


이번엔 Mario tennis ace


은쟈가 기다리던 마리오 테니스 에이스를

발매일에 바로 구매


퇴근하고 은쟈랑 손잡고 롯데마트 뛰어가서 사옴...


한우리가 만원더 싼데 ... 거까지 가기 귀찮아서 그냥 삼..




한글 자막 지원



기본 스토리가 나오고




스토리 모드가 시작된다




메인메뉴로 이동해보면


총 4개지 모드가 있다.


스토리 모드

토너먼트

프리 매치

스윙




먼저 스윙모드로 재미를 느껴보려고 시작


각자 조이콘 하나씩 들고 시작



캐릭터를 골라주고





스윙모드에서 이동은 자동으로 되니(수동으로도 물론가능)


팔만 휘두루면 쉽게 쳐서 넘길수있다



근데 스윙모드는 생각보다 그저그렇고


재미있었던건


프리매치에서 복식으로

둘이 편먹고 하는게 너무 재미있더라



그리고 미립자 팁으로


기술 익히는 메뉴가 따로있다

위에 메인메뉴를 보면 아래에 "플레이 방법" 메뉴가 있는데


그것보다 스토리모드를 이용하면


기술을 차근 차근 익힐수 있으니


스토리모드 부터 시작해서 기술을 익히고 경기를 하면


너무 너무 재미있게 게임을 즐길수있다


웬만한 기술은 이제 다 쓸수이는데


block 타이밍 잡기가 아직 어려운것같다.


하루 사용기 끝~~~



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.




반응형

+ Recent posts