프로젝트

    [NEMODU] 메인 화면 조회 API 개선하기

    목표 메인 화면 조회 API를 개선하는 과정을 소개합니다. 개요 처음 프로젝트를 시작하면서 동아리 활동 기간인 2달에 맞춰 개발을 진행했습니다. 기간을 맞추는 것을 우선순위로 진행하면서, 기술 부채가 쌓이고 있었습니다. 그 중 하나는 메인 화면을 조회하는 로직입니다. 메인 화면은 애플리케이션에 진입하면 가장 먼저 볼 수 있는 화면입니다. 본인을 포함한 친구, 챌린지 멤버들의 운동 기록과 더불어 기록한 영역 수 등 많은 정보를 한 번에 확인할 수 있는 핵심 기능입니다. 역할을 분배하면서, 해당 기능은 팀원이 담당했었습니다. 이제 백엔드 개발을 혼자 진행하고 있어, 코드 분석부터 문제 해결까지 진행했습니다. 요약 구체적인 내용을 기술하기 전에 간단하게 요약하면 다음과 같습니다. 성능 개선을 위해 두 가지 측..

    [MySQL] UUID의 개념과 성능 개선 결과

    목표 MySQL에서 UUID를 최대한 효율적으로 사용해 보기 위한 노력 과정을 기술합니다. 개요 관계형 DB에서 데이터(튜플)을 식별하기 위해 PK(Primary Key, 기본키)를 사용합니다. 하지만, 클라이언트와 서버 사이에서 데이터를 확인하기 위해 PK를 주고받는 것은 보안적인 측면에서 위험합니다. 만약 다음과 같은 URL이 있다면 어떨까요? http://www.domain.com/user/info?userid=1 파라미터로 들어가는 userid의 값만 바꿔도, 다른 사람의 정보를 확인할 수 있는 것을 예측할 수 있습니다. 이처럼 예측가능한 모델이 되어 SQL Injection의 위험성이 존재하기 때문에, PK값을 그대로 넘겨주는 것은 바람직하지 않습니다. 따라서, 고유값을 갖는 특정 값으로 데이터..

    [인공지능 챗봇] 콘도 예약 챗봇 최종 기획서 및 회고

    멘토링 후기 및 깨달은 점과 문제 해결 과정 개요 학교에서 지원하는 코멘토 멘토링 프로그램에 참여할 수 있는 좋은 기회를 얻어 참여하게 되었습니다. 이런 멘토링 프로그램에 참여하는 것이 처음이라 다소 낯설었지만, 소중한 시간 쪼개서 멘토링을 진행해주시는 것이기 때문에 최선을 다했습니다. 멘토링은 세션과 과제로 이루어져 있고 세션에서 인공지능 챗봇에 대한 기본적인 내용과 과제에 도움이 될만한 얘기들을 해주셨습니다. 세션을 통해서 과제를 진행하고, 피드백을 통해 보완하는 방식으로 진행되었습니다. 특히, 세션의 후반부에는 멘토님이 실무를 진행하면서 느꼈던 점이나 진로를 결정하고 취업을 준비하는 데 있어서 많은 조언을 해주셨습니다. "이게 맞다"가 아닌 멘토님의 생각을 말씀해주셔서 제 생각을 굳힐 수 있게 유도..

    [인공지능 챗봇] Dialogflow로 콘도 예약 챗봇 구현하기 - (2)

    목표 콘도 예약 서비스를 제공하는 인공지능 챗봇을 Dialogflow로 구현하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 시나리오 기반 Entity 설계 Intent 설계 결과 정리 개요 이 전 포스팅에서 Dialogflow에 대한 배경 지식과 간단한 사용법에 대해서 알아보았습니다. 참고 : [AI Chatbot] Dialogflow로 인공지능 챗봇 구현하기 - (1) 이번 포스팅에서는 작성한 시나리오를 기반으로 인공지능 챗봇을 직접 구현해보도록 하겠습니다. 시나리오 기반 Entity 설계 우선 챗봇 설계를 하기 전에 시나리오를 확인하겠습니다. 제가 저번에 작성했던 시나리오의 일부입니다. 게시글 작성 당시보다 조금 수정되었습니다. 설계하고자 하는 챗봇은 콘도 예약 뿐 아니라 여러가지 서비스를 제공할..