https://github.com/Griotold/CodeBloom_DeliveryApp GitHub - Griotold/CodeBloom_DeliveryAppContribute to Griotold/CodeBloom_DeliveryApp development by creating an account on GitHub.github.com 1. 프로젝트 간단 소개스프링부트 개발환경을 통해 '00의 민족'과 같은 주문 관리 플랫폼의 백엔드 구축했습니다.생성형 인공지능 서비스(`API`)를 활용하여 `AI` 기능 적용했습니다. 2. `ERD`, 인프라 설계서특징적인 것은 "음식점 허가 요청(`p_store_request`)"라는 테이블을 따로 만들어서 가게 생성시 곧장 "음식점(`p_store`)" 테이블에 ..
1. QueryDSL프로젝트 진행중, 가게를 조회하는 기능을 개발하고 있었는데page, size, 카테고리, 메뉴명, 가게명 등의 동적인 조건으로 쿼리를 해야 하는 상황이 있었다.메뉴명과 가게명은 부분일치해도 가게 목록을 가져와야 하고,카테고리는 categoryId가 정확히 일치해야하는 등 굉장히 복잡한 쿼리였다. QueryDSL은 JPA와 함께 사용되는 쿼리 빌더로 , 타입 안전한 쿼리를 작성할 수 있도록 도와준다. 1 - 1. 타입 안정성QueryDSL은 자바 코드로 쿼리르 작성하기 때문에, 컴파일 시점에 문법 오류를 잡아낼 수 있다.이는 문자열 기반의 JPQL이나 SQL과 달리 런타임 오류를 방지할 수 있어 안정성이 높다.// 잘못된 필드명을 사용하면 컴파일 시점에 오류가 발생queryFactory..
1. 문제 상황분명히 프로젝트에는 회원가입과 로그인 요청 API는 인증하지 않는다고 SecurityConfig에 선언해뒀다.그리고, 원하는 대로 잘 동작했다.그런데, 어느 순간 회원가입이 정상적으로 처리되지 않는 상황이 발생했다.아래 처럼 2. 원인 찾기2 - 1. 팀 공통 깃허브 레포에서 병합하는 과정에서 발생한 문제?처음에는 팀 공통 레포에서 pull 당긴 후에 벌어진 일이라병합하는 과정에서 뭔가 충돌이 있었겠거니 했다.팀원들에게 물어본 결과, 문제가 없다는 답변을 받았다.같은 레포를 pull 당겼는데 나만 문제가 생길 수가 있나? 2 - 2. SecurityConfig 를 다시 한 번 살펴보기package com.sparta.project.config;import com.sparta.project...
1. 오늘의 문제 - 촌수 계산 - 백준 : 2644번https://www.acmicpc.net/problem/2644 2. 문제 풀이 전략DFS로 그래프 탐색을 하면 될 것 같고,양방향 그래프이고,사람들이 100명뿐이 안되니까 인접행렬 사용하면 될 것 같다. 3. 풀이package io.conduktor.demos.dfsbfs.hanghaecote99.middler;import java.io.*;import java.util.StringTokenizer;// 8. 촌수 계산 - 백준 : 2644 - DFS, BFSpublic class ChonNumber8 { static int N; static int targetA; static int targetB; static int M;..
1. 오늘의 문제 - 모음 사전 : 프로그래머스 (Level 2)https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 풀이 전략DFS로 만들 수 있는 단어를 전부 만든다.몇 번째로 만들어진 단어인지 확인한다.3. 풀이package io.conduktor.demos.dfsbfs.hanghaecote99.middler;import java.util.ArrayList;import java.util.List;// 7. 프로그래머스 - 모음 사전 - 그래프 이론public class Vowel..
1. 오늘의 문제 - 나무 자르기 - 백준 : 2805https://www.acmicpc.net/problem/2805 이분탐색!지금까지 갈고 닦은 이분탐색 실력을 뽐낼 시간이로군 2. 문제 풀이 전략이건 그냥 이분탐색만 알고 알고 있으면 간단히 해결될 것 같다. 3. 난관 봉착... 예제 입력을 넣었을 때 출력이 제대로 안 나옴근데 왜 첫 번째 예제 입력시 출력으로 15가 나와야 하는데 13이 나오는걸까? 두 번째 예제도 마찬가지. 36이 나와야 하는데 27이 나온다. 내가 작성한 로직은 아래와 같다.int result = 0;int left = 0;int right = 1000000000;while (left = M) { result = mid; left = mid + 1; ..
1. 오늘의 문제 - 알고리즘 수업 - 너비 우선 탐색 1 - 백준 : 24444번https://www.acmicpc.net/problem/24444 이름부터가 BFS로 풀라고 떠먹여준다.BFS는 참 좋다.공식만 알고 있으면 되니까.문제에서 친절하게 공식도 알려준다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근정점수가 100,000 개이므로, 인접행렬로 그래프를 표현하면 메모리초과가 발생할 것이다.인접리스트로 그래프를 표현하자.// static int[][] adjMatrix; // 인접 행렬 안됩니다!static List> adjList; 2 - 2. 정렬예시의 입력을 살펴보면, 1번 정점과 4번 정점이 연결 되고, 1번 정점과 2번 정점이 연결 된다.결과적으로, 1번 정점과 연결된 정점들은 [..
1. 오늘의 문제 - 알고리즘 수업 - 깊이 우선 탐색 1 - 백준 24479번https://www.acmicpc.net/problem/24479 1년 전에 풀었던 문제가 나왔네?다시 한 번 풀어보자.다시 풀어봤는데, 첫 번째, 두 번째 제출은 틀렸고, 세 번째 만에 맞췄다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근일단 정점수가 100,000이다.인접행렬로 풀 경우, 100,000 * 100,000 이니까 공간 복잡도가 어마어마해진다.정점수가 적을 때는 인접행렬로 풀어도 되지만, 이런 경우 인접리스트로 풀어야 시간초과가 안 난다.static List> adjList;2 - 2. 정렬예시의 입력을 살펴보면, 1과 4가 연결, 1과 2가 연결순으로 제시된다.1번과 연결된 놈들이 [4, 2] 가 되는..