[Spring | 댕댕살롱] OpenAI API(DALL·E) 활용 이미지 생성
·
프로젝트/댕댕살롱
재미있게 개발하며 만족스러운 결과물을 얻기까지 많은 시도와 방법을 고민했던 반려견 미용 스타일 이미지 생성 과정에 대해 정리해보려고 합니다.AI 이미지 생성 개발기개발 초반 추가 기능에 대해 논의하던 중 AI를 활용하면 사용자가 반려견 사진을 업로드하고 원하는 미용 스타일을 입력하여 이미지를 생성해 미리보기를 제공하면 좋겠다는 의견이 나왔습니다.이 기능은 원래 부가적인 요소로 고려되었으며 시간이 남는 사람이 있으면 구현하기로 결정되었습니다. 이후, 견적, 결제, 알림 기능을 모두 마친 후 시간이 남았고 재밌을 거 같아서 제가 추가 기능을 맡게 되었습니다.모델 선택AI를 활용해보는 것은 처음이었고 어떤 모델을 사용하는 것이 좋을지 고민하던 중 자주 사용하던 GPT에게 제 반려견 사진을 올리고 "곰돌이 컷으..
[Spring | 아이북조아] 유레카 종합 프로젝트 후기
·
프로젝트/아이북조아
'아이북조아'는 LG 유플러스 유레카 백엔드 비대면 1기 교육과정을 수료하며 진행한 종합 프로젝트입니다.최종 융합 프로젝트에 들어가기 전 백엔드 6명이서 진행하였습니다. GitHub - ureca-Integrated/backend: 🏆 LG U+ 유레카 1기 백엔드 비대면 최우수상 종합 프로젝트🏆 LG U+ 유레카 1기 백엔드 비대면 최우수상 종합 프로젝트. Contribute to ureca-Integrated/backend development by creating an account on GitHub.github.com프로젝트 진행애자일 방법론 '아이북조아'는 애자일 방법론을 활용했습니다. 팀원들이 스프린트에 맞춰 개발을 착실히 해 주어 일정 관리에 거의 어려움이 없었습니다. ( 다들 너무 열심..
[Java | Algorithm] 프로그래머스 Lv1 - 명예의 전당(1)
·
알고리즘
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 문제 설명2) 접근 방식k번째로 높은 점수를 유지하면서 각 단계에서 k번째 점수를 반환하는 방식으로 풀어야겠다고 생각했습니다.3) 풀이import java.util.ArrayList;import java.util.Collections;import java.util.List;class Solution { public int[] solution(int k, int[] score) { int[] answer = new..
[Spring | 댕댕살롱] PG 결제 시스템 구현(토스페이먼츠)
·
프로젝트/댕댕살롱
안녕하세요.오늘은 댕댕살롱 프로젝트를 진행하면서 PG 결제 시스템 구현에 대해 정리해 보려고 합니다.프로젝트의 요구 사항 중 하나로 PG 결제 기능이 필수로 포함되어 있었고저는 이전에 PG 결제를 구현해 본 경험은 없었지만 재밌어 보이기도 했고한 번 구현해보고 싶어서 결제 기능을 담당하게 되었습니다.PG 플랫폼처음 PG 결제를 구현하다 보니 관련 개념과 기술을 익히는 데 시간이 필요했습니다.구체적으로 조사해 보니 아임포트나 토스페이먼츠와 같은 PG 플랫폼이 많이 사용되고 있다는 것을 알게 되었습니다.여러 옵션 중에서 토스페이먼츠를 선택한 이유는 다음과 같습니다:개발 문서와 가이드의 우수성: 공식 문서가 상세하고 이해하기 쉽게 제공되어 처음 도전하는 개발자에게 적합하다고 판단했습니다.간편한 통합: API ..
[Spring | 댕댕살롱] FCM 푸시 알림 추가 기능 구현(topic, kafka 활용)
·
프로젝트/댕댕살롱
[Spring | 댕댕살롱] FCM 푸시 알림 기능 구현안녕하세요 오랜만입니다. 최근에 제가 듣고 있는 유레카에서 진행한 최종 융합 프로젝트에 집중하느라 주기적으로 풀고 작성했던 알고리즘 글을 제외하면 엄청 오랜만에 글을 쓰는 것 같습니dlalstn1023.tistory.com(고객과 미용사 푸시 알림은 위 글에 정리해두었습니다)알림 조건:고객:새로운 견적서 도착 (푸시) 알림.예약일 하루 전 (푸시, 이메일) 알림.리뷰 작성 (푸시) 알림.미용사:새로운 견적 요청 도착 (푸시) 알림.결제 완료 (푸시) 알림.추가 기능:FCM 구독 알림 이벤트 1시간 전(푸시) 알림이번엔 추가 기능으로 구현했던 FCM 구독 알림과 이벤트 1시간 전(푸시) 알림에 구현 과정을 정리해 보려고합니다.FCM 주제 구독 메시징F..
[Spring | 댕댕살롱] FCM 푸시 알림 정보 Redis에 저장
·
프로젝트/댕댕살롱
[Spring | 댕댕살롱] FCM 푸시 알림 기능 구현안녕하세요 오랜만입니다. 최근에 제가 듣고 있는 유레카에서 진행한 최종 융합 프로젝트에 집중하느라 주기적으로 풀고 작성했던 알고리즘 글을 제외하면 엄청 오랜만에 글을 쓰는 것 같습니dlalstn1023.tistory.com위 글에서 푸시 알림을 보낸 후 알림 정보를 Redis에 저장하는 로직을 확인할 수 있습니다.푸시 알림 정보를 따로 Redis에 저장했던 이유에 대해 설명해 보려고 합니다.저희 서비스 화면을 보면 알 수 있듯이 일단 종 모양에 알림 개수를 띄워줘야 했습니다.종 아이콘을 클릭하면 알림 리스트를 확인할 수 있는 기능을 구현하려 했습니다.이 기능을 구현하기 위해 푸시 알림 데이터를 어딘가에 저장해 두어야 했습니다.저장 장소초기 설계 단계..
[Spring | 댕댕살롱] FCM 푸시 알림 기능 구현
·
프로젝트/댕댕살롱
안녕하세요 오랜만입니다. 최근에 제가 듣고 있는 유레카에서 진행한 최종 융합 프로젝트에 집중하느라 주기적으로 풀고 작성했던 알고리즘 글을 제외하면 엄청 오랜만에 글을 쓰는 것 같습니다.이번 프로젝트를 통해 배운 것도 많고 느낀 점도 많아서 하나하나 천천히 정리해보려고 합니다.프로젝트12월 24일 프로젝트 발표와 함께 유레카 수료도 했고11월 12일 ~ 12월 24일 (약 6주) 동안 진행했던 프로젝트에서 저는 견적, 알림, 결제, Ai 기능을 맡았습니다.이번 글에서는 알림 기능 구현 과정과 고민했던 점에 대해 작성해보려합니다.  Ureca Dangdang SalonUreca Dangdang Salon has 2 repositories available. Follow their code on GitHub...
[Java | Algorithm] 프로그래머스 Lv2 - 124 나라의 숫자
·
알고리즘
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12899?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 문제 설명2) 접근 방식3진법 개념124 나라의 숫자 체계는 3진법과 유사합니다.하지만 3진법에서는 자릿수가 0, 1, 2로 표현되지만 124 나라에서는 1, 2, 4로 대체됩니다.나머지 값을 이용3으로 나눈 나머지가 1, 2, 0일 때 각각 1, 2, 4로 매핑됩니다.나머지가 0일 경우 124 나라에서는 4를 사용하고 몫에서 1을 감소시켜야 합니다.반복적인 몫과 나머지 계산주어진 수 n을 3으로 나눈 나머..
[Java | Algorithm] 프로그래머스 Lv2 - 양궁대회
·
알고리즘
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 문제 설명2) 접근 방식어피치가 화살을 쏜 상태에서 라이언이 화살을 쏴 최대 점수 차로 승리하는 경우를 찾아야 합니다.점수를 얻기 위해서는 어피치가 맞힌 화살보다 하나 더 많은 화살을 쏴야 합니다.점수 차가 최대가 되는 경우를 찾는 것이 목표이므로 가능한 모든 화살 배치를 탐색하며 최적의 경우를 저장합니다.DFS와 백트래킹을 이용하여 화살 배치를 조사하고 점수 차가 최대가 되는 경우를 저장합니다.3) 풀이public class So..
[Java | Algorithm] 프로그래머스 Lv2 - 귤 고르기
·
알고리즘
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 문제 설명 2) 접근 방식HashMap 활용을 활용하여 귤의 크기가 많을수록 해당 크기를 우선적으로 선택하여 k를 빠르게 감소시키고높은 빈도수부터 선택하면 귤 종류를 최소화할 수 있게 풀려고 했습니다.3) 풀이import java.util.*;class Solution { public int solution(int k, int[] tangerine) { int answer = 0; Ha..