본문 바로가기

분류 전체보기314

[Java] ObjectMapping을 위한 MapStruct 알아보기 - 1 Intro Spring Framework에서 개발할 때, 비즈니스 로직, 객체와 객체 간의 Mapping 등을 할 때 get, set을 일일이 넣어주는 것은 굉장히 피곤한 일이다. 생산성을 떨어뜨리고, 실수하기 쉽다. 코드도 지저분하다. 이를 대신 해주는 것이 Object Mapping 라이브러리이다. Object Mapping에는 여러 종류가 있는데, mapstruct, modelMapper, jmapper, orika 등이 있다고 한다. 그 중 전 세계에서 가장 많이 사용하고 있는 MapStruct를 공부해보려 한다. MapStruct 란 MapStruct는 자바에서 객체 간 매핑에 대한 코드를 자동으로 생성해주는 매핑 라이브러리이다. Annotation을 사용하여 컴파일 시 매핑 코드를 생성한다. .. 2021. 8. 11.
[MyBatis] MyBatis의 Association과 Collection MyBatis에서 Domain 객체와 쿼리를 맵핑을 하다가 막혀서 이 부분을 공부하게 되었다. flat하게 데이터를 주는 쿼리와 다르게, 계층형태로 데이터를 전달해야하다 보면 편하게 맵핑할 방법을 찾게 된다. 이걸 Association과 Collection으로 해결할 수 있다. 세 개의 도메인으로 예를 들어보자. Artist - Album - Song Artist는 여러개의 앨범을 낼 수 있다. Album 안에는 여러 개의 Song이 있다. 즉, Artist와 Album은 1:N의 관계이다. Album과 Song 역시 1:N 관계이다. 만약 특정한 seq번호가 3인 앨범의 정보와 아티스트, 앨범 A에 수록된 곡을 알고 싶다면 어떻게 해야할까? 기존의 나 select로 seq번호가 3인 앨범 정보를 가져온.. 2021. 8. 10.
쿠버네티스(Kubernetes) 개념과 이해 - 2 Intro 쿠버네티스(Kubernetes) 개념과 이해 - 1에서는 오브젝트에 대해 이해했다. 이번 포스팅에서도 document를 이해할 수 있을 정도의 키워드 습득을 목표로 학습하고자 한다. 컨트롤러 1에서 설명했던 4개의 오브젝트로 애플리케이션을 설정, 배포할 수 있다. 이를 좀 더 편하게 관리하기 위해 컨트롤러 개념을 사용한다. 컨트롤러는 기본 오브젝트들을 생성하고, 관리하는 역할을 해준다. 종류는 Replication Controller(RC), Replication Set, DaemonSet, Job, StatefulSet, Deployment 들이 있다. Replication Controller Replication Controller는 Pod를 관리해주는 역할을 한다. 지정된 수로 Pod를 .. 2021. 8. 9.
쿠버네티스(Kubernetes) 개념과 이해 - 1 Intro 마이크로 서비스 아키텍처가 발전하고, 데브옵스에 대한 개념이 명확해지면서 컨테이너 기반의 환경이 주목받기 시작했다. Mesosphere, Swarm, Kubernetes등 다양한 환경이 있으나 현재는 쿠버네티스를 가장 많이 사용한다. 컨테이너 운영 환경 컨테이너를 하드웨어나 VM에 배포하여 사용하면 되는데, 왜 컨테이너 운영 환경이 필요할까? 작은 수의 컨테이너라면 수동으로 배포를 하면 되지만, 하드웨어와 VM의 수가 많아지고 컨테이너의 수가 많아지면 이 컨테이너를 어디에 배포해야 하는지도 결정해야 한다. 자원을 최대한 최적으로 사용하기 위해 적절한 위치에 배포해야한다. 특성에 따라 같은 물리서버에 배포하거나, 가용성을 위해 다른 서버에 배포하기도 한다. 이러한 역할을 스케쥴링이라고 한다. 스.. 2021. 8. 8.