최신 글
[DFS] 같은 부류 찾기 유형 정리
[DFS] 같은 부류 찾기 유형 정리
알고리즘
2025.08.19 10:55
이 글은 인프런 문과생도 이해하는 DFS 알고리즘!-입문편 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.
[DFS] 연결된 요소 찾기(그래프 탐색) 유형 정리
[DFS] 연결된 요소 찾기(그래프 탐색) 유형 정리
알고리즘
2025.08.11 14:25
이 글은 인프런 문과생도 이해하는 DFS 알고리즘!-입문편 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. [자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편| 개발자로 취직하기 - 인프런 강의현재 평점 5점 수강생 408명인 강의를 만나보세요. 문과 출신의 현업 개발자가 취업하기 위해 공부한 방식 그대로 설명하는 기초 DFS 강의입니다 :) 지루한 이론 강의는 최소한으로 줄이고, 직접www.inflearn.com
스프링 AI : 3. 챗봇 Controller, View
스프링 AI : 3. 챗봇 Controller, View
Spring
2025.08.02 15:53
이 글은 유튜브 개발자 유미 영상을 바탕으로 개인적인 정리를 위해 작성한 글입니다.https://www.youtube.com/watch?v=SUwmtUjTArw&list=PLJkjrxxiBSFCgcsP_pzuntmqC3AlTMWFx&index=8 지난번에 등록한 OpenAI Chat 모델을 호출하는 메소드를 활용해 챗봇을 만들어보자 따라서 Chat 호출 메소드를 활용할 Controller 엔드포인트, View 페이지를 생성하기Controller- api > ChatController@Controllerpublic class ChatController { private final OpenAIService openAIService; public ChatController(OpenAIService ..
스프링 AI : 2. 프로젝트 생성 및 OpenAI 의존성
스프링 AI : 2. 프로젝트 생성 및 OpenAI 의존성
Spring
2025.08.02 15:19
이 글은 유튜브 개발자 유미 영상을 바탕으로 개인적인 정리를 위해 작성한 글입니다.https://www.youtube.com/watch?v=-g6goXtCilM&list=PLJkjrxxiBSFCgcsP_pzuntmqC3AlTMWFx스프링 AI : OpenAI스프링 AI 의존성들을 활용하기 위한 스프링 부트 프로젝트를 생성한다. 첫번째 의존성 활용은 OpenAI이다.스프링부트 기반의 웹 서비스를 구축하며, 그 웹 서비스에서 OpenAI의 서비스가 필요한 경우,기존에 RestTemplate, WebClient와 같은 API 호출 클라이언트를 통해 모든 과정을 작성해야했다. 하지만 OpenAI 의존성만 사용하면 위 과정들을 추상화하여 사용할 수 있다. OpenAI 클라이언트 등록OpenAI API를 활용하기 ..
백준 17298번 오큰수 - Java (골드 4)
백준 17298번 오큰수 - Java (골드 4)
스택 & 큐
2025.07.31 12:39
https://www.acmicpc.net/problem/17298✅ 문제 🔑 풀이import java.io.*;import java.util.*;// 스택public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); int[] num ..
인기 글
[DFS] 같은 부류 찾기 유형 정리
알고리즘2025.08.19 10:55[DFS] 같은 부류 찾기 유형 정리

이 글은 인프런 문과생도 이해하는 DFS 알고리즘!-입문편 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.

이력서2025.07.02 13:47[부하를 견디는 서버의 비밀, Redis] 캐싱(Caching)의 개념 2

이 글은 인프런 딩코딩코의 백엔드 이력서 차별화 전략 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.언제 캐시를 만료시켜야할까? - 캐시 만료 정책앞서 어떤 데이터를 캐싱하면 좋을지 알아봤다.🤔 그렇다면 이렇게 캐싱된 데이터는 언제까지 캐시에 남아 있어야 할까? 한 번 저장된 캐싱 데이터는 계속해서 유효할 수 있을까? 현실의 백엔드 서버에서는 다양한 요청을 처리하는 과정에서 데이터가 지속적으로 생성, 수정, 삭제되며 원본 DB의 내용도 계속해서 변하게 된다.즉, 원본 데이터가 지속적으로 변경되는 상황에서 처음에 캐싱된 데이터가 계속해서 유효하다고 볼 수는 없다. 만약 캐시를 적절히 만료시키지 않거나, 원본 데이터의 변경 사항을 캐시에 반영하지 못한다면캐시 데이터와 원본 DB 간에 불일치가..

99클럽 코테 스터디 19일차 TIL - 백준 28069번 : 김밥천국의 계단
BFS & DFS2025.04.25 00:4499클럽 코테 스터디 19일차 TIL - 백준 28069번 : 김밥천국의 계단

✅ 문제https://www.acmicpc.net/problem/28069✅ 문제 유형DPBFS✅ 공부한 내용 🔑 풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); // 계단 수 int..

스프링 심화 1기
[중간발표] B2B2C SaaS 대기열 서비스
[중간발표] B2B2C SaaS 대기열 서비스
스프링심화1기
2024.10.11 00:30
중간발표 자료  Monorepo를 통해 멀티모듈 구조를 채택했고, 루트 프로젝트에서 각각의 서브 프로젝트를 관리하고versions.properties를 통해 여러 서버에서 사용하는 JWT 같은 의존성의 버전을 통합관리했다.브랜치 전략으로는 main-dev-hotfix-feature로 이슈를 발행한 후 해당 브랜치를 파고, PR과 코드리뷰를 통해 이슈와 브랜치를 닫는 전략을 사용했다. 또한 sprint 단위로 일정을 관리했다.이번 프로젝트에서 기획한 서비스는 B2B2C로, 서비스의 사용자는 대기열 서비스를 원하는 기업의 개발자가 될 것이며, 해당 기업은 엔드포인트 사용자에게 서비스를 제공하는 구조로 이루어져 있다.처음에 각자 개발하고 싶은 부분을 고민하다가, 개발자를 위한 서비스를 만들면 어떨까라는 의견이..
Chapter 5. 팀 프로젝트 2주차 WIL
스프링심화1기
2024.10.07 14:36
Weekly I Learned 2주차 간단 요약- 프로젝트 주제 선정 후 설계 과정 이번 프로젝트에서 Kafka 도입을 통해서 최대한 안정성 있게 데이터처리를 하고자 한다.구현 과정에서 높은 러닝 커브가 있고 이슈가 매번 생길 때 로깅에 대한 전략이 필요한데 이런 경우를 대비해서 이벤트 소싱 패턴을 전략을 사용하려 한다. 이벤트 소싱 패턴 (Event Sourcing Pattern) 이란?해당 패턴의 전략의 기본은 데이터를 저장하는 방법에 대한 정의이다.일반적으로 우리는 데이터를 저장할 때, 최종적인 데이터 값만 저장한다. 하지만 이벤트 소싱 패턴은 해당 과정 속 모든 순간의 이벤트를 저장하는 거라고 생각하면 쉽다!어플리케이션의 모든 상태 변화를 순서에 따라 이벤트로 보관한다.일반유저요청(주문)요청(추가..
Domain Driven Design (DDD)
Domain Driven Design (DDD)
스프링심화1기
2024.09.09 11:03
2024.09.05(금) 특강 정리 1. DDD의 개념과 등장 배경소프트웨어를 설계할 때 고객의 요구사항을 정확히 이해하는 것이 중요하다.요구사항을 잘못 이해하면 잘못된 기능을 만들고 수정하는 것도 어렵다. 그럼 이런 문제는 왜 발생할까?과거에는 주로 기술 중심의 개발 방법론이 사용되었기 때문이다.이러한 방법론은 기술적 요구사항을 중점적으로 다루지만,비즈니스 측면에서 발생하는 다양한 요구사항을 효과적으로 반영하기에는 한계가 있었다. 특히, 비즈니스 전문가와 개발자 간의 소통이 원활하지 않으면, 최종 소프트에어가 비즈니스의 실제 요구를 충족시키지 못할 수 있었다.이러한 문제점들을 해결하기 위해 나온 설계가 도메인 주도 설계(Domain Driven Design)이다. '도메인'이란 소프트웨어로 해결하려는 ..
회고
image