2026/03 7

Weekly Paper #9

1. JPA N+1 문제✔️ N+1 문제란?연관된 엔티티를 조회할 때 1번의 쿼리 + N번의 추가 쿼리가 발생하는 문제이다.List members = memberRepository.findAll();for (Member member : members) { System.out.println(member.getTeam.getName());}👉 실제 쿼리 흐름SELECT * FROM member;--- N번 (각 member의 team 조회)SELECT * FROM team WHERE id =?:-> 데이터의 개수가 많아질수록 성능 급격히 저하됨!🔥 JPA N+1 문제 발생 원인1. 지연 로딩 (Lazy Loading)의 동작 방식연관된 객체를 즉시 조회하지 않고, 실제 해당 객체에 접근(사용)하는 ..

Weekly Paper 2026.03.23

MapStruct

📌 1. MapStruct란?MapStruct는 객체 간 매핑 코드를 자동으로 생성해주는 라이브러리이다.주로 다음과 같은 상황에서 사용된다.DTO ↔ Entity 변환API 요청/응답 객체 변환계층 간 데이터 전달👉 핵심:반복적인 매핑 코드를 자동화하여 생산성과 안정성을 높인다.❗ 2. 기존 방식의 문제점✔️ 수동 매핑UserDto dto = new UserDto();dto.setName(user.getName());dto.setAge(user.getAge());❌ 문제점코드 반복 많음실수 발생 가능유지보수 어려움✔️ ModelMapper (대안)리플렉션 기반 자동 매핑❌ 문제점성능 저하런타임 에러 발생 가능디버깅 어려움✅ 3. MapStruct의 핵심 특징✔️ 1. 컴파일 시 코드 생성실행 전에 매..

[클라우드 응용 SW 개발] 2,3주차

🐧 Linux 개념✔️ 리눅스란?리눅스는 1991년 리누스 토르발스가 개발한 오픈소스 운영체제이다.서버, 데스크탑, IoT 등 다양한 환경에서 사용된다.✔️ 리눅스 특징오픈소스 (무료, 수정 가능)멀티유저 / 멀티태스킹강력한 네트워크 기능다양한 파일 시스템 지원✔️ 리눅스 배포판대표적인 배포판:Ubuntu (사용자 친화적)CentOS (기업용)Debian (안정성)RedHat (유료 기업용)☁️ 클라우드에서 Linux 서버✔️ Azure에서 LinuxAzure는 다양한 리눅스 배포판을 제공한다.UbuntuCentOSDebianRedHatSUSE🔥 실습: Azure에서 Linux 서버 생성✔️ 전체 흐름✔️ STEP 1. 가상 머신 생성Azure Portal 접속Virtual Machine 생성✔️ S..

[클라우드 프로그래밍] 2주차

1. 서버(Server)란?✔️ 서버의 정의서버는 네트워크에서 데이터나 서비스를 제공하는 컴퓨터이다.반대로 클라이언트는 해당 서비스를 사용하는 프로그램이다.👉 핵심 구조서버: 데이터 제공클라이언트: 요청 수행✔️ 서버 동작 방식 (중요)서버는 항상 다음 구조로 동작한다.웹 브라우저 → 웹 서버 요청 → 페이지 반환👉 모든 서비스(웹, 게임, SNS)는 이 구조 동일웹 서버(Web Server)✔️ 웹 서버란?웹 서버는 웹사이트 데이터를 저장하고 제공하는 서버이다.구성 요소:HTML (구조)CSS (디자인)JavaScript (동작)이미지 파일👉 AWS에서는 EC2 또는 ECS로 웹 서버 구축✔️ 웹 서버 동작 방식사용자가 URL 요청서버가 데이터 처리결과 반환👉 통신 프로토콜:HTTP / HTTP..

[클라우드 활용] 2주차

1. 실습 목적이번 실습에서는 AWS Management Console의 기본 구조를 이해하고,리전 변경 및 대시보드 확인을 통해 AWS 리소스 관리 방식을 학습하였다.또한 AWS CloudShell을 활용하여 CLI 기반으로 S3 및 EC2 리소스를 조회하는 방법을 실습하였다.2. AWS 접근 방식 정리AWS는 다양한 방식으로 접근할 수 있다.API: 프로그램이 직접 호출SDK: 개발 언어 기반 접근 (Python, Java 등)CLI: 터미널 명령어 기반Management Console: 웹 GUI 기반초보자 입장에서는 Management Console → CLI 순서로 학습하는 것이 효율적이다.📸 3. AWS Management Console이란?AWS Management Console은 웹 기반..

Findex - 개인 개발 리포트

1. 프로젝트 개요Findex는 외부 API를 활용하여 금융 지수 데이터를 수집하고, 이를 효율적으로 관리 및 시각화하는 금융 분석 대시보드 프로젝트입니다.본 프로젝트에서는 다양한 금융 지수 데이터를 API를 통해 연동하고, 데이터베이스에 저장한 뒤 사용자에게 한눈에 확인할 수 있는 형태로 제공하는 기능을 구현하였습니다.외부 데이터 수집, 데이터 처리 및 저장, 그리고 사용자에게 제공하는 전체 흐름을 직접 설계하고 구현하는 경험을 목표로 한 초급 프로젝트입니다. 2. 담당한 작업지수 정보 Controller - Service - Repository 구현하였습니다.지수 정보 외부 API 연동공공 데이터 포털 API로 부터 응답 데이터를 수신한 후, 이를 지수 정보 엔티티로 변환하는 로직을 구현하였습니..

Project/Findex 2026.03.20

Findex 프로젝트 회고록

Github : https://github.com/sb10-Findex-4/sb10-findex-team04.gitNotion: https://www.notion.so/Codeit-Spring-10-4-f6765902e5ef8343bfb6818f0144f915?source=copy_link 1. 잘한 점 QueryDSL 적용할 때 팀원들에게 참고하면 좋을 관련 문서 공유한 점은 잘한 것 같다!실제 배포환경을 경험했다는 점 (물론 딸깍 배포긴 하지만 ㅎㅎ...)브랜치 전략을 선택해서 수행한 점 나는 PR 리뷰 진짜 열심히 했다고 생각한다. 팀원들은 어떻게 생각할지 모르겠지만... 주말에도 시간 내서 보고, 명세서랑 하나씩 대조하면서 빠뜨린 부분 적어주고, 칭찬은 꼭 한마디 씩 해줬었다 ㅎㅎ 또, 코드 로직..

Project/Findex 2026.03.20