목차

    불편함을 코드로 지웁니다.

    개발 공부 노트, 개발 도구와 문제를 해결한 과정, AI 프롬프트와 Obsidian 활용법을 정리합니다.

      ⏳ Time Log/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까지 마감인 팀 프로젝트 기간 내 독창성과 범용성을 고려한 개발 진행 필요
      • 코드 스타일: 가독성을 위해 중괄호({}) 생략 가능 여부 확인 및 람다식 적극 활용 권장