분류 전체보기
-
[Study] Reactive 선언문(그대로 인용)웹 개발/웹&프로그래밍 2019. 12. 26. 23:57
Webflux를 활용하려면 꼭 머릿속에 두어야 하는 내용이지만, 깜빡할 때를 대비해 아예 블로그에 그대로 가져옴. Reactive 선언문 2014년 9월 16일에 발행됨. (v2.0) 다른 분야에서 활동하는 조직들은 유사한 소프트웨어를 구축하기 위한 패턴들을 독립적으로 발견하고 있습니다. 이러한 시스템은 보다 견고하고, 탄력적이며, 유연하며 최신의 요구사항을 반영하기 쉽습니다. 최근 몇 년간 애플리케이션의 요구사항이 급격하게 변화했기 때문에 이러한 변화가 발생하고 있습니다. 불과 몇 년 전까지만 해도 거대한 애플리케이션은 수십 개의 서버로 구성되어, 몇 초의 응답 시간과 몇 시간의 오프라인 유지보수를 허용하고, 기가 바이트 데이터를 담고 있었습니다. 오늘날의 애플리케이션은 모바일 기기에서 부터 수천 개의..
-
[WebFlux] query string에 담긴 String 파라미터를 localDate로 캐스팅하고 매핑하기웹 개발/WebFlux 2019. 12. 23. 14:22
get 방식 query string으로 파라미터를 넘겼을 때, controller에서 파라미터로 받는 object에 속한 field의 localDate 타입을 캐스팅하고 매핑해주기 이 방법을 찾게 된 계기는 클라이언트단에서 넘겨줄 파라미터가 많아서 하나하나 받으면 코드가 더러워질 것 같아 dto로 하나의 클래스를 만들기로 했다. 단순히 localDate 타입이 되어야하는 딱 하나의 파라미터를 받는다면, 아래처럼 짜면 쉽게 받아와졌다. (@DateTimeFormat을 이용하면 된다) 하나의 localDate형식의 파라미터를 받고 싶을 때, // 요청 url: http://localhost:8080/festivals?eventStartDate=2010-10-01 @GetMapping("/festivals")..
-
[Kotlin] Kotlin 시작하기 전 - 특성, 장점 그리고 철학프로그래밍 언어/자바 & 코틀린 2019. 11. 28. 23:41
코틀린을 카카오에서 처음 사용해봤는데, 그 간결성과 편리함에 완전 빠졌다. 코틀린의 특징, 장점 그리고 철학들을 정리해두자. 특성 1. 대상 플랫폼 : 서버, 안드로이드 등 자바가 실행되는 모든 곳 서버상의 코드(특히 웹 애플리케이션의 백엔드) 안드로이드 디바이스에서 실행되는 모바일 애플리케이션 2. 정적 타입 지정 언어 정적 타입 지정이라는 말은 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증해준다는 뜻이다. 동적 타입(dynamically typed) 지정 언어는 Groovy, JRuby, Javascript 등이 있는데, 타입과 관계없이 모든 값을 변수에 넣을 수 있고, 메소드나 필드 접근에 대한 검증이 실행 ..
-
[Java] array(배열)과 arrayList(리스트)의 차이(arrayList는 어떻게 동적으로 늘어나는가?)프로그래밍 언어/자바 & 코틀린 2019. 11. 27. 15:56
array(배열)과 arrayList(리스트)의 차이 arrayList는 사이즈가 동적으로 알아서 늘어나주니 찾아볼 생각을 못하다가 어떻게 내부적으로 size가 늘어나는지 코드를 분석해봤다. 일단 기본적인 차이부터 살펴보자 1. Implementation of array is simple fixed sized array but Implementation of ArrayList is dynamic sized array. 배열은 크기가 고정되어있지만 arrayList는 사이즈가 동적인 배열이다. 2. Array can contain both primitives and objects but ArrayList can contain only object elements 배열은 primitive type(int, ..
-
카카오 뉴인턴에서 정규직 전환 실패에 대한 회고개발 일기장/직장 생활 2019. 11. 24. 16:42
정규직 전환 면접에서 떨어졌다. 3개월 동안 뉴인턴으로 카카오에 재직하며 평가기간을 거쳤다. 3개월 전에는 카카오 이직에 대한 후기를 남겼었는데, 3개월이 지난 지금은 실패에 대한 회고를 하고 있다니 씁쓸하다. 실패에 대한 기록 또한 훗날 나에게 도움이 될거라는 생각에 이렇게 기록을 남겨둔다. 프로그래밍을 시작한지 얼마 안되서 너무 빨리 높은 자리에 온게 아닌가 생각이 많이들긴 했었다. 그러나, 세상의 기회는 완벽하게 준비 되었을 때 찾아오는게 아니라는 걸 알기에 찾아온 기회를 어떻게든 내 것으로 만들고자 최선을 다하기로 마음 먹은 것이었다. 9월에 입사하여 곧장 제주로 갔다. 우리 셀이 메인으로 서비스하고 있는 서비스는 '1boon' 이라는 플랫폼이었다. 하루에 방문자 수가 백만 단위로 들어오는 트래픽..
-
[WebFlux] StepVerifier and How to use it 해답 코드 - techio웹 개발/WebFlux 2019. 10. 29. 23:56
techio reactor StepVerifier 학습 사이트 techio에서 배울 수 있는 Reactor StepVerifier 학습 success코드 operator 참고 사이트 StepVerifier reference site 해답 코드 Verify Simple flux // TODO Use StepVerifier to check that the flux parameter emits "foo" and "bar" elements then completes successfully. void expectFooBarComplete(Flux flux) { StepVerifier.create(flux) .expectNext("foo") .expectNext("bar") .verifyComplete(); } V..
-
[WebFlux] Learn how to create Mono instances 해답 코드 - techio웹 개발/WebFlux 2019. 10. 22. 23:24
techio reactor Mono 학습 사이트 techio에서 배울 수 있는 Reactor 학습의 success 코드 operator 참고 사이트 Mono reference site 해답 코드 Empty Mono // TODO Return an empty Mono Mono emptyMono() { return Mono.empty(); } No Emission // TODO Return a Mono that never emits any signal Mono monoWithNoSignal() { return Mono.never(); } Create a Mono from an item // TODO Return a Mono that contains a "foo" value Mono fooMono() { re..
-
[WebFlux] Learn how to create Flux instances 해답 코드 - techio웹 개발/WebFlux 2019. 10. 21. 00:14
techio reactor Flux 학습 사이트 techio에서 배울 수 있는 Reactor 학습의 success 코드 동기 방식의 spring mvc 방식 개발만 하다 비동기 방식의 webflux로 개발하려니 개념적인 부분부터 이해가 어렵드아... 개인적으로 reactor 메인 레퍼런스 사이트의 Chapter 4까지는 읽어보고 시작하면 좋을 것 같다. Reactor 3 Main reference site operator 참고 사이트 Flux reference site 해답 코드 Empty flux // TODO Return an empty Flux Flux emptyFlux() { return Flux.empty(); } Flux from values // TODO Return a Flux that c..