전체 글
-
코틀린을 다루는 기술 7장 Result카테고리 없음 2020. 7. 25. 10:52
Option 만 쓰자니 정보의 제공에 한계가 있고, Either 를 쓰자니 결과의 성공, 실패라는 Context를 담기에는 부족한 면이 있어서 나온 것이 Result 이다. Result는 Success, Failure, Empty 3가지의 구현체를 제공하는데 Failure, Empty의 차이는 Failure는 명시적인 실패의 이유를 담아서 리턴하고자 할 때, Empty는 정상적인 케이스가 아니지만 없는 건처럼 취급하고자 할 때 사용한다. sealed class Result : Serializable { abstract fun map(f: (A) -> B): Result abstract fun flatMap(f: (A) -> Result): Result abstract fun mapFailure(messa..
-
코틀린의 가벼운 http 클라이언트 fuel카테고리 없음 2020. 7. 25. 10:44
자바 진영에서는 주로 스프링의 RestTemplate을 사용하여 http 요청을 했었지만 코틀린 진영에서는 1대장의 자리를 두고 새롭게 여러가지 http클라이언트 라이브러리가 개발되고 있는 것 같다. 그 중 한 가지를 가볍게 소개하고자 한다. https://github.com/kittinunf/fuel kittinunf/fuel The easiest HTTP networking library for Kotlin/Android - kittinunf/fuel github.com fuel(발음은 fyool) 이라고 한다. 주요 피쳐로는 - GET, POST, PUT, DELETE, HEAD, PATCH 제공하되 사용하기 편리한 인터페이스가 제공된다. - 비동기, 블로킹 요청 - 파일 업로드, 다운로드 - 비동..
-
1. 쿠버네티스 환경 구축하자 - 도커란infra 2020. 7. 22. 01:58
도커란 도커의 장점은 무엇일까. 아마 조금더 운영환경과 프로덕션과 비슷한 환경을 만들어준다는것입니다. 보통 운영환경에 배포만 하면 개발환경에서 없던 오류를 맞단 뜨리게 된다. 이러한 문제는 재현을 하는것자체가 어렵습니다. 컨테이너 기술은 강화를 통해 이러한 문제를 만나지 않게해주는데 큰도움을 주는 역할을 합니다. 도커는 이 컨테이너를 쉽게 구성해주는 시스템입니다. 그런데 이러한 구성은 가상화로도 가능합니다. 그럼 가상화와 컨테이너의 차이는 무엇일까요. 컨테이너 가상화 기술은 게스트 운영체제 없이 호스트 운영체제위에 격리된 환경에서 가상화를 구현한다는것입니다. 게스트 운영체제가 따로 존재하지 않으니 호스트 운영체제의 요소를 공유하며 그만큼 중복되는 요소가 줄어 성능적으로 장점을 가지게 됩니다. 이제 도입이..
-
Spring @Async 사용하기카테고리 없음 2020. 6. 25. 12:42
1. 개요 Spring 의 비동기 실행 지원 과 @Async 주석을 살펴볼 것이다 . 간단히 말해서 빈 메서드에 주석 @Async을 만들 것입니다 별도의 스레드에서 실행 호출 메서드의 완료를 기다리지 않습니다. 발신자 즉. Spring의 흥미로운 측면 중 하나는 프레임 워크의 이벤트 지원 이 해당 경로로 가고 싶다면 비동기 처리를 지원 한다는 것입니다. 2. 비동기 지원 활성화 간단하게 @EnableAsync를 추가 @Configuration @EnableAsync public class SpringAsyncConfig { ... } 활성화 주석만으로 충분하지만 예상대로 구성을 위한 몇 가지 간단한 옵션도 있습니다. annotation – @EnableAsync @Async javax.ejb.Asynch..
-
코틀린의 예외처리카테고리 없음 2020. 6. 19. 22:15
Throwing and catching 예외는 파이썬에서와 마찬가지로 거의 작동합니다. throw 를 할 것입니다. throw IllegalArgumentException("Value must be positive") try / catch (Python의 try / except에 해당)로 잡습니다. fun divideOrZero(numerator: Int, denominator: Int): Int { try { return numerator / denominator } catch (e: ArithmeticException) { return 0 } } catch 블록은 던져진 예외와 일치하는 예외 유형이 발견 될 때까지 (정확히 일치 할 필요는 없습니다. 던져진 예외의 클래스는 선언 된 클래스의 서브 클래..
-
코틀린의 null safety카테고리 없음 2020. 6. 19. 22:05
널 작업 아무 것도 참조하지 않는 변수는 null 이라고하거나 변수가 "null"이라고 말할 수 있습니다. 파이썬의 None과 달리 null은 객체가 아닙니다. null은 프로그래밍 오류의 빈번한 원인이므로 Kotlin은 가능한 한 많은 오류를 피할 것을 권장합니다. 변수는 null을 허용하도록 선언되지 않은 한(?을 붙입니다.) 실제로는 null이 될 수 없습니다. 예를 들면 다음과 같습니다. fun test(a: String, b: String?) { } 컴파일러는 test("a", "b") 또는 test("a", null) 을 허용하지만 test(null, "b") 나 test(null, null)는 허용하지 않습니다. 컴파일러는 a가 null이 될 수 없음을 증명할 수 있을 때 test(a, b)..
-
자바스크립트 화살표 함수카테고리 없음 2020. 6. 18. 12:39
화살표 기능은 ES6에서 도입되었습니다. 화살표 함수를 사용하면 더 짧은 함수 구문을 작성할 수 있습니다. // before hello = function() { return "Hello World!"; } // after hello = () => { return "Hello World!"; } 함수가 하나의 문이 있고 문은 값을 반환하는 경우에는 괄호 제거 할 수 있습니다. // can return hello = () => "Hello World!"; 인자가 있는 화살표 함수 hello = (val) => "Hello " + val; 인자가 하나인 경우 괄호를 제거할 수 있다. hello = val => "Hello " + val; 'this' 화살표 기능은 일반 기능에 비해 처리 방법이..
-
[html] json 데이터, 코드 등 그대로 표현하기 <pre> 태그카테고리 없음 2020. 6. 18. 12:21
내용 ... HTML의 태그는 웹 브라우저에서 무시되는 텍스트 공간, 줄 바꿈, 탭 및 기타 서식 문자를 유지하는 미리 형식이 지정된 텍스트 블록 을 정의하는 데 사용됩니다 . 요소의 텍스트는 고정 너비 글꼴로 표시되지만 CSS를 사용하여 변경할 수 있습니다. 태그에는 시작 및 종료 태그가 필요합니다. Example. Hello Every body! ! ! Output. Hello Every body! ! ! 출처: https://www.geeksforgeeks.org/html-pre-tag/