목록2025/04 (5)
도슐랭스타
public class MemberForm { private String email = "test@example.com"; // getter, setter}@GetMapping("/register")public String register(Model model) { model.addAttribute("memberForm", new MemberForm()); return "register-form";}이런 상황일 때 th:field일 경우 실제로 브라우저에서 보여지는 HTML (렌더링 결과) 자동으로 name도 붙고, value도 들어가고, 나중에 form 전송되면 email 값도 넘어감. th:value일 경우 실제로 브라우저에서 보여지는 HTML (렌더링 결과) ..

지금까지 잘 경로 찾아서 갔으면서 왜 못 찾겠다는 거야?!static과 다른 폴더에 있는 상태긴했다. 💡 왜 오류가 났던 걸까?그냥 주소창에 /members/register 치면 static 폴더에 있지 않은 파일들은 볼 수 없다!templates 폴더는 Spring이 직접 렌더링해서 보여줄 때만 사용됨.즉, templates 폴더에 있는 파일은 그냥 주소창에서 못 연다! 지금 static/members/register.html 인 상태. ✅ 해결법: @Controller로 연결한다@Controller는 "얘가 웹 요청을 처리할 수 있는 클래스야!" 라고 Spring한테 알려주는 역할임.templates/members/register.html 파일을 찾아서 브라우저에 보여줌.

위의 상태바가 겹침android:fitsSystemWindows="true"추가해주면 됨.

State컴포넌트의 상태state 값이 변경될 경우 컴포넌트도 재렌더링이 됨.state는 컴포넌트를 개발하는 개발자가 직접 정의함.주의사항렌더링이나 데이터 흐름에 사용되는 값만 state에 포함시켜야함.→ 데이터 흐름에 상관없는 경우 불필요한 렌더링 발생으로 성능이 저하됨.특징state는 직접적인 변경이 불가능함.변경할 때는 반드시 setState() 함수나 개별 set함수를 이용해야 함.import React, { useState } from 'react';function Counter() { // useState를 사용하여 count라는 상태와 이를 갱신할 수 있는 setCount 함수를 선언 const [count, setCount] = useState(0); return ( ..
항목제2정규형(2NF)BCNF시작 조건1NF 만족해야 함3NF 만족해야 함핵심 조건부분 함수 종속 제거모든 결정자가 후보 키여야 함대상복합 기본키일 때 주로 발생후보 키가 여러 개일 때 주로 발생포함 관계BCNF ⊃ 2NFBCNF가 더 강력함 상황제2정규형BCNF🧩 기본키가 두 조각인데한 조각만으로 어떤 정보가 결정됨 → ❌(해당 없음)🧑 누가 결정자인지 봤더니기본키 일부였어 → 문제!후보 키가 아니었어 → 문제! 예시학생ID강의명교수명1001DB김교수1001OS이교수1002DB김교수기본키: {학생ID, 강의명}강의명 → 교수명 존재제2정규형 위반인가?기본키는 {학생ID, 강의명} (복합)그런데 강의명 → 교수명은 기본키 일부에만 종속됨→ 제2정규형 위반!BCNF 위반인가?강의명 → 교수명은 강의명이..