분류 전체보기 59

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..

Day 34 (12/4) – Spring Legacy: 웹 애플리케이션 개발 (Part 2)

🏗️ Spring Legacy: 웹 애플리케이션 개발 (Part 2)1. 웹 계층 구조 및 구동 흐름Spring 6 레거시 프로젝트는 여러 설정 파일이 유기적으로 연결되어 구동됨. 각 설정 파일의 역할과 빈(Bean) 관리 범위를 이해하는 것이 핵심임.web.xml: 웹 애플리케이션의 시작점. ContextLoaderListener와 DispatcherServlet 설정 포함.root-context.xml: 비즈니스 로직(Service), 데이터베이스 관련(Mapper, DataSource) 등 공통 빈을 설정하는 곳.servlet-context.xml: 웹 요청 처리와 관련된 빈(Controller, ViewResolver, 정적 리소스 경로)을 설정하는 곳.흐름: web.xml → root-cont..

Day 33 (12/3) – Spring Web MVC 컨트롤러 활용 및 MyBatis 연동 실습

1. Spring MVC 컨트롤러 메서드 반환 타입컨트롤러에서 요청을 처리한 후 응답을 보내는 방식에 따른 세 가지 주요 반환 타입 정리void: 요청 URL을 기반으로 JSP 파일을 자동 매핑함 (예: /board/list 요청 시 list.jsp 호출)String: 리턴값으로 논리적인 뷰 이름을 지정하여 ViewResolver가 해당 경로의 JSP를 호출하는 방식redirect: 특정 URL을 다시 호출하도록 브라우저에 명령함 (JSP 파일로 바로 가는 것이 아닌 URL 재요청)2. Model 데이터 전달 방식 비교 (PRG 패턴 핵심)데이터를 뷰로 넘길 때 사용 목적과 보안에 따라 addAttribute와 addFlashAttribute를 구분하여 사용함구분addAttributeaddFlashAtt..

Day 32 (12/2) – Spring Legacy 프로젝트 환경 구축 (Day 1)

최신 Spring 6 버전은 Jakarta EE 기반이므로 Tomcat 10 이상의 서버 환경이 필수임1. 개발 환경 및 서버 설정WAS: Apache Tomcat 10.1.49 설치 (Jakarta EE 10 지원)IDE 설정: Eclipse/STS에서 Server Runtime Environment 추가Lombok: IDE 설치 경로에 java -jar lombok.jar 명령어로 인스톨 필수프로젝트 생성: Dynamic Web Project 생성 후 Generate web.xml 체크 → Maven Project로 전환2. 의존성(Dependency) 및 DB 설정pom.xml 주요 의존성:Spring Framework 6.x 관련 라이브러리HikariCP (고성능 커넥션 풀)mysql-connec..

Day 31 (12/1) - Spring Boot 전환 및 React Router 동적 라우팅 실습

1. Spring Boot 프로젝트 환경 설정 (오전)Lombok 설치 및 STS 연동설치 경로: D:\Dev\lib 등의 경로에 lombok.jar 배치설정 방법: CMD에서 java -jar lombok.jar 실행 후 STS4 설치 경로 선택하여 설치목적: @Getter, @Setter, @ToString 등을 통해 반복적인 자바 코드(Boilerplate) 제거Spring Starter Project 생성 (Ver 3.5.8)Java Version: 21주요 의존성(Dependencies):Spring Web: 웹 개발을 위한 기본 라이브러리 (내장 톰캣 포함)Spring Boot DevTools: 코드 수정 시 자동 리로딩 지원Lombok: 어노테이션 기반 코드 자동 생성MySQL Driver:..

Day 30 (11/28) - [React] Todo 앱 만들기 핵심 요약 및 트러블슈팅

학습 목표: React Todo 앱 실습을 통한 JSX 문법, 조건부 렌더링, 이벤트 핸들링 및 실무 패턴 습득1. React JSX 괄호 구분 가이드JSX에서 중괄호 {}와 소괄호 ()는 명확한 용도 차이가 있습니다.중괄호 {} : JavaScript 표현식 삽입내부 텍스트: 변수나 로직 삽입 시 사용 ({name})배열 렌더링: {todos.map(todo => {todo.text})}속성 값: value={content}인라인 스타일 (객체 전달): style={{ color: 'red' }}특수문자 출력: > 기호 등은 {'>'} 또는 {'}'} 처럼 문자열로 감싸서 처리소괄호 () : 긴 JSX 반환 시 가독성 확보여러 줄의 JSX를 반환할 때 하나의 묶음으로 처리하여 가독성을 높임화살표 함수에..

Day 29 (11/27) - 파이썬 기초 문법 및 리액트 라이프사이클

🐍 Python 기초 문법 및 자료형1. 주요 연산자 및 함수divmod(a, b): 몫과 나머지를 튜플 형태로 동시에 반환 (예: divmod(10, 3) → (3, 1))**: 거듭제곱 연산자 (예: 2**3 → 8)def: 함수 정의 키워드 (형식: def 함수명(매개변수): return 결과값)type(): 객체의 자료형 확인2. 자료형 분류 및 특징기본 자료형: 숫자형(int, float), 문자열(str), 논리형(bool)컨테이너 자료형 (Collection)list: 순서가 있고 수정 가능한 요소의 모음 ([])tuple: 순서가 있으나 수정 및 삭제가 불가능한 읽기 전용 모음 (())dict: 키(Key)와 값(Value)의 쌍으로 이루어진 순서 없는 모음 ({})set: 중복을 허용하..

Day 28 (11/26) - React 기초 개념 및 주요 명령어 정리

Day 27 (11/25) 올데이 팀프로젝트 ⚛️ React State (상태 관리)정의: 컴포넌트의 상태를 관리하는 객체특징: State 값이 변경될 경우 리액트가 이를 감지하여 해당 컴포넌트를 자동으로 리렌더링함용도: 동적인 데이터 처리 및 사용자 인터페이스(UI) 업데이트의 핵심 요소🛠️ 주요 NPM & NPX 명령어프로젝트 생성부터 배포용 빌드까지 자주 사용하는 핵심 명령어 모음명령어설명npx create-react-app [프로젝트명]새로운 리액트 프로젝트 생성npm start (또는 npm run start)개발 모드로 로컬 서버 실행npm run build배포를 위한 프로젝트 빌드(최적화)npx serve build빌드된 결과물을 로컬에서 실행 및 확인Ctrl + C실행 중인 개발 서버 ..

Day 26 (11/24) - 팀프로젝트 및 JSP Action 패턴 및 메서드 반환

Java 개발 시 메서드 실행을 중단하고 제어권을 넘길 때 사용하는 return과 return null의 명확한 차이 및 활용법 정리 1. 반환 타입에 따른 메서드 종료 방식void 메서드 (return;)반환값이 없는 메서드에서 사용특정 조건 만족 시 메서드 실행을 즉시 중단하고 호출한 곳으로 복귀함반환형이 있는 메서드 (return null; 등)String, Object 등 참조 타입을 반환해야 하는 경우 반드시 반환값을 명시해야 함더 이상 실행할 필요가 없거나 예외 상황일 경우 null을 반환하여 종료 가능 2. Action 인터페이스에서의 return null 활용프레임워크 신호 전달execute 메서드의 반환 타입이 String(이동할 페이지 경로)인 경우, return null;은 추가로 이..