반응형

IT 70

[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..

[CSS] 기초 / CSS 연결 link / import 차이

CSS link와 import 차이 작성 위치 - link와 import 모두 head 섹션에 있지만, link 태그는 상단에 작성되고, import는 head 섹션 내부의 style 태그 안에 작성된다. DOCTYPE html> Page Title DOCTYPE html> Page Title @import url("main.css"); 비교 사용은 비슷하나, link 방식을 사용하는 것이 @import 방식을 사용하는 것보다 페이지의 로딩 속도 측면에서 뛰어나다. link 방식 - HTML의 link 태그 사용 - 유지보수 용이 : CSS 연결 방식으로 하나의 파일에 여러 페이지의 스타일을 일괄 수정 및 추가 - 직렬방식이 아닌 병렬방식으로 다운로드 하기떄문에, 로딩속도 빠르다. @import 방식 -..

IT/Etc. 2023.02.22

SPA / MPA 이란, 장단점

SPA (Single Page Application) 이란? 단어의 의미대로 단일 페이지의 웹 애플리케이션을 의미한다. 최초 한 번 페이지 전체를 로드한 후 데이터만 변경하여 사용. 즉, 웹 사이트의 전체 페이지를 하나의 페이지 담아, 서버로부터 새로운 페이지를 불러오지 않고, 화면을 동적으로 표현하는 것을 웹 사이트나 웹 애플리케이션을 SPA 라고 한다. SPA의 장점 - 네이티브 앱을 쓰는 것 같은 사용자 경험 - 간단한 배포 - 적은 서버 요청 (화면에 필요한 부분의 데이터만 받아 렌더링) - 트래픽 감소 SPA의 단점 - 최초 로드 시 한번에 받아오기 떄문에, 초기 구동 속도가 느림 - SEO (Search Engine optimization, 검색 엔진 최적화) 관점 불리 MPA (Multi P..

IT/디자인패턴 2021.06.01

[ECMAScript6 / ES6] var, let, const 변수 선언 차이

ECMASCRIPT 란 자바스크립트 언어의 표준 규격을 뜻한다. ES6는 자바스크립트 표준 규격 버전6 라는 의미를 가진다고 생각하면 된다. ES6 이전에는 변수를 선언할 수 있는 키워드가 var 였으나, let, const 가 추가되어 이를 사용하여 변수를 선언할 수 있다. 간단한 특징 var - 변수 재선언 가능하기 때문에, 필요할 때마다 변수를 편리하게 사용할 수 있다는 장점이 있지만, 코드량이 많은 경우, 같은 이름의 변수명을 남용하게 된다면, 파악하기도 힘들고, 문제가 생길 수 있다. let - 변수 재선언 불가능 - 변수 재할당 가능 let name = '변수 선언'; console.log(name); name = '변수 재할당'; console.log(name); let name = '변수 ..

[자바스크립트] JavaScript 현재 날짜, 시간 구하기 new Date()

JavaScript new Date() 함수로 현재 날짜와 시간을 구하는 방법 1. 현재 날짜 구하기 let today = new Date(); console.log(today); 2. 현재 날짜 년-월-일 포맷으로 구하기 let today = new Date(); // 년도 getFullYear() let year = today.getFullYear(); // 월 getMonth() (0~11로 1월이 0으로 표현되기 때문에 + 1을 해주어야 원하는 월을 구할 수 있다.) let month = today.getMonth() + 1 // 일 getDate() let date = today.getDate(); // 일 console.log(year + '-' + month + '-' + date); 3. ..

반응형