본문 바로가기

중요개념

(8)
파일경로(filepath) **/* This is a path pattern that used in Apache ant, spring team implement it and use it throughout the framework. For reference, see javadoc of AntPathMatcher (newest javadoc seems to have problem, so I link an old one). Back to your problem, according to the document, it only have 3 rules: ? matches one character * matches zero or more characters ** matches zero or more 'directories' in a path
VO, DTO, DAO DAO 정의 Data Access Object 의 약자로 데이터베이스의 data에 접근하기 위한 객체입니다. 그는 DataBase 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용합니다. DAO의 경우는 DB와 연결할 Connection 까지 설정되어 있는 경우가 많습니다. 그래서 현재 많이 쓰이는 Mybatis 등을 사용할 경우 커넥션풀까지 제공되고 있기 때문에 DAO를 별도로 만드는 경우는 드뭅니다. DTO 정의 DTO(Data Transfer Object) 는 계층간 데이터 교환을 위한 자바빈즈를 의미합니다. 여기서 말하는 계층간의 의미는 Controller, View, Business Layer, Persistent Layer 등을 말하며 각 계층간 데이터 교환을 위한 객체를 의미합니다..
Jersey RESTful Web Services and JerseyRESTful API 웹 서비스는 웹에서 가장 잘 동작하도록 만들어진 서비스입니다. Representational State Transfer (REST)는 일관된 인터페이스와 같은 제약 조건을 지정하는 아키텍쳐 스타일로서 웹 서비스에 적용하는 경우, 성능, 확장성 및 수정 가능성과 같은 바람직한 속성을 유도하여 웹에서 최상의 서비스 동작을 가능하게 합니다. REST 아키텍쳐 스타일에서 데이터 및 기능은 리소스로 간주하며, URI (Uniform Resource Identifier)를 사용하여 접근합니다. URI는 일반적으로 웹에서 연결합니다. 리소스는 일련의 단순하고 잘 정의된 작업을 사용하여 수행합니다. REST는 서버-클라이언트 아키텍쳐에 한하여..
클라우드 SW 사례 연구 소프트웨어의 환경이나 네트워크 속도가 빨라지면서 클라우드 서비스의 관심이 늘어가는 추세지만 지금까지도 시스템 구동을 위해서는 서버와 스토리지, 네트워크를 설치하는 부담을 가지고 있다. 클라우드 서비스는 이러한 부담을 줄이는 매우 효과적인 방법으로 알려져 있고 구글이나 아마존과 같은 클라우드 서비스 업체는 소프트웨어 개발 환경까지 클라우드 서비스로 제공하면서 클라우드 서비스는 더 늘어날 것으로 보인다. 소프트웨어는 어떻게 구성하느냐에 따라 성능이 큰 차이를 보이기 때문에 이번 회에서는 효과적인 소프트웨어 구성을 위한 클라우드 아키텍처에 대한 정의와 필요한 요소에 대해 살펴보기로 한다.사례 연구 전 확인 사항클라우드(Cloud) 서비스의 정의클라우드 서비스는 사용하려는 기술이나 장비에 대한 정확한 지식이 없..
쿠버네티스 Kubernetes #1 - 소개 조대협 (http://bcho.tistory.com)배경도커와 쿠버네티스를 알게 된건 수년전인데, 근래에 들어서 다시 쿠버네티스를 보기 시작하였다.컨테이너 기반의 환경은 배포에 장점이 있고 마이크로 서비스 아키텍쳐 구조에 잘 맞아들어가는 듯 싶지만, 컨테이너가 약간 빠르다는 장점은 있지만, 가상 머신으로도 충분히 패키징이 가능하고, 로컬의 개발환경을 동기화 시키는 장점은 vagrant 로도 충분하다는 생각을 가지고 있었다. 그리고 결정적으로 도커 컨테이너를 운용하기 위한 컨테이너 관리 환경이 그다지 성숙하지 못했었다. Mesosphere, Swarm, Kubernetes 등 다양한 환경이 나오기는 하였지만 기능적으로 부족한 부분도 많았고, 딱히 어떤 플랫폼이 대세라고 정..
Elastic Beanstalk 간편하게 사용하는 애플리케이션 플랫폼 서비스 Elastic Beanstalk이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30Elastic Beanstalk은 Node.js, PHP, Python, Ruby, Java, .NET 애플리케이션을 실행하고 배포할 수 있는 플랫폼을 제공하는 서비스입니다. Elastic Beanstalk은 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다.Elastic Beanstalk은 벤처 기업, 스타트업 같은 작은 조직에서 유용합니다. 또는, 전문 서버 인력을 상시 배치할 수 없는 조직에서도 유용합니다. 그리고 규모가 큰 대기업에서도 구매, 결재, IT 부서의 지원을 기다리지 않고 빠르게 프로토타입을 구현하는데도..
Message Queue Message Queue는 왜 사용해야 하는가?일반적인 서버-클라이언트 구조에서는 사용자가 요청을 하면 서버는 그에 대한 처리를 한 후 사용자에게 응답을 한다. 간단한 서버 구조에서는 굳이 Message Queue(이하 MQ)를 사용할 필요가 없다. 우선 MQ를 적용하려면 RabbitMQ, Kafka, ActiveMQ등 다양한 MQ 중에서 시스템 목적에 맞는 MQ를 선정해야 하고 또 서버에 MQ를 설치해야 한다. 설치로 끝이 아니라 그 사용 방법 및 라이브러리 사용법도 익혀야 하며 MQ가 지원하는 다양한 옵션 중에 시스템 목적에 맞는 옵션을 찾아 설정해야 하고 주고 받을 메시지 구조도 정의해야 할 뿐만 아니라 다양한 전달 방식 중 시스템 목적에 맞는 방식을 선정해야 한다. 단순히 서버에서 처리하면 이런 ..
CI, CD CI : “CI”는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합되므로 여러명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결.CI(지속적 통합)를 통해 개발자들은 코드 변경 사항을 공유 브랜치 또는 "트렁크"로 다시 병합하는 작업을 더욱 수월하게 자주 수행할 수 있습니다. 개발자가 애플리케이션에 적용한 변경 사항이 병합되면 이러한 변경 사항이 애플리케이션을 손상시키지 않도록 자동으로 애플리케이션을 구축하고 각기 다른 레벨의 자동화 테스트 (일반적으로 단위 테스트 및 통합 테..