⏳ Time Log/1. One Day (Daily · TIL) 53

Day 44 (12/18) - 개발 일지: 프로젝트 고도화 및 MySQL 집계 쿼리

📅 2025-12-18 개발 일지: 프로젝트 고도화 및 MySQL 집계 쿼리핵심 요약: 개인 프로젝트 'Creative Archive' 개발 몰입 및 MySQL GROUP BY, HAVING 절을 활용한 데이터 필터링 실무 학습 1. 개인 프로젝트: Creative Archive 개발 (오전)집중 작업 시간: 오전 9시부터 프로젝트 핵심 로직 구현 및 UI 최적화 진행주요 검토 사항: * 리액트 컴포넌트 간 상태 전달 및 Redux Toolkit 스토어 연동 상태 점검상세 페이지 이미지 갤러리 렌더링 성능 최적화 및 레이아웃 수정2. MySQL: 데이터 집계 및 조건 필터링 (오후)학습 주제: 특정 기준에 따른 그룹화와 집계 결과에 대한 조건 설정핵심 문법 정리:GROUP BY: 테이블의 레코드를 특정..

Day 43 (12/17) - Spring RESTful 심화 및 Java Stream 활용

📅 2025-12-17 개발 일지: Spring RESTful 심화 및 Java Stream 활용핵심 요약: 비동기 댓글 처리를 위한 서비스/컨트롤러 설계 및 Java Stream API를 활용한 효율적인 데이터 처리 로직 학습 🍃 Spring Framework: 댓글 서비스 및 RESTful 설계1. ReplyService 개발 및 트랜잭션 관리서비스 계층 역할: Ajax 처리를 담당하는 컨트롤러의 요청에 맞춰 비즈니스 로직 수행핵심 설정:트랜잭션 처리: @Transactional 어노테이션을 통한 데이터 무결성 보장의존성 주입: @RequiredArgsConstructor를 활용하여 ReplyMapper 자동 주입주요 어노테이션: @Service, @Transactional, @Log4j22. 예..

Day 42 (12/16) - 개발 일지 및 학습 기록

📅 2025-12-16 개발 일지 및 학습 기록핵심 요약: 리액트 기반 개인 프로젝트 'Creative Archive' 작업 집중 및 MyBatis를 활용한 CRUD 구현, RESTful 기반 댓글 시스템 구축 실무 실습 1. 개인 프로젝트 집중 개발 (오전)작업 내용: Creative Archive (리액트 포트폴리오) 컴포넌트 설계 및 고도화중점 사항: 프로젝트 폴더 구조 최적화 및 상세 페이지와 목록 간의 데이터 연동 로직 점검2. MySQL: 데이터베이스 기초 다지기 (14:10 ~ 16:00)학습 자료: 데이타베이스기초_db1-v20250831 기반 실무 실습핵심 목표: 관계형 데이터베이스의 스키마 설계 원리 이해 및 효율적인 데이터 정합성 확보 기법 습득3. Spring 6 Legacy: M..

Day 41 (12/15) - 종일 프로젝트

🎨 Creative Archive: React 포트폴리오 프로젝트 정리핵심 요약: React와 Redux Toolkit을 활용한 카탈로그형 포트폴리오 웹사이트 개발 과정 및 핵심 설계 전략 요약 📝 프로젝트 개요 및 목적프로젝트명: Creative Archive (크리에이티브 아카이브)한 줄 소개: React로 구현한 개인 디자인 포트폴리오 아카이빙 웹사이트개발 기간: 2025-12-15 ~ 2025-12-19 (총 5일)주요 목적:React 컴포넌트 설계 및 상태 관리 실무 능력 배양카탈로그형 UI 패턴(목록 → 상세) 구현 및 반응형 레이아웃 적용필터링, 검색, 정렬 등 사용자 인터페이스 편의 기능 실습🎯 주요 기능 및 특징홈 페이지: 디자인 작업물 카드 그리드 레이아웃 구성카테고리 필터: 뉴스..

Day 40 (12/12) – 개발 일지: Spring RESTful 전환 및 검색 로직 최적화

📅 2025-12-12 개발 일지: Spring RESTful 전환 및 검색 로직 최적화핵심 요약: 스프링 레거시 프로젝트의 RESTful 댓글 기능 구현을 위한 Jackson 라이브러리 설정 및 상세 페이지 이동 시 검색 파라미터 유지 로직 수정 🍃 Spring Framework: RESTful 및 댓글 처리 (Ch.8)Jackson 라이브러리 의존성 추가: 서버에서 클라이언트로 객체를 JSON 형태로 변환하여 전송하기 위해 jackson-databind 및 jackson-core 설정의존성 설정 (pom.xml): 최신 버전인 2.20.0을 적용하여 비동기 통신 환경 구축RESTful 전환의 목적: 화면 전환 없이 데이터를 주고받는 현대적인 웹 통신 구조(AJAX/Fetch) 대응🛠️ 검색 로직..

Day 39 (12/11) - React 프로젝트 GitHub Pages 배포

🚀 React 프로젝트 GitHub Pages 배포 가이드핵심 요약: gh-pages 패키지를 사용하여 특정 프로젝트의 빌드 파일을 별도 브랜치에 자동으로 푸시하고 배포하는 최적화 프로세스 1. gh-pages 패키지 개념 및 역할패키지 정의: dist나 build 폴더의 결과물을 gh-pages 브랜치로 자동 업로드하는 배포 도우미 툴작동 원리: npm run deploy 실행 시 빌드 폴더 생성 및 브랜치 푸시 후 GitHub Pages를 통한 호스팅 연동2. 단계별 환경 설정패키지 설치: 프로젝트 루트 경로에서 개발 의존성으로 추가Bashnpm install --save-dev gh-pagespackage.json 스크립트 구성: 빌드와 배포를 한 번에 처리하는 자동화 설정"predeploy": ..

Day 38 (12/10) – Spring 페이징 처리 및 동적 쿼리

🍃 Spring: 페이징 처리 및 동적 쿼리데이터가 많아질수록 서버 부하를 줄이기 위해 데이터를 쪼개서 가져오는 페이징(Pagination)과 검색 조건에 따라 SQL이 변하는 동적 쿼리가 핵심1. 페이징 처리 (Paging)Criteria: 페이지 번호(pageNum)와 한 페이지당 보여줄 개수(amount)를 전달하는 객체PageDTO: 화면에 페이지 번호(1~10)를 출력하기 위해 시작 번호, 끝 번호, 이전/다음 버튼 유무 등을 계산하는 객체2. 주요 어노테이션 정리어노테이션용도설명@RequestMapping클래스 레벨 매핑컨트롤러 전체의 기본 URL 경로 설정@PathVariable경로 변수/board/10 처럼 URL 경로에 포함된 값 추출@RequestParam쿼리 파라미터?id=seren..

Day 37 (12/9) – React 핵심 기초 문법

⚛️ React 핵심 기초 문법리액트 개발의 근간이 되는 현대 자바스크립트 문법 요약변수와 상수:const: 재할당이 불가능한 상수. 컴포넌트나 함수 정의 시 주로 사용let: 재할당이 가능한 변수. 값이 변해야 하는 로직에 사용화살표 함수 (=>): 익명 함수를 간결하게 표현하는 ES6 문법. 리액트 컴포넌트 선언 시 표준으로 사용스프레드 연산자 (...): 배열이나 객체의 요소를 개별적으로 펼치는 기법. 불변성을 유지하며 상태(State)를 업데이트할 때 필수적임🧱 React 3대 핵심 개념리액트를 지탱하는 가장 중요한 구조적 개념컴포넌트(Component): UI를 구성하는 독립적이고 재사용 가능한 최소 단위. '레고 블록'에 비유됨State(상태): 컴포넌트 내부에서 관리되는 '기억'. 값이 변..

Day 36 (12/8) – 스프링 레거시 CRUD 실습: Todo 프로젝트 및 테스트 전략

1. Spring CRUD 프로젝트 표준 진행 순서현업 실무에서 권장하는 데이터베이스 중심의 개발 흐름입니다.MySQL 테이블 생성: 요구사항에 맞는 스키마 설계 (simple_todo)DTO/VO 클래스 설계: 데이터 이동을 위한 객체 작성 (Lombok 활용)Mapper 인터페이스 & XML 작성: SQL 쿼리와 자바 메서드 매핑단계별 테스트 수행: 단위 테스트 → 통합 테스트로 검증 확장Service 계층 구현: 비즈니스 로직 작성Controller & View 연동: 사용자 요청 처리 및 화면 구성2. 데이터 모델 및 매퍼 설계🗄️ MySQL 테이블 구조 (simple_todo)CREATE TABLE simple_todo ( id INT AUTO_INCREMENT PRIMARY KEY, ..

Day 35 (12/5) – Apache Maven 표준 디렉터리 구조

🏗️ Apache Maven 표준 디렉터리 구조Maven은 프로젝트의 일관성을 위해 정해진 폴더 구조를 따름디렉터리 이름용도 및 목적프로젝트 홈pom.xml 파일 및 모든 하위 디렉터리 포함src/main/java프로젝트의 실제 자바 소스 코드 (.java)src/main/resources설정 파일, 프로퍼티 파일 등 실행 시 필요한 리소스src/test/javaJUnit, TestNG 등 단위 테스트를 위한 자바 소스 코드src/test/resources테스트 실행 시에만 필요한 리소스 파일🎨 Front-end: Bootstrap & JSP 연동1. Bootstrap 및 레이아웃 설정CDN 도입: 별도 설치 없이 태그로 Bootstrap 5.3 활용레이아웃 분리: header.jsp, footer..