기타/기타41 [기타] DDD(domain driven development)의 계층 구조(layered architecture)에 대해서 알아보자 안녕하세요. 이전 우리는 [spring + 객체 지향 원칙] Spring에서의 의존성 역전의 원칙(Dependency Inversion Principle) 포스팅에서 Layered Architecture에 대해서 간단히 확인해보았습니다. Layered Architecture는 코드의 아키텍처를 구성할 때 주로 사용되며 일반적으로 3 계층 또는 4 계층으로 나누어 사용합니다. 3 계층으로 나눌때는 표현계층(Presentation Layer) - 서비스 계층 (Business Layer) - 영속성 계층(Persistence Layer) 으로 나누어 사용하곤 합니다. DDD를 이용할 때도 이에 대응되는 계층적인 구조가 있는데요. 오늘 배워볼 내용은 DDD에서의 계층의 분화에 대한 부분입니다. 각 계층별 설명.. 2021. 4. 24. [AWS] SQS(Simple Queue Service)의 다양한 설정들 안녕하세요. 오늘은 여러분들과 AWS의 SQS에 대해 공유드리고자 합니다. 많은 분들이 AWS의 SQS 서비스를 사용하고 있으실 거라고 생각합니다. SQS는 AWS의 서비스 중 하나로 Queue를 구현하고 있는 서비스입니다. 이 서비스는 UI로 매니징 할 수 있도록 되어있고 Java에서도 사용하기 쉽게 SDK를 제공합니다. 오늘은 가볍게 SQS 사용에 필요한 간단한 동작 원리 및 설정에 대해서 알아보는 시간을 가져보도록 하겠습니다. SQS(Simple Queue Service)란 SQS는 AWS(Amazon Web Service)에서 제공하는 Simple Queue Service의 약자로 분산 큐(Distributed Queues) Saas 서비스입니다. SQS의 요소에는 3가지가 있습니다. 사용하는 서.. 2020. 10. 15. [Tistory] 티스토리 Open API 이용하기 - 2020년 9월 1일 tistory 정책 변경 이후 (Implicit 인증 제거) 안녕하세요. 오늘은 평소와는 다른 주제를 가지고 왔습니다. 2020년 9월 1일자로 티스토리에서 Open API Oauth인증에 대해서 Implicit 방식을 제거했습니다. 이에 따라서 token 발행은 Authorization Code Grant Type 방식으로만 가능합니다. 오늘은 chrome을 통해서 token 값을 취득하는 방법에 대해서 알아보도록 하겠습니다. Client Key 발급 Tistory Open API를 사용하기 위해서는 Open API 사용하기 위한 App 등록을 진행해야합니다. 앱등록은 Tistory Open API 사이트에서 진행하실 수 있습니다. 서비스명, 설명, 로고등록의 정보는 Open API를 사용하는데 영향을 주지않습니다. CallBack URL은 OAuth2.0 인증.. 2020. 9. 9. [gradle] gradle을 이용하여 java 프로젝트 만들기 안녕하세요. 오늘은 gradle 빌드 도구에 대해서 알아보는 첫번째 시간입니다. 여러분들과 함께 진행해볼 내용은 gradle을 이용하여 java 프로젝트를 만드는 것입니다. gradle로 java 프로젝트를 만든다? 어떤거라고 생각하시나요? 일반적으로 프로젝트를 만든다면 IDE를 이용하여 만듭니다. intellij나 STS로 project를 gradle로 생성해서 만듭니다. 하지만 프로젝트 생성은 gradle의 명령어 만으로도 만들 수 있다는 사실 알고 계셨나요? 오늘은 gradle을 이용해서 java project를 생성해보도록 하겠습니다. 오늘 진행하는 프로젝트에서 제가 사용한 환경은 MAC입니다. windows환경은 다를 수 있음을 알려드립니다. gradle 설치 gradle 명령어를 이용하려면 먼.. 2020. 5. 17. 빌드 도구가 뭐에요 ? 안녕하세요. 저는 현재 Back-End 개발자로써 Java를 메인 언어로 삼으며 개발을 해오고 있습니다. Java 개발자라면 일반적으로 Spring 프레임워크를 쓸것이고 중요한건 Java 문법에 대한 이해와 Spring 프레임워크에 대한 이해 일거라고 생각합니다. 사실 이렇게 2개만 잘 사용하더라도 아무런 지장이 없습니다. Spring 프레임워크로 개발을 한다. 그러면 우리는 Java만 알면 될까요? 문제는 없습니다만 또 사용하는게 하나 있습니다. maven, gradle과 같은 빌드 도구들입니다. 오늘은 빌드 도구에 대해서 알아보겠습니다. 빌드 도구란? 빌드 도구는 빌드 자동화를 시켜주는 실행가능한 프로그램만들어 주는 프로그램을 말합니다. 여기서 빌드 자동화란 단어가 나옵니다. 빌드 자동화라는 말은 위.. 2020. 5. 15. [UML] 시퀀스 다이어그램 이해하기 [UML] 클래스 다이어그램 이해하기 [UML] 시퀀스 다이어그램 이해하기 안녕하세요. 우리는 이전 포스팅에서 클래스 다이어그램에 대해서 이야기 해본적이 있습니다. 구조 다이어그램(Structural Diagram)의 대표로써 이야기 했었지요. 이어서 오늘은 동적 다이어그램(Behavioral Diagram)의 대표격인 시퀀스 다이어그램에 대해서 알아보는 시간을 가져보도록 하겠습니다. 정의와 목적 시퀀스 다이어그램(Sequence Diagram)은 어떠한 순서로 어떤 객체들과 어떻게 생호작용했는지를 표현하는 다이어그램입니다.이 다이어그램은 현재 존재하는 시스템이 이떠한 시나리오로 움직이고 있는지를 나타내는데 장점을 가지고 있습니다. 시퀀스 다이어그램을 이용하면 API 등의 유즈케이스를 디테일하게 알 수 .. 2020. 5. 15. [UML] 클래스 다이어그램 이해하기 [UML] 클래스 다이어그램 이해하기[UML] 시퀀스 다이어그램 이해하기안녕하세요. 오늘은 클래스 다이어그램에 대해서 이야기 해보고자 합니다. 최근 레거시 시스템의 구조개선을 조금씩 하고 있습니다. 그러면서 객체의 구성 및 도메인 모델을 어떻게 가져가야할지 고민을 하게 되었습니다. DDD 관련된 책이라던지 찾아보는데 이때 기본이 되는게 UML, 특히 클래스 다이어그램 이라는 것을 알 수 있었습니다. 지끔까지는 막연한 지식은 있지만 이번 기회에 명확하게 이를 이해하고자 UML, 그 중에서도 클래스 다이어그램에 대해서 정리해보고자 합니다.UML 이란먼저 UML이란 Unified Modeling Language의 약자로 도메인(해결하고자 하는 목표, ex) 결재시스템 등)을 모델로 표현해주는 대표적인 모델링 .. 2020. 3. 29. [REST API] REST API의 Security With JWT 안녕하세요. 오늘은 REST API에 대해서 아야기하는 마지막 시간입니다. 주제는 security입니다. security는 우리가 개발을 하면서 빼놓을 수 없는요소입니다. 하지만 귀찮아서, 기능 개발이 재밌어서, 시간이 없어서 등등 많은 이유로 많은 개발자들이 접근하지 않는분야기도 합니다.(예전의 저만 그렇게 생각했을 수도 있어요.. ㅎㅎ;) 오늘은 REST API에서의 security에 대해서 알아보도록 하겠습니다. 개요 REST API의 Security를 생각할 때 가장먼저 생각해야할 제약조건은 stateless입니다. stateless란 서버는 client의 로그인과 같은 application state를 기록하지 않는 다는 의미입니다. 우리가 일반적으로 알고 있는 basic, OAuth 등과 같은.. 2019. 11. 1. [REST API] REST 제약조건_캐싱(Caching) 캐시가 사용 가능해야 한다는 것은 REST의 6가지 제약조건 중 한 가지입니다. 캐싱이 어떤 것인지는 저의 예전 포스터를 참고 부탁드립니다. 캐시관련 http Method GET - 일반적으로 브라우저에서 cache가 사용 가능하게 처리합니다. POST - 일반적으로 cache가 사용 불가능합니다. 하지만 Expires와 Cache-Control header를 이용하여 caching을 구현하여 응답할 수 있습니다. PUT, DELETE - 해당 REQUEST는 Cache를 적용할 수 없습니다. cache관련 http 헤더 Expires 리소스의 cache 만료 시간을 절대값으로 나타낸 것입니다. 해당 헤더의 시간이 지나면 캐시가 아닌 원래 서버에 요청을 하여 리소스를 다시 얻어와야 합니다. Expires.. 2019. 10. 24. [REST API] REST API 총 정리 안녕하세요. 요즘 대학교 동기들과 스터디를 하고 있습니다. 1달에 1번씩 주제를 선정하여 ppt를 만들고 발표를 합니다. 이번에 제가 발표한 주제는 REST에 대해서였습니다. 정리한 내용을 여러분들께 공유드립니다. 제가 지금까지 작성한 REST API에 대한 글들을 총 정리를 한 것이기 때문에 더 자세한 내용은 이전 게시물을 통해 확인바랍니다. 아래는 pdf파일입니다. rest api는 cache와 security에 관한 게시물을 마지막 게시물로 할 예정입니다. 감사합니다. 2019. 10. 18. [REST API] HATEOAS(Hypermedia as the Engine of Application State) 오늘의 주제는 HATEOAS입니다. HATEOAS는 Hypermeia as the Engine of Applicaation State의 약자로 REST에서 리소스의 3가지 요소(Data, Meta Data, HATEOAS)중 하나입니다. 개요 HATEOAS는 REST 어플리케이션이 다른 아키텍처와 다른 부분 하나입니다. 다른 아키텍처들에서 Hypermedia는 이미지, 동영상 등을 참조할 때 사용합니다. 하지만 REST는 본인의 모든 Resource의 요청을 HATEOAS를 통해 진행합니다. 예를 들어 게시판을 운영하고 있다고 합시다. 그리고 요청으로 모든 게시판의 리스트를 가져오겠다. 라고 한다면 아래와 같은 요청을 보낼 수 있을 것입니다. HTTP GET http://sabarada.tistory.c.. 2019. 10. 13. [REST API] SOAP와 REST API의 비교 웹개발을 하다보면 한번쯤은 마주치는 주제입니다. SOAP는 무엇이고, REST와는 어떤 차이가 있을까요? 오늘은 이 주제에 대해서 한번 알아보도록 하겠습니다. 개론 SOAP는 Simple Object Access Protocol의 약자이며 일반적으로 XML 형식을 사용하는 기 정의되어있는 형식을 사용하는 Protocol입니다. REST는 REpresentational State Transfer의 약자이며 표준을 정의하지 않는 아키텍처 스타일입니다. 일반적으로 JSON이 많이사용되지만, XML, YAML 등 protocol을 강제하지 않습니다. 2가지 모두 SOA(Service oriented Architecture)를 목적으로 합니다. 그렇다면 공통점과 차이점을 알아보도록 하겠습니다. 공통점 기본 프로토.. 2019. 10. 4. 이전 1 2 3 4 다음