Developer/Kotlin & Java

Coroutine 이전 시간에는 코루틴의 동작원리와 동시성 과 병렬성 의 차이에 대해 알아보았습니다. https://huisam.tistory.com/entry/coroutine1 [Kotlin] Coroutine - 1. 코루틴에서 동시성이란? 코루틴이란? 같은 프로세스라도 쓰레드를 어떻게 운영하느냐에 따라서 처리량이 많이 달라질 수 있죠 🔄 코틀린의 경우 코루틴 이라는 동시성이 가능하도록 하는 기능이 있습니다 코루틴은 일 huisam.tistory.com 그런데.. 아직도 코루틴의 동작 방식이 그렇게 와닿는 것 같지는 않습니다. 도대체 어떻게 동시에 처리하는 것처럼 보인다는 것인지 코루틴이라는 것은 어떻게 쓰레드를 왔다갔다 하면서 작업을 처리하는 것인지 마법같은 동시처리를 어떻게 코루틴은 처리하고 있..
코루틴이란? 같은 프로세스라도 쓰레드를 어떻게 운영하느냐에 따라서 처리량이 많이 달라질 수 있죠 🔄 코틀린의 경우 코루틴 이라는 동시성이 가능하도록 하는 기능이 있습니다 코루틴은 일반적으로 경량 쓰레드 라고 불리워지며 쓰레드당 하나의 명령만 실행됩니다 즉, 쓰레드보다는 생성비용이 가볍고 빠르게 생성할 수 있다는 것에 장점이 있습니다 👍 코틀린은 왜 경량 쓰레드라고 불러질까요? https://stackoverflow.com/questions/63719766/why-kotlin-coroutines-are-considered-light-weight Why kotlin coroutines are considered light weight? If coroutines is still using threads to ..
Kotlin의 Collection 함수들 오늘은 Kotlin의 Collection 함수들에 대해서 파헤쳐보는 시간을 가지도록 하겠습니다 ㅎㅎ 현업에서 코틀린을 처음 접한지 벌써 저도 5개월차가 되어가는데요 현업에 다양한 비즈니스 로직을 구현하다보면 Collection에 있는 기본 Util 함수들을 자주 사용하게 됩니다 하지만, 아주 기본적이면서도 구체적으로 동작하는 원리를 알아야 어떻게 활용되는지 알 수 있기 때문에 조금 더 deep 하게 파헤쳐보는 시간을 가져볼까 합니다 참고할 코드 우리가 참고하면서 파헤쳐 보는 코틀린 파일은 단 1개입니다 kotlin.collections.CollectionsKt.class 엥? 너무 짧지 않냐구요? 아닙니다 ㅎㅎ 엄청 길어요 ㅠㅠ 분류별로 하나씩 들어가봅시다~! 여..
고차 함수 코틀린은 Functional Programming 에 특화된 언어니 한번 파헤쳐보자 목차 고차 함수 목차 함수 정의하기 함수를 리턴하는 함수 고차 함수 흐름제어 함수 정의하기 코틀린을 처음하다 보면 굉장히 어색한 문법이 있는데, list.filter { it % 2 == 0 } 와 같은 문법이다 처음에는 정말 어색하지만, 두고 볼수록 정말 매력 있는 녀석이다 자바에서는 list.stream() .filter(num -> num % 2 == 0) 와 같은 녀석인데, 코틀린에서 위에서 저렇게 사용하는건 유감스럽게도 java stream 처럼 lazy 한 속성을 가지고 있지는 않다(일반적인 순차선회) kotlin의 stream을 쓰기 위해서는 asSequnence 를 선언해줘야 가능하다 아니 왜 함..
암호화 최근에 암호화에 대해서 많이 배우고 있었는데요 모르고 헷갈리고 정신없는 부분들이 너무 많아서 조금 이해하기 쉽게(?) 정리하면 좋겠어가지고 정리하게 되었습니다 사실 네이버 블로그나 여러 군데에 정말 많은 글들이 있는데요 내용이 워낙에 어려운지라 헷갈려가지고 따로 정리하게 되었네요 ㅎㅎ 먼저 암호화라는 개념은 너무나 간단합니다 내가 가진 원문의 메세지를 상대방이 해석할 수 없게 하는 것이 바로 암호화의 목적이죠 예를 들자면, 원문의 메세지는 일반적인 집주소, 전화번호 와 같은 개인정보들이 될 수도 있구요! 이제 암호화를 어떻게 하는지에 대해 알아보도록 할게요! 암호화 하는 방법 우리가 컴퓨터를 공부하다보면 암호화하는 방법들에 대해 간략히 배우게 되는데요 대표적인 종류로는 대칭키 암호, 비대칭키 암호..
Kotlin의 Type System 코틀린의 타입에 대해서 한번 알아보자.! 🖌️ 목차 Kotlin의 Type System 목차 Null 체이닝 방식 Null이 아니라고 단정짓기 Null이 아닌 값을 함수에 넘기기 Casting lazy loading Null 보통은 가장 일반적으로 쓰는 방식이 바로 ? 방식이다 어떻게 사용하는 것이냐면 foo?.toUpperCase() 의 의미는 if (foo != null) { foo.toUpperCase() } else { null } 와 같은 의미를 가지게 된다! 체이닝 방식 java8 에서 나오는 Optional 객체를 기억하시는가요? kotlin에서 ? 문법은 쉽게 생각하면 Optional 객체를 요약한 것이라 볼 수 있다 그렇기 때문에 chaining 기능도..
huisam
'Developer/Kotlin & Java' 카테고리의 글 목록 (2 Page)