타임리프에서는 /question/detail/과 같은 문자열과 ${question.id}와 같은 자바 객체의 값을 더할 때는 |로 좌우를 감싸 주어야 합니다.
Service(서비스)가 필요한 이유
·
Category/SpringBoot
1. 모듈화: 서비스는 복잡한 로직을 모듈화할 수 있도록 도와줍니다. 예를 들어, 여러 컨트롤러에서 동일한 리포지터리 메서드를 호출하는 로직이 중복되는 경우, 이 로직을 서비스로 분리하여 컨트롤러에서 서비스를 호출함으로써 코드 중복을 줄일 수 있습니다. 2. DTO 변환: 엔티티 객체를 직접 컨트롤러나 템플릿 엔진에서 사용하는 것은 보안상 위험할 수 있습니다. 엔티티 객체에는 민감한 정보가 포함될 수 있기 때문에, 이를 안전한 DTO(Data Transfer Object) 객체로 변환하여 사용하는 것이 좋습니다. 서비스는 이러한 엔티티 객체와 DTO 객체 간의 변환 작업을 담당합니다. 즉, 컨트롤러에서 리포지터리를 직접 사용하지 않고 컨트롤러 → 서비스 → 리포지터리 순서로 접근하는 과정을 거쳐 데이터를..
자주 쓰는 Timeleaf의 3가지 속성
·
Category/SpringBoot
1. 반복문 th:each자바의 for each 문과 유사합니다.th:each="question : ${questionList}" 2. 텍스트 th:text 해당 요소의 텍스트값을 출력합니다.th:text="${question.subject}" 3. 분기문 th:ifquestion 객체가 null이 아닌 경우, 이 속성을 포함한 요소가 표시됩니다.th:if="${question != null}"
비동기 처리
·
Note/nk
시간이 걸리는 함수와 빨리 처리할 수 있는 함수가 같이 있을 때, 함수들을 원하는 처리 순서에 맞게 프로그래밍하는 것을 비동기 처리라고 합니다.
setTimeout()
·
Category/JavaScript
괄호 안에 있는 명령을 특정한 시간이 지난 후에 실행하는 함수입니다. 다음과 같이 작성하면 2000밀리초(2초)가 지난 후에 터미널 창에 결괏값을 표시합니다.setTimeout(() => { console.log("test");}, 2000);
npm package install
·
Category/Node
노드(Node.js)에서 패키지를 사용할 때는 npm 공식 웹 사이트(https://npmjs.com)에서 패키지를 검색하세요.p는 인기도(popularity), q는 품질(quality), m은 유지보수(maintenance)를 뜻합니다.
React - reducer function
·
Category/React
리듀서 함수(reducer function)는 상태(state)와 액션(action)을 입력으로 받아 새로운 상태를 반환하는 순수 함수입니다. 이 함수는 주로 상태 관리 라이브러리인 Redux나 React의 useReducer 훅에서 사용되며, 상태 관리의 핵심적인 역할을 합니다. 리듀서 함수는 두 가지 주요 입력을 받습니다.현재 상태 (state): 현재의 애플리케이션 상태를 나타내는 객체입니다.액션 (action): 상태를 변경하기 위해 발생하는 이벤트로, 주로 type과 payload로 구성됩니다. type은 어떤 종류의 상태 변경이 일어날지 설명하며, payload는 그 변경에 필요한 데이터를 담고 있습니다.리듀서 함수는 이 두 가지 입력을 바탕으로 새로운 상태 객체를 반환합니다. 이 과정에서,..
개인정보처리방침
·
개인 정보 처리 방침
"Squad Builder - 나만의 축구 팀 만들기" 애플리케이션은 사용자의 이름, 이메일 주소, 위치 데이터, 또는 기타 개인 식별 정보를 수집하거나 저장하지 않습니다.