분류 전체보기

    Firebase Crashlytics (파이어베이스 크래시리틱스) 구현하기

    Firebase Cloud storage (파이어베이스 클라우드 저장소) 구현하기

    Firebase Cloud storage (파이어베이스 클라우드 저장소) 구현하기

    실시간데이터로는 이미지 같은 큰 용량을 저장하기에는 적절하지 않다. 따라서 큰 문서들, 이미지, 비디오파일과 같은 파일들을 저장하기위해서는 Cloud storage 를 사용하는것이 좋다. 장점 : 업로드 및 다운로드 할때 견고한 흐름을 제공한다. 다운로드할때 중간에 인터넷이 끊겨도 다시 연결됫을때 이어서 다운로드가 된다. 또한, 보안기능이 매우 뛰어나다. 누가 데이터를 접근할수 있는지에 대한 접근제어가 가능하다. firebase console에서 가능한 기능은 다음과 같다 A. 콘솔에서 직접 스토리지로 파일을 업로드 B. 저장소에있는 데이터를 구성하기위한 폴더 추가 C. 현재 폴더 URL 복사 D. 저장 위치의 주소. 전체 흐름 버튼을 눌러서 Intent로 System photo picker 를 사용 (..

    Firebase Authentication ( 파이어베이스 인증) 구현하기

    세계최고 보안 사용자를 식별하기위한 기능제공. 사용자를 식별할 수 있게되면 각각의 규칙을 별도로 정할수 있다. 변경된 데이터를 줄일 수 있는 기능 제공(모바일에서 로그인, PC에서 로그인) 사용자가 인증되면 JSON 웹토큰에는provider , uid, firebase 인증id가 포함된다. provider : email/password, Google Sign In, or Facebook Login 등.. uid: 고유한 사용자 ID로 Google 로 인증한사람과 Facebook으로 인증한사람이 겹칠 수 없음. Firebase 인증 ID: web 토큰으로써 다음과 같은 많은 정보를 포함하고있음. Data Description email 이메일 계정과 관련된 이메일 주소입니다. email_verified 사..

    Kotlin 배열(Array), 문자열(String)

    배열 자료형을 연속적으로 나열한 형태 전통적인 배열은 동일한 자료형이지만, 코틀린에서는 혼합해 구성가능 일단 정의되면 배열의 길이와 내용이 메모리에 고정됨 1. 배열 사용 방법 배열 선언 // 기본 배열 val nums:Array = arrayOf("A", "B", "C", "D") val myDatas:Array = arrayOf(1, 3, "A", "B") // n차형 배열 val nums2 = arrayOf(arrayOf(1, 2, 3), arrayOf(4, 5, 6)) // 한가지 자료형 배열 선언하기 val arr1 = arrayOf(1, 2, 3, 4) val arr2 = intArrayOf(1, 2, 3, 4) val arr3 = charArrayOf('a', 'b', 'c', 'd') va..

    [Kotlin 함수형 (2)] 연산자 오버로딩 - inline(인라인), infix(중위)

    인라인(inline) 함수 Kotlin 코드가 Java 코드로 변경될 때 함수를 호출하는 코드를 함수내에 구현한 코드로 변경하는 함수이다. 함수 호출 방식은 전체 코드양이 줄어들어 메모리를 적게 쓴다는 장점이 있지만 호출 시 코드 흐름이 이동하고 다시 돌아와야 하기 때문에 작업량이 늘어난다. 인라인 함수는 전체 코드양이 늘어 메모리를 더 많이 사용하지만 코드 흐름의 이동 없이 수행되기 때문에 작업량이 늘어나지 않는다. fun main() { testFunc1() testFunc1() testFunc2() testFunc2() } fun testFunc1(){ println("------------------------") println("testFunc1") println("----------------..

    [Kotlin 함수형 (1)] 람다식, 익명함수, 고차함수

    함수형 프로그래밍 이란? 한마디로 요약하면 부수 효과가 없는 순수 함수를 1급 객체로 간주하여 파라미터로 넘기거나, 반환값으로 사용할 수 있으며, 참조 투명성을 지킬 수 있다. 더보기 더보기 여기서 부수효과(Side Effect)란 다음과 같은 변화 또는 변화가 발생하는 작업을 의미한다. 변수의 값이 변경됨 자료 구조를 제자리에서 수정함 객체의 필드값을 설정함 예외나 오류가 발생하며 실행이 중단됨 콘솔 또는 파일 I/O가 발생함 그리고 1급 객체란 다음과 같은 것들이 가능한 객체를 의미한다. 변수나 데이터 구조 안에 담을 수 있다. 파라미터로 전달 할 수 있다. 반환값으로 사용할 수 있다. 할당에 사용된 이름과 무관하게 고유한 구별이 가능하다. Java는 완벽한 객체지향 프로그래밍 언어이다. (엄밀히 말..