LostCatBox

LostCatBox

내 생각을 자유롭게 만들 때까지

(JPA) JPA 기본편 CH02 (JPA 영속성 컨텍스트)
JPA에서 가장 중요한 것 객체와 관계형 데이터베이스 매핑하기
 영속성 컨텍스트 개념엔티티 매니저 팩토리와 엔티티 매니저 영속성 컨텍스트 엔티티를 영구 저장하는 환경 EntityManager.persist(entity) persist는 DB에 저장하는것이 아니라 영속성 컨텍스트에 저장한다는 의미이다 영속성 컨텍스트는 논리적인 개념 엔티티 매니저를 통해서 영속성 컨텍스트에 접근함 엔티티의 생명주기 비영속 (new/transient)
 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속 (managed)
 영속...
(JPA) JPA 기본편 CH01 (JPA 시작)
왜?sql, jpql, mybatis 등등을 활용할때는 개발자가 결국 직접 sql을 쓰는것과같다. 하지만 JPA는 객체지향으로 쿼리를 만들고 개발할수있다. 출처김영한 JPA 기본편 목표객체와 테이블 설계 매핑 기본 키와 외래키 1:N, N:1, 1:1, N:M 매핑 실무 노하우 + 성능까지 고려 복잡한 시스템도 JPA로 설계 가능 JPA 내부 동작 방식 이해 JPA의 내부 동작 방식을 이해하지 못함 JPA가 어떤 SQL을 만들어 내는지 이해 JPA가 언제 SQL을 실행하는지 이해 JPA 기본SQL 단점 객체에 필드 추가시 ...
DataSource, QueryDSL이란?
왜?회사에서 hikari 라는 datasource 툴을 볼수있엇고, querydsl로 해당 프로젝트가 짜있는것을 보고, 왜 쓴걸까? 라는 의문점에 찾아본다 참조Spring DataSource QueryDSL JPQL MyBatis->JPA Spring DataSource데이터 베이스에 테이터를 넣고, 데이터를 읽어오기 위해서는 먼저 데이터베이스에 연결되어야한다. 하지만, 이부분은 spring이 application.yml에 있는 메타정보를 등록하면 구성해주므로, 데이터베이스에 어떤 과정을 거쳐 연결되는지 알수없다. 123...
(ETC) 디자인 패턴에 대해서 CH2 (구조 디자인 패턴에 대해)
구조 패턴어댑터 패턴의도어댑터는 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 디자인 패턴입니다. 어댑터는 호출을 받으면 들어오는 XML 데이터를 JSON 구조로 변환한 후 해당 호출을 래핑된 분석 객체의 적절한 메서드들에 전달합니다. 객체 어댑터이 구현은 객체 합성 원칙을 사용합니다. 어댑터는 한 객체의 인터페이스를 구현하고 다른 객체는 래핑합니다. 클라이언트는 프로그램의 기존 비즈니스 로직을 포함하는 클래스입니다. 클라이언트 인터페이스는 다른 클래스들이 클라이언트 코드와 공동 작업할 수 있도록...
(ETC) 디자인 패턴에 대해서 CH1 (생성 디자인 패턴에 대해)
왜?개발을 할때, 항상 디자인 패턴에 대해 생각해보고 어떤 전략을 활용해야 더 좋은 코드를 짤수있을지에 대한 생각을 했다. 각 패턴들의 나온 이유, 장점들을 알아보고 예시로 적용까지 해보자 참조전체 참조 팩토리 메서드 스프링에서 빌더 패턴 참조 사전 지식디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책이다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진 객체 지향 설계의 일반적인 문제들에 대한 일반적인 해결책 패턴의 의도(문제점->해결)파...
L2-L4-L7 스위치란? (허브, 스위치, 라우터)
왜?아키텍쳐 설계 도면에 L2, L4, L7 등 스위치가 등장했다. 왜 서로 다른 OSI 계층에 해당하는 스위치를 써서, 서버에 분배하는것일까? 허브, 스위치, 라우터란?허브는 패킷 요청이 들어오면 연결된 모든 기기로 브로드캐스팅된다.(뿌림) 스위치는 패킷의 목적지 주소로 지정된 기기로 이어지는 포트로만 패킷이 전달된다. 라우터는 네트워크 트래픽 포워딩, 라우팅 기능제공하며, 보통 다른 네트워크들 사이에 존재하여, 각 네트워크를 연결하는데 사용한다. L1, L2, L3, L4, L7각 OSI 7 계층을 말한다. L1가장 원...
(리뷰)(강추)가상 면접 사례로 배우는 대규모 시스템 설계 기초
책 리뷰대상: 가상 면접 사례로 배우는 대규모 시스템 설계 기초 결론: 아주 좋은책이다. 몇번이나 반복해서 읽고싶은 책이다. 반드시 구매하자: 구매링크 왜?대규모 시스템 설계에서 왜?에 대한 답변이 많은 책이여서 반드시 읽고싶었다. 1장 - 사용자 수에 따른 규모 확장성단일 서버데이터 베이스수직적 규모 확장 vs 수평적 규모 확장 Failover, 다중화 방안 -> 수평적 규모 확장 유리 로드밸런서데이터베이스 다중화캐시캐시 계층 캐시가 한대라면 SPOF(단일 장애 지점)이 될수도있다. -> 여러지역에 걸쳐 캐시 ...
Gitlab-CI/CD 구축하기(withSpring)
gitlab CICD 구축Created Time: February 21, 2023 3:12 PMLast Edited Time: February 23, 2023 8:37 PMStatus: In progress 참고 gitlab홈페이지 참조 블로그1 참조 블로그2 참조 블로그3 참조 블로그4(gitlab runner position) 참조 블로그5(gitlab runner position) gitlab-ci/cd pipeline 구성과 .gitlab-ci.yml 왜?회사에서 svn → gitlab으로 옮기는 과정을 거친후 jen...
SpringMVC2-CH01(스프링 thymeleaf)
참조인프런 김영한 springmvc2편 왜?김영한의 spring mvc 강의를 들으면 정리하고싶었다. 이번편에는 타임리프가 나왔는데 회사에서는 jsp를 활용중이다. 사실 오래된 기술을 사용하고 그렇다보니, war파일을 tomcat에 직접넣어줄수밖에없었다. 나도 jar파일쓰고, thymeleaf 쓰면서 비즈니스 로직과 분리를 이루고싶다. 간단한 jsp VS thymeleaf 차이jsp 서블릿으로 형태가 변환되어 실행된다.서블릿은 자바소스라서 jsp에서 자바코드를 사용하는 것이 가능하다.따라서 view에 비즈니스 로직이 포함되어...
avatar
lostcatbox
내 생각을 자유롭게 만들 때까지
FRIENDS
friendA friendB