우주먼지
Firebase 란?
Framework/ETC 2023. 3. 25. 02:40

💡 FireBase 소개 BaaS 플랫폼으로 제공되는 포괄적인 도구 및 서비스 제품군으로, 개발자가 모바일 및 웹 어플리케이션을 모두 쉽게 생성, 실행 및 확장할 수 있게 하며, 실시간으로 데이터베이스, 인증, 스토리지, 호스팅 및 기타 기능을 모두 단일 플랫폼에서 관리할 수 있다. 위의 모든 기능을 하나의 Firebase에서 전부 지원하므로, 고품질 모바일 및 웹 어플리케이션을 구축, 배포 및 성장시키기 위한 포괄적 플랫폼을 제공한다. 즉, 개발자가 인프라 구축 & 관리할 필요 없이 다양한 도구와 서비스를 제공하는, 모바일 및 웹 어플리케이션 통합 개발 플랫폼이다. 데이터베이스 Firebase는 연결된 모든 기기에서 실시간으로 데이터를 동기화하는 실시간 데이터베이스를 제공한다. 개발자가 유연하고 확장 ..

article thumbnail
Spring Cloud Config를 활용한 민감정보 관리 & 암호화
Framework/Spring 2023. 3. 16. 22:57

💡 Spring Cloud Config 분산된 환경의 어플리케이션에서 환경설정 정보를 중앙의 Config Server에 모아 관리하게 해주는 라이브러리이다. 구축을 하게 된 배경은 디스코드 봇을 만드는중인데 봇의 토큰 값을 로컬에서 관리하는 방법 말고 다른방법이 또 있을까 해서 검색하다 AWS Parameter Store를 할까 하다가 이걸로 하게 됐다. 구현 순서 Spring Cloud Config Server Spring Cloud Config Client SSH Key 등록 💡 Spring Cloud Config Server 여러 서버들의 설정정보를 모아놓을 HQ Config Server 사전 준비 사항 Spring Cloud Config 서버로 쓸 Private Git Repository 생성 S..

article thumbnail
Value Type
Framework/Spring 2023. 3. 4. 14:27

💡 JPA 데이터 타입 분류 JPA의 데이터 타입에는 엔티티 타입과 값 타입이 있다. 값 타입의 종류 기본값(Primitive, Wrapper, String) 임베디드(복합 값 타입) 값 타입 컬렉션 Entity Type @Entity로 정희 하는 객체이며, 데이터가 변해도 식별자로 지속적인 추적이 가능하다. ex: 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식이 가능하다. Value Type int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체이다. ex: 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체된다. 생명주기를 엔티티에 의존하며, 식별자가 없고 값만 있으므로 변경 시 추적이 불가능하다. 값 타입은 공유하면 안된다. (Side Effect ..

article thumbnail
Proxy & FetchType & Cascade & Orphan
Framework/Spring 2023. 3. 3. 17:01

💡 Proxy em.find() DB를 통해서 실제 엔티티 조회 em.getReference() DB조회를 미루는 프록시 객체 조회 find() 와 getReference() find()를 했을땐 정상적인 select 쿼리가 나갔지만 getReference()를 했을때 getId를 조회를 하면 Select 쿼리가 안나간다. 왜냐하면 Member의 Id는 파라미터로 들어온 값을 사용하기 때문에 프록시 객체의 초기화가 안됨. findMember2.getUsername()을 했을때 비로소 DB의 정보를 가져와야 하므로, getUsername()을 했을떄 Select 쿼리가 나간다. 즉, 프록시 객체에 없는 정보를 호출하면 객체가 초기화 되면서 DB의 정보를 조회한다. // Member findMember1 =..

article thumbnail
Relation Mapping & MappedSuperClass
Framework/Spring 2023. 3. 2. 23:28

💡 Entity 연관관계 설정 JPA의 목적 - 객체지향 프로그래밍과 데이터베이스 사이의 패러다임 불일치 해결 연관관계 정의 규칙 방향 : 단방향, 양방향 (객체 참조) 연관관계의 주인 : 양방향일 때, 연관관계에서 관리 주체 다중성 : 1:1, 1:N, N:1, N:M 단방향, 양방향 DB 테이블은 외래키 하나로 양쪽 테이블 조인이 가능하지만 객체는 참조용 필드가 있는 객체만 참조가 가능하다 그렇기 떄문에 두 객체 사이에 하나의 객체만 참조용 필드를 가지면 단방향, 각각 참조 필드를 가지고 있으면 양방향 관계다 JPA를 사용하여 DB와 패러다임을 맟추기 위해서 객체는 연관관계를 잘 선택해야 한다 선택은 비즈니스 로직에서 두 객체가 참조가 필요한지 여부를 고민해보면 됨 board.getPost()처럼 참..

Memo - JPA
Framework/Spring 2023. 2. 28. 20:33

💡 JPA Memo Class EntityManager 영속성 컨텍스트 관리 EntityManagerFactory Spring으로 EntityManager 객체에 DI 주입 CommandLineRunner Application 런타임 시 초기화 작업 추가 LocalDateTime 컬럼의 TIMESTAMP 타입과 매핑, @Temporal 생략 TransactionManager 어플리케이션에 트랜잭션 적용, DI주입식 사용 (AOP 방식) TransactionInterceptor 트랜잭션 어드바이스용 트랜잭션 경계 설정 클래스 RuleBasedTransaction Attribute 트랜잭션 Attribute 설정 클래스 Advisor Advisor 객체 생성 후, DefaultPointcutAdvisor의 ..

Memo - Yaml
Framework/Spring 2023. 2. 28. 20:31

💡 Application.yml # 📌 [ Application.yml ] *** > ⭐ [인텔리제이 로그 한글 깨질때] server: servlet: encoding: force-response: true charset: UTF-8 > ⭐ [H2 Database] h2: console: enabled: true path: /h2 datasource: url: jdbc:h2:mem:test > ⭐ [JPA] jpa: hibernate: ddl-auto: create # (1) 스키마 자동 생성 show-sql: true # (2) SQL 쿼리 출력 properties: hibernate: format_sql: true # (3) SQL pretty print // sql: // init: // data-..

검색 태그