분류 전체보기 18

Azure - 클라우드 개념 파악하기

클라우드 컴퓨팅은 20년 이상 IT 산업의 일부였고, 몇 년전부터 각광받고 있습니다. 기업에서 클라우드 관련된 전환을 하기 전에 관련된 주요 개념 및 서비스를 이해하는게 중요할 것 같아 정리해보려 합니다. 클라우드로 전환하는 이유는 여러가지가 있을 수 있을 것입니다. 1. IT 부서의 부담을 일부 제거 2. 애플리케이션과 데이터에 대한 일관된 액세스를 유지하기 쉬워짐 3. 비용 효율적 클라우드 서비스마다 각각의 특징이 있습니다. 어떤 클라우드 서비스는 Customization을 전혀 할 수 없는 반면에 어떤 클라우드 서비스는 Customization 및 관리를 직접해야하는 서비스도 있습니다. 따라서 개인과 부서, 회사의 필요성에 맞는 클라우드 서비스 및 구성을 이해할 수 있는 지식을 갖춰야 한다고 합니다..

클라우드/Azure 2022.07.04

Flutter 공부하기 - Navigator 추가학습 (Initial Route 및 routes 관련)

지난 번에 공부했던 페이지 이동을 위한 Navigator에 추가적으로 InitialRoutes와 routes를 통해 여러 페이지를 동시에 관리해야할 경우에 사용하는 방법을 공부했다. 여러 페이지를 동시에 이동하기 위해서는 MaterialApp 내에서 home 을 통해서 관리하는 것이 아니라, home argument가 아닌 initialRoutes를 통해 지정해주어야 한다. MaterialApp의 Argument 중에서 home 과 initialRoutes를 동시에 지정하면 에러가 발생할 수 있으니 유의하자. initialRoute를 지정하게 되면 routes도 역시 따라와야한다. routes의 자료형은 Map이다. string과 Widget builder가 입력되어야 한다. 각 페이지 별로 '/' , ..

Flutter 공부하기 - 비동기 프로그래밍 (Future, Async, Await) 기초 및 예제 #1

다트와 플러터도 마찬가지로 비동기 프로그래밍을 지원합니다. 오히려 다른 언어보다도 더 비동기프로그래밍이 중요할 것입니다. 앱이 주 목적이므로 대부분의 코드가 서버와 통신을 주고받는 비동기일 것이기 때문입니다. 오늘은 그래서 비동기 프로그래밍을 가능하게하는 Future, Async 그리고 Await를 학습해봤습니다. 플러터에서는 비동기 프로그래밍을 위해서 기본적으로 Future 를 사용합니다. 플러터를 지원하는 다트 역시 기본적으로는 순차적으로 코드를 실행하게 됩니다. 따라서 accessData에 Duration 타입의 변수를 선언한 뒤 3초의 지연을 발생시키면 showData함수를 실행할 때 accessData 함수를 실행하고 3초 뒤 fetchData 함수를 실행하게 됩니다. 이 경우에는 컴퓨터의 자원..

Flutter 공부하기 - Navigator 위젯을 통해 화면 전환하기 #1

오늘은 Navigator 위젯을 통해 화면 전환하는 방법을 공부해봤습니다. main.dart를 통해서 첫 main_page 내에 있는 MainPage 위젯을 불러오도록 했습니다. 페이지별로 나눠서 관리하는 습관을 만들어두는게 나중에 복잡한 앱을 만드는데 있어서 도움이 될 것 같아 단순한 테스트라도 여러개의 파일로 나눠서 하도록 노력하고 있습니다. main_page.dart에서는 second_page.dart에 있는 위젯을 불러오기 때문에 import를 해줍니다. MainPage 위젯을 Stateless 위젯으로 선언해주고 간단하게 앱바와 바디 내에는 ElevatedButton 하나를 생성해둡니다. 그리고 onPressed 함수 내에 Navigator.push 를 통해 second_page 파일 내에 있는..

안드로이드 오토모티브 (Android Automotive) 관련 개략적인 설명 #2

안드로이드 오토모티브는 자동차 산업의 차량용 인포테인먼트 (IVI, In-Vehicle Infotainment) 요구사항을 만족시키기 위해 안드로이드의 기능을 확장한 것이라고 합니다. 따라서 안드로이드 오토모티브 역시 안드로이드라 볼 수 있습니다만 기존 안드로이드의 개발 프로세스를 100% 동일하게 따르지는 않습니다. 코드베이스는 동일하다고 볼 수 있습니다. 하지만 보안관련, 호환성 프로그램, 개발툴, 개발관련 인프라 관련해서는 자동차산업에서 요구하는 것에 대응하기 위해 어느정도 변경된 점들이 있습니다. 하지만 안드로이드의 기본적인 특성인 무료, 커스터마이징의 용이성, 오픈소스라는 기본적인 틀은 유지되고 있습니다. 다른 기기와 다르게 자동차 산업에서 안드로이드가 지원해야하는 기능은 아래와 같을 수 있습니..

카테고리 없음 2022.05.10

안드로이드 오토모티브 (Android Automotive) 관련 용어 정리 #1

IT 업계에서만 사용되던 안드로이들이 최근 몇 년간 자동차나 다른 산업군에서도 적극적으로 활용되고 있습니다. 따라서 안드로이드를 처음 접하는 사람들에게 용어 관련해서 습득하는데 어려움이 있을 것이라고 생각됩니다. 지금까지 다른 산업에서 일을 하다가 갑자기 안드로이드 관련해서 뭘 해보라고 위에선 일을 시키는데 관련 용어를 모르면 굉장히 업무를 진행하기 어려울 것입니다. 저는 그래서 공부를 할 겸 용어를 간단하게 정리해 봤습니다. 안드로이드 용어정리 AOSP (Android Open Source Project) - 무료로 제공되는 Full OS (운영체제)와 SW 플랫폼. Production Quality를 보장하고 있어 사용해도 SW 품질이 보장될 수 있음 GMS (Google Mobile Services..

안드로이드 오토모티브 (Android Automotive) 관련된 개략적인 설명 #1

안드로이드는 2007년에 구글과 OHA라는 곳이 함께 휴대전화에 통일된 플랫폼을 적용하고자 함께 협업하여 개발한 플랫폼입니다. 예전에 삼성에서 안드로이드를 인수한다고 했었는데 구글과 함께 손을 잡았던게 신의 한수였었죠... 삼성입장에서는 매우 아쉬운 부분일 것 같습니다. 안드로이드는 애플 iOS와 양대산맥을 이루고 있는 OS죠. 현재는 휴대전화만 지원하는 것이 아니라 웨어러블, IoT, TV 및 새로운 기기들에도 적용되는 것으로 채택이 되고 있습니다. 그렇다면 왜 HW 제조사들은 자체적으로 OS를 개발하지 않고 구글의 플랫폼을 채택하여 사용할까요? 그 답은 개발비용을 획기적으로 절감할 수 있기 때문입니다. 구글이 초기 시장을 선점하고 안드로이드 플랫폼 내에서 많은 기능들이 이미 높은 품질로 제공하고 있기..

음성인식 - 상용 소프트웨어 순위에 대해 알아보자 (뉘앙스, 구글, 애플, MS 등)

음성인식 소프트웨어 하면 우리나라에는 카카오, 네이버, SK 텔레콤, KT 등에서 적극적으로 개발하고 상용화를 진행하고 있는 회사들입니다. 하지만 글로벌 마켓에서는 우리나라 기업의 음성인식 솔루션이 알려지지 않은 것으로 보입니다. 아무래도 음성인식은 언어 특성에 의존을 많이하기 때문에 한국어에 특화된 우리나라 음성인식서비스가 세계무대에서 힘을 쓰기 어려운 것 같습니다. 그래서 오늘은 해외 음성인식 상용솔루션에 대해서 확인해봤습니다. 해외에서 잘 나가고 있는 음성인식 솔루션은 다음과 같았습니다. 1) 뉘앙스 (Nuance) Dragon Professional, Dragon Anywhere 2) 구글 (Google) Now, Cloud Speech API, Docs Voice Typing 3) 애플 (App..

음성인식 2022.05.06

Flutter 공부하기 - List View 기본개념 및 예제 실습 #1

버튼을 통해서 화면에서 클릭을 하고 컨테이너를 통해서 한 화면을 구성하고 있는 앱들도 많지만 최근에 많은 앱들은 손가락을 드래그해서 화면을 제어하는 구성을 많이 사용하고 있는 것 같습니다. 구글에서 리스트뷰라고 치면 아래와 같은 이미지들이 표기가 되네요. 이런 것을은 수직 방향으로 내리는 리스트뷰 (ListView)라고 볼 수 있습니다. 그렇다면 가로로 구성할 수있는 리스트뷰 (ListView)는 없을까요? 당연히 없을리가 없죠. 아래와 같이 구성되는 가로로 드래그해서 보고싶은 내용을 확인하는 기능도 리스트뷰 (ListView)로 구현합니다. 그럼 한번 구현을 해보도록 하겠습니다. HTML 삽입 미리보기할 수 없는 소스 초심플한 코드를 사용해서 리스트뷰를 만들어 봤습니다. 그 다음으로는 가로로 스크롤을 ..

Dart 공부하기 - 클래스 - 상속 개념 그리고 구현해보기 #1

상속 역시 객체지향에서 중요한 부분을 차지하고 있습니다. 상속이 없으면 이런 저런 클래스들을 다 만들어야하고 중복되는 기능들을 반복적으로 구현해야할 것입니다. 간단히 말해서 상속은 집합관계라고 생각하시면 될 것입니다. 부분집합이 딱이겠네요. 사람이 있고, 남자가 있고, 어린 남자아이가 있다고 쳐보면 어린 남자아이는 남자가 포함하고 있고, 남자는 사람이 포함하는 관계일 것입니다. 다른 예제로 학생이 있고, 사람이 있다라고 치면 학생은 사람에 포함될 것입니다. 따라서 사람의 기본적인 특성을 하나의 클래스로 구현해둔다면 학생이나, 남자, 어린아이들과 같은 클래스를 구현할 때 사람의 클래스를 상속하면 반복되는 일이 줄어들지 않을까요? 이런 개념을 다트 코드로 한번 구현해보도록 하겠습니다. 아까전에 만들어 둔 P..