본문 바로가기

Java63

Spring AMQP in Reactive Applications을 번역해봅시다. 아주아주 오래간만에 글을 올립니다.제가 직접 작성한 글은 아니구 역시나 번역을 목적으로 하기 보단, 실습을 위주로 정리한 글입니다. 실제 출처는 http://www.baeldung.com/spring-amqp-reactive 입니다.직접 가서 보시면 보다 자세한 설명을 맞이할수 있습니다. 1. Overview 간단한 Spring Boot Reactive Application을 만드는데, HTTP-AMQP Gateway입니다.여기선 point-to-point 와 publish-subscribe 시나리오 두가지를 다루게 될것입니다. 기본적으로는 AMQP, RabbitMQ, Spring Boot 등은 당연히 알아야 하며,그 안에 Exchanges, Queue, Topics 등도 당근 알아야 겠죠.이에 대해서 .. 2018. 8. 8.
[Getting Started]Building a Reactive RESTful Web Service 우아... Spring Boot 2.0 GA 정식 버전 출시를 기념으로 , 아마도 Reactive 에 대한 이야기들이 엄청나게 쏟아져 나올것이라고 예상합니다. 트윗에서도 가이드들이 하나 둘씩 쏟아져 나오고 있어서, 읽어봐야 할 꺼리가 상당히 많아 지고 있습니다.그래도 Spring.io 에서 정식 가이드 한 튜토리얼을 숙지하는 것이 우선이라 생각하기에 번역을 시작합니다. 매번 그렇지만, 리딩, 독해가 너무 약하다..(그렇다고, 말하기 듣기가 유연하게 되는것도 아니잖아) Building a Reactive RESTful Web Service https://spring.io/guides/gs/reactive-rest-service/ Getting Started 이 가이드는 Spring WebFlux(Sprin.. 2018. 3. 2.
WebFlux framework 번역 이것또한 번역하면서 훑어본 내용입니다.함부러 막번역해서 송구스럽습니다. T.T WebFlux framework https://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.html 이 섹션은 Spring Framework 5을 사용하는 Web application을 위한 반응형 프로그래밍 지원에 대한 기본 정보를 제공합니다. 1) Introduction 1-1) What is Reactive Programming? 간단히 말하면, 반응형 프로그래밍은 비동기(asynchronous), 이벤트 기반(event-driven)인 non-blocking 어플리케이션에 관한 것입니다.수직적 확장(.. 2018. 2. 22.
SSE , Server-Sent Event 로 뭔가를 해볼수 있을듯... 그렇다 SSE , Server-Sent Event 을 문득 보게 되었다.SSE 는 아마도 Server-Sent Event 의 약자 인듯 싶다. 출처 : https://www.packtpub.com/mapt/book/web_development/9781782166320/6/ch06lvl1sec43/listening-for-server-sent-events 아래는 developer.mozilla.org에 있는 내용을 번역한 것이고, 직접 읽어보시는 편이 좋으실듯 싶습니다. 저는 공부하는 차원에서 정리한거라.. 이제부터 시작합니다. 고고!!! Server-sent events https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events 전통적으로, .. 2018. 2. 22.
core java 따라하기 - 2 지난번에 이어서.. .계속.. SECTION 11. Regular Expressions Common Tasks String[] words = str.split("\\s+");Split a string along white space boundaries.공백 경계를 기점으로 문자열을 쪼개다.Pattern pattern = Pattern.compile("[0-9]+");Matcher matcher = pattern.matcher(str);String result = matcher.replaceAll("#");Replace all matches.Here we replace all digit sequences with a #.매칭한 모든것을 바꿉니다.모든 연속된 숫자를 # 으로 변경합니다. (혹시 하나씩 변경하.. 2017. 6. 15.
core java 따라하기 - 1 https://dzone.com/refcardz/core-java 미안합니다.. 전 이렇게 한번씩 써봐야 이해를 하는 바보라서.... Section 1. About Core Java 이 Refcard는 가장 일반적으로 사용되는 툴들(Javac, java, jar) 뿐만 아니라 Java 언어의 주요 측면과핵심 라이브러리의 치트 시트(formartted output, collections, regular expressions, logging, properties) 들의 개요를 여러분에 제공합니다. Session 2. Java Keywords keyworddescriptionexampleabstractan abstract class or methodabstract class Wriable{public abst.. 2017. 6. 13.
JUnit5 개념 잡기 JUnit5에 대한 트윗이 많아지고 있고, 가이드 등이 하나 둘씩 나오고 있습니다.처음부터 끝까지 이해하기 위해서는 junit.org에서 제공하는 User Guide를 읽어 보는 것이 가장 나이스 할것 같습니다.http://junit.org/junit5/docs/current/user-guide/ 하지만... 전체적으로 맛보기를 하는 것이 좋을 듯 싶어서,아래 Guide를 정리해 놓은 사이트에 있는 내용을 우선 번역을 해본뒤에..이후 시간을 다시 내어, User Guide를 번역해 보는 것이 좋을 것 같습니다. 1.preview of JUnit5 : http://www.baeldung.com/junit-5-preview2. a Guide to JUnit5 : http://www.baeldung.com/j.. 2017. 6. 2.
오래간만에 Netty- (3) Writing a Time Server/Client 이번에 구현할 프로토콜은 TIME 프로토콜 입니다.이전 예제와는 다르게, 32-Bit integer를 포함하는 메시지를 보냅니다.어떠한 요청을 받는 것 없이, 메시지를 한번 보내고 연결이 끊어집니다. 이번 예제에서는 어떻게 구성하고, 메시지를 보내고, 연결을 닫는지에 대해서 완벽하게 알아보도록 합시다. 받은 데이터를 무시하겠지만, 연결이 이뤄지자 마자 메시지를 보내야 하기에, 이번에는 ChannelRead() 메소드를 사용할수 없습니다.대신에 , channelActive() 메소드를 오버라이드 해야 합니다. 아래를 보시옵소서 package io.netty.example.time; public class TimeServerHandler extends ChannelInboundHandlerAdapter { .. 2017. 5. 22.
오래간만에 Netty- (2)Writing an Echo Server Writing an Echo Server 어떤 요청에도 응답없이 데이터를 소진하는 것을 구현해봤습니다.서버, 그러나 일반적으로는 요청에 대한 응답을 지원합니다.ECHO 프로토콜을 구현함으로, 받은 데이터를 되돌려 주는 클라이언트에게 응답메시지를 어떻게 작성하는 방법에 대해 알아보도록 합시다. 앞서서 구현한 폐기서버와 다른 점은 받은 데이터를 되돌려 주는 겁니다. 콘솔에 받은 데이터를 출력하는 것 대신 말이죠그러므로, channelRead() 메소드만 수정하는 것으로 충분 합니다. @Override public void channelRead(ChannelHandlerContext ctx, Object msg) { ctx.write(msg); // (1) ctx.flush(); // (2) } Channel.. 2017. 5. 22.
오래간만에 Netty- (1)Writing a Discard Server http://netty.io/wiki/user-guide-for-4.x.html 튜토리얼 해석 놀이~~~ Getting Started 네티의 핵심 구성에 대해 아주 빠르게 숙지 할수 있는 예제들을 보도록 하겠습니다.예제를 마칠 무렵이면, 네티를 이용해서 서버와 클라이언트가 완성되어 있을 겁니다. 혹시 하향식 접근방식을 더 좋아하면,2장 아키텍처 개론 부터 시작하고 나서 여기로 다시 오면 됩니다. Before Getting Started 예제를 시작하는데 있어서 최소 요구사항으로 Netty의 가장 마지막 버전 과 JDK 1.6 이상의 JDK 딱 두개면 됩니다. 마지막 버전의 네티는 프로젝트 다운로드 페이지에서 찾아보시고, JDK를 다운로드 하려면, 여러분이 좋아하는 벤더의 웹사이트에서 참고하시길 바랍니다... 2017. 5. 19.
Reference counted objects (참조 카운트된 객체) 네티를 프로젝트에 사용하기 위해 공부하면서 , 가장 중요한 내용이 바로 Reference counted object에 대한 이해인듯 싶다.참조 카운트된 객체에 대한 내용에 대해서 해석을 해봤는데... 역시 오래간만에 해석을 하는터라.. 잘 안된다.하지만 몇번이고 꼽씹어보면서, 읽어봐야 할 내용이다. http://netty.io/wiki/reference-counted-objects.html Reference counted objects (참조 카운트된 객체) 네티 버전 4 이래로, 객체들의 라이프 주기는 참조 카운트에 의해 관리되므로, 네티가 객체 풀(또는 객체 할당자)에 참조 카운트(또는 확실한 객체들의 공유된 자원들)을 더 이상 사용하지 않는 즉시 리턴할수 있습니다. GC 과 참조 대기열들은 그런 효.. 2017. 5. 2.
Netty 시작하기 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty : 그물 모양… 변소란 뜻도 있고.. http://netty.io/ 내용 정리.. Netty 책을 사서 한번 읽어 보기도 하고, 프로젝트도 해봤습니다. http://kimseunghyun76.tistory.com/391 또한 다른 네트워크 프레임워크를 보다보면, 요~ Netty을 가지고 만들었다라는 느낌은 지울수가 없네요. 네트워크 프레임워크의 강자(?)인 Netty는 네트워크 하시는 분들이라면 꼭 접해 봤겠죠 뭐 ㅎ 빠르고 쉽.. 2016. 5. 26.