분류 전체보기
-
[AWS] 1. EC2 만들어 보기 및 AWS 아키텍처 관련 용어 정리 (기록용)Back End/AWS 2022. 2. 7. 21:46
이제 배우는 단계라 포스팅이 많이 미흡합니다. (거의 기록용) 배워나가면서 틈틈히 채워넣겠습니다 :D # 용어 정리 아마존은 약어가 중복될 시 숫자로 대체하여 표기하고 있다. _ex) ECC=EC2, SSS=S3 EC2(Amazon Elastic Compute Cloud) ELB(Elastic Load Balancer) ALB(Application Load Balancer) AMI(Amazon Machine Image) EIP(Elastic IP) : AWS의 고정 IP # EC2(클라우드) 환경 세팅하기 1. EC2 에 접속해서 CLI 로 하나하나 설치 2. EC2에 쉘스크립트를 추가하여, 생성시 자동설치 3. 이것저것 설치가 완료된 EC2를 AMI(Amzon Machine Image)로 만들어, 필요..
-
[설계이론] 마이크로서비스 아키텍처(MSA)는 언제 고려해야하는가?Computer Basis/디자인패턴 및 설계이론 2022. 2. 3. 21:26
복수전공시절 MSA에 대한 세미나를 들었을 때 장점만 들어서 막연히 MSA가 좋다고만 생각했다. MSA로 설계하지 못하는건 실력부족이라고만 생각을 했었는데, 김영한님의 '배달의민족 마이크로서비스 여행기' 테크콘서트 영상을 보고 개념을 다시 한번 잡은 것 같다. CQRS가 궁금해서 본거였는데, 아직 어떻게 설계해야될지 감도 못잡았다는 것은 비밀 😢 # 마이크로서비스 아키텍처로의 전환을 고려해야 할 시점 기존 서비스의 규모가 많이 커졌을 때 (시스템규모 + 트래픽 + 인력) 해당 영상에서는 시스템 안정성(장애격리)가 최우선 과제 였고, 그로 인해 MSA로의 전환이 선택이 아닌 필수 느낌이었다고 말씀하신다. MSA 로 전환으로 인해 성능과 장애격리에선 이점을 얻을 수 있는 반면, 데이터동기화를 위한 비용도 있..
-
[Spring JPA] JPA, JPQL 의 조인 시 주의할 점 (Outer, Inner, Fetch)Back End/Spring Data JPA 2022. 1. 29. 13:47
JPQL 은 EntityManager 의 관리를 받아 SQL 쿼리를 번역하여 날리는 번역기 정도라고 생각했다. 공용어에서 각 DB마다의 방언으로 바꾸어주는데, 이와 동시에 EntityManger의 관리를 받으므로, 하이버네이트 특유의 쿼리동작과 영속성관리를 받는다. 진행하는 개인프로젝트에서는 쿼리가 맘에안들면 QueryDSL로 작업을 했고, 쓸데없는 JOIN문이 최대한 발생하지 않게끔 엔티티를 설계했기 때문에 JPA Query Method를 사용해도 이러한 현상을 목격하지 못했었는데 김영한님의 강의를 보다가 내가 겪어보지 못한 신기한 현상에 대한 설명을 하시는 것을 보고 기록으로 남겨두고자 포스팅한다. 사실 JPQL의 조인이라기 보다는 JPA의 조인현상이라고 보는게 맞을 것 같다. SQL 과 ORM의 간..
-
[Spring JPA] How to retrieve Only SuperClass from a class hierarchy.Back End/Spring Data JPA 2022. 1. 28. 18:47
StackOverFlow 에서 아무도 해결 못했던데...! 제가 해냈습니다 여러분...! ✌️✌️✌️ I see many posts lead us to @Polymorphism(PolymorphismType.EXPLICIT) and using @Customizer from EclipseLink. I could confidently tell you that those approach wouldn't work because I tested it already. And I guess many people solved it with native query but if you want to know the way not using it, read my post. There are 2 ways to select o..
-
[Spring JPA] Interface-Based Projection doesn't work.Back End/Spring Data JPA 2022. 1. 28. 18:14
The reason why interface-based-projection doesn't work is upto Spring-Boot version. I found it works well under version 2.6.1 and doesn't work in 2.6.3. And still, Class-Based Projection needs convertor. Hope it'd be helpful :D
-
[디자인패턴] 템플릿패턴(Template Pattern)Computer Basis/디자인패턴 및 설계이론 2022. 1. 26. 20:28
# Template Pattern Template Method, Hook Method 를 활용하여 전체적인 흐름을 정해놓는 디자인 패턴 추상클래스로 작성하게되면 new를 통해 인스턴스화 시킬 수 없고, 상속만 가능하게 하여 직접 구현하여 쓰도록 강제할 수 있다. # 예시코드 public abstract class Car { //overrding 가능 public void turnOn(){ System.out.println("시동을 켠다"); }; //하위 클래스에 delegate (overriding 필수) public abstract void drive(); //overrding 가능 public void turnOff(){ System.out.println("시동을 끈다."); } //HookMeth..
-
[SQL 튜닝] PK와 Unique Index의 차이점에 대한 자세한 설명 (펌)SQLD/SQL 튜닝 2022. 1. 26. 20:17
[요약] 1. PK로 설정하면 PK constaint에 의해 Unique Index 와 Not null 제약조건이 생성됨 PK는 인덱스처럼 B-tree 자료구조를 사용하지 않는다. 라는 주장에 반대되는 자료 2. 일반적인 Index 말고, PK 설정시, 옵티마이저에게 더 많은 정보를 제공함으로써 더 좋은 실행계획을 만드는데 일조하게 되고 따라서 더 빨라지는 경우가 많을 것. 많은 개발자들이 PK는 왠지 부하를 준다는 잘못된 선입견을 가지고 있고 따라서 PK 대신 Unique Index를 사용하는 것으로 알고 있는데 매우 그릇된 관행(?)이라고 생각한다고 조시형님은 답변함 3. PK는 옵티마이저에게도 정보를 제공하지만, 사용자에게도 document 역할을 함. 4. PK는 논리적개념, PK Constrai..