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

컬렉션(Collection)컬렉션(Collection)은 데이터의 집합을 관리하는 Java의 표준 라이브러리이다. 여러 데이터를 하나의 객체로 묶어서 다룰 수 있도록 도와주는 인터페이스와 클래스를 제공하며, 자주 사용하는 컬렉션 클래스에는 List, Set, Map 등이 있다. 컬렉션은 다양한 형태로 데이터를 저장하고, 탐색하고, 수정하는 데 유용하다. 컬렉션의 주요 특징컬렉션은 데이터를 저장하는 다양한 방법을 제공한다. 예를 들어, 배열과 비슷하게 데이터를 저장할 수 있으며, 중복을 허용하지 않거나 순서를 유지하는 등 특성에 맞는 컬렉션을 선택할 수 있다. 동적 크기를 조정할 수 있다. 일반적으로 배열은 크기가 고정되어 있지만, 컬렉션은 동적 크기 조정이 가능하다. 즉, 데이터를 추가하거나 제거할 ..

@EnableJpaAuditing 이해하기@EnableJpaAuditing은 Spring Data JPA에서 엔티티의 생성일자나 수정일자 등을 자동으로 관리할 수 있게 해주는 기능을 활성화하는 어노테이션이다. 이 어노테이션을 사용하면 @CreatedDate, @LastModifiedDate와 같은 어노테이션을 통해 날짜와 시간을 자동으로 기록할 수 있게 된다. 시간을 자동으로 기록할 수 있어 수동으로 입력할 필요가 없고, 데이터의 생성 및 수정 시점을 쉽게 관리할 수 있어서 기록이 필요한 앱에서 유용하다는 장점이 있다. 또한 @EnableJpaAuditing은 날짜 관리 외에도 @CreatedBy, @LastModifiedBy와 같은 기능을 통해 자동으로 작성자나 수정자를 기록할 수도 있다. @Ena..

WebMvcConfigurer는 Spring MVC의 기본 설정을 변경하거나 추가할 수 있는 방법을 제공한다 WebMvcConfigurer 이해하기WebMvcConfigurer는 Spring MVC 설정을 간편하게 커스터마이즈할 수 있도록 도와주는 인터페이스이다. 이를 통해 웹 애플리케이션에서 기본적인 MVC 설정을 변경하거나 추가할 수 있다.예를 들면, WebMvcConfigurer는 학교의 규칙을 설정하는 교장 선생님과 비슷하다고 할 수 있다.교장 선생님은 학교에서 학생들이 지켜야 할 규칙을 정하는 사람이다. 예를 들어, 어디서 점심을 먹을지, 어떤 과목을 선택할지, 학생들이 학교에 들어오기 전에 확인해야 할 사항 등을 설정한다. 또한 학교의 기본적인 운영은 정해져 있지만, 교장 선생님은 특정 규..

클라이언트 단에서도 검증을 하고 서버단에서도 검증이 필요한 이유클라이언트 단과 서버 단에서 각각 검증을 하는 이유는 보안과 사용자 경험을 동시에 고려하기 위함이다. 클라이언트 단 검증은 사용자 경험을 개선하고, 서버의 부담을 줄이기 위한 용도이며, 서버 단 검증은 보안, 데이터 무결성, 권한 검증 등 중요한 요소들을 처리하기 위한 용도이다. 따라서 클라이언트 단에서 간단한 유효성 검사를 먼저 하고, 서버 단에서 모든 데이터를 최종적으로 검증하는 방식으로 이중 검증을 사용하는 것이 가장 안전하고 효율적이다. 클라이언트 단에서 검증이 필요한 이유즉시 피드백 제공사용자가 잘못된 데이터를 입력할 경우 즉시 피드백을 받을 수 있다. 예를 들어, 이메일 형식이 잘못되었거나 필수 입력란이 비어 있을 경우, 서버에 ..

@Component, @Service, @Repository, @Controller는 모두 스프링 빈을 정의하는 어노테이션 스프링에서 관리하는 객체들은 스프링 컨테이너에 의해 생성되고 관리된다. 이를 통해 객체 간의 의존성을 관리하고, 코드가 효율적이고 유지보수가 쉬워진다. 스프링은 여러 종류의 **빈(Bean)**을 관리하는데, 이때 사용하는 어노테이션들이 @Component, @Service, @Repository, @Controller, @Bean이다. @Component, @Service, @Repository, @Controller는 모두 스프링 빈을 정의하는 어노테이션이지만, 이름과 사용 목적에 따라 미묘한 차이가 있다. @Component: 스프링이 관리하는 일반적인 객체@Service: ..

Intercepter 이해하기Interceptor(인터셉터)는 요청과 응답 사이에 끼어서 추가적인 작업을 수행하는 도구이다. 쉽게 말해서, "도와주는 역할"을 하는 사람과 비슷하다.인터셉터는 마치 문을 통과하려는 사람을 체크하는 경비원과 같다. 사람들이 문을 통과할 때, 경비원이 들어가기 전에(요청 처리 전에) 확인하거나, 들어온 후(요청 처리 후) 필요한 일을 한다. 예를 들면 사용자가 웹사이트에 요청을 보내려고 할 때, 경비원이 이 사람이 로그인 했는지, 특정 권한이 있는지 확인할 수 있다. 또는 요청을 처리한 후에는 경비원이 무사히 문을 통과한 후, 문을 닫고 나서 체크할 수도 있다. Interceptor의 역할요청 처리 전클라이언트(사용자)가 요청을 보낼 때, 예를 들어 로그인 상태 체크, 권한..

JPA에서 update가 없을까?JPA는 영속성 관리(Persistence Context)를 통해 객체 상태를 추적하고 있기 때문에, 엔티티 객체가 변경되면 자동으로 갱신(update)이 이뤄진다. JPA에서는 update라는 메서드가 존재하지 않는다.JPA에서 데이터를 업데이트 하기 위해서는 save()를 사용한다. save() 메서드는 새로운 객체는 저장하고, 기존 객체는 수정하는 방식으로 동작한다. 즉, save는 insert와 update를 구분 없이 처리하는 메서드이다.*영속성 관리(Persistence Context)란?영속성 관리(Persistence Context)는 JPA가 관리하는 메모리 공간으로, 객체의 상태를 추적하고 변경 사항을 자동으로 데이터베이스에 반영하는 역할을 해요. 기본..

Hibernate 이해하기Hibernate는 자바에서 데이터베이스와 객체를 연결해주는 프레임워크이다. 데이터를 자바 객체(클래스 형태)로 다루면서, 이를 데이터베이스의 테이블과 자동으로 매핑해주는 역할을 한다. 쉽게 말하면, 자바 객체와 데이터베이스 간의 번역기라고 할 수 있다. 예를 들어 자바 객체는 언어를 잘하는 사람이고, 데이터베이스는 다른 언어를 사용하는 사람이라고 생각해 보자. 이 두 사람은 서로 소통할 필요가 있지만, 언어가 다르기 때문에 대화가 되지 않는다. 이 두 사람 사이에 자동 번역기 역할을 하는 것이 Hibernate이다. 자바 객체가 이야기한 내용을 데이터베이스가 이해할 수 있도록 변환해주고, 데이터베이스에서 나온 결과를 자바 객체로 다시 변환해주는 역할을 하는 것이다. Hibern..

DB 정보를 환경변수로 등록하는 이유DB 연결할때 username과 password는 외부로 노출되면 안되기 때문에 환경변수로 등록해서 사용한다.DB 사용자 이름(username)과 비밀번호(password)는 중요한 보안 정보이다. 만약 코드에 직접 작성하면, 깃허브 같은 곳에 코드가 올라갔을 때 누구나 DB에 접속할 수 있게 된다. 그렇기 때문에 환경변수에 DB_USERNAME과 DB_PASSWORD를 등록해두고, application.properties나 application.yml에서 불러와서 사용한다.#MySQL 연결 설정spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://loc..

@Table 이해하기@Entity는 “이 클래스는 데이터베이스의 테이블”이라고 알려주는 역할을 하고, Hibernate나 JPA가 이 이름표를 보고 데이터베이스에 테이블을 자동으로 만들어 준다. @Table은 “이 클래스가 어떤 테이블과 연결될지 이름표를 붙여주는 역할”을 한다. 자바 클래스 이름과 데이터베이스 테이블 이름이 다를 때 어떤 테이블과 연결될지 Hibernate에게 알려줘야 하기 때문에 @Table 클래스를 사용한다.만약 클래스 이름이 User인데, 데이터베이스 테이블 이름이 member라면 @Table(name = "member")라고 적어서 “이 클래스는 member 테이블과 연결될 거야!”라고 알려주는 것이다. 자바 코드에서 User 객체를 생성하거나 수정하면, 실제로는 member 테..