20260310 [TIL] 클라우드 아키텍처 설계 & 배포
·
IL/TIL
트러블슈팅Docker 이미지 아키텍처 불일치문제EC2에서 컨테이너 실행 시 exec format error 발생원인로컬 환경과 EC2 환경의 CPU 아키텍처가 달라 이미지 호환 문제가 발생해결Docker 이미지 빌드 시 플랫폼 명시RDS 연결 실패문제애플리케이션이 운영 환경에서 MySQL에 연결되지 않음원인RDS 보안 그룹 설정 미흡Parameter Store 값 주입 오류DB URL 오타 또는 데이터베이스 미생성해결RDS 인바운드 규칙에 EC2 보안 그룹 연결Parameter Store 값 재확인애플리케이션 실행 프로필 및 DB 설정 점검ALB Health Check 실패문제Target Group 상태가 Healthy로 올라오지 않음원인Health Check Path 설정 오류애플리케이션 미기동보안 그..
20260304 [TIL] - 코드 개선
·
IL/TIL
0️⃣ 에러 분석포크 받았는데 yml이나 properties resource 파일 어디 갔을까요. 나 보려고 했는데 일단 넘깁시다. 일단 에러를 분석해야 되니까 밑에서부터 차근차근 봅시다.그리고 그 위 오케이 대충 알겠고...... 전체 검색으로 찾아보자 무슨 짓을 하셨나요?일단 `@Value` 어노테이션이란?properties에 보관되어 있는 값을 가져오는 역할을 한대요. 구글링.....생각해 보니까 어이가 없습니다. 인텔리제이에서 프로젝트 만들면 리소스 자동으로 일단 세팅해 주고 시작하는데 이게 없다구요? ㅎㅎ 처음부터 내 세팅에 맞추려고 확인해 봤는데 없을 때부터 알아봤습니다, 제가.spring: application: name: expert datasource: url: jdbc:m..
20260211 [TIL] 외래키로 매핑되어 있는 부모 테이블 row 삭제
·
IL/TIL
❗문제 상황댓글이 달린 일정을 삭제하려고 DELETE 요청을 보냈더니 삭제가 실패함.응답은 500 에러가 뜸콘솔에 이런 게 찍히는데요.....? FK 관련 오류 아니 삭제하게 해 달라고요원인은...... `comments` 테이블의 schedule_id가 schedules.id를 참조하는 외래키(FK)라서 부모 삭제를 db가 참조 무결성을 지키려고 막음..... ~ 해결댓글이 가리키는 일정이 없어지면 댓글이 이상해지니까 님 댓글 먼저 삭제를 해야 됨 아..! // 댓글 일괄 삭제 쿼리 메서드 void deleteAllByScheduleId(Long scheduleId);CommentRepository에 또 쿼리 메서드 추가 아니 얘 진짜 편하네 QueryDSL은 들어만 봤는데 이것보다 더 편하..
20260210 [TIL]
·
IL/TIL
https://lahezy.tistory.com/105https://suhyeonlog.tistory.com/21환경변수처리 블로그사이드 이펙트? onetomany의 fetch 타입은 디폴트로 lazy기 때문에 안 쓴다 manytoone은 fetch 타입의 디폴트가 lazy가 아니라 eager기 때문에 쓴다 베이직반 RestController 제이슨 스트림 리턴 -> 백엔드를 따로 쓰기 때문에 이걸로 리턴 Controller는 모델 완성된 페이지 리턴 IoC (Inversion of Control) = 원칙 -> 객체 생성 자체를 Spring에게 맡긴다. 개발자가 new로 생성하던 객체를 대신 생명관리를 해 준다. Spring이 어떤 기준으로 생성자 역할을 대신 해 줄까? -> 어노테이션을 통해서 표시!..
[WIL] Spring - 일정 관리 앱 업글
·
IL/WIL
리팩토링 해서 업그레이드 하려고 했는데 튜터님의 피드백을 받고 그 기반으로 다시 복습할 겸 새로 만드는 걸로......1. 엔티티 수정하고 나서 습관처럼 save를 한 번 더 호출한 거 빼기..... JPA는 트랜잭션 안에서 조회된 엔티티 영속상태면 값 바뀐 거 알아서 update 날려 주는데 그걸 save로 한 번 더 눌림... 왜 눌림 거기서 저장 버튼 한 번 더 눌린 거다 @Transactional 이라는 친구- JPA를 통해 조회를 하게 되면 JPA가 '영속성 컨텍스트'에서 관리를 시작함- JPA 이 조회된 친구의 원래 모습을 알고 있고- Transactional이 포함한 범위가 끝났을 때, 더티 체킹 : 원래 모습 vs 마지막 모습... 바뀐 게 있다? UPDATE 쿼리 실행. 없다? 그냥 둠2..
[TIL] Hibernate Dialect(MySQL8Dialect) 오류 스키마 DDL 경고
·
IL/TIL
1) 문제 상황Spring Boot 실행 시 아래 오류로 애플리케이션이 기동되지 않음.에러 핵심 로그 StrategySelectionException: Unable to resolve name [org.hibernate.dialect.MySQL8Dialect] Caused by: ClassNotFoundException: org.hibernate.dialect.MySQL8Dialect 추가로 DB 관련 오류도 함께 발생함. Unknown database 'posting' 또 다른 실행에서는 아래 DDL 관련 오류/경고가 출력됨. CommandAcceptanceException: Error executing DDL "alter table comments drop foreign key ..." Table '..
[WIL] Spring - 일정 관리 앱 만들기
·
IL/WIL
🚩 설정spring.application.name=spring-schedulespring.datasource.url=jdbc:mysql://localhost:3306/schedulespring.datasource.username=rootspring.datasource.password=비밀번호spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.jpa.hibernate.ddl-auto=createspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialectspring.jpa.show-sql=truespring.jpa.properties.hibernate.format_s..
20260129 [TIL] - Spring 입문 시작에서
·
IL/TIL
Lombok `@Slf4j` 사용 시 `org.slf4j does not exist` 해결1) 문제 상황IntelliJ + Gradle(java 플러그인) 프로젝트에서 Lombok @Slf4j 사용컴파일/실행 시 아래 오류 발생2) 에러 로그Could not find org.projectlombok:lombok:.package org.slf4j does not exist3) 원인Lombok 의존성 버전 누락Gradle 문자열 좌표는 group:name:version 형태여야 함버전이 비어 있으면 Gradle이 아티팩트를 못 찾음@Slf4j는 SLF4J 타입(org.slf4j.Logger)을 참조Lombok은 log 필드를 “생성”해 줄 뿐이고,그 필드가 사용하는 SLF4J 라이브러리는 별도로 필요함순수 ..
20260126 [TIL] - 자료구조 및 알고리즘 INTRO
·
IL/TIL
1. 알고리즘 개념1) 알고리즘이 뭐임?입력(Input): 재료(예: 숫자 2개, 장바구니 목록)과정(Process): 어떤 순서로 무엇을 할지(예: 더한다 -> 조건 검사한다 -> 출력한다)출력(Output): 완성된 결과(예: 합, 최댓값, 결제금액)끝나는 조건(Stop): 언제 멈추는지(예: 다 검사하면 종료)예를 들어 "장바구니 합계"는 상품을 하나씩 보면서 가격, 수량을 더한다 - > 합이 5만원 이상이면 배송비 0원 2) 좋은 알고리즘이란?정확성: 항상 정답이 나오나? (같은 입력이면 같은 결과)효율성: 너무 오래 걸리지 않나? (시간) / 메모리를 너무 쓰지 않나? (공간)명확성: 사람이 읽어도 이해되나? (코드 / 설명이 깔끔한가?)확장성: 나중에 기능 추가 / 수정하기 쉬운가? 3) 시간..
[WIL] - Java 커머스 과제
·
IL/WIL
저번 과제에서는 어떻게 시작해야 될지도 모르고 단계별로 차근차근 못했는데 이번에는 단계별로 차근차근 해 볼 생각이다. 🚩STEP 1 - 객체지향 설계를 적용해 상품 관리 시스템을 프로그래밍 해 보자1️⃣ `product` 클래스 생성하기// 상품 1개의 정보를 담는 클래스(설계도)public class Product { // 필드 - 이 객체가 가지고 있어야 하는 정보를 저장하는 변수 String name; // 상품명 int price; // 가격 String descrption; // 설명 int stock; // 재고 수량 // 생성자 public Product(String name, int price, S..
20260113 [TIL] 10 - Flowchart
·
IL/TIL
🚩컴퓨팅 사고의 4가지 핵심 요소1. 분해(Decomposition)복잡한 문제를 작은 단위로 나누기"은행 시스템" -> "메뉴 선택" + "입금 처리" + "출금 처리" + ...2. 패턴 인식(Pattern Recognition)문제들 사이의 공통점과 규칙성 찾기반복되는 구조 발견: "입력 -> 조건 확인 -> 처리 -> 출력" 패턴3. 추상화(Abstraction)핵심 요소만 추출하고 불필요한 세부사항 제거핵심 로직에만 집중: 구현 세부사항은 제거하고 논리 구조만4. 알고리즘 사고(Algorithm)문제 해결을 위한 순서가 있는 절차순서가 있는 문제 해결 단계조건과 반복을 체계적으로 처리 🚩Flowchart 기본 요소- 기본 심볼타원형(Terminal)시작과 종료직사각형(Process)처리 과정..
[TIL] - Java 계산기 과제
·
IL/TIL
🚩STEP 1. 클래스 없이 기본적인 연산을 수행할 수 있는 계산기 만들기- 일단 만들기package com.example.calculator;import java.util.Scanner;public class App { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true){ // Scanner를 사용하여 양의 정수를 입력받는다 System.out.print("첫 번째 숫자를 입력하세요: "); int num1 = sc.nextInt(); System.out.print("두 번째 숫자를 입..