분류 전체보기
-
[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..
-
[Programming] localhost에 도메인 이름을 붙일 수 있다고?웹 개발/웹&프로그래밍 2019. 10. 3. 16:35
쿠키 문제로 .kakao.com 도메인을 사용하고 싶었는데 localhost에 도메인이름을 붙일 수 있다! 1. 터미널에서 아래의 명령어를 입력한다. $ cat /etc/hosts 2. 그럼 이런 화면이 나온다. 3. vi로 빨간 박스의 내용을 수정해준다. (난 권한이 없어 sudo로 수정) $ sudo vi /etc/hosts 4. 내가 정하고 싶은 도메인 이름을 기입해준다. 나의 경우는 localhost를 zorba.local.kakao.com으로 지정하고 싶다. 5. 끝 - zorba.local.kakao.com으로 입력하면 localhost로 띄운 서버와 같은 내용이 나올 것이다~ localhost에 도메인 이름을 붙일 수 있다는 걸 알게 됐는데, 왜 이제까지 몰랐을까 생각해보니 이제까진 '쿠키'..