Offcanvas

���������

코틀린 1.7.0 출시··· ‘K2 컴파일러’ 공개

‘코틀린 1.7.0(Kotlin 1.7.0)’은 새로운 Kotlin/JVM K2 컴파일러의 알파 버전과 그래들(Gradle)의 새 증분 컴파일 접근 방식 등을 제공한다.   젯브레인이 업그레이드된 JVM, 웹, 모바일 개발용 언어 ‘코틀린 1.7.0’을 출시했다. 이는 ‘K2 컴파일러’의 알파 버전을 주요 특징으로 한다.    회사에 따르면 K2는 성능 향상 외에도 새로운 언어 기능 개발 속도를 높이고, 코틀린이 지원하는 모든 플랫폼을 통합하며, 컴파일러 확장을 위한 API를 제공하기 위해 고안됐다. 한편 알파 버전은 JVM 프로젝트에서만 작동한다. 아울러 주석 프로세서용 kapt 플러그인을 제외한 컴파일러 플러그인은 아직 작동하지 않는다.  또한 코틀린 1.7.0은 그래들 빌드 자동화 도구에서 증분 컴파일의 새로운 접근 방식을 제공한다. 이제 증분 컴파일은 코틀린이 아닌 종속 모듈 내부의 변경사항에도 지원된다. 컴파일 회피 지원도 개선됐다. 코틀린과 마찬가지로 그래들은 안드로이드 모바일 애플리케이션 개발에 활용된다. 컴파일 기술을 안정화하고 자바스크립트 등의 다른 백엔드 지원을 추가할 계획이라고 회사 측은 전했다.  코틀린 지침은 이곳에서 확인할 수 있다. 이 밖에 코틀린 1.7.0의 새로운 기능 및 개선 사항은 다음과 같다.  • null 불가능(non-nullable) 유형이 안정 상태로 승격됐다. 이는 일반 자바 클래스 및 인터페이스를 확장할 때 상호운용성을 개선한다.  • 일반 빌더 함수를 호출할 때 유용한 타입 추론인 ‘빌더 추론’이 작년 11월 코틀린 1.6.0에서 도입된 -Xenable-builder-inference 컴파일러 옵션을 지정하지 않고, 일반 타입 추론이 충분한 타입 정보를 얻을 수 없는 경우 자동으로 활성화된다.  • 이제 옵트인 요건이 안정 상태이며, 추가 컴파일러 구성이 필요하지 않다.  • 타입 args의 밑줄 연산자는 다른 타입이...

코틀린 젯브레인 K2 컴파일러

2022.06.14

‘코틀린 1.7.0(Kotlin 1.7.0)’은 새로운 Kotlin/JVM K2 컴파일러의 알파 버전과 그래들(Gradle)의 새 증분 컴파일 접근 방식 등을 제공한다.   젯브레인이 업그레이드된 JVM, 웹, 모바일 개발용 언어 ‘코틀린 1.7.0’을 출시했다. 이는 ‘K2 컴파일러’의 알파 버전을 주요 특징으로 한다.    회사에 따르면 K2는 성능 향상 외에도 새로운 언어 기능 개발 속도를 높이고, 코틀린이 지원하는 모든 플랫폼을 통합하며, 컴파일러 확장을 위한 API를 제공하기 위해 고안됐다. 한편 알파 버전은 JVM 프로젝트에서만 작동한다. 아울러 주석 프로세서용 kapt 플러그인을 제외한 컴파일러 플러그인은 아직 작동하지 않는다.  또한 코틀린 1.7.0은 그래들 빌드 자동화 도구에서 증분 컴파일의 새로운 접근 방식을 제공한다. 이제 증분 컴파일은 코틀린이 아닌 종속 모듈 내부의 변경사항에도 지원된다. 컴파일 회피 지원도 개선됐다. 코틀린과 마찬가지로 그래들은 안드로이드 모바일 애플리케이션 개발에 활용된다. 컴파일 기술을 안정화하고 자바스크립트 등의 다른 백엔드 지원을 추가할 계획이라고 회사 측은 전했다.  코틀린 지침은 이곳에서 확인할 수 있다. 이 밖에 코틀린 1.7.0의 새로운 기능 및 개선 사항은 다음과 같다.  • null 불가능(non-nullable) 유형이 안정 상태로 승격됐다. 이는 일반 자바 클래스 및 인터페이스를 확장할 때 상호운용성을 개선한다.  • 일반 빌더 함수를 호출할 때 유용한 타입 추론인 ‘빌더 추론’이 작년 11월 코틀린 1.6.0에서 도입된 -Xenable-builder-inference 컴파일러 옵션을 지정하지 않고, 일반 타입 추론이 충분한 타입 정보를 얻을 수 없는 경우 자동으로 활성화된다.  • 이제 옵트인 요건이 안정 상태이며, 추가 컴파일러 구성이 필요하지 않다.  • 타입 args의 밑줄 연산자는 다른 타입이...

2022.06.14

‘코틀린 1.7.0’ 베타 출시··· “빌더 타입 추론 변경”

젯브레인(JetBrains)에서 만든 크로스 플랫폼 오픈소스 프로그래밍 언어의 최신 버전 ‘코틀린 1.7.0’이 베타 릴리즈 단계에 도달했다. 이번 업데이트는 빌더 타입 추론 변경사항과 새로운 메모리 관리자 등을 특징으로 한다.    회사에 따르면 빌더 추론은 일반 빌더 함수를 호출할 때 유용한 타입 추론이다. 이는 컴파일러가 람다 인수 내 다른 호출의 타입 정보를 사용하여 해당 호출의 타입 인수를 추론하는 데 도움을 준다.  1.7.0 베타에서는 -Xenable-builder-inference 컴파일러 옵션을 지정하지 않고 일반 타입 추론이 충분한 타입 정보를 얻을 수 없을 때 빌더 추론이 자동으로 활성화된다. 즉, 이제 개발자는 추가 주석이나 옵션을 적용하지 않고 빌더 타입 추론을 사용하는 빌더를 작성할 수 있다는 설명이다. 이번 변경사항으로 빌더 추론 안정화에 가까워졌다고 젯브레인은 밝혔다.  또 베타 릴리즈에는 새로운 코틀린/네이티브 메모리 관리자 알파 버전이 제공된다. 이 관리자는 JVM과 네이티브 플랫폼 간의 차이를 제거한다. 회사에 의하면 개발자는 안드로이드와 iOS 모두에서 작동하는 크로스 플랫폼 모바일 애플리케이션을 더 쉽게 구축할 수 있다. 아울러 스레드 간 객체 공유 제한이 제거되고, 특정한 관리나 주석이 필요하지 않은 ‘누수 없는(leak-free)’ 동시 프로그래밍 기본 요소가 지원된다. 새 메모리 관리자는 향후 버전에서 디폴트로 제공될 예정이다.  코틀린 1.7.0 베타 설치 지침은 이곳에서 확인할 수 있다. 이 밖에 베타의 다른 기능은 아래와 같다.  • ‘확실히 nullable이 아닌(definitely non-nullable types)’ 타입이 안정화됐다. 이는 지난달 공개된 코틀린 1.6.20에서 도입됐으며, 현재 디폴트로 활성화된다. 일반 자바 클래스 및 인터페이스를 확장할 때 개발자에게 향상된 상호운용성을 지원하는 타입을 제공한다.  • min()와...

젯브레인 코틀린 프로그래밍 언어 개발 언어 크로스 플랫폼 자바

2022.05.19

젯브레인(JetBrains)에서 만든 크로스 플랫폼 오픈소스 프로그래밍 언어의 최신 버전 ‘코틀린 1.7.0’이 베타 릴리즈 단계에 도달했다. 이번 업데이트는 빌더 타입 추론 변경사항과 새로운 메모리 관리자 등을 특징으로 한다.    회사에 따르면 빌더 추론은 일반 빌더 함수를 호출할 때 유용한 타입 추론이다. 이는 컴파일러가 람다 인수 내 다른 호출의 타입 정보를 사용하여 해당 호출의 타입 인수를 추론하는 데 도움을 준다.  1.7.0 베타에서는 -Xenable-builder-inference 컴파일러 옵션을 지정하지 않고 일반 타입 추론이 충분한 타입 정보를 얻을 수 없을 때 빌더 추론이 자동으로 활성화된다. 즉, 이제 개발자는 추가 주석이나 옵션을 적용하지 않고 빌더 타입 추론을 사용하는 빌더를 작성할 수 있다는 설명이다. 이번 변경사항으로 빌더 추론 안정화에 가까워졌다고 젯브레인은 밝혔다.  또 베타 릴리즈에는 새로운 코틀린/네이티브 메모리 관리자 알파 버전이 제공된다. 이 관리자는 JVM과 네이티브 플랫폼 간의 차이를 제거한다. 회사에 의하면 개발자는 안드로이드와 iOS 모두에서 작동하는 크로스 플랫폼 모바일 애플리케이션을 더 쉽게 구축할 수 있다. 아울러 스레드 간 객체 공유 제한이 제거되고, 특정한 관리나 주석이 필요하지 않은 ‘누수 없는(leak-free)’ 동시 프로그래밍 기본 요소가 지원된다. 새 메모리 관리자는 향후 버전에서 디폴트로 제공될 예정이다.  코틀린 1.7.0 베타 설치 지침은 이곳에서 확인할 수 있다. 이 밖에 베타의 다른 기능은 아래와 같다.  • ‘확실히 nullable이 아닌(definitely non-nullable types)’ 타입이 안정화됐다. 이는 지난달 공개된 코틀린 1.6.20에서 도입됐으며, 현재 디폴트로 활성화된다. 일반 자바 클래스 및 인터페이스를 확장할 때 개발자에게 향상된 상호운용성을 지원하는 타입을 제공한다.  • min()와...

2022.05.19

“제네릭 자바 클래스 호환성 향상 外” 코틀린 1.6.20 출시

젯브레인이 지난 4월 4일(현지 시각) ‘코틀린 1.6.20’을 출시했다. 이 최신 업데이트는 제네릭 자바 클래스와의 호환성 개선, 빌드 시간 단축 등을 특징으로 한다.    회사에 따르면 이번 릴리즈에서는 제네릭 자바 클래스 및 인터페이스를 확장할 때 호환성을 향상하고자 ‘non-nullable인 유형(Definitely non-nullable types)’을 지원한다. 단, 이는 현재 베타 단계다. 개발자는 새로운 구문(T & Any)을 사용하여 제네릭 유형 매개변수를 non-nullable인 유형으로 표시할 수 있다.  빌드 시간을 단축하기 위한 ‘JVM IR 백엔드 모드(JVM IR back-end mode)’는 모듈의 모든 파일을 병렬로 컴파일한다. 현재 실험적 기능인 상태다. 이렇게 하면 컴파일 시간을 최대 15%까지 줄일 수 있다고 회사 측은 밝혔다. 하지만 이 병렬 컴파일에는 몇 가지 제약 조건이 있다. 설계상 더 많은 JVM 힙(heap)이 필요하고(힙의 양은 스레드 수에 비례한다), kapt는 IR 백엔드를 비활성화하기 때문에 해당 기능은 kapt에선 작동하지 않는다. 또 IR 컴파일러를 사용한 코틀린/JS 개발의 효율성을 높이기 위해 새로운 증분 컴파일 모드가 도입됐다.  한편 코틀린 1.6.20의 설치 가이드라인은 공식 웹사이트에서 확인할 수 있다. 다른 개선사항 및 새로운 기능은 아래와 같다.  • 코틀린에서 생성된 LLVM IR 업데이트 및 버그 수정을 통해 코틀린/네이티브(Kotlin/Native) 성능이 향상됐다.  • 멀티플랫폼 프로젝트의 계층 구조 지원이 기본적으로 활성화됐다. 지난 2020년 8월 코틀린 1.4.0에서 제공됐던 이 기능은 프로젝트의 코드 공유를 개선한다.  • 코틀린/JVM용 컨텍스트 수신기의 프로토타입이 컨텍스트 종속 선언 정의를 위한 새로운 지원을 제공한다.  ciork@idg.co.kr

젯브레인 코틀린 개발자 프로그래밍 언어

2022.04.06

젯브레인이 지난 4월 4일(현지 시각) ‘코틀린 1.6.20’을 출시했다. 이 최신 업데이트는 제네릭 자바 클래스와의 호환성 개선, 빌드 시간 단축 등을 특징으로 한다.    회사에 따르면 이번 릴리즈에서는 제네릭 자바 클래스 및 인터페이스를 확장할 때 호환성을 향상하고자 ‘non-nullable인 유형(Definitely non-nullable types)’을 지원한다. 단, 이는 현재 베타 단계다. 개발자는 새로운 구문(T & Any)을 사용하여 제네릭 유형 매개변수를 non-nullable인 유형으로 표시할 수 있다.  빌드 시간을 단축하기 위한 ‘JVM IR 백엔드 모드(JVM IR back-end mode)’는 모듈의 모든 파일을 병렬로 컴파일한다. 현재 실험적 기능인 상태다. 이렇게 하면 컴파일 시간을 최대 15%까지 줄일 수 있다고 회사 측은 밝혔다. 하지만 이 병렬 컴파일에는 몇 가지 제약 조건이 있다. 설계상 더 많은 JVM 힙(heap)이 필요하고(힙의 양은 스레드 수에 비례한다), kapt는 IR 백엔드를 비활성화하기 때문에 해당 기능은 kapt에선 작동하지 않는다. 또 IR 컴파일러를 사용한 코틀린/JS 개발의 효율성을 높이기 위해 새로운 증분 컴파일 모드가 도입됐다.  한편 코틀린 1.6.20의 설치 가이드라인은 공식 웹사이트에서 확인할 수 있다. 다른 개선사항 및 새로운 기능은 아래와 같다.  • 코틀린에서 생성된 LLVM IR 업데이트 및 버그 수정을 통해 코틀린/네이티브(Kotlin/Native) 성능이 향상됐다.  • 멀티플랫폼 프로젝트의 계층 구조 지원이 기본적으로 활성화됐다. 지난 2020년 8월 코틀린 1.4.0에서 제공됐던 이 기능은 프로젝트의 코드 공유를 개선한다.  • 코틀린/JVM용 컨텍스트 수신기의 프로토타입이 컨텍스트 종속 선언 정의를 위한 새로운 지원을 제공한다.  ciork@idg.co.kr

2022.04.06

아줄, ‘클라우드 네이티브 컴파일러’ 출시··· “클라우드에 자바 컴파일 제공”

‘클라우드 네이티브 컴파일러(Cloud Native Compiler)’ 서비스는 JVM 전체에서 이전에 최적화된 컴파일을 재사용하여 자바 애플리케이션 성능을 향상시킨다.    자바 소프트웨어 업체 아줄(Azul)이 JVM의 성능 및 시작 속도를 높이는 클라우드 기반 컴파일 서비스 ‘클라우드 네이티브 컴파일러’를 출시했다. 이를 통해 자바(Java), 스칼라(Scala), 코틀린(Kotlin), 클로저(Clojure), 그루비(Groovy), 제이루비(JRuby) 등 JVM 기반 언어의 성능이 향상됐다고 회사 측은 밝혔다.  회사에 따르면 아줄 인텔리전스 클라우드(Azul Intelligence Cloud) 플랫폼의 제품으로 공개된 클라우드 네이티브 컴파일러는 연결되는 모든 JVM의 성능 및 시작 속도를 강화하기 위해 JVM 전체에서 이전에 최적화된 컴파일을 탄력적으로 확장 및 축소하고 재사용한다. 또한 모든 자바 애플리케이션과 호환되는 클라우드 네이티브 컴파일러는 JVM(Java Virtual Machine)에서 JIT(Just-in-tim) 컴파일을 분리하며, 징(Zing)이라고 알려진 아줄의 고성능 자바 런타임 ‘플랫폼 프라임(Platform Prime Java)’과 함께 작동한다고 회사 측은 설명했다.    클라우드 네이티브 컴파일러는 전체 쿠버네티스 환경에서 클라우드 네이티브 애플리케이션으로 실행된다. 모든 클라우드에서 사용할 수 있다. 이 밖에 클라우드 네이티브 컴파일러로 얻을 수 있는 이점은 다음과 같다.  • JIT 컴파일을 클라우드 리소스로 전환해 운영 비용을 절감할 수 있다.  • 프론트엔드, 백엔드, API 게이트웨이, 컨테이너화된 애플리케이션, 마이크로서비스를 포함한 여러 애플리케이션의 처리량 및 응답성을 향상시켜 애플리케이션 성능을 개선한다.  • 아파치(Apache)의 카산드라(Cassandra) 데이터베이스, 솔라(Solr) 검색엔진, 카프카(Kaf...

자바 아줄 클라우드 컴파일러 스칼라 코틀린 클로저 그루비 제이루비 자바 애플리케이션 JVM JIT 쿠버네티스 컨테이너

2021.12.16

‘클라우드 네이티브 컴파일러(Cloud Native Compiler)’ 서비스는 JVM 전체에서 이전에 최적화된 컴파일을 재사용하여 자바 애플리케이션 성능을 향상시킨다.    자바 소프트웨어 업체 아줄(Azul)이 JVM의 성능 및 시작 속도를 높이는 클라우드 기반 컴파일 서비스 ‘클라우드 네이티브 컴파일러’를 출시했다. 이를 통해 자바(Java), 스칼라(Scala), 코틀린(Kotlin), 클로저(Clojure), 그루비(Groovy), 제이루비(JRuby) 등 JVM 기반 언어의 성능이 향상됐다고 회사 측은 밝혔다.  회사에 따르면 아줄 인텔리전스 클라우드(Azul Intelligence Cloud) 플랫폼의 제품으로 공개된 클라우드 네이티브 컴파일러는 연결되는 모든 JVM의 성능 및 시작 속도를 강화하기 위해 JVM 전체에서 이전에 최적화된 컴파일을 탄력적으로 확장 및 축소하고 재사용한다. 또한 모든 자바 애플리케이션과 호환되는 클라우드 네이티브 컴파일러는 JVM(Java Virtual Machine)에서 JIT(Just-in-tim) 컴파일을 분리하며, 징(Zing)이라고 알려진 아줄의 고성능 자바 런타임 ‘플랫폼 프라임(Platform Prime Java)’과 함께 작동한다고 회사 측은 설명했다.    클라우드 네이티브 컴파일러는 전체 쿠버네티스 환경에서 클라우드 네이티브 애플리케이션으로 실행된다. 모든 클라우드에서 사용할 수 있다. 이 밖에 클라우드 네이티브 컴파일러로 얻을 수 있는 이점은 다음과 같다.  • JIT 컴파일을 클라우드 리소스로 전환해 운영 비용을 절감할 수 있다.  • 프론트엔드, 백엔드, API 게이트웨이, 컨테이너화된 애플리케이션, 마이크로서비스를 포함한 여러 애플리케이션의 처리량 및 응답성을 향상시켜 애플리케이션 성능을 개선한다.  • 아파치(Apache)의 카산드라(Cassandra) 데이터베이스, 솔라(Solr) 검색엔진, 카프카(Kaf...

2021.12.16

젯브레인, 코틀린용 크로스 플랫폼 UI 프레임워크 출시

컴포즈 멀티플랫폼(Compose Multiplatform) 버전 1.0을 사용하면 단일 코드베이스에서 데스크톱, 안드로이드, 웹용 사용자 인터페이스(UI)를 구축할 수 있다.  젯브레인이 (자사에서 개발한 프로그래밍 언어) 코틀린을 사용해 데스크톱, 안드로이드, 웹 애플리케이션용 사용자 인터페이스(UI) 개발 속도를 높이는 도구 ‘컴포즈 멀티플랫폼 1.0’을 지난 12월 2일 공식 출시했다.    회사에 따르면 이 코틀린용 UI 프레임워크는 선언적, 반응적 접근 방식을 사용하여 UI를 빌드하기 때문에 플랫폼 간에 UI 코드를 공유할 수 있고, UI 업데이트 로직을 다루지 않아도 된다. 또한 컴포즈 멀티플랫폼을 활용하면 전체 앱을 개발하지 않고도 UI 일부를 미리 볼 수 있다. 공통 API가 구글의 젯팩 컴포즈(Jetpack Compose)와 공유돼 컴포즈 멀티플랫폼을 사용하기가 간편하다.  아울러 그래들(Gradle) 플러그인은 기존 자바 프레임워크와의 상호운용성을 제공하는 한편 이를 통해 주요 운영체제용으로 애플리케이션을 패키징할 수 있다. 개발자는 자바 앱에서 컴포즈 멀티플랫폼을 사용하거나, 컴포즈 멀티플랫폼 앱에서 자바 구성요소를 사용할 수도 있다.  이 밖에 컴포즈 멀티플랫폼은 내장 CSS-in-JS 지원, SVG 지원 등을 포함해 DOM을 조작하기 위한 반응형 코틀린 API를 제공한다. UI 및 상태 관리용 코드는 안드로이드, 데스크톱, 웹 간에 공유할 수 있으며, 안드로이드용 젯팩 컴포즈 기반 앱은 데스크톱으로 이식할 수 있다.  젯브레인은 2021년 여름 컴포즈 멀티플랫폼의 알파 버전을 릴리즈한 이후, 이 프레임워크를 더 강력하게 만들고 더 많은 엣지 케이스를 처리할 수 있도록 개선했다고 밝혔다. 주요 문제가 수정되고 윈도우용 접근성 기능이 추가된 베타 버전은 지난가을 초 공개됐다.  젯브레인 툴박스 앱(JetBrains Toolbox App) 애플리케이션 관리자는 이제 ...

젯브레인 코틀린 안드로이드 웹 개발 애플리케이션 개발 사용자 인터페이스

2021.12.06

컴포즈 멀티플랫폼(Compose Multiplatform) 버전 1.0을 사용하면 단일 코드베이스에서 데스크톱, 안드로이드, 웹용 사용자 인터페이스(UI)를 구축할 수 있다.  젯브레인이 (자사에서 개발한 프로그래밍 언어) 코틀린을 사용해 데스크톱, 안드로이드, 웹 애플리케이션용 사용자 인터페이스(UI) 개발 속도를 높이는 도구 ‘컴포즈 멀티플랫폼 1.0’을 지난 12월 2일 공식 출시했다.    회사에 따르면 이 코틀린용 UI 프레임워크는 선언적, 반응적 접근 방식을 사용하여 UI를 빌드하기 때문에 플랫폼 간에 UI 코드를 공유할 수 있고, UI 업데이트 로직을 다루지 않아도 된다. 또한 컴포즈 멀티플랫폼을 활용하면 전체 앱을 개발하지 않고도 UI 일부를 미리 볼 수 있다. 공통 API가 구글의 젯팩 컴포즈(Jetpack Compose)와 공유돼 컴포즈 멀티플랫폼을 사용하기가 간편하다.  아울러 그래들(Gradle) 플러그인은 기존 자바 프레임워크와의 상호운용성을 제공하는 한편 이를 통해 주요 운영체제용으로 애플리케이션을 패키징할 수 있다. 개발자는 자바 앱에서 컴포즈 멀티플랫폼을 사용하거나, 컴포즈 멀티플랫폼 앱에서 자바 구성요소를 사용할 수도 있다.  이 밖에 컴포즈 멀티플랫폼은 내장 CSS-in-JS 지원, SVG 지원 등을 포함해 DOM을 조작하기 위한 반응형 코틀린 API를 제공한다. UI 및 상태 관리용 코드는 안드로이드, 데스크톱, 웹 간에 공유할 수 있으며, 안드로이드용 젯팩 컴포즈 기반 앱은 데스크톱으로 이식할 수 있다.  젯브레인은 2021년 여름 컴포즈 멀티플랫폼의 알파 버전을 릴리즈한 이후, 이 프레임워크를 더 강력하게 만들고 더 많은 엣지 케이스를 처리할 수 있도록 개선했다고 밝혔다. 주요 문제가 수정되고 윈도우용 접근성 기능이 추가된 베타 버전은 지난가을 초 공개됐다.  젯브레인 툴박스 앱(JetBrains Toolbox App) 애플리케이션 관리자는 이제 ...

2021.12.06

젯브레인, ‘코틀린 1.6.0’ 출시··· 메모리 관리자 지원

젯브레인에서 만든 JVM, 웹, 모바일 개발용 언어의 최신 업데이트 ‘코틀린 1.6.0’이 공식 출시됐다. 이번 릴리즈에서는 네이티브 개발을 위한 새로운 메모리 관리자가 안정화 버전으로 제공된다.    회사에 따르면 코드를 네이티브 바이너리로 컴파일하는 코틀린/네이티브용 메모리 관리자는 (코틀린에서) 일관된 개발 경험을 제공할 수 있도록 지원한다. 메모리 관리자는 스레드 간의 객체 공유 제한을 해제한다. 또한 누수 없는 동시 프로그래밍 기본 요소를 제공한다. 이는 안전하며, 별도의 관리나 주석이 필요 없다고 젯브레인은 덧붙였다.  지난 11월 16일 공개된 코틀린 1.6.0을 설치하면 새로운 메모리 관리자를 디폴트로 사용할 수 있다. 최신 릴리즈 설치 지침은 공식 블로그에서 확인할 수 있다. 젯브레인 인텔리J 아이디어(JetBrains IntelliJ Idea) 또는 안드로이드 스튜디오 IDE(Android Studio IDE) 사용자는 자동으로 업데이트할 수 있다.  이 밖에 코틀린 1.6.0의 새로운 기능 및 개선사항은 다음과 같다.  • 코틀린/네이티브에서 LLVM 종속성이 개선됐다. LLVM 버전이 11.1.0으로 업데이트됐으며, 종속성 크기 감소 등의 이점을 지원한다.  • 이제 when 문이 완전하지 않으면 봉인된 when 문에서 컴파일러 경고를 생성한다. 코틀린 1.5.30에서 프리뷰로 지원됐던 해당 기능은 (최신 릴리즈에서) 안정화 버전으로 제공된다.  • suspend 함수 유형을 슈퍼 인터페이스로 구현하기 위한 지원이 안정화됐다. 이는 코틀린 코루틴 디자인에서는 누락된 부분 중 하나였다. 아울러 일반 함수 유형에서 일시중단 함수 유형으로의 변환이 안정화됐다. 이제 개발자는 일시중단이 매개변수로 예상되는 일반 함수 유형의 표현식을 전달할 수 있다. 컴파일러는 자동으로 변환을 수행한다. 이 기능은 코틀린에서 일반 함수와 일시중단 함수 간의 불일치를 수정한다.  ...

젯브레인 코틀린 프로그래밍 언어 개발 언어 자바 웹 개발 모바일 개발 소프트웨어 개발

2021.11.22

젯브레인에서 만든 JVM, 웹, 모바일 개발용 언어의 최신 업데이트 ‘코틀린 1.6.0’이 공식 출시됐다. 이번 릴리즈에서는 네이티브 개발을 위한 새로운 메모리 관리자가 안정화 버전으로 제공된다.    회사에 따르면 코드를 네이티브 바이너리로 컴파일하는 코틀린/네이티브용 메모리 관리자는 (코틀린에서) 일관된 개발 경험을 제공할 수 있도록 지원한다. 메모리 관리자는 스레드 간의 객체 공유 제한을 해제한다. 또한 누수 없는 동시 프로그래밍 기본 요소를 제공한다. 이는 안전하며, 별도의 관리나 주석이 필요 없다고 젯브레인은 덧붙였다.  지난 11월 16일 공개된 코틀린 1.6.0을 설치하면 새로운 메모리 관리자를 디폴트로 사용할 수 있다. 최신 릴리즈 설치 지침은 공식 블로그에서 확인할 수 있다. 젯브레인 인텔리J 아이디어(JetBrains IntelliJ Idea) 또는 안드로이드 스튜디오 IDE(Android Studio IDE) 사용자는 자동으로 업데이트할 수 있다.  이 밖에 코틀린 1.6.0의 새로운 기능 및 개선사항은 다음과 같다.  • 코틀린/네이티브에서 LLVM 종속성이 개선됐다. LLVM 버전이 11.1.0으로 업데이트됐으며, 종속성 크기 감소 등의 이점을 지원한다.  • 이제 when 문이 완전하지 않으면 봉인된 when 문에서 컴파일러 경고를 생성한다. 코틀린 1.5.30에서 프리뷰로 지원됐던 해당 기능은 (최신 릴리즈에서) 안정화 버전으로 제공된다.  • suspend 함수 유형을 슈퍼 인터페이스로 구현하기 위한 지원이 안정화됐다. 이는 코틀린 코루틴 디자인에서는 누락된 부분 중 하나였다. 아울러 일반 함수 유형에서 일시중단 함수 유형으로의 변환이 안정화됐다. 이제 개발자는 일시중단이 매개변수로 예상되는 일반 함수 유형의 표현식을 전달할 수 있다. 컴파일러는 자동으로 변환을 수행한다. 이 기능은 코틀린에서 일반 함수와 일시중단 함수 간의 불일치를 수정한다.  ...

2021.11.22

코틀린 최신 로드맵 공개··· “컴파일러 및 모바일 기능 개선”

젯브레인에서 만든 JVM, 자바스크립트, 안드로이드 개발용 프로그래밍 언어 ‘코틀린(Kotlin)’의 최신 로드맵이 공개됐다. 해당 로드맵에 따르면 컴파일러 및 모바일 기능이 개선될 예정이다.  코틀린 1.7.0과 그 이후 버전에 대한 로드맵이 젯브레인 공식 블로그에서 지난 11월 10일(현지 시각) 발표됐다. 현재 사용할 수 있는 최신 버전은 코틀린 1.5.31이다(11월 17일 기준).    젯브레인은 컴파일러와 관련해 ‘K2 컴파일러 프론트엔드’ 작업을 알파 상태로 만드는 데 주력하고 있다고 밝혔다. K2는 코드 분석 그리고 IR(Intermediate Representation)로의 변환을 담당하는 프론트엔드와 함께, 컴파일 속도가 평균 2배 더 빠른 언어 컴파일러라고 코틀린 개발팀은 설명했다.  또한 K2 알파 릴리즈에서는 새로운 플러그인 인프라를 프리뷰로 제공할 계획이다. 아울러 K2 컴파일러로 멀티플랫폼 프로젝트를 구축할 수 있는 비-JVM 백엔드 지원에도 투자하고 있다고 개발팀은 덧붙였다.  이 밖에 최신 로드맵에 업데이트된 내용은 다음과 같다.  • iOS와 안드로이드를 포함한 플랫폼 간 코드 공유 기술 ‘KMM(Kotlin Multiplatform Mobile)’이 2022년 봄에 베타 릴리즈 단계로 진입한다. 해당 버전에서는 코드 강조 표시, 탐색 및 완성, 디버깅, 빌드 도구 안정성 문제가 수정되는 한편 동시성도 개선될 예정이다.  • 새로운 네임스페이스 개념의 프로토타입이 제공될 계획이다. 이를 통해 모든 클래스가 자동으로 소유하는 인스턴스 없이 임시 객체를 제공할 수 있다. 네임스페이스 멤버는 JVM의 정적 멤버로 컴파일된다. 이 계획은 자바(Java) 정적 메소드와의 상호 운용성을 개선하고, 모든 자바 유형에서 확장을 가능하게 하기 위해 고안됐다.  • 코드 커버리지를 측정하는 그래들(Gradle) 플러그인 ‘코버(Kover)’가 도입된다. ...

코틀린 프로그래밍 언어 개발 언어 젯브레인 모바일 개발 소프트웨어 개발 자바 JVM 자바스크립트 안드로이드 iOS 컴파일러

2021.11.17

젯브레인에서 만든 JVM, 자바스크립트, 안드로이드 개발용 프로그래밍 언어 ‘코틀린(Kotlin)’의 최신 로드맵이 공개됐다. 해당 로드맵에 따르면 컴파일러 및 모바일 기능이 개선될 예정이다.  코틀린 1.7.0과 그 이후 버전에 대한 로드맵이 젯브레인 공식 블로그에서 지난 11월 10일(현지 시각) 발표됐다. 현재 사용할 수 있는 최신 버전은 코틀린 1.5.31이다(11월 17일 기준).    젯브레인은 컴파일러와 관련해 ‘K2 컴파일러 프론트엔드’ 작업을 알파 상태로 만드는 데 주력하고 있다고 밝혔다. K2는 코드 분석 그리고 IR(Intermediate Representation)로의 변환을 담당하는 프론트엔드와 함께, 컴파일 속도가 평균 2배 더 빠른 언어 컴파일러라고 코틀린 개발팀은 설명했다.  또한 K2 알파 릴리즈에서는 새로운 플러그인 인프라를 프리뷰로 제공할 계획이다. 아울러 K2 컴파일러로 멀티플랫폼 프로젝트를 구축할 수 있는 비-JVM 백엔드 지원에도 투자하고 있다고 개발팀은 덧붙였다.  이 밖에 최신 로드맵에 업데이트된 내용은 다음과 같다.  • iOS와 안드로이드를 포함한 플랫폼 간 코드 공유 기술 ‘KMM(Kotlin Multiplatform Mobile)’이 2022년 봄에 베타 릴리즈 단계로 진입한다. 해당 버전에서는 코드 강조 표시, 탐색 및 완성, 디버깅, 빌드 도구 안정성 문제가 수정되는 한편 동시성도 개선될 예정이다.  • 새로운 네임스페이스 개념의 프로토타입이 제공될 계획이다. 이를 통해 모든 클래스가 자동으로 소유하는 인스턴스 없이 임시 객체를 제공할 수 있다. 네임스페이스 멤버는 JVM의 정적 멤버로 컴파일된다. 이 계획은 자바(Java) 정적 메소드와의 상호 운용성을 개선하고, 모든 자바 유형에서 확장을 가능하게 하기 위해 고안됐다.  • 코드 커버리지를 측정하는 그래들(Gradle) 플러그인 ‘코버(Kover)’가 도입된다. ...

2021.11.17

젯브레인, CI/CD용 코드 품질 모니터링 플랫폼 ‘코다나’ 공개

젯브레인이 코드 품질 모니터링 플랫폼 ‘코다나(Qodana)’를 출시했다. 코다나는 젯브레인의 인텔리J IDE(IntelliJ IDE)와 통합돼 코드 무결성을 평가하고 CI/CD 파이프라인을 강화할 수 있다.  지난 10월 19일(현지 시각) 발표된 ‘코다나’는 에러 및 검사의 통합과 시각화를 제공하는 범용 플랫폼이다. 또한 라이선스 감사 및 복제 탐지 등의 프로젝트 수준 검사를 지원한다. 소유, 계약, 구매 코드를 평가할 수도 있다.    코다나는 젯브레인의 인텔리J 아이디어 IDE(IntelliJ Idea IDE)를 기반으로 한다. 이는 현재 자바(Jav)와 코틀린(Kotlin)을 지원하며, 향후 다른 JVM 언어도 지원할 예정이라고 회사 측은 밝혔다. 최종적으로 코다나는 젯브레인이 지원하는 모든 언어와 기술을 제공할 계획이다. PHP 및 파이썬은 초기 액세스 프로그램으로 사용할 수 있다. 코다나는 CI/CD에 맞춰져 있지만 로컬에서도 사용할 수 있다. 도커 이미지는 어디서나 실행할 수 있다.  회사에 따르면 코다나는 젯브레인 IDE의 ‘스마트’ 기능을 CI/CD 파이프라인에 제공한다. 코다나를 사용하면 IDE 및 CI 시스템에서 동일한 범용 검사 세트를 쓸 수 있다. JVM용 코다나를 활용하면 JVM 코드베이스의 정적 분석을 수행할 수 있다. JVM용 코다나의 커뮤니티 버전은 무료로 제공된다.  젯브레인은 앞으로 자동화된 보안, 라이선스 준수 확인, 우선적 지원 등의 기능을 도입해 JVM 엔터프라이즈용 코다나를 제공할 계획이다. 현재 젯브레인 IDE 사용자는 코다나 무료 라이선스를 받을 수 있다. 코다나를 시작하는 방법은 이곳에서 확인할 수 있다.  코다나는 젯브레인 스페이스(JetBrains Space), 팀시티(TeamCity), 깃허브 액션(GitHub Actions), 젠킨스(Jenkins) 및 깃허브 CI(GitLab CI) 등의 CI/CD 파이프라인과 통합되도록 설계됐다. 스페이...

젯브레인 인텔리J IDE 통합개발환경 코드 품질 모니터링 코다나 CI CD CI/CD 자바 코틀린 JVM 언어

2021.10.25

젯브레인이 코드 품질 모니터링 플랫폼 ‘코다나(Qodana)’를 출시했다. 코다나는 젯브레인의 인텔리J IDE(IntelliJ IDE)와 통합돼 코드 무결성을 평가하고 CI/CD 파이프라인을 강화할 수 있다.  지난 10월 19일(현지 시각) 발표된 ‘코다나’는 에러 및 검사의 통합과 시각화를 제공하는 범용 플랫폼이다. 또한 라이선스 감사 및 복제 탐지 등의 프로젝트 수준 검사를 지원한다. 소유, 계약, 구매 코드를 평가할 수도 있다.    코다나는 젯브레인의 인텔리J 아이디어 IDE(IntelliJ Idea IDE)를 기반으로 한다. 이는 현재 자바(Jav)와 코틀린(Kotlin)을 지원하며, 향후 다른 JVM 언어도 지원할 예정이라고 회사 측은 밝혔다. 최종적으로 코다나는 젯브레인이 지원하는 모든 언어와 기술을 제공할 계획이다. PHP 및 파이썬은 초기 액세스 프로그램으로 사용할 수 있다. 코다나는 CI/CD에 맞춰져 있지만 로컬에서도 사용할 수 있다. 도커 이미지는 어디서나 실행할 수 있다.  회사에 따르면 코다나는 젯브레인 IDE의 ‘스마트’ 기능을 CI/CD 파이프라인에 제공한다. 코다나를 사용하면 IDE 및 CI 시스템에서 동일한 범용 검사 세트를 쓸 수 있다. JVM용 코다나를 활용하면 JVM 코드베이스의 정적 분석을 수행할 수 있다. JVM용 코다나의 커뮤니티 버전은 무료로 제공된다.  젯브레인은 앞으로 자동화된 보안, 라이선스 준수 확인, 우선적 지원 등의 기능을 도입해 JVM 엔터프라이즈용 코다나를 제공할 계획이다. 현재 젯브레인 IDE 사용자는 코다나 무료 라이선스를 받을 수 있다. 코다나를 시작하는 방법은 이곳에서 확인할 수 있다.  코다나는 젯브레인 스페이스(JetBrains Space), 팀시티(TeamCity), 깃허브 액션(GitHub Actions), 젠킨스(Jenkins) 및 깃허브 CI(GitLab CI) 등의 CI/CD 파이프라인과 통합되도록 설계됐다. 스페이...

2021.10.25

젯브레인, 데이터 과학용 IDE 프리뷰 공개

인텔리제이 아이디어(IntelliJ IDEA)와 코틀린(Kotlin) 개발사 젯브레인(JetBrains)이 데이터 과학 전용 IDE ‘데이터스펠(DataSpell)’을 조기 액세스 프로그램(EAP)으로 공개했다.    지난 9월 7일(현지 시각) 공개된 ‘데이터스펠’은 이곳(jetbrains.com)에서 액세스할 수 있다. 이는 탐색적 데이터 분석 및 머신러닝 모델 프로토타이핑을 지원하는 데이터 과학 전문가용 개발 환경이다. 코딩을 허용하면서 데이터의 우선순위를 지정하는 인터페이스가 특징이다.  젯브레인에 따르면 데이터스펠은 기존 주피터 노트북 경험을 개선하는 주피터 노트북 기본 지원을 제공한다. 예를 들면 사용자는 셀과 콘텐츠를 처리할 때 한 번의 키 입력으로 명령 모드와 편집기 모드 사이를 전환할 수 있다. 이 밖에 노트북에서 향상된 기능은 다음과 같다.  • 파이썬용 지능형 코딩 지원  • 즉시 사용할 수 있는 목차 • 폴딩 트레이스백 • 인터랙티브 테이블  셀 출력은 마크다운(Markdown) 및 자바스크립트(JavaScript)를 지원한다. 또 데이터스펠을 사용하면 로컬 주피터 노트북은 물론이고 원격 주피터, 주피터허브 또는 주피터랩 서버로 작업할 수 있다.  데이터 스펠은 파이썬 스크립트를 지원하여 코드 실행을 위한 PERL과 대화형 및 정적 데이터 시각화 작업을 위한 추가 도구도 제공한다. 이를테면 플로틀리(Plotly), 보케(Bokeh), 아이피위젯(ipywidgets), 알테어(Altair) 등의 인기 있는 파이썬 과학 라이브러리가 지원된다. 현재 R 언어는 기본 지원된다. 줄리아(Julia)와 같은 다른 언어는 향후 추가될 예정이라고 젯브레인은 밝혔다.  버전 제어를 위해 데이터스펠은 깃(Git) 프로젝트를 복제하고, 변경사항을 커밋 및 푸시하며, 여러 브랜치로 작업한다. 그 다음 변경 목록을 관리하고, 커밋 전에 업데이트를 준비할 수 있다. SQL 코드를 ...

젯브레인 인텔리제이 아이디어 코틀린 데이터스펠 데이터 과학 머신러닝

2021.09.09

인텔리제이 아이디어(IntelliJ IDEA)와 코틀린(Kotlin) 개발사 젯브레인(JetBrains)이 데이터 과학 전용 IDE ‘데이터스펠(DataSpell)’을 조기 액세스 프로그램(EAP)으로 공개했다.    지난 9월 7일(현지 시각) 공개된 ‘데이터스펠’은 이곳(jetbrains.com)에서 액세스할 수 있다. 이는 탐색적 데이터 분석 및 머신러닝 모델 프로토타이핑을 지원하는 데이터 과학 전문가용 개발 환경이다. 코딩을 허용하면서 데이터의 우선순위를 지정하는 인터페이스가 특징이다.  젯브레인에 따르면 데이터스펠은 기존 주피터 노트북 경험을 개선하는 주피터 노트북 기본 지원을 제공한다. 예를 들면 사용자는 셀과 콘텐츠를 처리할 때 한 번의 키 입력으로 명령 모드와 편집기 모드 사이를 전환할 수 있다. 이 밖에 노트북에서 향상된 기능은 다음과 같다.  • 파이썬용 지능형 코딩 지원  • 즉시 사용할 수 있는 목차 • 폴딩 트레이스백 • 인터랙티브 테이블  셀 출력은 마크다운(Markdown) 및 자바스크립트(JavaScript)를 지원한다. 또 데이터스펠을 사용하면 로컬 주피터 노트북은 물론이고 원격 주피터, 주피터허브 또는 주피터랩 서버로 작업할 수 있다.  데이터 스펠은 파이썬 스크립트를 지원하여 코드 실행을 위한 PERL과 대화형 및 정적 데이터 시각화 작업을 위한 추가 도구도 제공한다. 이를테면 플로틀리(Plotly), 보케(Bokeh), 아이피위젯(ipywidgets), 알테어(Altair) 등의 인기 있는 파이썬 과학 라이브러리가 지원된다. 현재 R 언어는 기본 지원된다. 줄리아(Julia)와 같은 다른 언어는 향후 추가될 예정이라고 젯브레인은 밝혔다.  버전 제어를 위해 데이터스펠은 깃(Git) 프로젝트를 복제하고, 변경사항을 커밋 및 푸시하며, 여러 브랜치로 작업한다. 그 다음 변경 목록을 관리하고, 커밋 전에 업데이트를 준비할 수 있다. SQL 코드를 ...

2021.09.09

젯브레인, 코틀린 1.5.30 출시··· “새 언어 기능 지원”

젯브레인이 ‘코틀린 1.5.30’을 지난 8월 25일(현지 시각) 공개했다. 코틀린 버전 1.5.30은 새로운 언어 기능과 표준 라이브러리 추가 기능을 실험적으로 지원한다. 또한 실험적 기능에는 곧 출시 예정인 코틀린 1.6.0 릴리즈에서 제공될 주석 클래스의 봉인된 when 명령문 및 인스턴스화도 포함됐다.    버전 1.5.30에서 봉인된 when 명령문 기능을 활성화하면 when 명령문이 완전하지 않을 때 컴파일러 경고가 표시된다. 개발자가 자체 기능을 도입할 필요 없이 코드를 더 안전하게 만들 수 있다고 개발팀은 설명했다.  상위유형(supertype)으로 suspend 기능이 지원된다. 여러 suspend 기능 상위유형을 사용할 수 없는 등의 제한 사항이 있긴 하지만 suspend 기능 유형을 상위 인터페이스로 사용할 수 있는 기능이 프리뷰로 제공된다.   코틀린 1.5.30 설치 지침은 이곳(blog.jetbrains.com)에서 확인할 수 있다. 이 밖의 개선사항은 다음과 같다.  • 코틀린/JVM(Kotlin/JVM)의 경우 주석 클래스의 인스턴스화를 활성화해 임의의 코드에서 주석 클래스의 생성자를 호출하여 결과 인스턴스를 얻을 수 있다. 또한 컴파일러가 특정 유형의 null 허용 여부 주석의 정보를 기반으로 null 허용 여부 불일치를 보고할지 지정할 수 있다.  • 애플 실리콘 컴퓨터의 기본 지원이 제공된다.  • 다양한 대상에서 옵트인 요구사항 주석을 사용하고 선언하기 위한 새로운 규칙이 제공된다.  • 표준 라이브러리에서 Duration 및 Regex stdlib API가 개선됐다. 예를 들면 Duration.toString()의 출력을 더 쉽게 읽을 수 있게 됐다. Duration API는 코틀린 1.6.0에서 안정화 버전으로 제공될 예정이다.  • 재귀 제니릭 유형에서 유형 유추를 활성화하면 컴파일러가 재귀 제니릭인 경우 해당 유형 매개변수...

젯브레인 코틀린

2021.08.30

젯브레인이 ‘코틀린 1.5.30’을 지난 8월 25일(현지 시각) 공개했다. 코틀린 버전 1.5.30은 새로운 언어 기능과 표준 라이브러리 추가 기능을 실험적으로 지원한다. 또한 실험적 기능에는 곧 출시 예정인 코틀린 1.6.0 릴리즈에서 제공될 주석 클래스의 봉인된 when 명령문 및 인스턴스화도 포함됐다.    버전 1.5.30에서 봉인된 when 명령문 기능을 활성화하면 when 명령문이 완전하지 않을 때 컴파일러 경고가 표시된다. 개발자가 자체 기능을 도입할 필요 없이 코드를 더 안전하게 만들 수 있다고 개발팀은 설명했다.  상위유형(supertype)으로 suspend 기능이 지원된다. 여러 suspend 기능 상위유형을 사용할 수 없는 등의 제한 사항이 있긴 하지만 suspend 기능 유형을 상위 인터페이스로 사용할 수 있는 기능이 프리뷰로 제공된다.   코틀린 1.5.30 설치 지침은 이곳(blog.jetbrains.com)에서 확인할 수 있다. 이 밖의 개선사항은 다음과 같다.  • 코틀린/JVM(Kotlin/JVM)의 경우 주석 클래스의 인스턴스화를 활성화해 임의의 코드에서 주석 클래스의 생성자를 호출하여 결과 인스턴스를 얻을 수 있다. 또한 컴파일러가 특정 유형의 null 허용 여부 주석의 정보를 기반으로 null 허용 여부 불일치를 보고할지 지정할 수 있다.  • 애플 실리콘 컴퓨터의 기본 지원이 제공된다.  • 다양한 대상에서 옵트인 요구사항 주석을 사용하고 선언하기 위한 새로운 규칙이 제공된다.  • 표준 라이브러리에서 Duration 및 Regex stdlib API가 개선됐다. 예를 들면 Duration.toString()의 출력을 더 쉽게 읽을 수 있게 됐다. Duration API는 코틀린 1.6.0에서 안정화 버전으로 제공될 예정이다.  • 재귀 제니릭 유형에서 유형 유추를 활성화하면 컴파일러가 재귀 제니릭인 경우 해당 유형 매개변수...

2021.08.30

'인텔리J IDEA' 2021.2 출시··· 프로젝트 분석 추가 및 빌드 시스템 개선

‘인텔리J IDEA(IntelliJ IDEA) 2021.2’가 출시됐다. 이번 릴리즈를 사용하면 컴파일 전에 자바(Java) 코드 변경사항에 오류가 있는지 확인하고 패키지 검색(Package Search) 플러그인을 통해 메이븐(Maven) 및 그래들(Gradle) 종속성을 쉽게 관리할 수 있다.  젯브레인(JetBrains)이 JVM 언어용 통합 개발 환경 ‘인텔리J IDEA’의 버전 2021.2를 공개했다. 프로젝트 분석 및 더 간편해진 빌드 시스템 종속성 관리 등이 이번 업데이트의 주요 특징이다.    인텔리J IDEA 2021.2는 지난 7월 26일 릴리즈 됐으며, 이곳(jetbrains.com)에서 다운로드할 수 있다. 회사에 따르면 이번 버전에는 자바 프로젝트용 프로젝트 전체 분석이 도입됐다. 이는 컴파일 전에 모든 코드 변경사항에 오류가 있는지 확인하는 새로운 기능이다(단 해당 기능은 현재 인텔리J IDEA 얼티메이트 에디션에서만 사용할 수 있다). 또한 이 IDE의 얼티메이트(Uitimate) 버전과 커뮤니티(Community) 버전 모두에서 2021.2 버전은 프로젝트가 저장될 때 코드 재포맷 및 가져오기 최적화를 포함하여 여러 작업을 실행한다. 이러한 작업은 기본 설정(Preferences/Settings) > 도구(Tools) > 저장 시 작업(Actions on Save)에 그룹화돼 있다.  버전 2021.2에서는 종속성의 버전 업데이트를 찾을 수 있도록 지원하는 패키지 검색 플러그인도 제공한다. 이를 통해 개발자는 메이븐 및 그래들 종속성을 간편하게 관리할 수 있다. 이 밖에 인텔리J IDEA 2021.2의 새로운 기능은 다음과 같다.  • 자바에서 새로운 2단계 자바FX(JavaFX) 프로젝트 마법사가 도입됐다. 또 개발자는 공개, 보호, 비공개 자바 멤버(메서드, 필드, 클래스)를 다양한 방식으로 표시할 수 있다. 데이터 흐름 분석의 특정 사용 사례에 관한 새로운 검사...

젯브레인 인텔리J IDEA 통합개발환경 IDE 자바 코틀린 인텔리J 소프트웨어 개발 개발자 메이븐 그래들

2021.08.10

‘인텔리J IDEA(IntelliJ IDEA) 2021.2’가 출시됐다. 이번 릴리즈를 사용하면 컴파일 전에 자바(Java) 코드 변경사항에 오류가 있는지 확인하고 패키지 검색(Package Search) 플러그인을 통해 메이븐(Maven) 및 그래들(Gradle) 종속성을 쉽게 관리할 수 있다.  젯브레인(JetBrains)이 JVM 언어용 통합 개발 환경 ‘인텔리J IDEA’의 버전 2021.2를 공개했다. 프로젝트 분석 및 더 간편해진 빌드 시스템 종속성 관리 등이 이번 업데이트의 주요 특징이다.    인텔리J IDEA 2021.2는 지난 7월 26일 릴리즈 됐으며, 이곳(jetbrains.com)에서 다운로드할 수 있다. 회사에 따르면 이번 버전에는 자바 프로젝트용 프로젝트 전체 분석이 도입됐다. 이는 컴파일 전에 모든 코드 변경사항에 오류가 있는지 확인하는 새로운 기능이다(단 해당 기능은 현재 인텔리J IDEA 얼티메이트 에디션에서만 사용할 수 있다). 또한 이 IDE의 얼티메이트(Uitimate) 버전과 커뮤니티(Community) 버전 모두에서 2021.2 버전은 프로젝트가 저장될 때 코드 재포맷 및 가져오기 최적화를 포함하여 여러 작업을 실행한다. 이러한 작업은 기본 설정(Preferences/Settings) > 도구(Tools) > 저장 시 작업(Actions on Save)에 그룹화돼 있다.  버전 2021.2에서는 종속성의 버전 업데이트를 찾을 수 있도록 지원하는 패키지 검색 플러그인도 제공한다. 이를 통해 개발자는 메이븐 및 그래들 종속성을 간편하게 관리할 수 있다. 이 밖에 인텔리J IDEA 2021.2의 새로운 기능은 다음과 같다.  • 자바에서 새로운 2단계 자바FX(JavaFX) 프로젝트 마법사가 도입됐다. 또 개발자는 공개, 보호, 비공개 자바 멤버(메서드, 필드, 클래스)를 다양한 방식으로 표시할 수 있다. 데이터 흐름 분석의 특정 사용 사례에 관한 새로운 검사...

2021.08.10

코틀린 버전 1.5.20 출시··· “자바 코딩 기능 개선”

젯브레인(JetBrains)에서 개발한 프로그래밍 언어 ‘코틀린(Kotlin)’의 버전 1.5.20이 출시됐다. 코틀린 1.5.20은 ‘JSpecify 자바 널니스(JSpecify Java nullness)’ 기능과 함께 더 쉽게 코딩할 수 있도록 지원하는 '롬복 자바 라이브러리(Lombok Jave library)'를 실험적으로 지원한다.    개발팀에 따르면 지난 6월 23일 릴리즈된 코틀린 1.5.20은 동일한 모듈에서 롬복으로 생성한 메소드 호출을 실험적으로 지원한다. 즉 롬복 컴파일러 플러그인을 추가하면 혼합 자바/코틀린 모듈에서 코틀린 코드로 롬복 선언을 사용할 수 있다. 롬복 라이브러리는 편집기와 빌드 도구에 연결되며, 로깅 변수 자동화와 같은 기능을 사용해 보일러플레이트 코드를 작성해야 하는 필요성을 줄여준다.  또 이번 릴리즈는 정적 분석을 위한 표준 자바 주석을 제공하는 JSpecify를 실험적으로 지원한다.자바 널니스 주석(Java nullness annotations)의 표준 통합 세트를 포함하는 JSpecify는 코틀린이 자바와 상호 운용할 때 널 안정성을 유지할 수 있도록 더 자세한 널 허용 여부 정보를 제공한다.  코틀린 1.5.20 설치 가이드는 이곳(blog.jetbrains.com)에서 확인할 수 있다. 이번 버전의 다른 기능은 아래와 같다.  • 그래들(Gradle)의 경우 코틀린 작업의 병렬 실행은 이제 그래들 병렬 실행 메커니즘에 의해 완전히 제어된다. kotlin.parallel.tasks.in.project 속성은 더 이상 사용되지 않는다. 또한 kapt에서 주석 프로세서의 클래스로더를 실험적으로 캐싱하여 경우에 따라 연속적인 그래들 실행에 대한 kapt 속도를 높였다.  • 코틀린/네이티브 컴파일러는 코틀린 코드의 문서 코멘트(KDoC)를 오브젝티브-C(Objective-C) 프레임워크로 내보낼 수 있다. 이 실험적 기능은 스위프트 언어(Swift)에서도...

젯브레인 코틀린 프로그래밍 언어 개발 언어 롬복 자바 자바스크립트 그래들

2021.06.30

젯브레인(JetBrains)에서 개발한 프로그래밍 언어 ‘코틀린(Kotlin)’의 버전 1.5.20이 출시됐다. 코틀린 1.5.20은 ‘JSpecify 자바 널니스(JSpecify Java nullness)’ 기능과 함께 더 쉽게 코딩할 수 있도록 지원하는 '롬복 자바 라이브러리(Lombok Jave library)'를 실험적으로 지원한다.    개발팀에 따르면 지난 6월 23일 릴리즈된 코틀린 1.5.20은 동일한 모듈에서 롬복으로 생성한 메소드 호출을 실험적으로 지원한다. 즉 롬복 컴파일러 플러그인을 추가하면 혼합 자바/코틀린 모듈에서 코틀린 코드로 롬복 선언을 사용할 수 있다. 롬복 라이브러리는 편집기와 빌드 도구에 연결되며, 로깅 변수 자동화와 같은 기능을 사용해 보일러플레이트 코드를 작성해야 하는 필요성을 줄여준다.  또 이번 릴리즈는 정적 분석을 위한 표준 자바 주석을 제공하는 JSpecify를 실험적으로 지원한다.자바 널니스 주석(Java nullness annotations)의 표준 통합 세트를 포함하는 JSpecify는 코틀린이 자바와 상호 운용할 때 널 안정성을 유지할 수 있도록 더 자세한 널 허용 여부 정보를 제공한다.  코틀린 1.5.20 설치 가이드는 이곳(blog.jetbrains.com)에서 확인할 수 있다. 이번 버전의 다른 기능은 아래와 같다.  • 그래들(Gradle)의 경우 코틀린 작업의 병렬 실행은 이제 그래들 병렬 실행 메커니즘에 의해 완전히 제어된다. kotlin.parallel.tasks.in.project 속성은 더 이상 사용되지 않는다. 또한 kapt에서 주석 프로세서의 클래스로더를 실험적으로 캐싱하여 경우에 따라 연속적인 그래들 실행에 대한 kapt 속도를 높였다.  • 코틀린/네이티브 컴파일러는 코틀린 코드의 문서 코멘트(KDoC)를 오브젝티브-C(Objective-C) 프레임워크로 내보낼 수 있다. 이 실험적 기능은 스위프트 언어(Swift)에서도...

2021.06.30

“JVM 레코드, 실드 인터페이스 안정화”··· 코틀린 1.5.0 정식 출시

젯브레인(JetBrains)에서 개발한 정적 타입 언어의 최신 버전 ‘코틀린 1.5.0’이 프로덕션 릴리즈로 출시됐다. 이번 릴리즈에서는 JVM 레코드(JVM records), 실드 인터페이스(sealed interfaces) 등이 안정적으로 지원된다.    회사에 따르면 코틀린 1.5.0에서는 JVM 레코드 지원을 통해 최신 자바 기능인 레코드 클래스와의 상호 운용성을 유지한다. 레코드는 불변 데이터를 투명하게 전달하는 클래스이며, 이때 레코드는 명목상의 튜플(nominal tuples) 역할을 한다. 또한 실드 인터페이스를 지원하기 위해 코틀린 1.5.0은 실드 모디파이어(sealed modifier)를 도입했다. 이는 클래스에서 작동하는 방식과 동일하게 인터페이스에서 작동하며, 실드 인터페이스의 모든 구현은 컴파일 시 인식된다고 젯브레인은 전했다.  코틀린 1.5.0은 이곳(kotlinlang.org)에서 다운로드할 수 있다. 이 밖의 새로운 기능 및 개선사항은 다음과 같다.  • 컴파일 유닛 및 패키지가 동일하다면 실드 클래스의 하위 클래스가 어느 파일이든 위치할 수 있다. 이전에는 모든 하위 클래스가 실드 클래스와 동일한 파일에 있어야 했다.  • 인라인 클래스는 값만 포함하는 값 기반 클래스의 하위 집합이다. 이를 메모리 할당 사용으로 인한 추가 오버헤드 없이 특정 유형의 값에 래퍼로 사용할 수 있다.  • 부호 없는 정수 유형, 부호 없는 정수 유형의 범위 및 형변환, 부호 없는 정수 유형으로 작동하는 함수가 안정화된 API(Stable API)로 제공된다.  • 코틀린 1.4.0에서 발표됐던 새로운 JVM IR 컴파일러(JVM IR compiler)가 안정화됐으며, 디폴트로 설정됐다.  • java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다. • 문자열 및 문자의 대소문자를 변경하기 위해 ...

코틀린 자바 개발 언어 프로그래밍 언어 소프트웨어 개발

2021.05.10

젯브레인(JetBrains)에서 개발한 정적 타입 언어의 최신 버전 ‘코틀린 1.5.0’이 프로덕션 릴리즈로 출시됐다. 이번 릴리즈에서는 JVM 레코드(JVM records), 실드 인터페이스(sealed interfaces) 등이 안정적으로 지원된다.    회사에 따르면 코틀린 1.5.0에서는 JVM 레코드 지원을 통해 최신 자바 기능인 레코드 클래스와의 상호 운용성을 유지한다. 레코드는 불변 데이터를 투명하게 전달하는 클래스이며, 이때 레코드는 명목상의 튜플(nominal tuples) 역할을 한다. 또한 실드 인터페이스를 지원하기 위해 코틀린 1.5.0은 실드 모디파이어(sealed modifier)를 도입했다. 이는 클래스에서 작동하는 방식과 동일하게 인터페이스에서 작동하며, 실드 인터페이스의 모든 구현은 컴파일 시 인식된다고 젯브레인은 전했다.  코틀린 1.5.0은 이곳(kotlinlang.org)에서 다운로드할 수 있다. 이 밖의 새로운 기능 및 개선사항은 다음과 같다.  • 컴파일 유닛 및 패키지가 동일하다면 실드 클래스의 하위 클래스가 어느 파일이든 위치할 수 있다. 이전에는 모든 하위 클래스가 실드 클래스와 동일한 파일에 있어야 했다.  • 인라인 클래스는 값만 포함하는 값 기반 클래스의 하위 집합이다. 이를 메모리 할당 사용으로 인한 추가 오버헤드 없이 특정 유형의 값에 래퍼로 사용할 수 있다.  • 부호 없는 정수 유형, 부호 없는 정수 유형의 범위 및 형변환, 부호 없는 정수 유형으로 작동하는 함수가 안정화된 API(Stable API)로 제공된다.  • 코틀린 1.4.0에서 발표됐던 새로운 JVM IR 컴파일러(JVM IR compiler)가 안정화됐으며, 디폴트로 설정됐다.  • java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다. • 문자열 및 문자의 대소문자를 변경하기 위해 ...

2021.05.10

젯브레인, '인텔리J IDEA' 2021.1 공개··· 대상 실행 지원 

‘인텔리J IDEA(IntelliJ IDEA) 2021.1’이 출시됐다. 이번 릴리즈에서 제공하는 새로운 기능을 사용하면 개발자는 도커 컨테이너, SSH 서버, WSL에서 코드를 실행해 원격 테스트 및 디버깅을 수행할 수 있다.  젯브레인(JetBrains)이 ‘인텔리J IDEA 2021.1’을 공개했다. 해당 IDE에서 애플리케이션을 실행하는 새로운 방법을 제공한다는 게 이번 업데이트의 주요 특징이다. 또한 새 버전은 코틀린(Kotlin) 지원을 개선하고 자바 16(Java 16) 지원을 추가했다.   지난 4월 6일(현지 시각) 출시된 인텔리J IDEA 2021.1은 이 통합개발환경의 올해 첫 번째 릴리즈다. 이번 릴리즈에서 주목할 만한 부분은 IDE 내부에서 애플리케이션을 실행하는 새로운 기능이다. 현재 초기 버전으로 제공되는 해당 기능을 사용하면 애플리케이션 또는 테스트의 실행 구성을 편집해 실행 대상(도커 컨테이너, SSH 서버, WSL)을 설정할 수 있다. 이전에는 앱이 로컬에서 실행됐다.  예를 들어 새 실행 구성 옵션을 사용해 SSH 또는 도커 대상에서 스프링 부트(Spring Boot) 애플리케이션을 실행할 수 있다. 도커를 선택하면 개발자는 이미지를 가져오거나 빌드할 수 있다. 이미지를 가져오는 경우 코드 완성은 적절한 이미지를 선택하도록 지원한다.   또 커밋 전 코드 분석을 지원하는 검사 프로파일을 선택할 수 있는 기능이 추가됐다. 변경사항이 생성됐을 때 즉시 보여주는 HTML 미리보기도 기본 제공된다. JSONPath 표현식을 지원하는 기능도 추가됐다. 이 밖에 인텔리J IDEA 2021.1의 다른 새로운 기능 및 개선사항은 다음과 같다.  • 코틀린(Kotlin) 언어의 경우 이제 코틀린 코드에서 잘못된 패키지 종속성을 정의할 수 있다. 잘못된 패키지 종속성을 정의하면 코드가 실수로 잘못된 패키지에 종속되는 것(예: UI 계층에 의존하는 데이터베이스 계층)을 방지할 수 있다. 이...

젯브레인 인텔리J IDEA 통합개발환경 IDE 자바 코틀린 인텔리J 소프트웨어 개발 개발자

2021.04.22

‘인텔리J IDEA(IntelliJ IDEA) 2021.1’이 출시됐다. 이번 릴리즈에서 제공하는 새로운 기능을 사용하면 개발자는 도커 컨테이너, SSH 서버, WSL에서 코드를 실행해 원격 테스트 및 디버깅을 수행할 수 있다.  젯브레인(JetBrains)이 ‘인텔리J IDEA 2021.1’을 공개했다. 해당 IDE에서 애플리케이션을 실행하는 새로운 방법을 제공한다는 게 이번 업데이트의 주요 특징이다. 또한 새 버전은 코틀린(Kotlin) 지원을 개선하고 자바 16(Java 16) 지원을 추가했다.   지난 4월 6일(현지 시각) 출시된 인텔리J IDEA 2021.1은 이 통합개발환경의 올해 첫 번째 릴리즈다. 이번 릴리즈에서 주목할 만한 부분은 IDE 내부에서 애플리케이션을 실행하는 새로운 기능이다. 현재 초기 버전으로 제공되는 해당 기능을 사용하면 애플리케이션 또는 테스트의 실행 구성을 편집해 실행 대상(도커 컨테이너, SSH 서버, WSL)을 설정할 수 있다. 이전에는 앱이 로컬에서 실행됐다.  예를 들어 새 실행 구성 옵션을 사용해 SSH 또는 도커 대상에서 스프링 부트(Spring Boot) 애플리케이션을 실행할 수 있다. 도커를 선택하면 개발자는 이미지를 가져오거나 빌드할 수 있다. 이미지를 가져오는 경우 코드 완성은 적절한 이미지를 선택하도록 지원한다.   또 커밋 전 코드 분석을 지원하는 검사 프로파일을 선택할 수 있는 기능이 추가됐다. 변경사항이 생성됐을 때 즉시 보여주는 HTML 미리보기도 기본 제공된다. JSONPath 표현식을 지원하는 기능도 추가됐다. 이 밖에 인텔리J IDEA 2021.1의 다른 새로운 기능 및 개선사항은 다음과 같다.  • 코틀린(Kotlin) 언어의 경우 이제 코틀린 코드에서 잘못된 패키지 종속성을 정의할 수 있다. 잘못된 패키지 종속성을 정의하면 코드가 실수로 잘못된 패키지에 종속되는 것(예: UI 계층에 의존하는 데이터베이스 계층)을 방지할 수 있다. 이...

2021.04.22

코틀린 1.5.0 RC 버전 출시··· “부호없는 정수 유형 안정화”

‘코틀린(Kotlin)’의 최신 버전 1.5.0이 릴리즈 캔디데이트(RC)로 이동했다. 부호없는 정수 유형과 향상된 테스트 라이브러리를 주요 특징으로 한다.  코틀린 1.5.0에서는 버전 1.3부터 베타로 제공됐던 ‘부호없는 정수 유형’이 안정 상태(Stable)로 분류됐다. 이에 따라 시험 사용을 옵트-인(opt-in)하지 않고 쓸 수 있고 실제 프로젝트에서도 안전하게 사용할 수 있게 됐다.    부호없는 정수 유형에는 UInt, ULong, UByte, UShort 및 관련 함수가 포함된다. 표준 라이브러리의 부호없는 정수 API는 음이 아닌 정수 연산을 처리하는 데 유용하다. 안정 상태로 진입한 API에는 ▲부호없는 정수 유형, ▲부호없는 정수 유형의 범위 및 형변환, ▲부호없는 정수 유형으로 작동하는 함수가 포함된다. 부호없는 정수 배열은 아직 베타 상태다.  지난 4월 13일 출시된 RC 버전의 설치 지침은 이곳(kotlinlang.org)에서 확인할 수 있다. 이 밖에 코틀린 1.5.0 릴리즈 캔디데이트 버전의 개선 사항은 다음과 같다.   • 이제 코틀린에서 java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다. 이 확장 기능은 옵트-인 없이 쓸 수 있다.  • 문자열 및 문자의 대소문자를 변경하기 위해 로케일에 얽매이지 않는 API가 제공된다.  • 문자와 정수 코드 및 숫자 값 사이의 명확한 변환을 위한 새로운 함수 세트가 제공된다.  • 테스트 라이브러리에서는 멀티플랫폼 프로젝트에 단일 kotlin-test 종속성이 제공된다. 또 개발자는 코틀린/JVM 소스 세트에서 테스트 프레임워크를 자동 선택할 수 있다. 어설션 기능도 업데이트됐다.  • 코틀린 개발팀은 멀티플랫폼 프로젝트 공통 코드에 모든 기능을 제공하고자 표준 라이브러리의 멀티플랫폼 부분을 계속해서 확장하고 있다. 이제 모...

젯브레인 코틀린 프로그래밍 언어 개발 언어 자바 소프트웨어 개발

2021.04.19

‘코틀린(Kotlin)’의 최신 버전 1.5.0이 릴리즈 캔디데이트(RC)로 이동했다. 부호없는 정수 유형과 향상된 테스트 라이브러리를 주요 특징으로 한다.  코틀린 1.5.0에서는 버전 1.3부터 베타로 제공됐던 ‘부호없는 정수 유형’이 안정 상태(Stable)로 분류됐다. 이에 따라 시험 사용을 옵트-인(opt-in)하지 않고 쓸 수 있고 실제 프로젝트에서도 안전하게 사용할 수 있게 됐다.    부호없는 정수 유형에는 UInt, ULong, UByte, UShort 및 관련 함수가 포함된다. 표준 라이브러리의 부호없는 정수 API는 음이 아닌 정수 연산을 처리하는 데 유용하다. 안정 상태로 진입한 API에는 ▲부호없는 정수 유형, ▲부호없는 정수 유형의 범위 및 형변환, ▲부호없는 정수 유형으로 작동하는 함수가 포함된다. 부호없는 정수 배열은 아직 베타 상태다.  지난 4월 13일 출시된 RC 버전의 설치 지침은 이곳(kotlinlang.org)에서 확인할 수 있다. 이 밖에 코틀린 1.5.0 릴리즈 캔디데이트 버전의 개선 사항은 다음과 같다.   • 이제 코틀린에서 java.nio.file.Path용 확장 기능을 통해 자바의 최신 비차단 I/O를 코틀린 관용구 스타일로 사용할 수 있다. 이 확장 기능은 옵트-인 없이 쓸 수 있다.  • 문자열 및 문자의 대소문자를 변경하기 위해 로케일에 얽매이지 않는 API가 제공된다.  • 문자와 정수 코드 및 숫자 값 사이의 명확한 변환을 위한 새로운 함수 세트가 제공된다.  • 테스트 라이브러리에서는 멀티플랫폼 프로젝트에 단일 kotlin-test 종속성이 제공된다. 또 개발자는 코틀린/JVM 소스 세트에서 테스트 프레임워크를 자동 선택할 수 있다. 어설션 기능도 업데이트됐다.  • 코틀린 개발팀은 멀티플랫폼 프로젝트 공통 코드에 모든 기능을 제공하고자 표준 라이브러리의 멀티플랫폼 부분을 계속해서 확장하고 있다. 이제 모...

2021.04.19

“스프링 앱을 네이티브 실행파일로 변환”··· 스프링 네이티브 베타 출시 

스프링 네이티브는 그랄VM(GraalVM)을 활용해 스프링 자바(Spring Java) 및 코틀린(Kotlin) 애플리케이션을 네이티브 이미지로 컴파일한다. 이는 JVM(Java Virtual Machine)과 비교해 시작 시간과 메모리 오버헤드를 줄인다는 장점이 있다.    스프링 자바 애플리케이션을 네이티브 이미지라고 부르는 독립형 실행파일로 컴파일하기 위한 ‘스프링 네이티브(Spring Native)’가 베타 릴리즈로 출시됐다. JVM과 비교해 빠른 시작 시간과 낮은 런타임 메모리 오버헤드를 제공하는 게 특징이다.   지난 3월 11일 발표된 스프링 네이티브 베타 릴리즈는 이곳(start.spring.io)에서 다운로드할 수 있다. 공식 블로그에 따르면 이는 다중언어 런타임인 그랄VM을 사용해 스프링 애플리케이션을 네이티브 이미지로 컴파일한다. 이러한 독립형 실행파일은 거의 즉각적인 시작 속도(일반적으로 100ms 미만)와 즉각적인 피크 성능, 낮은 메모리 소비 등의 이점을 제공한다. 단, JVM보다는 빌드 시간이 길고 런타임 최적화가 적다고 개발팀은 전했다.  스프링 네이티브는 자바 및 코틀린 프로그래밍 언어를 지원한다. 스프링 네이티브에 적합한 사용 사례는 다음과 같다.  • 스프링 클라우드 파운데이션(Spring Cloud Function)을 사용하는 서버리스 컴퓨팅 애플리케이션 • 스프링 마이크로서비스 호스팅 • VM웨어 탄주(VMware Tanzu)와 같은 쿠버네티스 플랫폼 작업 스프링 네이티브를 사용하면 개발자는 최소 OS 계층, JDK, 스프링에서 필요한 비트만 전송하는 작은 네이티브 실행파일 그리고 애플리케이션에서 사용 중인 종속성을 포함하는 최적화된 컨테이너 이미지를 생성할 수 있다.  한편 스프링 개발팀은 앞으로 기존 스프링 부트(Spring Boot) 애플리케이션을 크게 변경하지 않고도 네이티브 이미지에 스프링 인프라를 적용할 계획이라고 밝혔다. ciork@idg.co...

스프링 스프링 네이티브 그랄VM 스프링 자바 코틀린 네이티브 이미지 스프링 클라우드 서버리스 쿠버네티스

2021.03.18

스프링 네이티브는 그랄VM(GraalVM)을 활용해 스프링 자바(Spring Java) 및 코틀린(Kotlin) 애플리케이션을 네이티브 이미지로 컴파일한다. 이는 JVM(Java Virtual Machine)과 비교해 시작 시간과 메모리 오버헤드를 줄인다는 장점이 있다.    스프링 자바 애플리케이션을 네이티브 이미지라고 부르는 독립형 실행파일로 컴파일하기 위한 ‘스프링 네이티브(Spring Native)’가 베타 릴리즈로 출시됐다. JVM과 비교해 빠른 시작 시간과 낮은 런타임 메모리 오버헤드를 제공하는 게 특징이다.   지난 3월 11일 발표된 스프링 네이티브 베타 릴리즈는 이곳(start.spring.io)에서 다운로드할 수 있다. 공식 블로그에 따르면 이는 다중언어 런타임인 그랄VM을 사용해 스프링 애플리케이션을 네이티브 이미지로 컴파일한다. 이러한 독립형 실행파일은 거의 즉각적인 시작 속도(일반적으로 100ms 미만)와 즉각적인 피크 성능, 낮은 메모리 소비 등의 이점을 제공한다. 단, JVM보다는 빌드 시간이 길고 런타임 최적화가 적다고 개발팀은 전했다.  스프링 네이티브는 자바 및 코틀린 프로그래밍 언어를 지원한다. 스프링 네이티브에 적합한 사용 사례는 다음과 같다.  • 스프링 클라우드 파운데이션(Spring Cloud Function)을 사용하는 서버리스 컴퓨팅 애플리케이션 • 스프링 마이크로서비스 호스팅 • VM웨어 탄주(VMware Tanzu)와 같은 쿠버네티스 플랫폼 작업 스프링 네이티브를 사용하면 개발자는 최소 OS 계층, JDK, 스프링에서 필요한 비트만 전송하는 작은 네이티브 실행파일 그리고 애플리케이션에서 사용 중인 종속성을 포함하는 최적화된 컨테이너 이미지를 생성할 수 있다.  한편 스프링 개발팀은 앞으로 기존 스프링 부트(Spring Boot) 애플리케이션을 크게 변경하지 않고도 네이티브 이미지에 스프링 인프라를 적용할 계획이라고 밝혔다. ciork@idg.co...

2021.03.18

구글 ‘OSS-퍼즈’, 자바 앱까지 퍼징 확대 지원

구글의 오픈소스 퍼징 서비스 ‘OSS-퍼즈(OSS-Fuzz)’가 이제 자바(Java) 및 JVM(Java Virtual Machine) 기반 언어(예: 코틀린, 스칼라 등)로 작성된 애플리케이션을 지원한다.    ‘OSS-퍼즈’는 오픈소스 소프트웨어에 지속적인 퍼징(continuous fuzzing)을 제공한다. 퍼징은 컴퓨터 프로그램에 유효하지 않은 무작위 데이터 스트림을 입력해 소프트웨어 프로그래밍 오류 및 보안 취약점을 찾는 방법이다.  지난 3월 10일 발표된 보도 자료에 따르면 이제 JVM 언어와 같은 메모리 보안 언어로 작성된 코드를 퍼징해 프로그램이 충돌하거나 잘못 작동하는 버그를 찾을 수 있다.  구글은 코드 인텔리전스(Code Intelligence)의 퍼저인 재저(Jazzer)를 OSS-퍼즈와 통합해 자바와 JVM에 대한 퍼징을 활성화했다고 설명했다. 재저를 사용하면 C/C++로 작성된 코드에서 했던 것처럼 LLVM 프로젝트의 립퍼저(libFuzzer)를 통해 JVM 기반 언어로 작성된 코드를 퍼징할 수 있다.  재저는 자바(Java), 클로저(Clojure), 코틀린(Kotlin), 스칼라(Scala)를 지원한다. 코드 커버리지 피드백은 JVM 바이트코드에서 립퍼저로 제공되며, 재저는 다음과 같은 립퍼저 기능을 지원한다.  • ‘FuzzedDataProvider’: 바이트 배열을 허용하지 않는 퍼징 코드  • 8-bit 엣지 카운터를 기반으로 한 코드 커버리지 평가 • 충돌 입력 최소화 • 가치 프로필  구글은 JVM 언어로 작성된 오픈소스 프로젝트를 OSS-퍼즈에 추가하는 방법을 설명하는 문서를 제공했다. 구글은 궁극적으로 재저가 모든 립퍼저 기능을 지원할 계획이라고 전했다. 재저는 자바 네이티브 인터페이스(Java Native Interface; JNI)를 통해 실행되는 네이티브 코드에서 커버리지 피드백을 제공할 수도 있다. 이를 통해 메모리가 보안되지...

구글 오픈소스 퍼징 퍼즈 테스트 퍼저 OSS-퍼즈 자바 JVM 코틀린 스칼라 프로그래밍 오류 보안 취약점 코드 인텔리전스 재저 립퍼저 클로저

2021.03.15

구글의 오픈소스 퍼징 서비스 ‘OSS-퍼즈(OSS-Fuzz)’가 이제 자바(Java) 및 JVM(Java Virtual Machine) 기반 언어(예: 코틀린, 스칼라 등)로 작성된 애플리케이션을 지원한다.    ‘OSS-퍼즈’는 오픈소스 소프트웨어에 지속적인 퍼징(continuous fuzzing)을 제공한다. 퍼징은 컴퓨터 프로그램에 유효하지 않은 무작위 데이터 스트림을 입력해 소프트웨어 프로그래밍 오류 및 보안 취약점을 찾는 방법이다.  지난 3월 10일 발표된 보도 자료에 따르면 이제 JVM 언어와 같은 메모리 보안 언어로 작성된 코드를 퍼징해 프로그램이 충돌하거나 잘못 작동하는 버그를 찾을 수 있다.  구글은 코드 인텔리전스(Code Intelligence)의 퍼저인 재저(Jazzer)를 OSS-퍼즈와 통합해 자바와 JVM에 대한 퍼징을 활성화했다고 설명했다. 재저를 사용하면 C/C++로 작성된 코드에서 했던 것처럼 LLVM 프로젝트의 립퍼저(libFuzzer)를 통해 JVM 기반 언어로 작성된 코드를 퍼징할 수 있다.  재저는 자바(Java), 클로저(Clojure), 코틀린(Kotlin), 스칼라(Scala)를 지원한다. 코드 커버리지 피드백은 JVM 바이트코드에서 립퍼저로 제공되며, 재저는 다음과 같은 립퍼저 기능을 지원한다.  • ‘FuzzedDataProvider’: 바이트 배열을 허용하지 않는 퍼징 코드  • 8-bit 엣지 카운터를 기반으로 한 코드 커버리지 평가 • 충돌 입력 최소화 • 가치 프로필  구글은 JVM 언어로 작성된 오픈소스 프로젝트를 OSS-퍼즈에 추가하는 방법을 설명하는 문서를 제공했다. 구글은 궁극적으로 재저가 모든 립퍼저 기능을 지원할 계획이라고 전했다. 재저는 자바 네이티브 인터페이스(Java Native Interface; JNI)를 통해 실행되는 네이티브 코드에서 커버리지 피드백을 제공할 수도 있다. 이를 통해 메모리가 보안되지...

2021.03.15

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.5.0.9