목표 메인 화면 조회 API를 개선하는 과정을 소개합니다. 개요 처음 프로젝트를 시작하면서 동아리 활동 기간인 2달에 맞춰 개발을 진행했습니다. 기간을 맞추는 것을 우선순위로 진행하면서, 기술 부채가 쌓이고 있었습니다. 그 중 하나는 메인 화면을 조회하는 로직입니다. 메인 화면은 애플리케이션에 진입하면 가장 먼저 볼 수 있는 화면입니다. 본인을 포함한 친구, 챌린지 멤버들의 운동 기록과 더불어 기록한 영역 수 등 많은 정보를 한 번에 확인할 수 있는 핵심 기능입니다. 역할을 분배하면서, 해당 기능은 팀원이 담당했었습니다. 이제 백엔드 개발을 혼자 진행하고 있어, 코드 분석부터 문제 해결까지 진행했습니다. 요약 구체적인 내용을 기술하기 전에 간단하게 요약하면 다음과 같습니다. 성능 개선을 위해 두 가지 측..
목표 MySQL에서 UUID를 최대한 효율적으로 사용해 보기 위한 노력 과정을 기술합니다. 개요 관계형 DB에서 데이터(튜플)을 식별하기 위해 PK(Primary Key, 기본키)를 사용합니다. 하지만, 클라이언트와 서버 사이에서 데이터를 확인하기 위해 PK를 주고받는 것은 보안적인 측면에서 위험합니다. 만약 다음과 같은 URL이 있다면 어떨까요? http://www.domain.com/user/info?userid=1 파라미터로 들어가는 userid의 값만 바꿔도, 다른 사람의 정보를 확인할 수 있는 것을 예측할 수 있습니다. 이처럼 예측가능한 모델이 되어 SQL Injection의 위험성이 존재하기 때문에, PK값을 그대로 넘겨주는 것은 바람직하지 않습니다. 따라서, 고유값을 갖는 특정 값으로 데이터..
멘토링 후기 및 깨달은 점과 문제 해결 과정 개요 학교에서 지원하는 코멘토 멘토링 프로그램에 참여할 수 있는 좋은 기회를 얻어 참여하게 되었습니다. 이런 멘토링 프로그램에 참여하는 것이 처음이라 다소 낯설었지만, 소중한 시간 쪼개서 멘토링을 진행해주시는 것이기 때문에 최선을 다했습니다. 멘토링은 세션과 과제로 이루어져 있고 세션에서 인공지능 챗봇에 대한 기본적인 내용과 과제에 도움이 될만한 얘기들을 해주셨습니다. 세션을 통해서 과제를 진행하고, 피드백을 통해 보완하는 방식으로 진행되었습니다. 특히, 세션의 후반부에는 멘토님이 실무를 진행하면서 느꼈던 점이나 진로를 결정하고 취업을 준비하는 데 있어서 많은 조언을 해주셨습니다. "이게 맞다"가 아닌 멘토님의 생각을 말씀해주셔서 제 생각을 굳힐 수 있게 유도..
목표 콘도 예약 서비스를 제공하는 인공지능 챗봇을 Dialogflow로 구현하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 시나리오 기반 Entity 설계 Intent 설계 결과 정리 개요 이 전 포스팅에서 Dialogflow에 대한 배경 지식과 간단한 사용법에 대해서 알아보았습니다. 참고 : [AI Chatbot] Dialogflow로 인공지능 챗봇 구현하기 - (1) 이번 포스팅에서는 작성한 시나리오를 기반으로 인공지능 챗봇을 직접 구현해보도록 하겠습니다. 시나리오 기반 Entity 설계 우선 챗봇 설계를 하기 전에 시나리오를 확인하겠습니다. 제가 저번에 작성했던 시나리오의 일부입니다. 게시글 작성 당시보다 조금 수정되었습니다. 설계하고자 하는 챗봇은 콘도 예약 뿐 아니라 여러가지 서비스를 제공할..
목표 작성된 시나리오를 기반으로 Dialogflow를 이용해서 인공지능 챗봇을 구현하기 위해 기본 지식과 사용법에 대해서 알아보겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 초기 환경 설정 Intent(의도) Entity(개체 정보) Training Phrases(문장 학습) Fullfillment Integration 정리 개요 콘도 예약을 위한 인공지능 챗봇을 개발하는 것이 궁극적인 목표입니다. 인공지능 챗봇이 무엇인지, 왜 필요한지에 대해 알아보고 어떻게 구현할지 시나리오를 작성했습니다. 인공지능 챗봇을 개발하는 것을 도와주는 챗봇 빌더는 IBM 왓슨, Chatfuel, Dialogflow 등 여러 가지가 있습니다. IBM 왓슨은 고성능이지만 유료이고, Chatfuel은 간단하지만 한글을 지원하..
목표 콘도 예약 서비스를 제공하기 위한 인공지능 챗봇의 시나리오를 작성하겠습니다. 목차 누르면 각 챕터로 이동합니다. Decision Tree(결정 트리)란? 시나리오 작성 마치며.. 들어가는 말 이전 포스팅까지 인공지능 챗봇의 정의, 종류, 특징 등에 대해서 알아보았습니다. 저는 인공지능 챗봇 중 시나리오형 챗봇을 채택해서 서비스를 제공하기로 결정했습니다. 따라서, 챗봇을 설계하기 전에 시나리오를 먼저 작성하도록 하겠습니다. 저는 시나리오를 작성할 때 서비스를 이용하는 소비자(사용자)의 입장과 서비스를 제공하는 챗봇의 입장으로 나눠서 작성했습니다. 이 시나리오를 Decision tree를 사용해서 나타내 보도록 하겠습니다. Decision Tree(결정 트리)란? Decision tree(결정 트리)는..
목표 앞서 알아본 인공지능 챗봇의 원리와 특징을 통해서 기획서를 작성하겠습니다. 인공지능 챗봇의 원리와 특징 : https://chanos.tistory.com/15 목차 누르면 각 챕터로 이동합니다. 1. 표지 2. 챗봇이란? 3. 챗봇을 사용해야 하는 이유 4. 유의해야 할 점 5. 챗봇의 종류 6. 챗봇의 특징 분류 7. 효율적인 챗봇 찾기 8. 내가 생각하는 BEST 챗봇 9. 마무리 10. 마치며.. 들어가는 말 1주차 주제는 "챗봇 서비스에 대한 사전 조사"입니다. 사전 조사와 함께 기획이 어떤 것인지 알아보았고 콘도 예약 서비스를 제공하기 위한 인공지능 챗봇을 제안하는 기획서를 작성해보도록 하겠습니다. 기획서를 PPT 형식으로 작성하였습니다. 표지 기본적인 테마는 보라색 계열을 사용해서 제작..
목표 인공지능 챗봇의 정의, 종류와 특징을 알아보겠습니다. 목차 1. 인공지능 챗봇이란? 2. 인공지능 챗봇의 특징 3. 인공지능 챗봇의 종류 4. 마치며.. 들어가는 말 첫 번째 주제는 "챗봇 서비스에 대한 사전 조사" 입니다. 서비스를 기획하려면 인공지능 챗봇이란 무엇인지, 왜 사용해야 하는지 이해해야 합니다. 이번 게시글에서는 인공지능 챗봇이란 무엇이고, 어떤 것들이 있는지 알아보도록 하겠습니다. 인공지능 챗봇이란? 챗봇은 크게 챗봇과 인공지능 챗봇으로 나눌 수 있습니다. 이름에서부터 예상할 수 있는데, 정의를 먼저 확인하겠습니다. 챗봇(Chatbot)은 Chatterbot의 약자로, 누구나 언어로 대화할 수 있는 컴퓨터 프로그램입니다. 음성 명령이나 텍스트 채팅을 통해 인간의 대화를 시뮬레이션합니..