전체 글(110)
-
프로그래머스 입문 알고리즘 문제 정리 - 코틀린(Kotlin)
모든 문제의 출처는 프로그래머스에 있습니다. https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc&page=1 코딩테스트 입문 | 프로그래머스 스쿨 코딩테스트에 처음 도전하는 사람들을 위한 입문 문제 모음. 쉬운 문제부터 하나씩 도전해 보면서 코딩테스트에 자신감도 붙이고 문제 해결 능력을 키워보세요! school.programmers.co.kr 1. 문자열 안에 문자 반복 repeat() , joinToString() fun solution(my_string: String, n: Int): String = my_string.map { it.toString().repeat(n) }.joinToString("") n ..
2023.01.21 -
함수형 프로그래밍이란
함수형 프로그래밍이란? 1. 정의 함수형 프로그래밍(函數型 프로그래밍, 영어: functional programming)은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. - 위키백과 Functional programming is a programming paradigm in which we try to bind everything in pure mathematical functions style. It is a declarative type of programming style. Its main focus is on “what to solve” in contrast to an imperative style where the main focus ..
2023.01.10 -
객체지향 5대원칙 SOLID
객체 지향 5대 원칙 1. 단일 책임 원칙 ( Single Responsibility Principle(SRP) ) 2. 개방 폐쇄 원칙 ( Open-Closed Principle(OCP) ) 3. 리스코프 치환 원칙 ( Liskov Substitution Principle(LSP) ) 4. 인터페이스 분리 원칙 ( Interface Segregation Principle(ISP) ) 5. 의존성 역전 원칙(dependency inversion principle) 1. 단일 책임 원칙 ( Single Responsibility Principle ) 클래스는 오직 하나에 대해서만 책임져야 한다. 클래스는 객체를 구체화하여 만든 작업 지시서 같은 것이다. 만약 티비라는 클래스를 만들면 티비는 티비에 대한 것..
2023.01.07 -
알고리즘 입문 문제 1일차 & 2일차
모든 문제와 사진의 저작권은 프로그래머스에 있습니다. 알고리즘과 코틀린의 숙련도를 향상하기 위해 찾아보던 중 발견한 프로그래머스 입문 과정입니다. 상당히 입문용으로 좋다고 생각해 코틀린을 사용해 전부 해보기로 하였습니다. 아래의 링크를 타면 매일 풀 수 있는 문제가 있습니다. 모두 실력 향상을 위해 정진!! https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc&page=1 코딩테스트 입문 | 프로그래머스 스쿨 코딩테스트에 처음 도전하는 사람들을 위한 입문 문제 모음. 쉬운 문제부터 하나씩 도전해 보면서 코딩테스트에 자신감도 붙이고 문제 해결 능력을 키워보세요! school.programmers.co.kr 오늘은 많..
2023.01.02 -
Coroutine 기본 개념잡기
코루틴이란 무엇일까? 먼저 코루틴이 무엇인지 알기 전에 왜 코루틴이 나왔을까? 부터 생각해 보겠습니다. 안드로이드의 UI는 기본적으로 "메인스레드" 에서 동작한다고 합니다. 그래서 메인스레드를 보통 "UI 스레드" 라고도 부릅니다. 하지만 작업 시간이 오래 걸리거나 , 리소스를 많이 사용하는 작업을 메인스레드 하나에서 모두 동작시키게 되면, 흔히 말하는 "어플리케이션이 응답하지 않습니다" 라는 ANR 이 나타납니다. 이러한 성능과 작동의 문제로 인해 스레드 관리는 필수라고 생각합니다. 성능이 낮은 앱을 과연 누가 사용할까요?? 어떻게 하면 더 효율적으로 몸집이 큰 작업들을 관리할 수 있을까 라는 문제를 해결하기 위한 많은 것들 중 하나가 바로 "코루틴" 입니다. 코루틴 은 안드로이드 기기에서 "비동기적으..
2022.12.27 -
android Socket IO Random Chat - Repository, Api Image Send
1. Repository interface Repository { suspend fun uploadImage(imageUri: String, roomName: String, nickname: String, onResult: (Throwable?)->Unit) } 먼저, 레포지토리 구현을 위한 인터페이스를 만듭니다. 이름은 원하는 이름으로 만들어줍니다. 레포지토리 안에 이미지 업로드하는 함수 uploadImage를 만들겠습니다. Repository Implementation을 하기 전 Data 패키지에 Retrofit2 API 인터페이스를 추가하겠습니다. 1. 1 의존성 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.s..
2022.12.01