컬렉션 4

[Kotlin] 코틀린,자바 컬렉션과 nullability, 변경 가능성

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. Nullability 와 Collection 컬렉션에 대해 nullable 을 적용할 때는 조심해야 한다. 리스트 자체가 nullable 인지, 원소가 nullable 인지, 혹은 둘 다 nullable 인지를 잘 고려하자. nullable 값으로 이뤄진 컬렉션 예제 fun readNumbers(reader: BufferedReader): List { val result = ArrayList() // Int? 값으로 이뤄진 리스트 생성 for (line in reader.lineSequence()) { try { val number = line.toInt() result.add(number..

Kotlin 2024.01.22

[Kotlin] lazy(지연) 컬렉션 연산, sequence(시퀀스)

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 이전 글에서 몇가지 컬렉션 함수를 살펴보았다. 그 함수들은 결과 컬렉션을 eagerly(즉시) 생성한다. 즉, '컬렉션 함수를 연쇄하면, 매 단계마다 연산의 중간 결과를 새로운 컬렉션에 임시로 담는다'는 의미이다. 컬렉션 함수 연쇄 (시퀀스 사용 X) data class Person(val name: String, val age: Int) people.map(Person::name).filter { it.startsWith('A') } (`people` 은 `List` 이다.) `filter` 와 `map` 은 리스트를 리턴한다. 즉, 위 코드에서는 두 함수를 연쇄 호출하여 리스트를 두 개..

Kotlin 2024.01.12

[Kotlin] 람다를 인자로 받는 컬렉션 함수형 API

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 함수형 프로그래밍 스타일을 사용하면 컬렉션을 다룰 때 편하다. 컬렉션을 다루는 코틀린 표준 라이브러리를 몇가지 살펴보자. `filter` 와 `map` 함수, 그 함수를 뒷받침하는 개념으로부터 시작된다. filter & map 함수 대부분의 컬렉션 연산을 `filter` 와 `map` 함수를 통해 표현할 수 있다. filter 함수 `filter` 함수는 컬렉션을 iteration 하면서 주어진 람다에 각 원소를 넘겨서 람다가 `true` 를 리턴하는 원소만 모아서 `List` 로 리턴한다. val list = listOf(1, 2, 3, 4) assert( list.filter { it ..

Kotlin 2024.01.12

5. HTTP 메서드 활용 - HTTP 웹 기본 지식

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "모든 개발자를 위한 HTTP 웹 기본 지식" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 목차는 아래와 같습니다. 클라이언트에서 서버로 데이터 전송 HTTP API 설계 예시 클라이언트에서 서버로 데이터 전송 a. 데이터 전달 방식 데이터 전달 방식은 크게 2가지 경우로 나뉜다. 1) 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 2) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 그렇다면 아래 4가지 상황에서의 데이터 조회 및 데이터 전송을 살펴봅시다. b. 4가지 상황 1) 정적 데이터 조회 이미지, 정적 텍스트 문서 2) 동적 데이터 조회 주로 ..