전체 글 42

최종 프로젝트 38일차

📌 테스트 개요취향(Taste) 카테고리 데이터를 효율적으로 조회하기 위해 여러 가지 최적화 방안을 실험하였습니다. 총 네 가지 방식으로 테스트를 진행했으며, 성능과 비용 측면에서 가장 최적화된 방법을 찾는 것이 목표였습니다.테스트 환경JMeter를 이용한 부하 테스트TPS(Transactions Per Second) 측정테스트 기준: 1000개 요청쿼리 최적화 성능 변화도 측정 및 Redis 캐싱 검증테스트 시나리오최적화를 적용하지 않은 기본 코드@EntityGraph를 TasteRepository 5개에 각각 적용@EntityGraph + LEFT JOIN FETCH(통합) + Batch Size 적용@EntityGraph + LEFT JOIN FETCH(분리) + Batch Size 적용각 방식의..

카테고리 없음 2025.02.09

[Spring AI] OpenAI 연결하기 (최종프로젝트 37일차)

Spring AI 없이 OpenAI API 직접 연결하기📌 개요Spring AI를 사용하지 않고 RestTemplate 또는 WebClient를 이용해 OpenAI API를 직접 호출하는 방법입니다.1️⃣ OpenAI API 키 발급OpenAI API 사이트에서 API 키를 발급받습니다.❕ Spring AI 기술 사용 시에도 반드시 발급2️⃣ application.yml 설정OpenAI API 키를 application.yml 또는 application.properties에 저장합니다.openai: api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx model: gpt-3.5-turbo⚠ 주의:API 키는 Github에 올리지 않도록 .gitignore 설정을 확인하세요!3️⃣..

카테고리 없음 2025.02.07

GitHub Organization 관리 가이드 (최종프로젝트 36일차)

팀과 함께 GitHub Organization을 체계적으로 운영하기!1️⃣ Organization으로 기존 개인 레포지토리 이전 (Transfer)📲 이전하는 이유☑️ 개인 레포지토리를 Organization으로 옮기면 팀 협업에 적합한 환경을 구성할 수 있습니다.☑️ 이슈, PR, 스타, 워치 등 모든 히스토리(기록)가 유지됩니다.☑️ 기존의 레포 URL (github.com/내_아이디/레포) 도 자동으로 리다이렉트됩니다.🛠 Transfer 과정☑️ 백엔드 & 프론트엔드 두 개의 레포를 이전해야 하므로, 아래 과정을 각 레포지토리에 대해 반복하면 됩니다.1️⃣ GitHub에서 개인 레포지토리 이동브라우저에서 이동:https://github.com/>//settings⚙️ Settings 탭으로 이동..

모의 면접 예상 질문지

Java오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점은 무엇인가요? (다형성)오버로딩같은 클래스 내에서 같은 이름의 메서드를 다른 매개변수로 정의컴파일 타임에서 어떤 메서드가 호출될지 결정메서드 이름은 같아야 하지만, 매개변수의 개수, 타입 순서가 달라야함반환 타입은 오버로딩과 상관없음오버라이딩부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하는 것런타임에서 어떤 메서드가 호출될지 결정메서드 이름, 매개변수, 반환 타입이 부모클래스와 동일해야함@Override 어노테이션을 사용하여 오버라이딩 여부를 명시하는 것이 권장됨오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점은 무엇인가요?매개변수의 개수나 타입이 다른 메소드를 여러 개 정의하는 것입니다...

[Redis] 특강 김순철튜터님 (최종 프로젝트 12일차)

CacherCache .. 데이터베이스 캐시!!! 인메모리와 쿼리 캐시로 나뉨      백엔드 입장에서는 데이터베이스 캐시 용도로 Redis를 많이 쓴다    Redis 가 빠른건 메모리라서! 씀. DB는 파일시스템을 씀..SSD 쓰지만 RAM이 훨씬 빠름 (Redis 가 빠른 이유)        Set Quntity ??? 하면 동시성 문제 생김Redis 는 싱글스레드라 순서대로~   INCR이 보장해줌??? 멀.. ?? 세션은 언젠가 만료되기때문에 EXPIRE로 관리하면 편함~ 알아서 지워짐~  RedisTemplet 보다 Lettus를 많이 씀          TIL 1월 13일

카테고리 없음 2025.01.13

심화 프로젝트 KPT 회고

ONE pick! 의 mozzarello 프로젝트2024.12.23 ~ 2024.12.31   KPT 회고회고를 바탕으로, 다음 스텝으로 나아가보자.실제로 많은 회사들이 프로젝트가 종료될 때마다 회고를 진행하고, KPT회고 방법론을 아주 많이 적용한다.공부한 것, 배운 것 보다는 "협업"을 하며 느낀 점, 앞으로 더 잘 하고 싶은 점과 관련된 이야기를 많이 나누자!KPT회고 방법 참고하기https://techblog.woowahan.com/2677/ttps://brunch.co.kr/@jinha0802/35 KPT 회고란 무엇인가?스타트업에서 KPT 회고는 언제 필요하며, 왜 해야 하는가? | 1. KPT 회고란? KPT회고는 다양한 회고 방법론 중 하나이다. Keep, Problem, Try의 약자로 ..

[AWS] S3 FULL ACCESS 권한 오류 : 정책 권한 생성하기

S3 이미지 업로드S3를 연결하여 이미지를 포함한 각종 파일(jpg, jpeg, png, pdf, csv)을 올리는 로직을 작성하였다. postman에서 form-data에 데이터를 담아 요청을 보냈는데,S3 Full Access 권한을 가지고 있음에도 S3에 대한 접근 권한이 거부되는 오류가 발생하였다.   POSTMAN 오류 메시지 500 INTERNAL SERVER ERROR"message": "software.amazon.awssdk.services.s3.model.S3Exception: User: arn:aws:iam::816069163920:user/user-onepick is not authorized to perform: s3:PutObject on resource: \"arn:aws:s3..

Linux 스탠다드반 수업 2024.12.27

유닉스! 벨회사에서 만든~ 거기서 브랜치 가져와서 Mac OS를 만듦. 유닉스의 향기가 남았다. 대부분의 리눅스 명령어가 먹힌다.  서버의 대부분은 리눅스를 쓴다. 리눅스 명령어를 알아야함!UI를 구성해서 봄. 서버는 UI도 없고.. 리눅스 종류 데비안 debianSUSE레드헷 RedHat 데비안과 레드헷만 기억해도 된다. SUSE는 보기가 힘듦SUSE, 레드헷은 유료 버전의 리눅스 우분투를 쓰시는 듯.. 아마존리눅스도 레드헷에서 온다  카메라는 소니.. 중고쓰다가 최신으로 환승 여러 배포판이 대부분 명령어가 같지만 패키지 관리 명령어나 시스템 파일들의 디렉토리 형태나 위치가 다르다…  패키지 관리자는 프로그램이나 라이브러리를 설치, 관리해주는 명렁어맥OS 터미널에 brew, node.js의 npm, 파..

카테고리 없음 2024.12.27