글자의 정리함
close
프로필 배경
프로필 로고

글자의 정리함

    • 분류 전체보기 (26)
      • Study (7)
      • Error (2)
      • Project (2)
      • Kotlin in Action (15)
      • Experience (0)
  • mode_edit_outline글작성
  • settings환경설정
  • Home
  • GitHub
  • Youtube
5. [2] Collection 함수형 API

5. [2] Collection 함수형 API

(1) filter와 map val list= listOf(1, 2, 3, 4) println(list.filter { it % 2 == 0 }) // [2, 4] val people = listOf(Person("Alice", 29), Person("Bob", 31)) println(people.filter { it.age > 30 }) // [Person(name=Bob, age=31)] [filter] 컬렉션을 이터레이션하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 모은다. 주어진 술어를 만족하는 모든 원소를 선택한다. (술어란 참/거짓을 반환하는 함수를 말함.) 컬렉션에서 원치 않는 원소를 제거한다. 하지만 변환하는 것은 불가능하다. val list = listOf(1,..

  • format_list_bulleted Kotlin in Action
  • · 2024. 2. 25.
  • textsms
5. [1] 람다 식과 멤버 참조

5. [1] 람다 식과 멤버 참조

람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각을 뜻한다. 이를 사용하면 쉽게 공통 코드 구조를 라이브러리 함수로 뽑아내는 것이 가능하다. (1) 람다 소개: 코드 블럭을 함수 인자로 넘기기 button.setOnClickListener(new OnClickListener) { @Override public void onClick(View view) { /* 버튼을 클릭 시 실행 할 동작 */ } } button.setOnClickListener { /* 버튼을 클릭 시 실행 할 동작*/ } 함수형 프로그래밍에서는 함수를 하나의 값 처럼 다루어서 번거로운 문제들을 해결한다. 클래스를 선언하고 인서턴스를 함수에 넘기는 대신, 함수를 직접 다른 함수에 전달한다. 람다 식을 사용하면, 함수를 선언..

  • format_list_bulleted Kotlin in Action
  • · 2024. 2. 25.
  • textsms
[Exception] ERR_CLEARTEXT_NOT_PERMITTED

[Exception] ERR_CLEARTEXT_NOT_PERMITTED

(1) 발생 시점 웹뷰가 동작하는 애플리케이션을 만들어보던 중, Adapter에 URL을 걸어주었더니 아래와 같은 예외메시지가 나오면서 웹뷰에 URL에 해당하는 사이트가 나오지 않았다. (2) 발생 원인 API 28 이상의 버전부터 생긴 강화된 네트워크 보안정책으로 인한 오류였다. (3) 해결 방법 Case1. AndroidManifest.xml의 application 태그 내부에 Cleartext 네트워크 트래픽 허용처리 android:usesCleartextTraffic = "true" Case2. networkSecurityConfig 파일 생성 후, Manifest에 추가 api.example.com(to be adjusted) android:networkSecurityConfig="@xml/ne..

  • format_list_bulleted Error
  • · 2024. 2. 22.
  • textsms
[Android] 안드로이드 스튜디오 무선 디버깅 연결하는 법

[Android] 안드로이드 스튜디오 무선 디버깅 연결하는 법

이번 포스팅은 오랫동안 안드로이드 스튜디오를 사용하면서 문제가 많다고 생각했던, IDEA 내 Emulator가 아닌 자신의 안드로이드 스마트폰을 무선 디버깅 시도를 하였을 때, 상당히 여러번 실패 시도를 거쳐야 연결되는 이슈로 인해서 문제를 겪었기 때문에 맘편하게 터미널로만 디버깅을 시도해서 여러 시도 없이 한 번에 무선 디버깅을 하는 방법을 포스팅 해보려고 합니다. (1) 사전 준비 - Android Studio의 Local Terminal 창 - 무선 디버깅이 가능한 안드로이드 스마트폰 이렇게 두 개가 필요합니다. 또한, 무선 디버깅 시도 시에 안드로이드 스마트폰에는 1개의 IP 주소와 2개의 Port가 존재할 텐데, 해당 과정에서 두 종류의 Port Number를 다 사용한다는 것을 인지해 주시면 ..

  • format_list_bulleted Study
  • · 2024. 2. 22.
  • textsms
3. [6] 코드 다듬기: 로컬 함수와 확장

3. [6] 코드 다듬기: 로컬 함수와 확장

DRY 원칙(Don't Repeat Yourself)을 피하기는 쉽지 않다. 메서드 추출 리팩토링을 통해서 긴 메서드를 부분부분 나눠서 재활용 하는 것은 가능하다. 해당 해결방법의 경우 더 복잡해지기에, 메서드를 별도의 내부 클래스에 넣게 된다면 불필요한 준비코드가 늘어난다. Kotlin에서는 추출한 함수를 원 함수에 중첩시킬 수 있다. class User(val id: Int, val name: String, val address: String) fun saveUser(user: User) { if(user.name.isEmpty()) { throw IllegalArgumentException( "Can't save user ${user.id}: Empty Name" ) } if(user.address..

  • format_list_bulleted Kotlin in Action
  • · 2024. 2. 22.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • navigate_next
공지사항
  • 즐거운 코딩을 하자.
전체 카테고리
  • 분류 전체보기 (26)
    • Study (7)
    • Error (2)
    • Project (2)
    • Kotlin in Action (15)
    • Experience (0)
전체 방문자
오늘
어제
전체
최근 글
인기 글
최근 댓글
태그
  • #KotlinInAction
  • #자동 급식기
  • #채팅구현
  • #MBTI구현
  • #Stream Chat SDK
  • #작동을 안함
  • #인앱채팅
  • #무선 디버깅 QR 안됨
  • #공부 기록용
  • #Plugin 적용기
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바