본문 바로가기

분류 전체보기120

조던 피터슨 + 완벽한 공부법 요약 1. 하루에 7.5시간 이상 공부하지 마십시오. 당신은 매우 지칠 것입니다. 더 한다 해도 더 이상 도움이 되지 않습니다. 당신은 지쳤을 때 당신은 배울 수 없습니다. 2. 일주일에 하루는 쉬십시오. 그날 당신이 좋아하는 것을 하십시오. 당신은 장기전에 놓여 있습니다. 자신을 지치게 하는 것은 비생산적인 것입니다. 당신의 일은 배움을 위한 것이지, 일찍 죽으려고 하는 것이 아닙니다. 의식과 무의식 모두 활용한다. 휴식은 문제 해결의 열쇠가 될 수 있고, 제대로된 노력에는 휴식또한 포함되어 있다. 휴식에 들어가면(혹은 좋아하는 것을 하면) 선형적 사고에 벗어나 창의적인 사고로 발전된다. ex1) 아이슈타인은 생각이 막힐 때마다 바이올린을 연주 ex2) 우디 앨런은 창의적인 사고를 위해 하루에 몇 번씩 샤워.. 2022. 3. 22.
코틀린(14) - 람다함수를 이용한 스코프 함수 이번 강의에서는 람다함수를 이용한 특별한 기능인 스코프 함수를 알아보겠습니다. 스코프함수를 배우기전에 설명에 도움이 되도록 람다함수의 특별한 케이스들을 몇가지 소개해 드리겠습니다. 1. 람다함수도 여러 구문의 사용이 가능 val c: (String)-> Unit = {str -> println("$str 람다함수는") println("여러 구문") println("사용 가능합니다.") } val calculate: (Int, Int) -> Int = {a,b -> println(a) println(b) a+b } 참고로 람다함수가 여러줄이 되는 경우 마지막 구문의 결과값이 반환된다. 2. 람다함수에 파라미터가 없다면 실행할 구문들만 나열하면 된다. val a: ( ) -> Unit = { println(.. 2022. 3. 21.
코틀린(13) - 고차함수, 람다함수 고차함수(C언어에서 함수포인터와 비슷하다) 고차함수란 함수포인터라고 생각하면 된다. 함수를 '파라미터'로 넘겨줄 수 있고 '결과값으로 반환'시킬 수 도 있다. 코틀린에서는 '모든 함수'를 고차함수로 사용 가능하다. 람다함수 일단은 간단한 함수라고 생각하자. 깊이 들어가면 내용이 쫌 있다. 고차함수와 람다함수의 응용 fun main(){ b(::a) // 일반 함수를 고차 함수로 변경해 주는 연산자 val c = { str : String -> println("$str 람다함수")} // 람다함수(val c는 타입추론됨) b(c) } fun a (str: String){ println("$str 함수 a") } fun b(function:(String)->Unit){ // 함수를 자료형으로 나타내는법! f.. 2022. 3. 21.
코틀린(12) - 스코프, 접근제한자 스코프 스코프가 지정되는 범위는 패키지내부, 클래스내부, 함수내부 등이 있다 스코프에 대한 3가지 규칙 스코프 외부에서는 스코프 내부의 멤버를 '참조연산자'로만 참조가 가능하다 a.eat( ) *클래스의 멤버 참조할 때 클래스 외부에서 인스턴스명의 참조연산자(.) 사용하여 접근하는것, 생각해보면 하나의 패키지에서 다른 패키지 내의 멤버를 참조 할 때도 import.com.google.dimo improt연산자와 참조연사자를 사용했어야 했다. 동일 스코프 내에서는 멤버들을 '공유'할 수 있다. 하위 스코프에서는 상위 스코프의 멤버가 가려진다. 접근제한자 접근제한자는 스코프 외부에서 스코프 내부에 접근할 때 그 권한을 '개발자가 제어'할 수 있는 기능이다. 접근제한자에는 4가지가 존재한다. public in.. 2022. 3. 21.
코틀린(11) - 코틀린의 기본적인 프로젝트 구조 정의 위주의 내용 프로젝트 : 코틀린으로 어플리케이션을 짤 때 관련한 모듈 내용을 담는 "큰 틀" 모듈 : 하나의 프로젝트는 여러개의 모듈로 이루어져 있다. 이 모듈은 '직접' 만들 수도 있고 필요한 기능을 이미 구현해 둔 "라이브러리 모듈"을 가져와 붙일 수도 있기 때문에 굉장히 편리한 기능 단위이다. 모듈 안 : 모듈안에는 다수의 폴더와 파일이 들어갈 수 있다. 여기에는 코틀린 코드파일(.kt)뿐만 아니라 모듈과 관련된 설정 및 리소스 파일 등도 포함 될 수 있다. 이렇게 프로젝트, 모듈, 폴더 및 파일들이 실제 파일시스템에 기반한 물리적인 구조를 담당한다고 하면 논리적인 구조로는 "패키지"라는 것이 있다. 패키지는 개발시에 소스 코드의 '소속'을 지정하기 위함이다. 코드를 작성할 때는 코드내에서 사.. 2022. 3. 21.