전체 글239 [Kotlin IN ACTION] - Kotlin 로컬 함수와 확장 많은 개발자들이 좋은 코드의 중요한 특징 중 하나가 중복이 없는 것이라고 믿는다. 그래서 많은 경우 메소드 추출 리팩토링을 적용해서 긴 메소드를 부분부분 나눠서 각 부분을 재활용 한다 하지만 그렇게 코드를 리팩토링하면 클래스 안에 작은 메소드가 많아지고, 각 메소드 사이의 관계를 파악하기 힘들어서 코드를 이해하기가 더 어려워질 수 있다. 또한 이 부분을 해결하고자, 추출한 메소드를 별도의 내부 클래스 안에 넣으면 코드가 깔끔하게 조직할 수는 있지만, 그에 따른 불필요한 준비 코드가 늘어난다. 코틀린에서는 더 깔끔한 해법이 존재한다. 코틀린에서는 함수에서 추출한 함수를 원 함수 내부에 중첩 시킬 수 있다. 코드 중복을 보여주는 예제 class User(val id : Int, val name : Strin.. 2022. 7. 21. [Kotlin IN ACTION] - Kotlin 문자열 다루기(split) 자바 개발자라면 String의 split 을 잘 알 것이다. 자바의 split 메소드는 점(.)을 사용해서 문자열 분리를 할 수가 없다. 그 이유는 split의 구분 문자열은 실제로는 정규식이기 때문이다. 따라서 마침표(.)는 모든 문자를 나타내는 정규식으로 해석된다. // Java String s = "12.345-6.A"; String[] sArr = s.split("."); for (String str : sArr) { System.out.print(str + ", "); } // 결과는 빈 배열을 반환한다. // Kotlin val str : String = "12.345-6.A" println(str.split("\\.|-".toRegex())) Kotlin 은 명시적으로 toRegex 확장함수.. 2022. 7. 21. [Kotlin IN ACTION] - Kotlin 컬렉션 처리 컬렉션을 처리할 때 쓸 수 있는 코틀린 표준 라이브러리 함수 몇 가지를 설명하겠다. vararg 키워드를 사용하면 호출 시, 인자 개수가 달라질 수 있는 함수를 정의할 수 있다. 중위 함수 호출 구문을 사용하면 인자가 하나뿐인 메소드를 간편하게 호출할 수 있다. 구조 분해 선언을 사용하면 복합적인 값을 분해해서 여러 변수에 나눠 담을 수 있다. 자바 컬렉션 API 확장 코틀린 컬렉션은 자바와 같은 라이브러리 클래스를 사용하는 걸로 알고 있을 것이다. 그런데 코틀린 컬렉션은 어찌 더 확장된 API를 사용할수 있을까? ex) .last(), .maxOrNull() 그 이유는 확장함수이다. 코틀린은 확장함수가 있어 사용할 수 있고, 따라서 자바 라이브러리 클래스의 인스턴스인 컬렉션에 코틀린이 새로운 기능을 추.. 2022. 7. 21. [안드로이드] - Android SharedPreferences 데이터를 저장하기 위해선 3가지 방법이 있다. SharedPreferences File 로컬 DB Library (Room, SQLite) 개발을 하다보면 계속적으로 필요한 값을 DB로부터 받아 와야할 때가 있다. 이러한 값들을 매번 DB를 통해 호출하다보면, 애플리케이션 성능이 떨어진다. 속도 측면에서는 SharedPreferences 가 가장 빠르기 때문에 작업할 때 빈번하게 사용된다. 주로, 자동 로그인 여부 판별하기 위한 체크용도, 토큰 값 저장 등에 쓰며, 애플리케이션 내에서 간단한 데이터를 저장하는 경우에 DB를 통하기보단 이 방법을 많이 사용하다. SharedPreferences 애플리케이션 내에 개별 데이터 저장소에 xml 파일을 만든 뒤, 그 파일에 Integer, String 등의 데이.. 2022. 7. 21. [안드로이드] - Android Preferences data storage 안드로이드 시스템에서 제공되는 앱 데이터 저장 종류 중에, 앱 환경설정 데이터 저장소에 대해서 알아보자. 환경설정 라이브러리에서 저장한 Preference 값을 저장하고 사용하는 방법을 설명하겠다. 환경설정 데이터 저장소 데이터 유지하는 방법 SharedPreferences : 기본적으로 Preference 는 SharedPreferences 를 사용하여 값을 저장한다. SharedPreferences API 를 사용하면 애플리케이션 세션에 걸쳐 저장된 파일에서 간단하기 Key-Value 쌍을 읽고 쓸 수 있다. 환경설정 라이브러리는 비공개 SharedPreferences 인스턴스를 사용하므로 애플리케이션만 인스턴스에 엑세스할 수 있다. PreferenceDataStore : 환경설정 라이브러리는 기본적.. 2022. 7. 21. [프로그래머스 *Java] - 카펫 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 45분 이내 규칙을 찾으면 되는 문제였다. 생각했던 Flow를 적어보도록 하겠다. 1. brown + yellow == return 값 두 데이터의 곱이다. 2. 일단 brown + yellow 더한 값을 for문을 통해 i가 1부터 시작해서 i로 나눠 떨어지는 여러 두 수 중 한 가지 경우가 답이다. 3. 정사각형, 직사각형 어떤 도형이 될진 모르겠지만, 세로는 무조건 3 이상.. 2022. 7. 21. 이전 1 ··· 15 16 17 18 19 20 21 ··· 40 다음