고마워서 만든 블로그 by 맛소금

타이젠 Tizen

Tizen .Net Xamarin.Forms - 설치 에러

자주 접하는 Tizen Application 설치 안될 때 에러는 -4, -12 두가지다. -4 는 privilege 나 api version 안맞을때 발생 -12 는 이미 설치되어 있는 app과 Certificate이 다를 때 발생! Visual Studio를 쓰다보면 설치 에러를 놓치는 경우가 왕왕있다. 설치에러가 나서 업데이트가 안되었는데, Application launched만 보고 새로운 버전이 설치되어서 실행된 것으로 착각하는 경우가 있다. 조심하자.ㅠ 2020-09-08 오후 9:33:59 : Application is not running: 1 WARNING: Your data are to be sent over an unencrypted connection and could be read..

타이젠 Tizen

Tizen .Net Xamarin.Forms - Navigation

MVVM 패턴이 적용된 Tizen Xamarin.Forms Application을 만들 때 고민되는 Navigation에 대해서 정리해 본다. Navigation이 고민되는 이유는 View의 전환인데, View Model에서 처리하는 경우 View Model이 View에 의존성을 갖게되는 부분이 MVVM의 철학과 배치되기 때문이다. 그외에도 파라미터를 제대로 넘겨주는 것과 navigation 중에 적용되어야 할 규칙을 확인하는 등의 문제가 있는데, Navigation Service 클래스를 만들어서 이런 부분을 해소하려 한다. 핵심 내용은 지난 번에 소개한 그 책에서 소개된 내용이다. Enterprise Application Patterns - Navigation 핵심 컨셉은 비슷하지만 구현 내용은 좀 ..

타이젠 Tizen

Tizen .Net Xamarin.Forms - MVVM 적용

Tizen에서 구동하는 .Net Xamarin.Forms Application을 잘 만드는 방법에 대한 고민으로 MVVM 패턴에 대한 이야기를 해볼까 한다. 앱 개발에는 MVC, MVP, MVVM등 다양한 소프트웨어 아키텍쳐 패턴이 사용된다. Architecture Pattern은 말그대로 많이 쓰여서 패턴화 되어있는 SW 구조라고 생각하면 된다. 디자인 패턴에 대해서도 몇번 언급을 했는데, 패턴은 그냥 써도 중간 이상이지만 잘 알고 쓰면 150점이다. MVC, MVP, MVVM 모두 변하는 것과 변하지 않는 것을 분리하고, 그것을 통해 Decoupling 된 모듈로 변화에 쉽게 대응할 수 있는 구조를 만들기 위한 고민의 산물이다. 좋은 설명이 많으니까 링크로 설명을 대체한다. 선정 기준은 그림이 참신했..

타이젠 Tizen

Tizen .Net Xamarin.Forms - CI 적용

Tizen에서 구동하는 .Net Xamarin.Forms Application을 잘 만드는 방법에 대해서 몇가지 주제를 포스팅하려 하는데, CI Continuous Integration 에 대해서 먼저 정리해 볼까 한다. 요즘 CI 없이 개발하는 일은 매우 드물다. 한번 쓰면 안쓰고 개발하는 것이 영 불편하다. CI는 개발 환경 구성에 따라서 적용 방법이 달라지는데, Example repo에 CI 적용한 내용을 간단히 정리해 둔다. Travis 많이들 쓰는 CI 서비스다. github이랑 연동이 잘 되어 있다. .Net Xamarin app의 테스트와 배포도 쉽게 적용이 가능하다. 적용하는 방법은 매우 간단하다. root에 .travis.yml 파일을 생성해두고, https://travis-ci.org/..

타이젠 Tizen

Tizen .Net Xamarin.Forms - Project 구조

.Net Xamarin을 사용해서 Tizen에서 돌아가는 좋은 앱을 만드는 방법에 대해서 고민하고 공부하면서 알게된 내용들을 적어 볼까 한다. 순번을 따로 매기지 않은 것은 주제별로 가볍게 적은것이라 따로 순서를 정하지 않았다. 레퍼런스 가이드를 작성하는 것은 아니고, 경험과 참고 자료를 바탕으로 내 방식에 대해서 소개하는 글이니까 혹시 누군가가 가져다 쓴다면 책임감을 갖고 분별력있게 사용하길...ㅎ 오늘은 기본 project 구성에 대해서 글을 남겨 보려 한다. 매번 만드는 거라, 첨부터 이렇게 만들어졌으면 좋겠다는 생각도 한다. Shared project와 Test 기본 Project는 내가 잘 쓰는 구조다. Shared project에 플랫폼 독립적인 코드를 작성하고, .Test 프로젝트에는 Sha..

타이젠 Tizen

타이젠은 당신의 손길을 기다립니다.

타이젠 오픈소스 프로젝트 컨트리뷰터가 되어 주세요. 타이젠에 기여할 수 있는 작지만 중요한 일을 소개합니다. 타이젠 개발자 사이트 Documents Repository 소개 타이젠 개발자 사이트도 문서 컨텐츠를 다른 오픈소스 프로젝트들 처럼 관리하고 있다. Tizen Docs에서 관리되고 있으며, 누구든지 자유롭게 수정하여 PR을 생성할 수 있다. PR은 리뷰 후에 머지되면, 개발자 사이트에서 자신이 기여한 내용을 확인 할 수 있다! 자세한 방법은 가이드를 보고 확인해보자. Contributing 문서 컨티리븃을 통해 타이젠 배우기 유명한 오픈 소스 프로젝트들은 자료가 참 많다. 가이드도 많고, 문제 해결 방법도 다양하게 공유되고 있으며, 심지어 국문 자료들도 많이 생산되고 있다. 대부분의 오픈소스 프로..

타이젠 Tizen

타이젠 IoT를 활용한 텔레그램 스마트 CCTV 만들기

타이젠 IoT를 이용해서 움직임을 감지하고, 텔레그램으로 Push Notification을 전달하는 스마트 CCTV를 만드는 방법에 대해서 소개해 본다. 가끔 자는 둘째를 집에 두고 첫째를 데리러 가야 할 때가 있다. 10 ~ 20분 자리를 비우는 것이고, 일어나도 별일 없을 것이지만 여간 신경쓰이는 것이 아니다. 밖에 나가도 집에 무슨일이 없나 확인하고 싶을때, 카메라 영상을 분석해서 움직임 감지 알림을 받고 싶을때 적절한 간단한 IoT 기기를 만들어 보았다. HW구성은 라즈베리 파이에 USB 카메라가 전부이지만, SW는 타이젠 IoT 위에 타이젠 Application을 설치해야 한다. 코드가 간단하지는 않지만...무료! 오픈소스! 프로젝트 소개 타이젠 IoT를 소개하는 글들이 별로 없는 것 같은데, ..

타이젠 Tizen

타이젠 Web Application 개발 팁

타이젠 Web Application을 개발할 때 유용하게 사용할 수 있는 팁을 소개해 본다. 사실, 타이젠에만 국한되는 것은 아니고, Web Browser에서 테스트 할 때 키 이벤트로 특정 이벤트를 발생 시키는 방법이다. 아주 평범하고, 데모나 테스트 할때 일반적으로 사용할 수 있는 내용! 보통은 Tizen Web Application을 개발할 때 일반 Web Application 개발하듯이 VS Code와 Chrome를 이용해서 개발을 한다. 디바이스에 올리기 직전까지 타이젠 스튜디오를 사용하지 않는다.ㅋㅋㅋㅋㅋ 일단, 너무 무겁고, 디버깅도 Chrome이 훨씬 편하고 강력하다. 지못미 타스ㅠㅠChrome에 올려서 테스트할 때 가장 문제가 되는 것이 Tizen Device의 Rotate, 또는 Rot..

타이젠 Tizen

[자마린 앱 개발] Chapter 3. Deeper into Text

자마린 앱 Text 에 대한 기본적인 내용을 소개하고 있다. 자마린에서의 Text란 어떻게 다뤄지는지 간단하게 설명한다. 예제 한번 쭉 보면 더 읽을 필요 없을 정도로 간단한 내용이다. Wrapping paragraphs 다양한 방법으로 align과 wrapping 선택 할 수 있다. 줄바꿈은 Environment.NewLine 을 사용하시길 권장한다. 플랫폼 별로 \n 과 \r\n로 치환된다. Text and background colors Label 의 속성에 따라 차지하는 영역이 달라진다. View의 영역을 어떻게 설정할지에 대해서 알 수 있는데, 내용이 직관적이라 그냥 보고, 써보면 안다. The Color structure Color Structure는 R, G, B 값 또는 명도, 색상, 채도..

타이젠 Tizen

[자마린 앱 개발] Chapter 2. Anatomy of an app

자마린을 통한 어플리케이션의 기본 개념에 대해서 소개하고 있다. 앱은 Page - layout - view 의 구성 체계가 바탕이 된다. PCL 과 SAP PCL과 SAP는 프로젝트 구성 방법 중의 하나이며, 중복해서 함께 사용될 수 있다. 프로젝트 / 솔루션을 생성할 때 당장 이것부터 결정해야 해서 다들 적잖이 당황하는데, 알고 보면 별거 아니다.결국 둘은 코드를 공유하는 방법의 차이라고 볼 수 있는데, PCL은 어셈블리를 공유하는 것이고, SAP는 코드를 공유하는 것이다. 그에 따라서 장단점이 나눠지고, 자세한 것은 아래 링크에서 확인 가능하다. Sharing Code Options PCL로 하든 SAP로 하든 플랫폼에 특화된 코드 작업이 가능하며, 하나의 솔루션에서 SAP와 PCL을 둘 다 사용하는..

타이젠 Tizen

[자마린 앱 개발] Chapter 1. How Does Xamarin.Forms fit in?

자마린으로 앱 만들어 보려고 자마린에 대해 공부를 시작했다. 좋은 자료가 제공되어서 차근 차근 읽고 있는데, 정리를 해두면 좋을 것 같아 아주 간단하게 요약 정리를 해서 포스팅을 이어가 보려고 한다. pdf는 물론 eBook까지 무료로 제공하고 있다! Creating Mobile Apps with Xamarin.Forms Book First Edition 첫 장은 크로스 플랫폼 앱 개발 환경에 대해서, C#과 .NET 그리고 자마린 폼스에 대해서 소개하고 있다. 원론적인 이야기다.ㅋ 닷넷 어셈블리는 어셈블리어가 아니다. 빌드 산출물을 다른 시스템에서 구동하려면 산출물이 기계어 이전의 어떤 형태를 가져야 하는데, 자마린 크로스 프로젝트를 빌드하면 어셈블리가 나오고 그걸 공유 한다고 해서 처음에 좀 당황했었..

타이젠 Tizen

타이젠 앱 개발자을 위한 오픈그록 OpenGrok TizenXRef 소개

타이젠 앱 개발자를 위해서 제가 만든 오픈그록 OpenGrok TizenXRef 사이트을 소개합니다. 나도 필요하고, 누군가도 필요한 것들을 만들어서 나도 편하게 쓰고, 누군가에게 도움을 주려는 노력 중 하나 입니다. 오픈그록 OpenGrok 소개 OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree.OpenGrok Github 생각보다 오픈그록 또는 OpenGrok 으로 검색을 하면 국내 사이트에서는 나오는 것이 별로 없더라구요. 저도 그렇고 주변 사람들, 다른 사업부 사람들도 엄청 유용하게 많이 쓰는..

타이젠 Tizen

타이젠 Native UIFW (EFL) Base Scale 에 대한 사실

타이젠 Native UIFW (EFL) Base Scale 에 대한 사실을 몇가지 간단하게 정리해 둔다. 자세한 내용은 아래 링크에서... Multiple Screen Support Base Scale 은 디바이스의 Profile과 DPI에 따라서 달라진다. 단순히 비례해서 커지거나 작아지는 것이 아니다. Base Scale 을 이용해서 Scalable UI를 만들 수 있다. Tizen을 지원하는 디바이스가 다양해지고 있으므로 반드시 고려해야 한다. 아무런 작업을 하지 않으면 pixel값을 의미한다. Edje 에서 스케일 적용하지 않거나, C code에서 Base Scale 적용하지 않을 경우. edc와 .c파일에서 기술된 숫자가 곧 pixel 값이 된다. Edje에서 Base Scale은 기준이되는 S..

타이젠 Tizen

타이젠 어플리케이션 개발 시작하기

샘플을 이용해서 타이젠 어플리케이션 개발 시작하기 좋은 방법을 소개 합니다. 타이젠 어플리케이션은 크게 웹 어플리케이션Web Application과 네이티브 어플리케이션Native Application이 있습니다. 둘 다 장단점이 있으며, 적절히 선택해서 개발하면 됩니다. 둘 다 사용할 수도 있습니다. 예를 들면 서비스 앱은 네이티브로, UI 앱은 웹으로 구성해서 하나의 패키지로 묶을 수도 있습니다. 그렇게 묶인 패키지를 하이브리드 어플리케이션이라고 합니다. 웹이든, 네이티브든 쉽게 시작하기 좋은 방법을 소개합니다. 바로 샘플을 이용하는 것입니다! 샘플 코드를 가져다가 내가 원하는 대로 수정해서 사용하거나, 샘플코드를 보고 사용방법을 확인 할 수 있습니다. 앱 개발을 어떻게 해야 할지 샘플 앱의 구조를 ..

타이젠 Tizen

삼성전자 Tizen Talks DevSchool 행사 소개!

삼성전자의 Tizen Talks DevSchool 행사를 소식을 듣고, 좋은 무료 타이젠 강좌라니 널리 알려야 겠다는 생각에 몇글자 적어봅니다. 온오프믹스 행사참여 페이지 타이젠은 아시죠? 삼성전자 주도로 개발되고 있는 오픈소스 OS 프로젝트이며, 많은 삼성전자 제품들에 사용되고 있습니다. 스마트 폰은 물론이고 TV와 기어 같은 웨어러블에도 들어가있습니다. 타이젠은 모바일, 웨어러블 TV, IVI 기기 등을 지원하는 다목적 운영 체제로써, 삼성전자와 인텔이 참여하는 타이젠 연합에서 개발 중이다. 리눅스 커널을 사용하는 오픈 소스 프로젝트로 진행되고 있다.나무위키 그럼 타이젠 톡스는? 페이스북에 개설된 타이젠 커뮤니티입니다. 타이젠에 관심을 갖은 사람들이 모인 자유로운 내용의 커뮤니티인데, 개발 관련 질문..

타이젠 Tizen

기어 왓치페이스 디버깅 팁 Gear Tizen Webapp Watchface Debuging Tip

타이젠 OS의 갤럭시 기어 와치페이스 웹앱 와치페이스 디버깅 팁입니다. Galaxy Gear Tizen Webapp Watchface Debuging Tip 별것도 아닌데 타이틀이 엄청 기네요.ㅋㅋㅋ 웹앱 개발할 때 사실 저는 IDE를 안씁니다만;; 전혀 안 쓸 수는 없고 꼭 필요할 때가 있거든요. 특히! 타이젠 API 사용할때는 꼭 필요합니다. IDE에서 아래처럼 debug 실행하면 크롬 디버거가 실행되어서 디버깅에 매우 유용합니다! 근데, Watchface 는 안되더라구요. 지금은 안된다는 것 같아요. 그래서 아래처럼 config.xml에서 tizen:category 부분을 주석처리 해서 일반 앱처럼 띄워서 디버깅 하면 됩니다!!! 사실 이렇게해도 Ambient 모드는 또 디버깅이 힘듭니다. 후.....

타이젠 Tizen

타이젠 기어 S2 DUID 관련 에러, compareDUID(CompositeRunOnDevice.java:712)

타이젠 기어 S2 DUID 관련 에러로 at wfb_view.composites.CompositeRunOnDevice.compareDUID(CompositeRunOnDevice.java:712) 이런 에러 로그가 \GearWatchDesigner\.metadata\.log에 남아있다면, Distributor Certificates 를 다시 확인해 보자! DUID는 디바이스 고유 식별값인데, 위와 같이 SDK에서 S2와 연결 후 확인 가능하다. 나는 기어 S2 왓치 디자이너 사용할때 Distributor Certificate 안 만들고 아이콘으로 Run on Device 했더니 계속 죽어서 확인해보고 해결했다~ java.lang.NullPointerException at wfb_view.composites..

타이젠 Tizen

Tizen 2.4 SDK 윈도우 설치

Tizen 2.4 SDK 윈도우 설치 해봤습니다. 타이젠 공식 홈페이지에 가셔서 다운받은 다음 설치하면 됩니다. 복잡하지도 않고 어렵지도 않습니다. 예전버전을 설치해보신 분이라면 상전벽해라는 사자성어를 떠올리게 되실겁니다. 따로 정리할 필요가 없다고 생각됨에도 불구하고 불친절하게나마 스샷을 올려둡니다. 없어도 충분히 하실 수 있지만, 낯선 것을 즐기지 않는분들을 위한 어떤 심리적인 효과를 위해서랄까?ㅋ 전 원래 이런 포스팅 잘 안하는데,,, 2.4는 스샷이 없는것 같아서...억지로함!참고로 전 기어 S2를 오늘 주문했습니다. 내일 올겁니다. 야호~ㅋ 만들어보고 싶은게 너무 많으네욧! 주의할 점 시간이 오래걸립니다. 마져하고 자야지 생각하면 지금 이시간이 됩니다. 별로 어렵지 않지만, 환경과 개인차가 존재..