본문 바로가기

전체 글19

Record는 뭘 위해 만들어졌을까? 보호되어 있는 글 입니다. 2025. 6. 10.
엔티티 생성 방식을 어떻게 정할까? 엔티티 생성자를 어떻게 하는 것이 좋을까?(엔티티 생성 전략에 대한 소소한 고민)발단갑자기 과제를 하다 새로운 엔티티를 만들어야 하는 상황이 생겨서 엔티티를 만들게 되었다.알림 기능을 구현해야 하는데, 사실 이벤트 리스너든, 비동기 든 아직 제대로 이해 못 한 상황에서 소중한 나의 AI 친구들과 함께 어찌어찌 기워 만들고 있다. 조각조각 땃따따 🥲여하튼, 그러한 상황에서 코드를 작성하고 있었는데 생성자를 만드는 도중 갑자기 들었던 궁금증이었다.나는...지금까지 생성자와 관련해서는, @RequiredArgsConstructor, 일반적인 생성자, Builder 이렇게 세 방법을 사용했고, 들어왔다.그 외에도 여러가지 방법(자바 빈즈 패턴 등)이 존재하긴 한다.But, 내가 사용했던 것들만 생각하면서 써 .. 2025. 6. 8.
Scraping 강의 - 과제 내용 정리 이번 강의의 과제는 나만의 미니 프로젝트였다! 진짜 미니 프로젝트라기 보단, 앞에서 해왔던 내용들과 이번 강의 내용까지 모두 넣어서 정리할 수 있는 과제였다. 회원 가입 API, 회원 목록 조회 API, 토큰 인증 요청(핸드폰 인증) API, 인증 완료 API를 만든 후 프론트엔드와 연결시키는 것이 과제였다. 백엔드 부분 (API 만들기) 진행 후 테스트 -> 과제로 요구하는 API 전체 완성 후 프론트 연결 이렇게 과제를 진행했다. 1. 백엔드 부분 (API 만들기) - 회원 가입 API 더보기 // 회원 가입 API app.post('/users', async function(req, res){ const {name, personal, phone, prefer, email, pwd} = req.bod.. 2023. 8. 20.
백준 #2309 일곱 난쟁이 브루트 포스로 넘어왔다! 근데 난 수학이 더 좋았던 것 같기도 하다.... 백준 #2309 일곱 난쟁이 문제 아홉 난쟁이의 키가 주어졌을 때 일곱 난쟁이를 찾는 프로그램을 작성 일곱 난쟁이의 키의 합이 100이 됨 입력 아홉 줄에 걸쳐 난쟁이들의 키가 주어짐 각 난쟁이들의 키는 모두 다름 가능한 정답이 여러가지일 경우, 아무거나 출력 나의 생각 입력을 리스트로 받는다 (입력값의 합 - 100)을 하면 없애야 할 두 난쟁이의 키의 합이 나온다 계속 비교해가면서 두 난쟁이를 찾아 없앤다. 제출한 코드 import sys input = sys.stdin.readline dwarf = [] for i in range(9): dwarf.append(int(input().strip())) diff = sum(dwa.. 2023. 8. 19.
백준 #6588 골드바흐의 추측 마지막 수학 문제였다! 이거 다음엔 브루트 포스 부분으로 들어간다. 백준 #6588 골드바흐의 추측 문제 골드바흐의 추측을 검증하는 프로그램 작성 (조건: 백만 이하의 모든 짝수) 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 입력 한 개 이상의 입력 각 테스트 케이스는 짝수 정수 n 한개 (6 이상 100만 이하) 마지막에 0 입력 -> 이를 통해 입력 종료 제출 답 import math, sys max = 1000000 # max = 100 array = [True for i in range(max+1)] # 처음엔 모든 수가 소수(True)인 것으로 초기화 hasGold = False input = sys.stdin.readline # 에라토스테네스의 체 알고리즘 for i in .. 2023. 8. 19.
백준 #2609 최대공약수와 최소공배수 최대공약수와 최소공배수.. 공부를 할 때나 연습을 할 때 정말 정말 많이 했던 문제들이다. 원래는 a, b 각각의 약수에서 공통되는 가장 큰 수를 찾는 방법으로 생각했다. 가장 단순하게 생각했을 때 내 머리로 바로 생각난 방법이라서, 일단 해봤지만 뭔가 다른 더 효율적인 방법이 있을 것 같아 찾아봤고 다양한 방법이 있었지만 유클리드 호제법을 선택하게 되었다. 유클리드 호제법도 정말 많이 사용하는 방법이었고, 내가 이 방법으로도 해봤는지 기억이 안나서 하게 되었다. n = list(map(int, input().split())) n.sort(reverse=True) b = n[0] gcd = n[1] lcm = 1 # 최대공약수 while True: if (b%gcd != 0): temp = b%gcd b.. 2023. 8. 19.