- 92

Date Helper 개발일지 #2 – 현재까지 진행 상황과 UI 개선 계획 (2025.03.25)

🚀 지금까지 구현된 기능과 남은 작업 정리 ✅ 구현 완료한 내용 OpenAI GPT API 연동→ 사용자가 입력한 조건에 따라 ChatGPT를 통해 데이트 추천 응답 생성추천 API 구현 (POST /recommend)→ 입력값: 날짜, 위치, 연령대, 식사 포함 여부, 실내/실외 선호 (대규모 변경예정)→ 응답값: 장소 + 설명이 포함된 추천 코스 리스트Postman을 통한 기본 테스트 완료→ 실제 API 요청/응답 정상 동작 확인→ 다양한 조건 조합 테스트  웹 UI 구성 완료 (기초 버전)→ 간단한 HTML + JS 기반 입력 폼→ 추천받기 버튼 클릭 시 결과 출력까지 정상 흐름 구현   🧩 앞으로 해야 할 작업 사용자 입력 조건 고도화 (25.3.27 예정)예산, 분위기, 시간대 등 세부 조건..

Project/Date Helper 2025.03.27

[프로그래머스] 전화번호 목록 (Lv.2) - (python 파이썬)

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/42577  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Approach전화번호 목록에서, 한 번호가 다른 번호의 접두어가 되는 경우가 있는지를 판단하는 문제다.처음에는 모든 번호를 비교해서 일일이 접두어를 체크하려 했지만,효율성을 고려해서 해시 방식으로 풀어보았다. 나의 코드 :  시행착오 & KeyError처음에는 다음과 같이 썼다가 KeyError가 발생했다.if hash_number[temp] and temp != phone_num:이는 temp가 딕셔너리에 없을 때, 존재 여부..

[프로그래머스] 다리를 지나는 트럭 (Lv.2) - (python 파이썬)

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧠 Approach : 이 문제는"트럭이 일정 길이의 다리를 지나는데 걸리는 시간을 계산하는 시뮬레이션 문제다.트럭은 다리 위에 동시에 올라갈 수 있지만, 총 무게를 초과할 수 없다.또한 다리의 길이만큼의 시간 동안 다리 위에 머무르게 된다.처음에는 각 트럭이 다리 위에서 얼마나 지났는지를 직접 카운트하면서 풀었지만,챗GPT의 피드백을 반영해 다리 진입 시간을 기록하고 현재 시간과 비교하는 방식으로 리팩토링했다.또한 매 루프마다 ..

Date Helper 개발일지 #1 – OpenAI 연동 & 보안 삽질.. (2025.03.19)

🛠️ 해야할 목표 Backend Flask에서 OpenAI API 연동GPT 모델을 활용한 데이트 코스 추천 기능 구현 (service.py)API 키 보안 관리 및 GitHub 연동 안전하게 처리     🧩 1. OpenAI 연동  오늘은 Flask 백엔드에서 openai 라이브러리를 통해 ChatGPT API를 호출하는 기능을 구현했다.pip install openai python-dotenv로 라이브러리를 설치한 후, 아래처럼 기본 구조를 구성했다..env 파일에 키를 저장해서 하드코딩을 피했다.. (오랜만에 하니 처음에 그대로 하드코딩 할 뻔 했다..!)     🤖 2. GPT-4를 쓰고 싶었지만, 현실은 GPT-3.5  처음엔 내가 chat gpt plus를 이용하다보니까 당연히 GPT-4..

Project/Date Helper 2025.03.21

Date Helper 프로젝트 기획서

📌 Date Helper 프로젝트 기획서1️⃣ 프로젝트 개요🔹 프로젝트 이름: Date Helper🔹 한 줄 설명:사용자의 위치, 선호도를 반영하여 데이트 코스를 추천하는 웹 & 앱🔹 개발 목적개인 프로젝트Flask + React 기반의 풀스택 개발 경험 축적ChatGPT API를 활용한 추천 시스템 구현🔹 목표MVP(최소 기능 제품) 개발 및 배포깃허브, 블로그에 프로젝트 진행 과정 공유실제 사용자 피드백 반영하여 개선2️⃣ 요구사항 정의🔹 핵심 기능 (필수 기능)✅ 사용자의 위치 입력 (예: 강남, 홍대, 성수 등)✅ 실내/실외 여부 선택✅ 식사 여부 선택✅ ChatGPT API를 활용한 데이트 코스 추천✅ 추천 결과를 사용자에게 JSON 형식으로 제공 (백엔드 API 개발)✅ React ..

Project/Date Helper 2025.03.20

[프로그래머스] 같은 숫자는 싫어(Lv.1) - (python 파이썬)

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr Approach : 중복 숫자를 지우면서 순서를 유지하는 문제인데, 단순하게 중복을 지우는 세트로 바꾸고 리스트로 다시 만들어주면.. 당연히 안된다..! 세트로 변환될 때 순서가 바뀌기 때문이다.스택/큐를 활용하여 새로운 리스트를 만들어줘야할 것으로 보인다. 나의 코드 :  def solution(arr):     if not arr:         return arr     tmp = arr[0]     answer = [tmp]..

[프로그래머스] 기능개발(Lv.2) - (python 파이썬)

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr Approach : 작업하는데 남은 날들을 계산하여 day라는 리스트에 담고, 이 day리스트를 순회하면서 뒤에 숫자가 앞에 숫자보다 크지 않는부분에까지 숫자를 count해서 stack에 쌓는 아이디로 접근했다. 나의풀이 :  import math def solution(progresses, speeds):     days = []     answer = []     for idx in range(0, len(progresses))..

Flask CORS (Cross Origin Resource Sharing)

보통 웹에서 사용하는 HTTP request는 다른 도메인 데이터를 요청할 수 있다. 가령 Flask로 local에서 구현하다가 구글같은 페이지의 주소를 복사해와서, src = '' 안에 넣으면 로컬페이지에서 구글페이지 이미지가 뜨는것과 같은 구조이다. 하지만 스크립트 태그 ( )로 둘러싸인 스크립트 코드에서 실행되는 HTTP request는 동일한 서버에서만 요청할 수 있다. 정확히 프로토콜, 호스트명, 포트가 동일해야하고 이를 Same Origin Policy 라고 한다. 즉 http://localhost:5000/ 서버에서 http://localhost:8080/test 이 서버에 요청할 수가 없다는 것이다. (포트번호가 다르기 때문에 에러가 난다) 그럼 프론트엔드 서버에서 백엔드 서버를 가져와야하..

Rest API 요청시 파라미터, 값 넣기

HTTP 요청 중 가장 많이 사용되는 방식은 GET 방식으로, 이를 통해 URI 상에 파라미터와 파라미터값을 넣을 수 있다. URL?para1=para1_value&para2=para2_value 이런식으로 계속해서 파라미터값을 ?을 시작으로 &을 통해 구분해주며 값을 계속해서 넣어나갈 수 있다. form이라는 태그에서 method를 get으로 쓰고, action의 의미는 이 폼을 제출했을때, input.html로 이동하는 것을 의미한다. 결과적으로 fun-coding.org에서 작동하는 이 폼을 submit하면 위와 id와 pw의 값들을 저장하고, get방식으로 URI값으로 백엔드 서버에 해당 request를 보내게 된다. 로그인 ID: PW: html 파일로 간단하게 로그인 폼을 만들고,이 값들을 a..

Rest API 이해를 위한 HTTP protocol

http protocol은 컴퓨터를 클라이언트와 서버로 구분하고, 클라이언트에서 HTTP Request를 보내면 서버에서 HTTP Response를 보내주게 구성되어있다. 제일앞에 메서드가 들어가고, 경로가 들어간 뒤 버전이 들어가는 형식으로 Request를 보낸다. response는 버전을 시작으로 스테이터스 코드, 메세지와 함께 여러 데이터들을 받을 수 있다. 데이터를 다룰 때는 crud를 알아야한다. 이 rest api도 마찬가지로 데이터를 다루는 것이기에, 이 메서드들을 모두 알아야하고 여기에 맞춰서 구현이 이루어진다. 결국 REST API란 이 방식을 기반으로 api를 구현한 것이고, 마이크로 서비스, Open API(누구나 사용할 수 있도록 공개된 api) 에서 많이 사용된다. 그러면 Flas..