목록Language (65)
Nuke Olaf - Log Store
기말고사 대비 겸 수업에서 배운 클래스와 객체에 대해 정리해보았다. 0. 객체지향 프로그래밍 클래스와 객체에 대해 이야기 하기 전에, 먼저 객체 지향에 대해 간단하게 생각해 보자. C++ 는 객체지향 언어이다. 그래서 C++ 언어를 사용하면 객체지향 프로그래밍을 할 수 있다. 물론, 객체지향 언어를 이용해 절차지향 프로그램을 만들거나 다른 프로그래밍 패러다임을 사용한 프로그램을 만들 수 있다. C++ 언어 자체는 객체를 만들 수 있는, 객체지향 프로그래밍에 적합하게 설계된 언어라는 것이 중요하다. 객체지향 프로그래밍(Object-Oriented Programming)에서는 클래스와 객체가 핵심이며, 매우 중요한 개념이다. 객체지향 프로그래밍은 클래스를 통해 객체를 만들고, 만들어진 객체를 사용하는 프로그..
연결리스트(링크드 리스트)는 프로그래밍에서 쓰이는 자료구조 중 하나이다. 메모리 공간인 노드(Node)에 데이터와 포인터를 저장한다. 노드들이 한 줄로 연결되어있는 방식으로 데이터를 저장한다. 연결 리스트는 자료의 추가 삭제가 단 시간에 가능하다는 장점이 있다. 대신, 배열이나 트리에 비해 데이터를 검색하는데 시간이 오래 걸린다는 단점이 있다. 1. addrear() 함수를 이용한 단일 연결 리스트 구현 리스트의 마지막에 노드를 추가하는 addrear() 함수를 만들어보자. #include #include // 연결 리스트를 구성할 Node 구조체 struct Node { int data;// 노드에 저장할 데이터 struct Node *next;// 현재 노드의 다음 노드 포인터 }; struct No..
0. 코루틴 Coroutine 과 비동기 프로그래밍 coroutine 은 비동기 처리를 하는데 사용되는 동시 실행 디자인 패턴(방법론에 가깝다)이다. 코틀린과 이름이 비슷하지만, 코틀린 뿐만 아니라 파이썬, C#, Go, Javascript 등 여러 언어에서 지원하고 있는 개념이다. Android 에서는 비동기 프로그래밍을 위한 방법으로 coroutine 을 제안한다. 멀티 스레딩을 처리할 수 있는 현재의 프레임 워크는 thread-safe excution 을 보장하는 간단한 방법이 없기 때문에, 그 이름도 유명한 콜백 지옥을 마주치게 된다. 나는 retrofit 을 이용한 서버와의 통신 과정에서 콜백 지옥이라는 것에 대해 알게 되었다. 처음엔 이 "비동기" 라는 개념을 제대로 이해하지 못해서 레트로핏을..
Kotlin Standard Library 는 collection 에서 유용하게 사용할 수 있는 기능들을 제공한다. 오늘은 그중에서 map 과 filter 에 대해 공부해보았다. 1. map kotlin-stdlib/kotlin.collections/map map 은 원소를 원하는 형태로 변환한 List 를 반환한다. Returns a list containing the results of applying the given transform function to each element in the original array. val numbers = listOf(1, 2, 3) println(numbers.map { it * it }) // [1, 4, 9] * map 응용 data class Movie..
1. Kotlin 의 data class 란? 데이터 보관을 목적으로 사용하는 클래스 프로퍼티에 대한 getter(), setter(), equals(), hashCode(), toString(), copy(), componentN() 메소드를 컴파일 시점에 자동으로 생성한다. class 앞에 data 를 붙여 정의한다. 2. Kotlin 의 data class 를 사용하는 이유 코딩을 하다보면, data 를 보관하는것이 주 목적인 클래스를 만들어야 하는 상황이 있다. 그러한 클래스들에는 아래와 같이 거의 필수적으로 작성되는 기능들이 있다. getters(), setters(), equals(), hashcode(), toString(), copy(), componentN() 이러한 기능들을 데이터 클래..
ArrayList 와 mutableListOf 의 차이 val a = mutableListOf() val b = ArrayList() Kotlin 공홈에 가보면, ArrayList 는 MutableList 인터페이스를 상속받은 구현체임을 알 수 있다. class ArrayList : MutableList, RandomAccess 명시적으로 처음부터 MutableList 중 특별히 ArrayList 를 원하는 경우에는 ArrayList 로 선언하고, List 이지만 수정, 삭제가 가능한(Mutable) 한 리스트를 원하는 경우에는 List 로 선언하는 것이 좋다고 한다. 어차피 Compile Time 에는 ArrayList 든 MutableList 든 List 로 인식되므로 큰 차이는 없다고 함. The ..
코틀린 표준 라이브러리는 간결하고 명료한 코드를 작성하는 데 도움을 주는 확장 함수(extension function)들을 제공한다. 확장함수는 람다(lamda) 를 인자로 받아 동작하며, 확장함수를 실행하는 주체를 수신자 또는 수신자 객체라고 한다. 확장 함수에는 범위 지정 함수(scope-functions) let, with, run, apply, also 가 있다. 람다식이 제공된 객체에서 범위 지정 함수를 호출하면 임시 범위가 형성되는데, 이 범위에서 이름없이 객체에 접근할 수 있다. 이러한 기능을 가진 함수를 범위 지정 함수라고 한다. 이 다섯가지 범위 지정 함수들은 기본적으로 동일한 기능을 수행한다. 객체에서 코드 블럭을 실행하는 기능이다. let, with, run, apply, also 의..
1. 구글 웹마스터 도구 시작 구글 웹마스터 링크 : https://search.google.com/search-console/about 2. 속성 유형 선택 : 도메인 도메인 주소를 입력하고 확인버튼을 누른다. 나의 경우에는 nukeolaf.ga 를 입력 3. 이때 나오는 DNS 인증 코드를 Route 53 에서 등록 유형은 TXT 로 하고, 값 부분에 DNS 인증코드를 넣어주면 된다. 참고 : https://support.google.com/a/answer/183895?hl=en 4. 소유권 확인 완료 참고 사이트>>> https://support.google.com/webmasters/answer/7451184?hl=ko https://support.google.com/webmasters/answe..