전체 글 102

android architecture components (AAC) 설명 및 샘플코드

안드로이드에서는 다양한 컴포넌트들과 lifecycler가 각기 다르고 얽혀 있습니다. 앱을 개발하다보면 이런 컴포넌트들이 정상적으로 연결되어 있지 않으면 명확하게 파악하기 어려운 사이드 이펙트와 버그 및 크래시를 보게 되는데요. 이러한 문제를 해결하기 위해 각각의 컴포넌트들에 있는 lifecycler를 학습하고 문제점을 수정하는데 많은 시간을 할애해야 했습니다. 이전에는 명확한 가이드 라인이 없었고 구글에서도 이러한 문제점을 줄이기 위해 Android Architecture Components(AAC)를 제공하고 있습니다. 자세한 사항은 아래 링크에서 확인 가능합니다. https://developer.android.com/topic/libraries/architecture 또한 현재 git에 샘플 코드를..

[Tutorial] CONCLUSION

RiveScript 기본적인 Tutorial을 끝냈습니다. 지금까지 RiveScript 코드 작성 방법에 대해 배웠으며 이를 토대로 chatterbot을 개발하는데 도움이 되었으면 합니다. 우리가 다루지 못한 내용으로는 Object Macros가 있지만 이에 대한 자세한 내용은 https://www.rivescript.com/docs/tutorial#object-macros 을 참조하십시오. 우리는 튜토리얼에서 배운 내용을 바탕으로 안드로이드에서 사용 가능한 챗봇을 개발하는 부분에 대해서 실습할 수 있도록 하겠습니다. 감사합니다.

[Tutorial] TAGS

지금까지 우리는 RiveScript의 TAG에 대해서 공부 했습니다. 우리가 공부했던 태그의 예는 , , {topic}입니다.실제로는 이 보다 더 많은 태그가 있고 우리는 이를 사용할 수 있습니다!이번에는 우리가 배우지 않은 태그와 태그 사용 방법을 배워보겠습니다. 태그는 일반적으로 화살괄호()안에 태그를 입력하는 형태로 사용이 되며 중괄호({})는 주변의 텍스를 수정하는데 사용이 됩니다. 태그는 일반적으로 특별히 명시된 경우를 제외하고 모든 RiveScript 명령과 함께 사용할 수 있습니다., - 이 태그는 와 비슷하지만 % Previous에 있는 와일드 카드를 가져옵니다. 다음은 그 예입니다.+ i bought a new * - Oh? What color is your new ? + (@colors..

[Tutorial] MORE DEFINITIONS

begin.rive로 다시 돌아가서 유용한 2가지 타입이 있습니다. Global Variables 전역 변수(Global Variables)는 봇 변수(bot variables)와 비슷하지만 봇과 관련은 없습니다. 전역 변수는 RiveScript 인터프리터에 의해 정의 될 수 있습니다. 이번에는 RiveScript 인터프리터에 직접 영향을주는 두 가지 특수한 전역 변수에 대해서 배워 보겠습니다. Debug Mode! global debug = true ! global debug = false이 전역 변수는 RiveScript 인터프리터에서 디버그 모드를 켜거나 끌 수 있습니다. 디버그 모드는 https://play.rivescript.com/에서 Debug Mode를 클릭하면 실제 어떻게 출력 되는지 볼..

[Tutorial] Topics

LABELED SECTIONS레이블이 지정된 섹션에는 세 가지 유형이 있습니다.레이블은 > 기호를 사용하여 정의되며 topic sorry // This will match if the word "sorry" exists ANYWHERE in their message + [*] sorry [*] - It's OK, I'll forgive you!{topic=random} + * - Nope, not until you apologize. - Say you're sorry! - Apologize! < topic해당 예제에서는 "i hate you"라고 트리거가 동작할 때 토픽은 sorry로 넘어가며 해당 토픽에서 빠져 나오기 위해서는 sorry라를 트리거를 작동시켜야지만 빠져 나올 수 있습니다. 태그는 가장 ..

[Tutorial] Conditionals

Learning Things우리는 RiveScript의 커맨드에 대해서 배웠습니다. 그런데 봇이 우리 이름도 기억하지 못한다면 이 대화가 무슨 소용일까요?RiveScript는 사용자에 대한 변수를 저장하고 반복할 수 있는 기능이 있습니다. 사용자의 변수를 저장하기 위해 태그를 사용하고 변수를 검색하기 위해 태그를 사용합니다. 다음 예제를 통해서 우리는 어떻게 사용자 변수를 저장하고 불러 올 수 있는지 알 수 있습니다.+ my name is * - It's nice to meet you, . + what is my name - Your name is , silly! + i am # years old - I will remember that you are years old. + how old am i - Y..

[Tutorial] Short Discussions

이야기를 이어나갈때 어떻게 해야 할까요? 다음은 %(Previous)커맨드를 배워보겠습니다.+ knock knock - who is there? + * % who is there? - who? + * % * who - LOL! ! That's funny!해당 예제를 실행해보면 "knock knock"라고 메시지를 입력했을 때 응답까지는 이해가 될 것입니다. 그다음 %커맨드가 무슨 의미인지를 알아야 되는데. "- who is there?"라는 응답이 왔을 때 그 다음 실행하게 되는 트리거를 정의한 것이라고 볼 수 있습니다. 2번째 트리거는 어떤 단어가 와도 봇은 이것을 가지고 이야기를 이어 나갈 수 있게 됩니다. 다음은 또 다른 예제 입니다.! array colors = red blue green yell..