vim과 visual editor가 서로 다른 선택지였을 때, 나는 vim의 필요성을 느끼지 못했다. visual editor가 편했으니까. 그런데, 최근에 visual studio를 쓰면서 ‘vim의 간단한 기능들을 쓰면 편할 텐데…’라는 생각이 들었고, 찾아보니 vim처럼 사용할 수 있는 플러그인이 존재했다. 이미지에 보이듯이 JetBrains에서 만든 IdeaVim이다. 이를 설치하면 vim처럼 편집이 가능하며, vim 설정에 가서 단축키를 IDE의 기능을 쓸지, Vim에서 정의된 기능을…
[글쓴이:] batmask
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #4
codepro 때문에 포스팅을 나눠서 계속 짤라먹어야 하는게 짜증나네. delegation : https://kotlinlang.org/docs/delegation.htmlhttps://kotlinlang.org/docs/delegated-properties.html 위임(delegation) 디자인 패턴( https://en.wikipedia.org/wiki/Delegation_pattern )은 한 클래스의 멤버 구현을 직접 하지 않고, 다른 클래스의 멤버구현을 이용하는 것이다. 다시말하면, 다른 클래스에게 위임하는 것이다. 코틀린은 이를 언어 수준에서 직접적으로 지원한다. 바로 ‘by’키워드가 그것이다. 위 코드에서 Window 클래스는 ClosedShape 인터페이스의 구현을 bounds에게 위임하고 있다. 클래스 단위가 아니라…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #3
람다 표현식 : https://kotlinlang.org/docs/lambdas.html 코틀린에서 함수는 first-class 이다. 이 의미는 함수도 객체처럼 변수에 저장도하고, 인자로 넘기고, 리턴값으로 돌려줄 수도 있다는 얘기. 이와같이 다루기위해 함수 타입의 정의가 필요한데 다음과 같이 한다. 람다 표현식(Lambda expression)은 표현식이면서 하나의 함수로 syntax예제는 다음과 같다. 람다 표현식은 함수와 똑같이 중괄호로 묶인다. 파라미터를 나열하는 것으로 시작하여 화살표 ‘->’ 를 쓰고 표현식 바디부분을…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #2
Destructuring : https://kotlinlang.org/docs/destructuring-declarations.html 코틀린은 클래스의 속성값을 하나씩 받아오지 않고, 한번에 여러 변수에 받아오는 방법을 제공한다. 이를 destructuring이라고 한다. 예를들면 다음과 같이 사용한다. 위 코드는 person에 있는 값을 name과 age 변수에 받아오고 있다. 이게 가능한 이유는 위에 풀어쓴 내용처럼 component1(), component2()로 해석되기 때문이다. component1, component2 등의 함수는 계속 3, 4 등으로 이어질 수 있는데, 이를 componentN()이라고…
Kotlin 에 익숙해지기 : 낯선 문법들 정리 #1
when 문 : https://kotlinlang.org/docs/control-flow.html#when-expression 최신 언어들은 switch-case 문을 안쓰는 추세다. 대신 더 유연하고 진보적인 when문이 생김. when문은 switch-case와 유사하게 조건 표현식에 따라 여러 경우의 수에 대해 처리를 달리 해주는 표현식이다. swich 문과 다르게 break나 continue가 없다. 대신 순차적으로 조건을 체크하면서 만족하는 브랜치를 찾아 실행하게 된다. when은 그냥 statement로도 쓰일 수 있지만, expression으로 사용될 수도 있다….