분류 전체보기 86

[AI 검증 프로젝트] 주문 관리 플랫폼 설계

모놀리식 팀 프로젝트에 들어가면서 초반 ERD와 테이블 설계 등등을 설계하는 도중 들었던 고민들과 그 결과를 정리해두려 한다. 일단, 이번 프로젝트는 주어진 요구사항에 맞춰 개발해야 하는 프로젝트이다. 🔹요구사항  🔹테이블 명세서 및 ERD 테이블 명세서 보러가기 30조 테이블 명세서 | Notion1. 사용자 테이블 (p_users)teamsparta.notion.site ERD주문 테이블과 상품 테이블은 N:M의 관계를 가지게 되므로, 두 테이블 간의 매핑 테이블(p_orders_products)를 만들어두었다. 또한 AI를 통해 상품 이름을 추천받을 수 있어야 하고, 결과물을 DB에 저장해야 하기 때문에 AI 관련 테이블도 만들었다.가게에 딸려 있게되는 음식 카테고리나 지역 카테고리는 추후 테이..

Project 2024.08.23

[programmers lv.1 python] 없는 숫자 더하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1차 풀이 (for문 사용) 👉 정답def solution(numbers): num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] answer = 0 for i in num_list: if i not in numbers: answer += i return answer 0~9로 이루어진 리스트 'num_list'를 순회하면서 numbers 배열에 없는 숫자를 찾고, if i not in numbers:를 사용하여 numbers에 없..

[Python] 파이썬에서의 집합, set 함수

프로그래머스에서 문제를 풀다가, 나의 경우 for문으로 풀었던 문제를 다른 사람은 set 함수로 간단히 푼 것을 보고 set 함수를 자세히 찾아보게 되었다. 포스팅 하면서 set 함수의 사용법과 쓰임에 대해 까먹지 않으려고 (!!!) 포스팅해본다. SET 함수란?자바의 set 함수와 같이, 파이썬의 set 함수 또한 집합을 생성하기 위해 사용된다. 집합은 '중복되지 않는 요소들의 모음'으로, 수학에서의 집합을 생각하면 되고! 파이썬의 set 함수는 집합 연산(합집합, 교집합, 차집합 등)을 지원한다는 것 까지 알아두자. 기본 사용법# 빈 집합 생성s = set()# 리스트나 문자열 등을 사용해 집합 생성s = set([1, 2, 3, 4, 4])print(s) # 출력: {1, 2, 3, 4} # 중..

[programmers lv1. python] 서울에서 김서방 찾기 (초..간단하게 풀기)

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 학습을 시작하는 매일 아침마다 정신도 차리고 알고리즘 감도 유지할 겸 프로그래머스의 lv 1 문제들을 풀고 있는데, 오늘 푼 문제가 어이없다시피 간단하게 풀 수 있는 방법이 있어 공유하고 싶어 포스팅을 한다. 먼저 알고리즘 문제를 푸는 필자의 루틴은 ㅡ 일단 푼다. (어렵거나 복잡하면 수도 코드를 사용하거나 그림을 그림)풀어서 맞추면 그 코드를 좀 더 간단하게 풀거나 클린 코드로 개선할 수 있는지 찾아본다.남은 어떻게 풀었나 '다른 사람의 코드' 섹션도 참고해본다. ('가끔 이렇게도 풀 수 있다고 ..?' 거나 ..

[MSA] Resilience4j 의존성 설정 및 주의할 점들 (부제: io.github에서 제공하는 의존성 사용)

Open -> Half-Open)와 주의할 점" data-og-description="오늘은 마이크로서비스 아키텍쳐를 학습하면서 알게된 서킷브레이커의 상태 변화에 대해 자세히 포스팅해보려고 한다. 상태가 어떤 상황에서 어떻게 변하는지, 각 상태는 어떤 상황을 말하는" data-og-host="developer-jinnie.tistory.com" data-og-source-url="https://developer-jinnie.tistory.com/82" data-og-url="https://developer-jinnie.tistory.com/82" data-og-image="https://scrap.kakaocdn.net/dn/ddAV2g/hyWKvhNnp9/7KYrkUKV19cBAcwrtUngY1/img..

Architecture/MSA 2024.08.07

[TIL] 서킷 브레이커의 상태 변화(Closed -> Open -> Half-Open)와 주의할 점

오늘은 마이크로서비스 아키텍쳐를 학습하면서 알게된 서킷브레이커의 상태 변화에 대해 자세히 포스팅해보려고 한다. 상태가 어떤 상황에서 어떻게 변하는지, 각 상태는 어떤 상황을 말하는지 등을 알아가보자.(사실 깊게 포스팅하려면 MSA의 구조와 환경, 장애전파 가능성 및 장애격리, ...등등에 대해서까지 명시하면 좋지만 이 포스팅에서는 그 부분은 간단히 쓰고 서킷 브레이커에 초점을 맞춰서 쓰도록 하겠다)  [프로젝트] 모놀리식과 MSA: MSA 구조 채택 이유들어가며이번 프로젝트에서 모놀리식 아키텍쳐 대신 MSA 구조를 선택하기로 하면서, 모놀리식 아키텍쳐와 MSA는 어떻게 다르고 왜 이런 의사결정을 하기로 했는지 현재 프로젝트에 빗대어 기술developer-jinnie.tistory.com  0. 서킷 브레..

Architecture/MSA 2024.08.07

[TIL] 같은 타입의 Bean이 2개라면 발생하는 문제 해결 (feat. @Primary, @Qualifier)

오늘은, Spring 환경에서 같은 타입으로 등록된 Bean이 2개 이상일 때 발생할 수 있는 문제를 알아보고 어떻게 해결할 수 있을지까지 학습해보도록 하겠다 😀 환경food 라는 패키지 아래에 클래스 세 개가 있다. Food라는 인터페이스에, 이 인터페이스를 구현하는 클래스 Chicken과 Pizza가 있는 구조이다. 1. Food 인터페이스package com.study.springauth.food;public interface Food { void eat();} 2. Food를 구현하는 Chicken과 Pizza 클래스여기선 @Component 애너테이션을 사용해서 Bean으로 등록하고 있다.package com.study.springauth.food;import org.springframe..

Framework/Spring 2024.08.06

[AWS] EC2 포트포워딩, nohub 적용하기

[Spring/AWS] EC2, RDS를 이용해 배포하기 2 - EC2 서버 구매 및 배포 편[Spring/AWS] EC2, RDS를 이용해 배포하기 1 - RDS 설정 및 인텔리제이와 연결 편* 사전에 (윈도우의 경우)Git Bash 설치 및 AWS 회원가입이 선행됐다고 가정 후 쓰는 글입니다!환경Windows, Git Bash, Spring Boot 3.1developer-jinnie.tistory.com이전 글에서는 EC2를 이용해서 서버를 구매 후 배포하는 방법을 공유했다. 이번 글에서는 배포 후 URL의 뒤에 매번 딸려오는 포트 번호를 없애서 URL을 더 간단히 만드는 포트포워딩과, SSH 접속을 끊어도 서버가 계속 돌게 하는 nohub을 적용시켜보는 포스팅을 작성해보려고 한다.  0. 포트포워..

Cloud/AWS 2024.08.04