본문 바로가기
728x90

분류 전체보기36

[Kotlin] 2-4. 이터레이션: while & for 사실 코틀린으로 개발하면서 while, for 루프 잘 안쓴다... built-in 함수(filter, map, let, apply, also)와 그 외 sumOf, maxOf, minOf 등등 간단하게 루프를 작성할 수 있는 함수들이 존재하기 때문에 그런것 같다. for문으로 작성하고 나면 코틀린스럽게 작성하지 못했다는 생각이 들 정도.... [ while 루프 ] ∘ while 루프는 자바와 동일하다. while(조건) { } do { } while(조건) [ 수에 대한 iteration ] ∘ 코틀린은 가장 흔한 용례인 초깃값, 증가값, 최종값을 사용한 루프를 대신하기 위해 범위(range) 사용 ∘ 보통 두 값의 시작과 끝을 연결하여 범위를 만든다. // Kotlin for(i in 1..100.. 2022. 5. 15.
[Kotlin] 2-3. 선택 표현과 처리 : enum과 when [ enum 클래스 정의 ] // 가장 기본적인 enum class enum class Color { RED, BLUE, YELLOW, GREEN, BLACK } ∘ enum 클래스 안에 프로퍼티나 메서드를 정의할 수 있다. enum class Color( val r: Int, val g: Int, val b: Int ) { RED(255, 0, 0), YELLOW(255, 255, 0), GREEN(0, 255, 0), BLUE(0, 0, 255) ; // enum class 내부 메서드 fun getRgb(): Int { return (r * 256 + g) * 256 + b } // fun getRgb() = (r * 256 + g) * 256 + b } ∘ enum의 각 상수를 정의할 때 그 상수.. 2022. 5. 15.
Webflux 란? 1. WebFlux 1-1. 등장 배경 1. 기존 MVC 관점 기존 방식 서버에서 다른 요청을 못받는다. 이를 스레드를 늘려 시간을 쪼개서 일을 진행하는데 이 경우 context switching 문제가 생긴다. 문제점 A와 B에 멍때리는 시간이 존재한다. 그 시간에 다른일을 못한다. : 비동기 처리로 해결 물어봐야만 알고싶은 정보를 알 수 있다. : 응답을 유지하여 해결 비동기 처리 DB가 서버에게, 서버가 클라이언트에게 즉각적인 응답을 해준다. 서버는 이 이후 다른 일을 진행할 수 있다. 서버는 미처 처리하지 못한 이벤트를 기억해야 하고 이를 이벤트 루프에 저장하여 기억한다. 이벤트 루프덕분에 서버는 여러가지 요청을 동시에 받고 기억할 수 있어 비동기 처리가 가능해진다. 응답 유지 Stream을 .. 2022. 5. 15.
동기 / 비동기 / 블록킹 / 논블록킹 동기 / 비동기 / 블록킹 / 논블록킹 블록킹/논블록킹 기술적으로 명확히 구분 가능 A라는 함수를 실행했을 때, A라는 함수가 모든 행위를 끝마칠 때까지 기다렸다가 다른 함수가 실행 : 블록킹 A라는 함수를 호출했는데, A라는 함수의 로직이 끝나기도 전에 B라는 함수가 실행 : 논블록킹 동기/비동기 보통 추상적으로 구분된다. (행위에 대해) 동기 순차적으로 처리된다. 블록과 유사하나, 차이점은 결과를 확인한다는 것 호출된 함수의 수행 결과 및 종료를 호출된 함수 뿐 아니라 호출한 함수도 함께 신경쓰면 동기 비동기 결과 확인과 무관하게 계속 진행 호출된 함수의 수행 결과 및 종료를 호출된 함수 혼자 직접 신경쓰고 처리하면 비동기 2022. 5. 15.
728x90