분류 전체보기 120

[프로그래머스] 평균 구하기

나의 풀이import java.util.Arrays;class Solution { public double solution(int[] arr) { return Arrays.stream(arr).average().getAsDouble(); }}이번에는 stream을 사용해서 문제를 해결하고자 했다.익숙한 for문, while문에서 벗어나고 싶었다. 다른 사람의 풀이import java.util.Arrays;public class GetMean { public int getMean(int[] array) { return (int) Arrays.stream(array).average().orElse(0); } public static void main(Strin..

[DB 설계] 섹션 2 - DB 설계 전 필수로 알아야 하는 개념

https://inf.run/pxDWY[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.]데이터베이스 모델링(Datbase Modeling)이란? ✅ 데이터베이스 모델링(Database Modeling)이란?데이터를 어떻게 분류해서 저장할 지를 설계하는 행위 데이터는 잘 분류해서 저장해야 한다. -> 나중에 필요한 데이터를 쉽게 조회, 수정, 삭제할 수 있다.동의어 : 데이터 모델링, 데이터베이스 설계(DB 설계) 🧑🏻 “현업에서 자주 쓰이는 키워드는 알아둬야 검색을 할 때도 편하고 의사소통 할 때도 편하다.“ ✅ 데이터베이스 모델링 방법을 왜 배워야 하나요?ex) 옷장 정리 방식사람들마다 방식이 다 다름(외출복, 집에서 입는 옷 / 상의, 하의 / 색깔별 분류 등)만약 옷장..

[쉬운코드] 큐(queue) 설명

https://youtu.be/ZZw6remsJNo?si=Tk6rpWW9bEFcO_BF쉬운코드 유튜브Queue는 LILO, FIFO 특징을 가지고 있다.즉, 먼저 들어온 것이 먼저 나가는 구조이다.(순서 보장) 은행을 첫 번째 예시로 들어주셨다.은행에 가면 번호표가 있고, 은행원 창구에 번호가 나온다.자신의 번호가 창구에 나오면, 자신의 순서가 되어 은행 업무를 볼 수 있다. 두 번째 예시는 메신저로 들어주셨다.메시지가 먼저 온 순서대로 우리에게 보여진다. 다시 정리하면Queue의 특징은 FIFO, 순서보장이다.

[쉬운코드] 스택(stack) 설명

https://youtu.be/ELEoJHiqlF4?si=OZKlsEpujKk38VX-쉬운코드 유튜브Stack은 LIFO 또는 FILO가 특징이라고 하셨다.즉 마지막에 들어온 것이 제일 먼저 나가는 구조이다. 영상에서는 2가지 예시를 들어주셨는데버스에서 사람들이 먼저 타는 순서대로 버스 안으로 들어가서내릴 때는 나중에 탄 사람이 먼저 내리는 구조로 설명해주셨다. 그리고 ctrl+z(실행 취소 단축키) 예시가 인상적이었는데만약 abcd를 입력하다가 d를 취소하고 싶으면 ctrl+z를 하면 된다.그러면 맨 마지막에 입력했던 d가 실행 취소된다. 마지막으로 Stack을 정리해주셨는데LIFO, FILO그리고 추가적으로 push(들어갈 때), pop(나갈 때)에 대해서도 설명해주셨다.Stack에 대해서는 아래의..

🚀 Redis Pub/Sub 적용기 — EventListener 한계부터 직렬화 이슈 해결까지

서비스가 커지면서 단순한 이벤트 처리 방식으로는 한계를 느끼기 시작했습니다.이번 포스팅에서는 기존 @EventListener 기반 구조에서 Redis Pub/Sub으로 리팩토링한 과정과,그 속에서 겪은 직렬화/역직렬화 이슈 해결기를 공유해보겠습니다. 1️⃣ 왜 Redis Pub/Sub을 도입했을까?초기에는 스프링의 @EventListener 를 사용해 결제 취소/실패 알림을 처리했습니다.스프링 이벤트는 단일 서버에서 간단한 후처리를 할 때 정말 편리하죠.하지만 서비스가 성장하면서 확장성과 비동기 처리의 한계가 드러났습니다. 🔹 EventListener vs Redis Pub/Sub 비교항목 @EventListener Redis Pub/Sub동작 범위애플리케이션 내부 프로세스분산 환경에서도 사용 가능비..

CODING/Project 2025.04.28

🌐 Amazon SES - IAM 사용자 및 Access Key 발급 가이드

1️⃣ IAM 사용자 생성AWS Management Console 접속상단 검색창 ➜ IAM 선택좌측 메뉴 ➜ 사용자 클릭➕ 사용자 추가 클릭사용자 이름 입력 (예: ses-user)액세스 유형 ➜ 프로그래밍 방식 액세스 체크 2️⃣ 권한 설정정책 검색창에 SES 입력✅ AmazonSESFullAccess 선택 3️⃣ 사용자 생성설정 완료 후 ➜ 사용자 생성 버튼 클릭 4️⃣ Access Key 발급생성된 사용자 클릭상단 탭 ➜ 보안 자격 증명 이동아래로 스크롤 ➜ 액세스 키 만들기 클릭사용 목적 선택 ✔️ AWS 외부에서 실행되는 애플리케이션 선택발급된 - Access Key ID - Secret Access Key 를 안전하게 저장 5️⃣ Spring Boot 설정발급받은 키를 applicati..

CODING/Project 2025.04.28

🌐 Amazon SES 자격 증명 설정 가이드

안녕하세요! Amazon SES(Simple Email Service) 설정 방법 중"자격 증명 생성 및 인증 과정"을 쉽고 깔끔하게 정리해보겠습니다. Amazon SES(Simple Email Service) 는 사용자의 이메일 주소와 도메인을 사용해 이메일을 보내고 받기 위한 경제적이고 손쉬운 방법을 제공하는 이메일 플랫폼입니다.예를 들어, 특별 행사 안내 등의 마케팅 이메일, 주문 확인서 등의 거래 이메일, 뉴스레터 등의 기타 통신문을 발송할 수 있습니다.Amazon SES를 사용하여 메일을 수신하면 이메일 자동 응답기, 이메일 구독 해제 시스템, 수신 이메일에서 고객 지원 티켓을 생성하는 애플리케이션과 같은 소프트웨어 솔루션을 개발할 수 있습니다.(출처: https://docs.aws.amazon..

CODING/Project 2025.04.23

56_Spring 플러스 주차 개인 과제 트러블슈팅_25.3.20(목)

2025.03.20(목)Spring 플러스 주차 개인 과제 트러블슈팅도전Lv 3-12. AWS 활용aws pc에서 java -jar expert-0.0.1-SNAPSHOT.jar 실행 시 문제 발생2025-03-20T00:53:21.644Z ERROR 4655 --- [expert] [           main] o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'jwtAuthenticationFilter' defin..

55_Spring 플러스 주차 개인 과제 트러블슈팅_25.3.19(수)

2025.03.19(수)Spring 플러스 주차 개인 과제 트러블슈팅도전Lv 3-12. AWS 활용로컬에서 ./gradlew clean build을 했으나 아래와 같은 문제가 발생했다.Error creating bean with name 'jwtAuthenticationFilter' defined in file [/Users/mac/Desktop/spring-plus/spring-plus/build/classes/java/main/org/example/expert/config/JwtAuthenticationFilter.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'org..

54_Spring 플러스 주차 개인 과제 트러블슈팅_25.3.14(금)

Spring 플러스 주차 개인 과제 트러블슈팅도전Lv 3-10. QueryDSL 을 사용하여 검색 기능 만들기하나를 해결하면 하나가 문제가 되는 Error Chain...시간이었다.error: incompatible types: StringPath cannot be converted to String @QueryProjection public TodoSearchResponse(String title, Long managerCount, Long commentCount) { this.title = title; this.managerCount = managerCount; this.commentCount = commentCount; }=> dto에 @Que..

728x90
반응형