반응형

IT 64

[Kotlin] 코틀린 lateinit property has not been initialized 에러

[Kotlin] 코틀린 lateinit property url has not been initialized [코틀린 lateinit, lazy 키워드 초기화 미루기] - https://gxnzi.tistory.com/112 lateinit 키워드는 선언 이후에 초기값을 할당할 것을 명시적으로 선언하는 것을 의미한다. 이는 변수가 사용되기 전에, 초기화 되는 것을 확신하는 상황 -> lateinit 변수를 초기화하지 않고 사용하거나 lateinit 변수의 초기값이 할당되지 않은 상태에서 isNullOrEmpty() 함수를 사용하여 null 체크 한다면 lateinit property has not been initialized 에러가 발생하게 된다. lateinit 변수의 초기화 체크는 isInitialz..

IT/Kotlin 2023.08.31

[Android] 안드로이드 keystore 생성, 위치, 정보 확인

[Android 안드로이드] debug.keystore 생성, 위치, 기본정보, 정보확인 [debug.keystore 생성] Android SDK 설치하면 기본적으로 포함되어 있다. -> 따로 생성하지 않아도 됨. (개발자 PC마다 다름) debug.keystore로 생성한 apk는 debugging 용도로 사용. [Mac debug.keystore 위치] ~/.android/debug.keystore 또는 /Users/.android/debug.keystore [debug.keystore 기본정보] 파일명 : debug.keystore 패스워드 : android Alias : androiddebugkey [debug.keystore 정보 확인] keytool -list -v -keystore ~/.a..

IT/Android 2023.07.24

[Kotlin] 코틀린 함수 (fun) 선언, 정의, 사용법, 코틀린 Unit

[Kotlin 코틀린 함수 fun 선언] 코틀린에서 함수를 선언하려면 fun 키워드를 이용한다. [Koltin 코틀린 함수 선언 기본 구조] fun 함수명(매개변수: 타입): 반환 타입 { ... } fun some(data1: Int): Int { return data1 * 10 } 반환 타입을 선언할 수 있으며, 생략하면 자동으로 Unit 타입이 적용된다. * Unit - 반환문이 없는 함수 데이터 형식이 아닌 특수한 상황을 표현하는 목적으로 사용된다. Unit 타입으로 선언한 변수는 Unit 객체만 대입할 수 있다. -> Unit 타입으로 변수를 선언할 수 있지만 의미가 없다. 이런 Unit 타입은 주로 함수의 반환 타입으로 사용 var data1: Unit = Unit fun some(): Uni..

IT/Kotlin 2023.07.10

[Kotlin] 코틀린 데이터 타입 Any, Nothing, 물음표(?) Nullable, Not NUll

[Kotlin 코틀린 데이터 타입] [코틀린 Any 란] 모든 객체의 상위 객체 (모든 코틀린의 클래스는 Any의 하위 클래스) Java의 Object 타입 -> Any 타입은 컴파일 시 Object로 변환 [코틀린 Nothing 이란] null이나 예외를 반환하는 함수로 특수한 상황에서 사용한다. Nothing으로 선언한 변수에는 null만 대입할 수 있다. 즉, 데이터로서는 의미가 없다. 주로 함수의 반환 타입에 사용한다. 어떤 함수의 반환타입이 Nothing 이면 반환은 하지만 의미 있는 값은 아니라는 의미이다. 항상 null만 반환하는 함수라든가, 예외를 던지는 함수의 반환 타입을 Nothing으로 선언한다. var data1: Nothing? = null // null 반환 함수 fun some..

IT/Kotlin 2023.07.08

[Kotlin] 코틀린 lateinit, lazy 키워드 초기화 미루기

[Kotlin 코틀린 초기화 미루기] 변수를 선언할 때 초기값을 할당할 수 없는 경우가 있다. - > 나중에 값을 할당할 것을 컴파일러에게 알려주야 한다. 이러한 경우, lateinit 이나 lazy 키워드를 사용한다. [Kotlin 코틀린 lateinit] lateinit 이란 - 이후에 초기값을 할당할 것을 명시적으로 선언 lateinit으로 선언한 변수는 선언과 동시에 값을 할당하지 않아도 되지만, 모든 유형의 변수 선언에 사용할 수 없고, 아래의 규칙을 따라야 한다. 1. var 키워드로 선언한 변수만 사용할 수 있다. lateinit var date1: String // 성공 lateinit val date2: String // 오류 2. int, Long, Short, Double, Float..

IT/Kotlin 2023.07.07

[Kotlin] 코틀린 변수 var, val, const

[Kotlin 코틀린 변수 var, val] 변수 선언 기본형태 var 변수명: 변수타입 = 초기화 값 val 변수명: 변수타입 = 초기화 값 [var] - var : 변경 가능한 변수 = 읽기 / 쓰기 [val] - 한번 초기화 하면 변경 불가능한 변수 = 읽기만 가능한 final 변수 초기화 시 변수명 뒤의 타입은 생략이 가능하다. -> 컴파일러가 타입을 추론 -> 변수 선언 시에 초기화를 하지 않으면 컴파일러가 타입을 추론할 수 없기 때문에 이러한 경우에는 타입을 명시해주어야한다. [const] val 앞 const를 붙이면 기본 타입과 String만 넣을 수 있는 완전 상수가 된다. const val num1: Int = 10 // (O) const var num2: Int = 20 // (X) ..

IT/Kotlin 2023.07.04

[Kotlin] 코틀린 이란? 코틀린 특징, 코틀린 장점

[Kotlin 코틀린 이란] - JVM 기반의 언어이며, 자바(Java)를 대체할 수 있도록 개발된 언어이다. - 자바(Java)와 비교하여 간결한 문법을 제공한다. - 구글이 안드로이드의 공식 언어로 Kotlin 추가 - 확장자는 .kt 컴파일하면 자바와 같이 .class [Kotlin 코틀린 특징 및 장점] - 정적 타입 지정 언어이다. 프로그램의 구성 요소(객체, 메서드 타입 등)를 컴파일 시점에 알 수 있고, 컴파일러가 타입을 검증해준다. 컴파일 타임에 메서드의 호출관계가 지정되어 런타임 빠르다. 컴파일러가 검증하기 때문에, 오류로 중단될 가능성이 적어진다. - 널 (null)에 대한 안정성을 제공한다. 컴파일 단계에서 NullPointerException을 검사한다. 런타임 시 발생할 수 있는 ..

IT/Kotlin 2023.07.03

[Oracle] 오라클 테이블 복사, 데이터 복사

백업, 데이터이관 등을 위해 테이블 복사, 데이터 복사. 1. 테이블 복사 (구조). CREATE TABLE [신규테이블] AS SELECT * FROM [기존테이블] WHERE 1 = 2 2. 테이블 복사 (데이터 포함). CREATE TABLE [신규테이블] AS SELECT * FROM [기존테이블] [WHERE] 3. 구조가 동일 테이블에서 데이터 일괄 복사. INSERT INTO [신규테이블] SELECT * FROM [기존테이블] [WHERE] 4.구조가 다른 테이블에서 데이터 선택 복사. INSERT INTO [신규테이블] (col1, col2, col3, ...) SELECT (col1, col2, col3, ...) FROM [기존테이블]

IT/DB 2023.03.14

501 command helo requires an argument Syntax error

JavaMail을 사용하여 로컬에서 테스트 메일 발송 시, 501 command helo requires an argument 에러가 발생 기존 코드 Properties pros = new Properties(); props.put("mail.smtp.auth", "false"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.prot", smtpPort); props.put("mail.smtp.localhost", smtpHost); 를 추가하여 해결 원인은 PC교체 후 교체된 PC의 이름이 한글로 설정되어있던 것으로 보인다. PC 이름을 변경하면 될것으로 ..

IT/Etc. 2023.03.02

Arrow Function 화살표 함수 (ES6)

Arrow Function은 ES6 문법으로 항상 익명 함수이다. 기본 구조 (문법) var func1 = function() { console.log('test1'); } => var func2 = () => console.log('test2'); 매개 변수 없는 경우, var func = () => console.log('test'); func(); // test 매개 변수 하나인 경우, var func1 = x => x; var func2 = (x) => x; func1('test'); // test func2('test'); // test 매개 변수 여러개인 경우, var func1 = (x, y) => x + y; var func2 = (x, y) => { return x + y; } func1..

반응형