전체 글 18

Dart 공부하기 - Class - 생성자 구현해보기 #1

클래스는 초보자에서 중급자로 넘어가기 위해서 반드시 넘어야 할 산이라고 볼 수 있을 것 같습니다. 아직도 제대로 클래스를 모르기 때문에 Dart 언어에서 클래스를 어떻게 구현하는지 공부해봤습니다. 다트언어 역시도 다른언어와 OOP 관점에서 크게 다르게 구현되지 않습니다. 우선 아래와 같이 기본적인 클래스를 구현해봤습니다. Name이라는 클래스를 만들어줬구요. 변수로 first와 last의 String 변수를 설정해놓고 생성자에 this.first, this.last를 괄호 내에 입력하여 간소하게 생성자를 구현했습니다. 그렇다면 this라는 녀석은 무엇일까요? this라는 녀석을 이해하려면 클래스와 인스턴스를 구분해줘야 하는데요. 여기서 Name은 Class라고 볼 수 있고, myname은 myname이라..

Dart 공부하기 - Collection - 리스트 (List) 설명 및 기본 메서드

다트언어의 컬렉션은 다수의 테이블을 처리할 수 있는 자료구조입니다. 하나의 데이터가 아닌 여러개의 데이터를 효율적으로 처리할 수 있는 구조라고 생각하면 편하십니다. 다트에는 아래와 같이 세 가지의 컬렉션이 존재합니다. 1) List: 데이터의 순서가 있고 중복을 허용하는 컬렉션 2) Set: 데이터의 순서가 없고 중복도 허용하지 않는 컬렉션 3) Map: 키 (Key)와 값 (Value)로 구성되어 있고 키는 중복이 안되지만 값은 중복이 되는 컬렉션 오늘은 List 에 대해서 공부해봤습니다. 기본 리스트 생성 일단 리스트를 두 개 만들어봤구요. list1은 Dynamic으로 설정해서 String, Boolean, Int 변수들을 집어 넣었습니다. 그리고 프린트를 해봤더니 리스트로 출력이 됩니다. 그 다음..

티스토리에 색상 구분된 코드 삽입하는 방법, 컬러스크립터 활용하기

티스토리 블로그를 하면서 앞으로 코드 및 여러가지 일상을 올려보고자 합니다. 그래서 코드를 올리기에 앞서, 코드를 어떻게 올려야하는지 다른 블로그들처럼 코드에 어떻게 색을 입혀서 읽기 쉽게 보이는지 알아봤는데요. 아래와 같이 컬러스크립터라는 사이트를 많은 분들이 사용하고 계셨습니다. 그래서 저 역시도 컬러스크립터를 사용해보기로 했고, 간단히 활용하는 것인지 기록으로 남겨봅니다. 컬러스크립터 https://colorscripter.com/ Color Scripter Simple & Flexible Syntax HighLighter colorscripter.com 위 사이트에 접속을 하게 되면 아래와 같은 화면이 나오게 됩니다. 코드를 화면에 입력하기 위해서는 회원가입을 하셔야하는데요. 간단하게 구글로그인으..

음성인식 자연어이해 및 자연어처리 간단 소개 #2

앞서 말씀드린 내용처럼 ASR 과정과 NLU 과정에는 확률이라는 개념이 많이 적용되고 있습니다. 하지만 NLU 과정에는 확률언어모델 말고도 문법기반의 NLU 모델 또한 존재하고 있습니다. 사람이 말하는 내용을 미리 모델 내에서 정의해 놓고, 말하는 내용이 정의된 내용과 일치할 경우에 미리 결정된 응답에 의해서 음성인식을 처리하는 방법입니다. 따라서 이 방법을 적용할 때는 Syntax와 Semantics을 얼마나 잘, 구체화시켜서 지정하는지가 모델의 성능을 좌지우지하는 척도가 될 것입니다. (이런 문법기반의 NLU 모델을 학습하기위해 향후 BNF - Backus–Naur form 표기법에 대해서도 포스팅해보도록 하겠습니다) Grammar 방법은 아무래도 미리 정의해놓는 방법이기에 미리 알고있는 내용에 대해..

NLU (Natural Language Understanding)에 대한 간단 소개 #1

자연어 이해는 정말 많이 사용되는 기술입니다. 텍스트분석에서도 이뤄지구요. 물론 음성인식에서도 음성인식 과정 중에 한 과정으로서 처리되는 기술입니다. 음성인식에서는 자연어 처리를 NLU라고 명칭합니다. Natural Language Understanding 입니다. NLU 없이는 뉴스, 소셜미디어, 음악검색, 일정예약 등의 음성명령을 내려도 이해를 못하니 아무 응답을 할 수 없을 것입니다. 보통 음성인식이라하면 하나의 단일기술이라고 이해하실 분들이 많을 것 같은데요. 그렇지 않습니다. 음성인식은 여러분야의 기술들이 음성인식이라는 것을 구현하기 위해 모여진 집합기술입니다. 우선 음성을 텍스트로 변환시켜야하겠구요. (ASR) 변환된 텍스트를 기계가 이해할 수 있도록 처리하는 기술도 필요하겠지요. (NLU) ..

자율주행 - Emergency Vehicle Detection (EVD) 기술 개요 #1

자율주행에 있어서 중요한 입력 Data는 카메라, 레이다 그리고 라이다를 통한 입력일 것이고 학계 그리고 많은 회사들에서 관련 기술개발을 위해서 막대한 비용을 투자하며 개발하고 있습니다. 하지만 이러한 시각정보로는 해결하지 못할 케이스가 존재할 것입니다. 오늘은 그런 케이스들 중 하나로서 EVD 기술에 대해서 소개해보고자 합니다. 상황을 한 가지 가정해보도록 하겠습니다. 길이 막힌 도로에서 자율주행차량이 운행되고 있습니다. 하지만 자율주행차량의 전방, 후방, 측방 카메라와 레이다, 라이다는 주변의 사물만 인지하고 있습니다. 또한 전방에 차가 있어서 앞의 앞의 차가 어떤 상태인지는 확인할 수 없습니다. 이런 경우에서도 자율주행을 가능하게 하기 위해 ITS (Intelligent Transport Syste..

플러터 - Dart 를 학습하기위한 Dart Pad

플러터는 Dart 언어로 작동을 하게 됩니다. 다트는 구글이 멀티플랫폼 상에서 동작되도록 하는 앱을 위해 디자인된 프로그래밍 언어입니다. 2011년 10월에 공개되었고 C언어의 문법과 거의 동일하며 다른 언어들의 장점들을 많이 차용한 언어입니다. 다트언어는 플러터에서 채택한 언어이며 따라서 모바일, 데스크탑, 서버, 웹 앱 등을 개발하는데 사용될 수 있습니다. 2021년 4월 기준 최신 버전은 2.12.2라고 합니다. 자세한 내용은 나무위키링크에서 찾아볼 수 있습니다. https://namu.wiki/w/Dart(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4) 이러한 다트를 연습하기 위해서는 여러방법이 있는데요. VS Code를 설..

플러터 2022.04.18

플러터 - 설치 시 기본 요구사항 및 GIT 설치

플러터를 설치하기 위해서는 아래와 같은 사양이 필요합니다. 1. 8GB의 메모리에서 작동되며 선호되는 메모리 용량은 16GB 2. 50GB 하드디스크 여유공간 3. SSD이면 훨씬 좋음 4. 2GHz 이상의 CPU 위 조건은 정상적인 작동을 위해서 필요되는 것이며, iOS 앱을 만들기 위해서는 맥북이 필요합니다. 다만, 빠른 빌드를 위해서는 당연히 PC사양이 높으면 높을수록 좋습니다. 앱을 처음 개발하시는 분들께서는 Flutter 뿐만 아니라 GIT 도 설치해두시는게 좋으실 것 같습니다. GIT 링크 (아래주소참조) https://git-scm.com/download/win Git - Downloading Package Download for Windows Click here to download the..

플러터 2022.04.18