본문 바로가기
728x90
728x90

분류 전체보기150

[Docker; 도커] 우분투 서버(ubuntu server 22.04) 도커 설치 우분투 서버에 도커를 설치하는 방법은 다음과 같습니다. 우선 이전 버전의 도커가 설치되어 있을경우 제거를 하고 진행을 해야합니다. sudo apt-get remove docker docker-engine docker.io containerd runc 그 다음에는 패키지 목록을 업데이트하고 필수 패키지를 설치합니다. sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common 도커 리포지토리의 GPG 키를 추가하고 apt 소스에 리포지토리 구성을 추가합니다. curl -fsSL [4](https://download.docker.com/linux/ubuntu/gpg) |.. 2023. 10. 17.
[Spring; 스프링] Spring Security Spring Security는 Spring 기반의 Java 웹 응용 프로그램에서 보안과 인증을 관리하는 데 사용되는 강력한 보안 프레임워크입니다. Spring Security는 사용자 인증, 권한 부여, 보안 설정, 세션 관리 등과 관련된 기능을 제공하여 웹 응용 프로그램의 보안을 강화합니다. Spring Security의 주요 기능은 다음과 같습니다. 사용자 인증 (Authentication): 사용자가 누구인지 확인하고 사용자의 자격 증명을 검증합니다. 권한 부여 (Authorization): 인증된 사용자가 어떤 리소스나 기능에 접근할 수 있는지 결정합니다. 보안 설정 (Security Configurations): 보안 규칙을 정의하고 설정하여 어떤 URL에 어떤 보안 수준을 적용할지 결정합니다... 2023. 10. 5.
[Git; 깃] Git 버전 관리의 핵심 도구 1. 버전 관리란 무엇인가? 소프트웨어 개발 프로세스에서 변화하는 코드와 리소스를 관리하는 것은 굉장히 중요합니다. 이런 변화들은 프로젝트의 발전을 나타내며, 협업하는 동안 여러 명의 개발자가 동일한 코드베이스에서 작업할 때 특히 중요합니다. 버전 관리는 이러한 변화를 효율적으로 관리하는 방법을 제공합니다. 2. Git이란 무엇인가? Git은 Linus Torvalds에 의해 만들어진 분산 버전 관리 시스템입니다. Git은 코드 변경 이력을 관리하고 협업을 위해 여러 명의 개발자가 함께 작업할 수 있는 강력한 도구입니다. Git은 변경 내용을 추적하고, 변경 이력을 쉽게 확인할 수 있게 해줍니다. 3. Git의 주요 개념 Repository(저장소): Git은 모든 정보를 저장소에 저장합니다. 저장소는 .. 2023. 10. 4.
[Spring; 스프링] mappedBy 연관관계 mappedBy는 JPA에서 양방향 연관관계를 설정할 때 사용하는 속성입니다. mappedBy는 연관관계의 주인이 아닌 쪽에서 지정해야 하며, 연관관계의 주인을 가리키는 필드명을 값으로 줍니다. 예를들어, User엔티티와 CellularPhone 엔티티가 일대일 양방향 연관관계를 가지고 있고, User 엔티티가 연관관계의 주인이라면, CellularPhone 엔티티에서는 @OneToOne(mappedBy = "cellularPhone) 와 같이 어노테이션을 적용해야 합니다. 이렇게 하면 CellularPhone 엔티티는 User 엔티티의 cellularPhone 필드에 의해 매핑된다는 것을 나타냅니다. mappedyBy를 사용하는 이유는 양방향 연관관계에서 두 엔티티 모두가 관계를 관리하면 무한 루프에 .. 2023. 10. 4.
[Spring; 스프링] SpringBoot JPA Entity 오늘은 SpringBoot JPA Entity에 대해 설명해드리겠습니다. 😊😊 SpringBoot JPA Entity란 스프링 부트에서 JPA를 사용하기 위해 정의하는 클래스입니다. JPA는 Java Persistence API의 약자로, 자바에서 관계형 데이터베이스와 객체를 매핑하는 기술입니다. @Entity 어노테이션을 사용하면 해당 클래스가 JPA 엔티티임을 선언할 수 있습니다. 엔티티는 데이터베이스의 테이블과 일대일로 대응하며, 각 엔티티 인스턴스는 테이블의 행을 나타냅니다. @Entity 어노테이션은 클래스 레벨에 적용하며, 엔티티의 이름은 기본적으로 클래스의 이름과 같습니다. name 속성을 사용하면 엔티티의 이름을 변경할 수 있습니다. 예를 들어, @Entity (name="student").. 2023. 10. 4.
[Spring; 스프링] @Transactional(readOnly=true) @Transactional(readOnly=true)는 스프링 AOP 기반의 어노테이션으로, 해당 어노테이션이 붙은 메서드가 트랜잭션을 시작하고 종료할 때 읽기 전용 모드로 동작하도록 지정하는 것입니다. 읽기 전용 모드는 데이터베이스에 대한 변경 작업을 수행하지 않고, 영속성 컨텍스트를 플러시 하지 않습니다. 이렇게 하면 성능상의 이점과 데이터 일관성을 얻을 수 있습니다. 예를 들어, JPA를 사용할 경우, 변경 감지 작업을 수행하지 않고, 엔티티와 스냅샷을 비교하는 과정을 생략할 수 있습니다. 또한 데이터베이스 드라이버가 지원한다면, DB에서도 읽기 전용 쿼리를 최적화할 수 있습니다. @Transactional(readOnly=true)는 데이터의 변경이 없는 읽기 전용 메서드에 사용하는 것이 좋습니다.. 2023. 10. 4.
728x90
728x90