반응형

전체 글 60

RESTful API의 URL 작성 규칙

REST API란? REST(Representational State Transfer)는 HTTP 네트워크 상의 리소스(Resource, 자원)를 정의하고 해당 리소스를 URI라는 고유한 주소로 접근하는 접근 방식을 의미하며, REST API란 REST 방식을 통해서 리소스에 접근하기 위한 서비스 API를 지칭합니다. REST에서 의미하는 리소스란? REST에서 의미하는 자원은 데이터베이스에 저장된 데이터, 문서, 이미지, 동영상 등 HTTP 통신을 통해 주고 받을 수 있는 모든 것을 의미합니다. URI(Uniform Resource Identifier)와 URL(Uniform Resource Locator) URI는 네트워크 상에 있는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resour..

Spring MVC의 동작 방식 추가 설명

Handler 용어의 의미 핸들(Handle) 이라고 하면 일반적으로 자동차의 핸들을 제일 먼저 떠올릴 수 있는데, 자동차의 핸들은 운전자가 직접 핸들을 움직이면서 직접적으로 자동차의 주행을 처리하는 역할을 합니다. Spring MVC에서는 자동차의 핸들과 마찬가지로 클라이언트의 요청을 처리하는 처리자를 Handler라고 합니다. 그렇다면 Spring MVC에서 Handler는 누구일까요? Spring MVC에서의 요청 Handler는 바로 여러분들이 작성하는 Controller 클래스를 의미합니다. 그리고 Controller 클래스에 있는 ‘@GetMapping, @PostMapping’ 같은 애너테이션이 붙어 있는 메서드들을 핸들러 메서드라고 합니다. HandlerMapping이란 의미는 결국 사용자..

객체지향 설계 원칙

객체 지향 설계 원칙이란? 수많은 사람들이 고민하고 시행착오를 겪으면서 만든 원칙입니다. 좀 더 유지보수하기 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들 수 있습니다. 코드 베이스뿐만 아니라 아키텍쳐 설계에 이르기까지 다양하게 적용할 수 있습니다. 높은 응집력이란? 비슷한 일을 하는 기능 즉, 하나의 책임에 포함되는 기능들이 잘 뭉쳐있다면 높은 응집력을 가진다고 볼 수 있습니다. 하나의 기능을 변경하는데 여기저기 변경해야 될 곳이 많다면 응집력이 낮다고 볼 수 있습니다. 낮은 결합도란? 클래스 간에 의존성이 낮다면 낮은 결합도를 가진다고 볼 수 있습니다. 하나의 클래스를 수정하는데 의존하는 다른 클래스를 모두 수정해야 한다면 결합도가 높다고 할 수 있습니다. SOLID 원칙 SRP, OCP, LSP,..

OpenID Connect 방식의 로그인 연동

: NiFi 서버의 로그인 방식은 LDAP, Kerberos, OpenID Connect, Apache Knox에서 하나를 선택하여 구성할 수 있다(다음 링크 참조: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#user_authentication). 이 네가지 방식중에서 OpenID Connect(다음 링크 참조: https://openid.net/connect/) 로그인 방식을 택한것은 별도의 추가적인 인증 서버 설치 및 관리가 필요없어서 관리의 부담이 적고, 설정 자체가 네가지 방식 중에 가장 단순하기때문이다. (1) Google API 프로젝트 생성 : OpenID Connect 방식의 로그인을 사용하기위해서 Googl..

Apache NiFi에 SSL 적용

: NiFi 서버에 로그인 화면을 적용하기 위해서는 SSL 연동이 필수이다. 현재(2020년 5월 12일 기준) EC2에 생성된 NiFi 서버의 SSL 인증서는 Self Signed Certificate을 사용하였으며, OpenSSL 툴을 사용하지 않고 좀 더 빠르게 Self Signed Certificate을 생성하기 위해 TinyCert(https://www.tinycert.org/)를 이용하였다. (1) 인증서 생성 : NiFi 서버에 SSL 설정을 하기 위해서는 먼저 TinyCert 에서 CA 인증서와 서버 인증서를 생성 및 다운로드해야하는데 절차는 다음과 같다. a. TinyCert에 접속하여 먼저 Sing Up을 한다. Email Address와 Password, Passphrase를 입력 해..

Hello Reactor 들여다 보기

안녕하세요? [Kevin의 알기 쉬운 RxJava] 강의를 진행하고 있는 Kevin입니다. 이번 시간에는 'Hello, Reactor' 코드를 가지고 Reactor의 기본 구조를 들여다보는 시간을 가져보겠습니다. 개발에 처음 입문하실때 대부분 'Hello World!' 코드를 실행해보셨을텐데요. Reactor 역시 마찬가지로 'Hello, Reactor' 메시지를 출력해보면서 Reactor의 기본 구조를 간단하게 살펴보도록 하겠습니다. 어렵지 않으니 가벼운 마음으로 글을 읽어주시면 감사드리겠습니다.^^ 먼저 아래의 코드를 보시죠. 여러분들이 아시다 시피 Reactor는 RxJava와 마찬가지로 Reactive Streams라는 표준 사양을 구현한 구현체입니다. 따라서 Reactive Streams에서 정..

이벤트 루프란?

수강생 여러분 안녕하세요. RxJava 강의를 진행하고있는 Kevin입니다. 오늘은 리액티브 프로그래밍과 밀접한 관련이 있는 이벤트 루프에대해서 잠시 알아보도록하겠습니다. 이벤트 루프에 대해서 먼저 이야기 하기 전에 저희는 서블릿에 대한 언급을 먼저 하고 넘어가야되는데, 그 이유는 이벤트 루프라는 개념이 나오게 된 배경에는 서블릿이 있기때문이에요. 그럼 서블릿에 대한 이야기를 먼저 해볼까요? 서블릿의 기본 개념 서블릿은 뭘까요? 자바를 사용하는 개발자이거나 자바를 배우고 계신 분들이 웹 애플리케이션을 만들어 보셨다면 이미 서블릿을 사용해보셨을겁니다. 여러분들이 JSP를 사용해보셨거나 아니면 Spring framework을 사용해보셨다면 여러분들은 알게 모르게 서블릿이란 놈을 사용해보셨다는 말씀. ^^ 서..

리액터와 WebFlux

여러분 안녕하세요? [Kevin의 알기 쉬운 RxJava 강의]를 진행하고 있는 Kevin이라고 합니다. 지난번 공지에서 잠깐 말씀을 드렸다시피 매주 한두번 정도 시간을 내서 강의에서 제대로 얘기하지 못했던 리액티브 프로그래밍에 대한 뒷 얘기들을 조금씩 해볼까 합니다. 리액티브 프로그래밍을 배우고자 하시는 분들께 조금이나마 더 도움이 되길 바래보겠습니다. 리액터(Reactor)란 무엇일까요? 리액티브 프로그래밍에 대해서 처음 들으시는 분들은 리액터에 대해서 당연히 모르실거 같은데 아마도 스프링을 학습하면서 들어 보신분도 있지 않을까하는 생각도 들긴하네요. ^^예상하신분도 계시겠지만 리액터는 Java로 구현 된 리액티브 프로그래밍의 한 종류입니다. 더 정확히 얘길 하자면 Reactive Streams를 구..

현실적인 개발자 로드맵(8) - Angular 그리고 최종 로드맵

현실적인 개발자 로드맵(8) - Angular 그리고 최종 로드맵# 포스팅에서 사용된 코드의 전체 코드는 https://github.com/ITVillage-Kevin/roadmap-angular 에서 다운로드 받으실 수 있습니다. # 해당 포스팅은 IT Village 유튜브 채널(https://www.youtube.com/channel/UCSIvsntWA8aJ3Apoc7kTxig)에서도 시청하실 수 있습니다. 안녕하세요, Kevin입니다. 계속되는 육아로 인해서 포스팅을 짧은 주기로 할수는 없는 상황이 반복이 되고 있네요. ㅡ,.ㅡ 그래도 여전히 짬을 내어 최선을 다해보도록하겠습니다. 자, 이번 시간은 개발자 로드맵 시리즈의 마지막 시간입니다. 사실 로드맵 시리즈를 진행을 하고자한다면 얼마든지 더 시리..

현실적인 개발자 로드맵(7) - Spring Boot으로 Spring을 더욱 편리하게..

현실적인 개발자 로드맵(7) - Spring Boot으로 Spring을 더욱 편리하게.. # 포스팅에서 사용된 코드의 전체 코드는 https://github.com/ITVillage-Kevin/roadmap-springboot 에서 다운로드 받으실 수 있습니다. # 해당 포스팅은 IT Village 유튜브 채널(https://www.youtube.com/channel/UCSIvsntWA8aJ3Apoc7kTxig)에서도 시청하실 수 있습니다. 안녕하세요, 오랜만에 찾아뵙게 되었네요. Kevin이라고 합니다. ^^ 거의 석 달만에 올리는 글이 되겠습니다. 저희 아기가 탄생하시는 바램에 석 달 동안 참 바빴고 여러가지 많은 일이 있었더랬습니다. 새 생명이 탄생하는 경이로움을 경험했다고나 할까요. 아무튼 직장 ..

반응형