Kotlin/TIL

TIL (03.04)

내손은개발 🐾 2024. 3. 4. 21:07

CodeKata

 

[프로그래머스 - Kotlin] 문자열 나누기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문

rlawog.tistory.com

 


 

Kotlin 문법

 

[ find, override, 스프레드 연산자, 중위 호출, 경로 파싱하기 (substring 사용, 정규식 사용)

fun main() {
    //elementAt()을 사용하여 collection의 특정 위치의 element를 얻는다.
    val numbers = listOf(1, 2, 3, 4)
    println(numbers.find { it % 2 == 0 })
    println(numbers.findLast { it % 2 == 0 })

    //오버라이드
    open class View {
        open fun click() = println("View clicked")
    }

    class Button : View() {
        override fun click() {
            println("Button Clicked")
        }
    }

    val view: View = Button()
    view.click()

    /*
        //스프레드 연산자
        val list = listOf("args:",*args)
        println(list)
    */

    //중위 호출
    val map = mapOf(1 to "one", 7 to "seven")
    // 1.to("one")  : "to" 메서드를 일반적인 방식으로 호출
    // 1 to "one"   : "to" 메서드를 중위 호출 방식으로 호출
    // 두 호출은 동일함



    //경로 파싱하기
    fun parsePath1(path: String) {
        val directory = path.substringBeforeLast("/")
        val fullName = path.substringAfterLast("/")
        val fileName = fullName.substringBeforeLast(".")
        val extension = fullName.substringAfterLast(".")

        println("Dir: $directory, name: $fileName, ext: $extension")
    }
    parsePath1("/Users/yole/kotlin-book/chapter.adoc")



    //경로 파싱하기 [정규식 사용]
    //ex
    println("12/123-6".split("\\/|-".toRegex()))
    println("12.123-6".split(".", "-"))



    fun parsePath2(path:String){
        val regex = """(.+)/(.+)\.(.+)""".toRegex()
        //첫번째 그룹(.+) / : 마지막슬래시까지 모든 문자
        //두번째 그룹(.+)\. : 마지막 마침표 전까지 모든 문자
        //세번째 그룹(.+) : 나머지 모든 문자
        val matchResult = regex.matchEntire(path)
        if(matchResult != null){
            val (directory, fileName, extension) = matchResult.destructured
            println("Dir: $directory, name: $fileName, ext: $extension")
        }
    }
    parsePath2("/Users/yole/kotlin-book/chapter.adoc")


}

 


 

팀 프로젝트 마무리

팀 소개 앱 만들기 프로젝트 github 주소
 

GitHub - Combro-Kim/kotlin_ot_project_I

Contribute to Combro-Kim/kotlin_ot_project_I development by creating an account on GitHub.

github.com

 

KPT 회고로 이번 프로젝트 종료
 

I조 KPT 회고 | Notion

1. 한 주의 흐름

elite-deposit-234.notion.site

더보기

프로젝트 받은 피드백 정리

 

<성희영 튜터님>

노션 작성 미흡

Git commit 복구 방법

activity stack - Intent_flag 알아두면 좋을것같다

 

<김백현 튜터님>

Tool bar 함수 파라미터가 많이 붙어있음(줄이면 좋겠다)

Contextactivity를 같이 받는 것

Git commit 습관들이기

 

<최다현 매니저님>

발표 미흡

TimeTable 보면서 언급하며 발표 필요

개인 후기 더 간략하게

문제해결에서 무엇을 시도 -> 어려웠다.

후기, comment 중복

 

<전체>

처음해봐서~ ; 이런말은 안하는 걸로합시다.

//발표는 ppt 준비해서 발표하기

//일일히 발표하지말고 핵심만 발표하기

 

다들 감사했고 고생하셨습니다.


 

Android 뿌시기

1. SharedPreferences

프로젝트를 하면서 사용했던 기능 중, 간단한 데이터 저장에 필요한 SharedPreferences 사용하는 방법을 정리해보았다.

 

Android - SharedPreferences

SharedPreferences ? 간단한 값을 저장할 때 주로 사용된다. 초기 설정 값이나 자동 로그인 여부 등 간단한 값을 저장할 때 DB를 사용하면 복잡하기에 SharedPreferences 사용이 적절하다. Key - Value 형태로

rlawog.tistory.com

 

 

2. Chain

chain에 대해 알고는 있었지만 이론적으로 정리해본적은 없어서 정리해보았다.

 

Android - ConstraintLayout의 Chain

Chain ? 사용 가능한 공간 내 뷰들간의 분할되는 방식을 제어할 수 있는 제약조건이다. layout에서 일렬로 배치하면서 비율별로 너비나 높이를 줄 수 있다. 사용 방법 1. 먼저 chain으로 묶어주어야한

rlawog.tistory.com

 

 

 

 

 

 

 

 

 

 

 

 

 

'Kotlin > TIL' 카테고리의 다른 글

TIL (03.06)  (1) 2024.03.06
TIL (03.05)  (0) 2024.03.05
TIL (02.29)  (3) 2024.02.29
TIL (02.28)  (0) 2024.02.28
TIL (02.27)  (1) 2024.02.27