일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 리액트오류
- Thymeleaf
- JPA
- 구글알고리즘
- Login
- @Query
- post
- GA4
- 구글
- SEO
- 데이터베이스
- mergeattributes()
- firebase
- db
- Polylang
- set
- router
- 워드프레스
- addallattributes()
- @Repository
- @Controller
- @Entity
- GET
- ChatGPT
- useEffect
- linkedhastset
- 플러그인
- 구글애널리틱스
- 인텔리제이
- HttpSession
- Today
- Total
목록전체 글 (141)
개발천재

useContext 이해하기useContext는 React의 훅 중 하나로, Context API를 사용하여 컴포넌트 트리에서 값을 쉽게 전달할 수 있도록 도와준다. 일반적으로 부모 컴포넌트에서 Context를 Provider를 사용해 값을 전달하고, 하위 컴포넌트에서는 useContext로 이 값을 쉽게 가져올 수 있다. 주로 전역적인 상태(예: 테마, 로그인 상태 등)를 관리할 때 유용하다. Context는 컴포넌트 트리 전체에서 전역적으로 데이터를 공유할 수 있게 해준다. 하지만 사용은 신중하게 해야 한다. 너무 많은 데이터를 Context로 전달하면 성능 저하가 발생할 수 있기 때문이다.useContext는 값이 변경되면 해당 컴포넌트를 리렌더링한다. 이는 리액트의 기본 동작처럼 상태 값이 변경될..

Hook이란?Hook(훅) 은 워드프레스가 특정 이벤트를 실행할 때, 추가 기능을 연결(Attach)할 수 있도록 해주는 기능이다. 워드프레스의 기능을 확장하거나 수정하게 해준다. 워드프레스에서 행동이나 필터링을 추가하거나 수정하는데 사용된다. WordPress Hook은 사이트 기능을 확장하거나 수정하는 데 중요한 역할을 한다. Action Hooks는 특정 시점에 동작을 실행하고, Filter Hooks는 데이터를 수정하는 데 사용된다. 이 두 가지를 활용하면 워드프레스를 원하는 대로 커스터마이즈 할 수 있다.- 코어(Core) 파일을 직접 수정하지 않고도 기능을 추가하거나 변경 가능- 테마, 플러그인 개발에 필수적인 개념- 액션(Action)과 필터(Filter) 두 가지 Hook이 있음 Act..

ResponseEntity 이해하기ResponseEntity는 Spring Boot에서 HTTP 응답을 보다 세밀하게 조작할 수 있도록 도와주는 클래스이다. 부분에 반환할 데이터 타입(String, List 등)을 지정할 수 있다.JSON 데이터뿐만 아니라, HTTP 상태 코드, 헤더, 바디(내용) 등을 포함한 응답을 반환할 때 사용된다. ResponseEntity 기본 사용법ResponseEntity.status(HttpStatus status)는 응답의 HTTP 상태 코드를 설정하는 메서드이다.이 메서드를 사용하면 200(OK), 400(Bad Request), 404(Not Found) 등 다양한 상태 코드를 응답에 지정할 수 있다. ResponseEntity.body(T body)는 HTTP ..

@RestController 이해하기@RestController는 Spring에서 RESTful 웹 서비스를 쉽게 만들 수 있도록 도와주는 어노테이션이다. 내부적으로 @Controller와 @ResponseBody를 포함하고 있어, 별도로 @ResponseBody를 선언하지 않아도 자동으로 JSON 형식의 데이터를 반환한다. 주로 API를 개발할 때 사용되며, 클라이언트와 서버 간 데이터를 주고받는 엔드포인트를 만들 때 유용하다. 이를 활용하면 HTTP 요청을 처리하고, 적절한 응답을 ResponseEntity와 함께 쉽게 반환할 수 있어 RESTful API 개발을 보다 직관적이고 효율적으로 구현할 수 있다. @RestController의 장점@RestController의 큰 장점은 JSON 데이..

JPA의 Cascade(영속성 전이) 이해하기JPA에서 영속성 전이(Cascade) 란, 부모 엔티티가 저장되거나 삭제될 때 연관된 자식 엔티티도 함께 처리되도록 하는 기능이다. 예를 들어, 부모를 데이터베이스에 저장하면 자식도 자동으로 저장되거나, 부모를 삭제하면 자식도 같이 삭제되도록 설정할 수 있다. 이를 통해 연관된 객체를 일일이 관리하지 않아도 되므로 코드가 간결해지고 유지보수가 쉬워진다는 장점이 있지만 부모를 삭제할 때 자식까지 예상치 않게 삭제될 수도 있으므로 신중하게 사용해야 한다.@Entityclass Parent { @Id @GeneratedValue private Long id; @OneToMany(mappedBy = "parent", cascade = CascadeT..

JPQL 이해하기JPQL(Java Persistence Query Language)은 JPA에서 엔티티 객체를 조회하기 위한 쿼리 언어이다. SQL과 비슷하지만, 테이블이 아니라 "엔티티"를 대상으로 쿼리를 작성한다. 쉽게 말하면 JPQL은 JPA에서 SQL처럼 데이터를 조회하는 방법이고, DB 테이블이 아니라 엔티티(Member, Order, Product 등)를 대상으로 검색한다. JPQL을 실행하면 SQL로 변환되어 DB에서 실행된다. JPQL을 사용하면 객체 중심으로 쿼리를 작성할 수 있어서 유지보수가 쉽고, 데이터베이스에 따라 SQL이 다를 수 있지만, JPQL은 JPA가 자동 변환해준다는 장점이 있다. JPQL을 사용하면 DB 변경 시에도 코드 수정이 적다. JPQL 기본 문법SQL과 비슷하..

데이터베이스에서 테이블 간의 관계를 올바르게 설정하는 것은 애플리케이션의 데이터 무결성과 성능을 유지하는 데 중요한 요소이다. JPA에서는 이러한 관계를 보다 직관적이고 효율적으로 관리할 수 있도록 @ManyToOne, @OneToMany, @OneToOne, @ManyToMany와 같은 매핑 어노테이션을 제공한다. @ManyToOne (다대일 관계)여러 개의 자식이 하나의 부모에 속한다. @ManyToOne은 다대일(N:1) 관계를 매핑할 때 사용하는 JPA 어노테이션으로, 여러 개의 엔티티가 하나의 엔티티를 참조하는 구조를 의미한다. 예를 들어, 여러 개의 주문(Order)이 하나의 회원(User)에 속하는 경우, Order 엔티티에서 User 엔티티를 @ManyToOne으로 매핑할 수 있다. 이..

JPA가 엔티티를 관리하는 "메모리 저장소" 영속성 컨텍스트(Persistence Context) 이해하기쉽게 말해, "영속성 컨텍스트(Persistence Context)"는 JPA가 데이터베이스와 직접 연결하지 않고 엔티티 객체를 관리하는 메모리 공간이다. JPA를 통해 엔티티를 저장하거나 조회하면, 이 객체는 "영속성 컨텍스트"에 보관된다.데이터베이스랑 직접 연결해서 쓰면 매번 SQL을 실행해야 하지만, JPA는 "영속성 컨텍스트"라는 임시 저장소를 이용해서 객체를 메모리에 올려두고 관리할 수 있다.JPA는 엔티티를 직접 DB에 저장하지 않고, 영속성 컨텍스트에 먼저 보관한다! 필요하면 영속성 컨텍스트에서 먼저 꺼내 쓰고, 수정된 내용은 자동으로 DB에 반영된다! 영속성 컨텍스트에서 빼면 더 이상..

페이징 구현하기스프링 부트에서 페이징(Paging)을 구현하는 방법은 Spring Data JPA의 Pageable과 Page 인터페이스를 활용하는 것이다. Page 인터페이스를 사용하면 페이징 정보를 쉽게 가져올 수 있다. getTotalPages(), getTotalElements(), getNumber(), hasNext(), hasPrevious() 같은 유용한 메서드 제공하고 Pageable을 활용하여 PageRequest.of(page, size)로 요청이 가능하다. Pageable을 사용하면 자동으로 페이징 쿼리를 실행한다. 정렬을 추가하려면 Sort 활용하고, 특정 조건으로 페이징하려면 findByXXX(String, Pageable) 사용한다. 컨트롤러에서 Page를 반환하면 JSON 타..

@Transactional 이해하기@Transactional은 주로 데이터베이스 작업에서 일관성과 무결성을 보장하기 위해 사용되는 어노테이션이다. 이 어노테이션을 메서드나 클래스에 적용하면, 해당 메서드나 클래스 내에서 수행되는 데이터베이스 작업이 하나의 트랜잭션으로 묶인다. 트랜잭션은 여러 개의 데이터베이스 작업을 하나의 단위로 묶어서 실행되는데, 모든 작업이 성공적으로 완료되면 데이터베이스에 반영되고, 만약 하나라도 실패하면 모든 작업을 취소하고 원래 상태로 되돌리게 된다. @Transactional 핵심 개념 (ACID)트랜잭션은 ACID라는 네 가지 특성을 가진다.Atomicity (원자성)트랜잭션 내의 모든 작업은 하나의 단위로 처리된다. 모든 작업이 성공하면 커밋되고, 실패하면 모두 롤백된다..