본문 바로가기

HTML 6

Entity, DTO, DAO, VO Entity, DTO, DAO, VO Servlet, Spring 등을 사용하면 로직 구현이나 데이터 교환을 위해 Entity, DTO, DAO, VO를 사용하게 된다. 각각을 한마디로 요약하면 아래와 같다. Entity : 테이블 DTO : Data Transfer Object → 데이터 교환용 DAO : Data Access Object → 데이터 접근용 VO : Value Object → 데이터 교환용 (Read-only 속성의 DTO) Entity Database의 테이블에 해당하며, 주로 하나의 테이블에 하나의 entity를 정의한다. 테이블과 최대한 동일하게 클래스를 생성하고, 주로 테이블에 가지는 column들을 필드로 가진다. 주의할 점 다른 클래스를 상속받거나 구현체여서는 안되며, 데이터.. 2023. 4. 3.
PRG 패턴 : Post → Redirect → Get 배경 : 멱등성 동일한 요청을 여러 번 연속해서 보낼 때 한번 보내는 것과 여러 번 연속해서 보내는 것의 결과가 같은 것을 의미한다. GET, HEAD, PUT, DELETE는 멱등성을 가지지만, POST는 멱등성을 가지지 않는다. 예시 GET 메소드를 연달아 호출해도 같은 결과를 나타내지만, 게시글을 등록하는 POST를 연달아 호출하면 호출한 횟수만큼의 게시글이 등록된다. (별도 처리를 하지 않은 상황 기준) 혹은, Servlet에서 게시글 작성이나 주문을 POST로 전송 후 해당 요청에 대한 응답으로 redirect가 아닌 forward로 처리할 경우 새로고침 시 게시글 작성/주문이 중복해서 처리될 수 있다. PRG 패턴의 필요 회원가입, 게시글 등록, 메뉴 주문 등은 대부분 POST를 통해 이루어지.. 2023. 4. 3.
[CSS] 스타일 우선순위 CSS Style 우선순위 전체적으로 !important 키워드를 사용한 스타일 inline style id class, 수도 클래스 tag, 수도 엘리먼트 동일 우선순위 중 같은 파일 내에서 나중에 작성된 것 (파일 아래에 있는 것) 먼저 작성된 것 (파일 위에 있는 것) 2023. 3. 27.
[JavaScript] 브라우저 로드 트리거 : DOMContentLoaded vs load DOMContentLoaded, load 호출 시점 DOMContentLoaded HTML이 모두 로드되고 DOM 트리가 완성된 후, 외부 리소스 (img src 등)가 아직 로드되지 않았을 때 실행한다. DOM이 준비 상태이기 때문에 DOM 노드를 제어할 수 있다. jQuery에서의 ready와 유사하다. IE8 이하에서는 지원하지 않았기 때문에 잘 사용되지 않았다. load 브라우저에 모든 리소스(img, style, script 등)이 로드되었을 때 실행한다. DOMContentLoaded보다 로드되는 시점이 늦다. 모든 리소스가 로드된 상태이기 때문에 리소스들의 속성(이미지 크기 등)을 얻을 수 있다. 주요 차이 DOMContentLoaded jQuery에서의 ready와 유사하다. DOM이 준비.. 2023. 3. 27.
[CSS] 선택자 선택자 태그로 선택 특정 태그로 작성된 요소들을 선택한다. 태그종류 {...}로 사용할 수 있다. 예를 들어, div {...}는 div 태그로 작성된 요소들을 선택한다. id로 선택 특정 id를 갖는 요소들만 선택한다. #id이름 {...}으로 사용할 수 있다. 예를 들어, #root {...}는 root라는 id를 가지는 요소를 선택한다. 하나의 id는 하나의 요소에만 해당하고, 하나의 요소는 최대 하나의 id만 갖는 것을 원칙으로 한다. class로 선택 특정 class를 갖는 요소들만 선택한다. .class이름 {...}로 사용할 수 있다. 예를 들어, .parent {...}는 parent라는 클래스에 해당하는 요소들만 선택한다. 복합 선택 여러 속성/특성들을 함께 지니고 있는 요소들을 선택할 .. 2023. 3. 21.