이 글은 유튜브 개발자 유미 영상을 바탕으로 개인적인 정리를 위해 작성한 글입니다.https://www.youtube.com/watch?v=-g6goXtCilM&list=PLJkjrxxiBSFCgcsP_pzuntmqC3AlTMWFx스프링 AI : OpenAI스프링 AI 의존성들을 활용하기 위한 스프링 부트 프로젝트를 생성한다. 첫번째 의존성 활용은 OpenAI이다.스프링부트 기반의 웹 서비스를 구축하며, 그 웹 서비스에서 OpenAI의 서비스가 필요한 경우,기존에 RestTemplate, WebClient와 같은 API 호출 클라이언트를 통해 모든 과정을 작성해야했다. 하지만 OpenAI 의존성만 사용하면 위 과정들을 추상화하여 사용할 수 있다. OpenAI 클라이언트 등록OpenAI API를 활용하기 ..
이 글은 'Readable Code: 읽기 좋은 코드를 작성하는 사고법' 이라는 강의를 보고 정리하였다. Readable Code: 읽기 좋은 코드를 작성하는 사고법| 박우빈 - 인프런 강의현재 평점 4.9점 수강생 1,506명인 강의를 만나보세요. 이 강의를 통해 클린 코드 원칙에 대한 깊은 이해를 하고, 객체 지향 사고 방식에 입각한 깔끔한 코드를 작성할 수 있게 됩니다. 클린 코드와www.inflearn.com1. SRP (Single Responsibility Principle) - 단일 책임 원칙하나의 클래스는 하나의 책임만 갖는다.하나의 클래스는 단 한가지의 변경 이유(=책임)만을 가져야 한다.객체가 가진 공개 메서드, 필드, 상수 등은 해당 객체의 단일 책임에 의해서만 변경되는가?관심사의 분..
https://www.acmicpc.net/problem/2606이번 문제는 위의 문제와 거의 같다. (풀이 참고 : https://kimjunhyun.tistory.com/134) ✅ 문제https://www.acmicpc.net/problem/11724 접근방법1. 연결된 요소의 개수 -> DFS / BFS2. 서로 연결되었다는 정보를 어떻게 하나의 자료구조로 통합할까?3. 이미 방문한 지점을 다시 방문하지 않으려면 어떤 자료구조를 사용해야할까?4. 어디에서 DFS를 시작할 것인가? 🔑 풀이import java.io.*;import java.util.*;// DFSpublic class Main { final static int MAX = 1000 + 10; // N이 가질 수 있는 최댓값 ..
중간발표 자료 Monorepo를 통해 멀티모듈 구조를 채택했고, 루트 프로젝트에서 각각의 서브 프로젝트를 관리하고versions.properties를 통해 여러 서버에서 사용하는 JWT 같은 의존성의 버전을 통합관리했다.브랜치 전략으로는 main-dev-hotfix-feature로 이슈를 발행한 후 해당 브랜치를 파고, PR과 코드리뷰를 통해 이슈와 브랜치를 닫는 전략을 사용했다. 또한 sprint 단위로 일정을 관리했다.이번 프로젝트에서 기획한 서비스는 B2B2C로, 서비스의 사용자는 대기열 서비스를 원하는 기업의 개발자가 될 것이며, 해당 기업은 엔드포인트 사용자에게 서비스를 제공하는 구조로 이루어져 있다.처음에 각자 개발하고 싶은 부분을 고민하다가, 개발자를 위한 서비스를 만들면 어떨까라는 의견이..