목차

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

    Day 22 (11/18) - 팀 프로젝트의 시작: 리액트 기초와 JSP/MySQL 심화 정리

    this.Serena 2026. 2. 19. 00:09

    📝 오늘의 강의 요약

    핵심 키워드: 팀 프로젝트 시작, MySQL 삭제 명령, 리액트 콜백 & 람다, JSP 리다이렉트, JSTL 활용

    • 팀 프로젝트: 11/26(수)까지 진행되는 팀 프로젝트 일정 돌입
    • MySQL: 데이터베이스 및 사용자 계정 삭제 명령어를 통한 환경 정리
    • React: 자바스크립트의 핵심인 콜백 함수와 화살표 함수(람다식) 개념 재정립
    • JSP/JSTL: sendRedirect를 이용한 페이지 이동 및 JSTL 코어 라이브러리 연동 실습

    🐬 MySQL 데이터베이스 관리

    1. 삭제 및 정리 명령어

    • 데이터베이스 삭제: drop database [DB명] (존재하는 모든 테이블과 데이터 영구 삭제)
    • 사용자 계정 삭제: drop user '계정명'@'호스트' (특정 접속 환경의 유저 권한 제거)

    ⚛️ 리액트(React) 자바스크립트 기초

    1. 콜백 함수(Callback Function)

    • 정의: 다른 함수의 인자로 전달되어 특정 시점에 실행되는 함수
    • 특징: 코드의 범용성을 높이고 비동기 처리 및 로직의 분리 가능

    2. 화살표 함수 (Arrow Function / 람다식)

    • 기존 방식: function 키워드를 사용하여 함수 정의
    • 람다 방식: => 연산자를 사용하여 코드를 간결하게 축약
    • 비교 예시:
      • 일반: repeat(5, origin)
      • 람다: repeat(5, (count) => console.log(count))

    ☕ JSP & JSTL 웹 프로그래밍

    1. 페이지 리다이렉트 (Redirect)

    • 명령어: response.sendRedirect("URL")
    • 동작: 서버가 브라우저에게 새로운 URL로 다시 요청하도록 지시
    • 특징: 주소창의 URL이 변경되며, 이전 request 객체의 데이터는 유지되지 않음

    2. JSTL(JSP Standard Tag Library) 설정

    • 선언: <%@ taglib uri="..." prefix="c" %> (Core 라이브러리 사용 선언)
    • 반복문 (<c:forEach>):
      • ${productList} 데이터를 product 변수로 하나씩 꺼내어 처리
      • Java의 향상된 for문과 유사한 논리로 화면에 리스트 출력

    🗂️ HTML/CSS 레이아웃 트러블슈팅

    📌 요소가 두 줄로 떨어지는 이유 분석

    • 원인 1: <br> 태그 등 강제 줄바꿈 요소의 삽입
    • 원인 2: 부모 요소인 <td>나 자식 요소에 display: block 속성이 부여된 경우 (블록 요소는 한 줄 전체 차지)
    • 원인 3: 하나의 행(<tr>)이 아닌 서로 다른 행에 데이터가 배치된 경우

    🛠️ 실습 메모 및 복기

    • HttpServletResponse: 웹 브라우저로 데이터를 전송하거나 제어 명령을 내리는 내장 객체
    • 프로젝트 일정: 11/26까지 마감인 팀 프로젝트 기간 내 독창성과 범용성을 고려한 개발 진행 필요
    • 코드 스타일: 가독성을 위해 중괄호({}) 생략 가능 여부 확인 및 람다식 적극 활용 권장