끊임없이 검증하라

나에게 당연할지라도

Project

P3_GPT API로 프로그래밍 AI 웹서비스 만들어보기(spring Boot+React)_Ready

fadet 2023. 2. 2. 23:08

이 포스트는 학습 과정에서 그 내용을 기록한 글이기에 부정확한 정보가 포함될 수 있습니다.

따라서 해당 글은 참고용으로만 봐주시고 틀린 부분이 있다면 알려주시면 감사하겠습니다. 

 


건강이 너무 안 좋아서 운동을 하기로 결심했더니 몇 달 동안은 다른 일은 손에도 잡지 못했습니다... 물론 제가 게으른 것도 있겠지만 원체 살면서 운동이라고는 해본적도 없고 하루에 한 끼 먹는게 일상이었다보니 하루 세 끼 챙겨가면서 운동만 해도 온몸에 진이 빠지네요...

 

이제 슬슬 운동 습관도 붙어가는 것 같아서 취업 준비 전에 마지막으로 프로젝트 하나만 더해보려 합니다. 요즘 chatGTP가 핫하다고 해서 저도 호기심으로 가서 몇 번 써봤는데 생각보다 이게 물건이더라구요. 그래서 다시 개발 공부도 시작할 겸 openAI에서 api가져와서 프로그래밍 사전 하나 만들어보려고 합니다.

 

구상

 

사실 처음엔 운동 계획 추천 AI를 생각했었습니다. 그런데 ChatGPT로 질문 몇 개를 해보니 이건 아직은 시기상조인 것 같더라구요. 우선 요즘 pt를 받으며 느낀건 운동을 제대로 안전하게 하기위해선 알아야할 것이 정말 많았다는 것인데 그런 점에서 아직 코칭에 사용하기 좋은 서비스가 나오지 않을 것 같더라구요. 나중에 더 발전하면 그 때 다시 살펴봐야 할 것 같습니다.

 

그래서 생각했습니다. 그러면 뭘 만들지? 이 때 떠오른게 한번 ai한테 java 관련 질문을 해볼까였고 처음엔 이런 질문을 했습니다.

Q : How does JVM work?

 

그랬더니 솔직히 제가 기대한 그 이상으로 좋은 답변이 나왔고, 이것을 한번 파파고로 번역까지 해봤습니다.

A : 자바 가상 머신(JVM)은 컴퓨터가 자바 프로그램을 실행할 수 있게 해주는 추상 컴퓨팅 머신이다. 자바 코드와 기본 하드웨어 사이에서 인터프리터 역할을 한다. 작동 방식은 다음과 같습니다:

컴파일: 자바 코드는 바이트코드라는 중간 코드로 컴파일된다. 이 바이트 코드는 플랫폼에 독립적이며 JVM이 있는 모든 시스템에서 실행될 수 있습니다.
...

 

놀랍지 않나요? 파파고로 번역하는데 이렇게 깔끔할수가! 그래서 하나 더 질문해봤습니다.

Q : Why should I use immutal object in programming?

 

이 역시도 만족스러운 답변을 해주었는데 전문과 해석 둘 다 쓰긴 너무 기니까 번역 일부만 가져와봤습니다.

A : 예측 가능성, 스레드 안전, 사용 편의성, 향상된 메모리 관리 등등(각 항목의 이유는 생략)
...
그러나 불변성에는 성능 오버헤드가 있을 수 있으며 모든 사용 사례에 필요한 것은 아닙니다. 균형을 고려하고 특정 요구사항에 적합한 솔루션을 선택하는 것은 개발자에게 달려 있습니다.

 

이 밖에도 인터페이스, 서블릿 등등 몇 개 더 질문해보고 '아 이거다! 내 개발 공부 사전은 이제 구글만 있지 않을듯?'라는 파렴치한 생각을 하게되었습니다.

 

게획

정말 아직은 구상 단계이니만큼 정해진 건 없습니다. 사용할 프론트엔드 툴, 서버에 담을 데이터, 프로젝트 스케일 등 뭐하나 정해진건 없습니다만 전체적으로는 

1 개발자가 학습을 위해 ai에게 질문(가능하면 번역도 포함) 2 ai 답변을 원문과 번역 둘로 제공 

 

이 역할을 충실히 하는 웹서비스를 만들 예정이며 아마 파파고와 openAI에서 api 받아오고 백엔드는 spring Boot으로 하려고 생각 중입니다. 프로젝트가 진행되는 만큼 블로그에 포스팅하겠습니다.