Toy Project - 음식 추천 AI Jack

박종휘·2022년 5월 24일
0

Personal Project

목록 보기
1/1
post-thumbnail

음식 추천 AI Jack (개인 프로젝트)

✔ 주제 선정 이유

국비 교육 과정에서 첫 프로젝트를 진행하였다.
우리는 매일 매일 뭐 먹을지 고민한다. 고민을 하다 하루를 굶다 잠들어버리기도 한다. 세상에 맛있는 음식이 정말 많다. 그날 기분에 따라 땡기는 거에 따라 먹고 싶은 음식들이 분 단위로 바뀐다. 이러한 것을 해결해줄 수 있는 것이 있었으면 좋겠다고 생각했다. 그래서 기분에 따라 그날 땡기는 거에 따라 음식을 추천해 주는 프로그램을 짜보았다. 진짜 AI는 아니지만 나름 도움이 되기도 했다.

👨‍💻 Source Code
Github - Personal-Project_AI-Jack


✔ 기술 스택

JAVA로만 만들어 콘솔 창에 실행시켰다.

✔ 프로젝트 기간

2022년 3월 23일부터 2022년 4월 5일까지 약 2주 동안 개발을 진행하였다.

✔ 구성

Jack(Main), Feeling(기분), Kind(음식 종류)로 3개의 Class로 이루어져 있다.


✔ 프로젝트 설명

코드는 국비 교육 과정에서 배운 내용을 토대로 작성했다.

JACK CLASS

01. equalsIgnoreCase()

  • equals()와 같이 문자열을 비교할 때 사용
    : equals()는 대소문자를 구분해야 하지만 equalsIgnoreCase()는 대소문자를 구분하지 않아도 되기 때문에 이것을 사용하였다.

02. indexOf()

  • indexOf()의 특정 문자 위치 조회를 활용하여 특정 문자를 출력할 수 있도록 하였다.

FEELING CLASS

01. Keywords

  • 실제 AI와 대화하듯 티키타카가 이루어졌으면 했다. 그래서 질문과 대답의 키워드를 미리 입력해두었다. 질문이나 대답 입력 시, 저장된 키워드가 포함되어있는 것을 확인하고 다음 코드로 넘어 갈수 있게 코드 작성을 하였다.

    • 추후 키워드 추가 및 삭제 같은 유지보수가 용이하게 하기 위해 배열을
      이용하여 데이터를 저장하였다.

02. Random( )

  • Random( ) 함수를 이용해 배열 값들을 랜덤으로 출력하도록 하였다.

KIND CLASS

01. Contains( )

  • indexOf() 대신 사용했던 이유
    : 특정 문자열을 더 간단하게 취할 수 있어 사용했다.

  • equals() 대신 사용했던 이유
    : 아이폰의 Siri와 대화하는 것처럼 하고 싶었다.
    equals()는 입력 시, 지정한 문자열과 정확하게 일치해야 되기 때문에 contains()를 사용하여 지정 문자열만 포함되면 자유롭게 문장 구성을 할 수 있게 하였다.

✔ 시연 영상

  • 음식 종류 편

  • 기분 편


💬 프로젝트 후기

코딩을 배우고 첫 프로젝트였다. 내가 코딩한대로 구현이 되니 말할 수 없는 성취감을 느꼈다. 역시 이 맛에 무언가를 만드는 것 같다.

java를 공부하면서 부족한 부분이 많았는데 일부분은 프로젝트 하면서 공부가 되었고 또 일부분은 아직 부족한 상태이다. 그래도 프로젝트를 통해 내가 어떤 부분이 부족한지를 알게 되었으니 앞으로 채워나갈 것이다.

profile
개린이의 개발 고수되기 작전!

0개의 댓글