본문 바로가기

전체 글324

Azure Fundamentals 자격증 취득 후기 (AZ-900 ) Azure 자격증 중 가장 기본이라고 할 수 있는 Azure Fundamentals를 취득하였습니다. 해당 자격 시험은 Cloud에 대한 기본 개념과 Azure 서비스를 이해하고 있는지를 평가합니다. 이 자격증은 Cloud에 대한 기본 개념과 Azure 서비스에 대해 어느정도 알고 있다면 무료로 취득할 수 있기 때문에 꼭 따시기를 추천드립니다. 자격증 준비 방법 먼저 아래의 링크를 통해 Azure에 대한 기본적인 개념을 공부하시기 바랍니다. Azure 기본 사항 파트 1: 핵심 Azure 개념에 관해 설명하기(AZ-900) - Learn 이 학습 경로에서는 Azure 클라우드 컴퓨팅 및 Azure 아키텍처의 기본 사항을 소개합니다. AZ-900을 준비하세요. docs.microsoft.com 그리고 아래.. 2022. 1. 18.
AWS SAA 자격증 취득 후기 AWS 자격증을 취득한 지는 좀 됐는데... 블로그 포스팅을 이제서야 하는 것 같네요. AWS에는 아래 사진과 같이 많은 자격증들이 존재하지만, 기초 단계의 자격증 보다는 SAA 라는 자격증을 따는 것을 추천드립니다. 정식 명칭은 "AWS Certified Solutions Architect – Associate" 이지만, 보통 AWS SAA로 줄여서 부릅니다. 개인적으로 공부하면서 AWS를 한 달정도 사용해봤고 SAA 자격증 덤프 공부하는데는 3일 정도 걸린 것 같습니다. 자격증 준비 방법 사실 이 자격증은 아래의 사이트에서 문제를 풀고 Discussion에서 정답을 확인하는 것만으로도 충분히 취득할 수 있는 매운 쉬운 자격증입니다. AWS Certified Solutions Architect - As.. 2022. 1. 18.
[Kotlin] ROOM Database 사용 방법 Environment Setting plugins{ ... } apply plugin: 'kotlin-kapt' dependencies { def room_version = "2.2.5" ... // room implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // For Kotlin use kapt instead of annotationProcessor // optional - Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" //.. 2022. 1. 10.
[Kotlin] lazy lazy가 적용된 변수가 실제 사용되는 시점에 초기화를 진행함에 따라 코드의 실행시간을 최적화할 수 있음. 예제 fun main(){ val number: Int by lazy{ println("초기화를 합니다.") 7 } println("코드를 시작합니다.") println(number) println(number) } 예제 결과 2022. 1. 6.
[Kotlin] Data Class 데이터를 다루는데 최적화된 클래스로 equals(), hashcode(), toString(), copy(), componentX() 함수가 자동으로 생성됨. 예제 fun main(){ val a = General("보잉",212) println(a == General("보잉", 212)) println(a.hashCode()) println(a) val b = Data("루다", 306) println(b == Data("루다", 306)) println(b.hashCode()) println(b) } class General(val name: String, val id: Int) data class Data(val name:String, val id: Int) 예제 결과 2022. 1. 6.
[Kotlin] 오브젝트 Object Object로 선언된 객체는 최조 생성 시 자동으로 생성되며, 이후에는 코드 전체에서 공용으로 사용될 수 있음. Companion Object Class 내에 오브젝트가 존재할 경우, 인스턴스끼리 해당 오브젝트를 서로 공유함. 예제 fun main() { println(Counter.count) Counter.countUp() Counter.countUp() println(Counter.count) Counter.clear() println(Counter.count) } object Counter{ var count = 0 fun countUp(){ count++ } fun clear(){ count = 0 } } 예제 결과 Listener 이벤트를 수신해서 출력하는 클래스(EventPrin.. 2022. 1. 6.
[Kotlin] 스코프 함수 스코프 함수 스코프 함수의 경우 별도의 Scope에서 인스턴스의 변수와 함수를 조작할 수 있음. (apply, run, with, also, let) let, also의 경우 Scope 외부에서 동일한 이름의 변수나 함수가 존재할 때를 대비해 it과 같이 사용하기 위해 존재함. 예제 fun main(){ var a = Book("책1",10000).apply{ name = "[초특가]"+name discount() } a.pay() } class Book(var name:String, var price:Int){ fun pay(){ println("${name}의 가격은 ${price}원입니다.") } fun discount(){ price -= 2000 } } 결과 2022. 1. 5.
[Kotlin] 고차함수 고차함수 다른 함수를 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수 예제 fun main(){ b(::a) // 일반 함수를 고차 함수로 변환하는 연산자 -> ::일반 함수명 val c: (String)->Unit = { str -> println("$str 람다함수") } b(c) } fun a(str:String){ println("$str a함수") } fun b(function: (String)->Unit){ //Unit is Not return function("b가 호출한") } 결과 2022. 1. 5.
[Kotlin] 추상화 (abstract, interface) abstract 기존 추상화 개념과 같음. 예제1 fun main(){ var a = real_Man() a.run() a.sniff() } abstract class Man { abstract fun run() fun sniff(){ println("냄새를 맡는 중") } } class real_Man: Man(){ override fun run(){ println("달리는 중") } } 예제1 결과 interface abstract, open 등과 같은 키워드를 사용하지 않더라도 추론을 통해 자동 적용되며, 한 번에 여러 인터페이스를 상속 시킬 수 있음. 예제2 fun main(){ var a = Man() a.run() a.eat() } interface Runner { fun run() // eq.. 2022. 1. 5.