Free Lines Arrow
본문 바로가기
728x90

전체 글380

[MSA] 개념 MSA Micro Service Architecture 이다. 서비스지향 아키텍처이다. 프로그램을 독립적인 작은 서비스로 나누어 구축하는 방법이다. - 다시 말해 작은 서비스 들로 구축하는 방법이다. 하나의 작은 서비스들은 독립적인 모놀리식 아키텍처이다. 경량통신 또는 메시징프로토콜을 사용한다. - 경량통신 프로토콜(HTTP, REST) - 메시지 프로토콜(JMS 또는 AMQP) MSA 의 등장배경 기존 모놀리식의 단점을 해결하려고 등장했다. 모놀리식은 소프트웨어의 모든 요소가 한프로젝트에 통합되어있다. 그렇기 때문에 몸집이 점점커지게 되면 다음과 같은 단점을 가진다. - 빌드, 배포, 구동 시간이 길어진다. - 조금의 수정이 있어도 전체를 다시 빌드해야 된다. - 기능별로 기술, 언어를 분리하지 못한다.. 2021. 9. 29.
[JPA] JPQL Named 쿼리 Named 쿼리 엔티티에 어노테이션으로 쿼리를 등록하여 단축어로 쓸수 있다. 미리 정의 한 후 이름을 부여해두고 사용한다. 정적쿼리이다. 어노테이션, XML 에 정의 할수 있다. - XML 이 우선순위가 더 높다. 장점 어플리케이션 로딩 시점에 초기화 후 재사용 - 로딩시 파싱하여 캐싱하고 있다. 애플리케이션 로딩 시점에 쿼리를 검증 - 실행하는 시점에 쿼리에 에러가 있으면 에러를 발생시킨다. 예제 member class @Entity @NamedQuery( name = "Member.findByUsername", query = "select m from Member m where m.username = :username_ public class Member { ... } 사용부분 List resultL.. 2021. 9. 28.
[JPA] JPQL 엔티티 직접 사용 JPQL 엔티티 직접 사용 엔티티를 JPQL 에서 직접 사용하면 어떻게 될까? 엔티티 기본 키값을 사용한다. 예제1 JQPL 다음 두개는 동일한 결과를 가져온다. select count(m.id) from Member m select count(m) from Member m SQL 실제 수행되는 쿼리는 동일하다. select count(m.id) as cnt from Member m 예제2 엔티티를 파라미터로 전달 String jpql = "select m from Member m where m = :member"; List resultList = em.createQuery(jpql) .setParameter("member" member) .getResultList(); 식별자를 직접 전달 String .. 2021. 9. 28.
[Algorithm] Shortest Path 2: Bellman-Ford Bellman-Ford 알고리즘 벨만포드 알고리즘은 최단거리를 찾을때 사용한다. 다익스트라와 차이점이 있다면 음수의 가중치를 취급한다는 것이다. 하지만 속도 면에서는 다익스트라가 빠르다. Bellman-Ford 특징 음수의 가중치를 처리할수 있다. 모든 노드에 대해 Relaxation 을 수행한다. 수행단계 모든 노드를 선택해 최단거리를 구한다. S 에서 모든 노드를 방문하면서 relaxtion 연산을 수행한다. 그리고 다음노드를 선택하고 또 모든 노드를 relaxtion 연산을 수행한다. n-1 노드만큼 반복해준다. 구현 package algorithm.bellmanford; import java.util.ArrayList; import java.util.List; public class Bellman.. 2021. 9. 28.
728x90
반응형