일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 구글
- HttpSession
- 인텔리제이
- 플러그인
- Thymeleaf
- router
- firebase
- post
- @Entity
- GA4
- Polylang
- mergeattributes()
- db
- 리액트오류
- linkedhastset
- set
- SEO
- 구글애널리틱스
- 데이터베이스
- @Repository
- GET
- useEffect
- 구글알고리즘
- Login
- @Query
- ChatGPT
- addallattributes()
- JPA
- 워드프레스
- @Controller
- Today
- Total
목록2025/02/21 (8)
개발천재

HttpSession을 이용한 로그인 처리서버가 관리하는 사용자 상태 정보로, 클라이언트가 요청할 때마다 세션 ID를 전달하여 사용자 식별한다. 관리의 주체가 서버이기 때문에 로그인 처리 방식으로 가장 많이 사용되며, 권장되는 방식이다.세션을 이용해서 로그인하는 방식에서 클라이언트는 세션 ID만 전달하고 실제 로그인 정보는 서버에 저장된다. 서버에서 관리하므로 보안성이 높아 비교적 안전하다는 장점이 있다. 또한 다양한 사용자 상태 정보를 관리할 수 있고, 세션 타임아웃 설정으로 보안 기능을 강화할 수 있다.단, 서버 자원을 사용하므로 많은 사용자 관리 시 부하 발생 가능성이 있고, 클라이언트가 세션 ID를 분실하거나 만료되면 재로그인 필요하다.세션에는 유지 시간이 있기 때문에 일정 시간이 지나도 사용자의..

요소 추가하기, 변경하기before(), after(), append(), prepend()는 jQuery에서 DOM 요소를 추가하거나 변경할 때 사용하는 메서드이다. before()와 after()는 선택한 요소의 앞이나 뒤에 새로운 요소를 삽입하는 데 사용된다. 이 메서드들은 기존 요소의 위치를 기준으로 새 요소를 추가하므로, 그 요소가 어디에 위치할지를 정확히 설정할 수 있다.반면, append()와 prepend()는 선택한 요소의 자식 요소로 새로운 요소를 추가하는 데 사용된다. append()는 기존 자식 요소의 끝에 새로운 요소를 추가하고, prepend()는 기존 자식 요소의 처음에 새 요소를 삽입한다. 이 네 가지 메서드는 모두 DOM 요소의 위치와 구조를 동적으로 변경하는 데 유용하며,..

Set 이해하기Set은 중복을 허용하지 않는 데이터 구조이다. 같은 값을 여러 번 저장할 수 없고, 순서도 보장되지 않는다. Set은 중복된 값을 저장할 수 없기 때문에 동일한 값이 들어오게 되면 데이터가 하나 더 생기는 것이 아니라 기존 데이터가 유지된다. 또한 순서가 있는 List와 달리 Set은 순서를 보장하지 않고, null 값을 저장할 수 있다(단 한번). 또한 내부적으로 해싱(Hashing) 알고리즘을 사용하기 때문에 검색, 추가, 삭제가 빠르다는 장점이 있다. set은 중복 데이터를 허용하지 않아야 할 때 사용한다. 예를 들어 회원 ID나 이메일을 저장할 때 중복 데이터가 있으면 안되기 때문에 Set을 사용할 수 있다. ✔ 중복 값 저장 불가 ✔ 순서가 보장되지 않음 ✔ null 값 저장..

JpaRepository 이해하기JpaRepository는 Spring Data JPA에서 제공하는 인터페이스다. 이걸 사용하면 SQL을 직접 작성하지 않아도 기본적인 데이터베이스 작업(조회, 저장, 삭제 등)을 자동으로 처리할 수 있다. JpaRepository의 역할JpaRepository는 기본적으로 CRUD 기능을 제공하는데, 이걸 사용하면 INSERT, SELECT, UPDATE, DELETE 같은 SQL 쿼리를 직접 작성하지 않고 사용할 수 있다.public interface MemberRepository extends JpaRepository {} JpaRepository를 쓰면 @Repository를 선언하지 않아도 되는 이유Spring Data JPA에서 JpaRepository를 상속..

Entity와 DTO의 역할 차이EntityDB와 직접 연결되는 핵심 모델DTOView나 API를 위한 가공된 데이터 객체 Entity는 데이터베이스 테이블과 1:1 매핑되는 객체이다. Entity는 @Entity로 선언된 클래스를 말하며 데이터베이스의 구조(컬럼, 관계 등)를 그대로 반영한다. 비즈니스 로직을 직접 담지 않고, 순수한 데이터 구조만 가진다. DTO(Data Transfer Object)는 데이터를 전달하기 위한 객체이다. Controller ↔ Service ↔ View(프론트엔드) 간의 데이터 전송에 사용하며, Entity와 달리, 비즈니스 요구사항에 맞게 필요한 데이터만 담거나 가공할 수 있다. 주로 getter, setter 또는 spring에서는 @Data 등을 사용해 간단하게..

@Query 이해하기@Query는 Spring Data JPA에서 사용자 정의 쿼리를 작성할 때 사용하는 어노테이션으로, JPQL(엔티티 기반 쿼리)이나 Native SQL(DB 직접 쿼리)을 사용하여 복잡한 조건의 검색, JOIN, 서브쿼리 등을 자유롭게 구현할 수 있으며, 메서드 이름으로 작성하기 어려운 쿼리를 간결하게 표현하고 최적화할 때 유용하게 사용된다. @Query를 사용하는 이유복잡한 쿼리나 맞춤형 쿼리가 필요할 때, JPA 메서드 이름만으로는 부족할 때 사용한다. JPQL(Java Persistence Query Language)을 사용해서 엔티티 객체를 기반으로 쿼리를 작성할 수 있고, Native Query(순수 SQL)도 지원한다. JPA 메서드 이름으로 만들기 어려운 경우SQL 최..

RedirectAttributes는 페이지 이동할 때 잠깐 붙였다가, 한 번 보여주고 바로 버려지는 포스트잇 메모! RedirectAttributes 이해하기Spring에서 리다이렉트(다른 페이지로 이동)할 때, 데이터를 잠깐 전달하는 방법이다. redirect:/member/view처럼 리다이렉트를 하면 새로운 요청이 만들어진다. 그래서 Model이나 @RequestParam으로는 데이터를 전달할 수 없다.이때 RedirectAttributes가 잠깐 데이터를 붙여서 보내주는 역할을 한다. 회원가입, 글 작성, 삭제 등이 성공했을 때 “성공했습니다!” 같은 알림 메시지를 다음 화면에 한 번만 보여주고 싶을 때 사용한다. RedirectAttributes를 많이 쓰는 경우회원가입 후 → “회원가입 성..

Thymeleaf에서 표(table)를 만들어서 반복문(each)을 이용해 데이터를 리스트로 출력하는 경우, 각 행(row)에 고유한 번호(인덱스)를 표시하고 싶을 때가 있다. 그때 사용하는 것이 stat이다. stat 이용하기th:each="quiz, stat : ${quizList}" 는quiz를 반복하며 각 항목을 quiz에 담고, stat에 반복 상태를 저장한다. stat.index를 입력하여 현재 반복의 0부터 시작하는 index 값을 반환하게 한다. 1부터 시작하는 번호를 표시하려면 stat.index 옆에 +1을 입력한다. stat.count를 사용하면 별도의 계산 없이 1부터 시작하는 번호를 사용할 수 있다. No 내용 정답 수정 삭제 ..