Offcanvas

������������������������������������������������������ ������������������������������������������������������

아이파이썬 8.0 출시··· “코드 포맷팅, 역추적 등 개선”

‘아이파이썬(IPython)’의 버전 8이 출시됐다. 이번 업데이트에서는 코드 포맷팅, 자동 제안, 역추적 기능 등이 개선됐다.     지난 1월 12일(현지 시각) 7.0 릴리즈 이후 3년 만에 ‘아이파이썬 8(IPython 8)’이 공개됐다. 개발팀에 따르면 이번 업데이트의 주요 기능 중 하나는 CLI에서 black으로 자동 재포맷하는 것이다. black이 아이파이썬과 동일한 환경에 설치된 경우 터미널 아이파이썬은 가능하다면 CLI에서 기본적으로 코드를 다시 포맷한다.  또한 버전 8에서는 오류가 발생한 셀 번호를 표시해 오류 역추적 기능의 형식을 적절하게 지정한다. 이전에는 코드 셀에서 발생하는 오류 역추적에 파이썬 AST(Abstract Syntax Tree)를 완료하는 데 사용되는 해시를 표시했었다고 개발팀은 설명했다. 아울러 아이파이썬 8에서는 Ctrl-E, Ctrl-F 또는 오른쪽 화살표를 사용하여 자동 제안을 수락할 수 있다.  이는 fish 및 zsh 셸과 프롬프트-툴킷에서 사용할 수 있다.  아이파이썬 설치 지침은 이곳(IPython.org)에서 확인할 수 있다. 해당 문서에 의하면 이번 릴리즈는 아이파이썬 버전 1.0과 5.0 사이에서 더 이상 사용되지 않는 거의 모든 기능 및 모듈을 제거했다.  한편 아이파이썬의 목표는 대화형 및 탐색적 컴퓨팅을 위한 포괄적인 환경을 제공하는 것이다. 이 파이썬 REPL은 ipykernel을 통해 주피터 커널(Jupyter Kernel)에 전원을 공급하고, 탭 완성, 향상된 역추적, 여러 줄 편집, 순수한 파이썬 스크립트 위에 몇 가지 유용한 기능 등을 제공한다. ciokr@idg.co.kr

파이썬 아이파이썬 개발자 개발 언어 프로그래밍 언어

2022.01.14

‘아이파이썬(IPython)’의 버전 8이 출시됐다. 이번 업데이트에서는 코드 포맷팅, 자동 제안, 역추적 기능 등이 개선됐다.     지난 1월 12일(현지 시각) 7.0 릴리즈 이후 3년 만에 ‘아이파이썬 8(IPython 8)’이 공개됐다. 개발팀에 따르면 이번 업데이트의 주요 기능 중 하나는 CLI에서 black으로 자동 재포맷하는 것이다. black이 아이파이썬과 동일한 환경에 설치된 경우 터미널 아이파이썬은 가능하다면 CLI에서 기본적으로 코드를 다시 포맷한다.  또한 버전 8에서는 오류가 발생한 셀 번호를 표시해 오류 역추적 기능의 형식을 적절하게 지정한다. 이전에는 코드 셀에서 발생하는 오류 역추적에 파이썬 AST(Abstract Syntax Tree)를 완료하는 데 사용되는 해시를 표시했었다고 개발팀은 설명했다. 아울러 아이파이썬 8에서는 Ctrl-E, Ctrl-F 또는 오른쪽 화살표를 사용하여 자동 제안을 수락할 수 있다.  이는 fish 및 zsh 셸과 프롬프트-툴킷에서 사용할 수 있다.  아이파이썬 설치 지침은 이곳(IPython.org)에서 확인할 수 있다. 해당 문서에 의하면 이번 릴리즈는 아이파이썬 버전 1.0과 5.0 사이에서 더 이상 사용되지 않는 거의 모든 기능 및 모듈을 제거했다.  한편 아이파이썬의 목표는 대화형 및 탐색적 컴퓨팅을 위한 포괄적인 환경을 제공하는 것이다. 이 파이썬 REPL은 ipykernel을 통해 주피터 커널(Jupyter Kernel)에 전원을 공급하고, 탭 완성, 향상된 역추적, 여러 줄 편집, 순수한 파이썬 스크립트 위에 몇 가지 유용한 기능 등을 제공한다. ciokr@idg.co.kr

2022.01.14

디노, 자바스크립트 표준 기구 ‘ECMA 인터내셔널’ 합류

디노 컴퍼니(Deno Company)가 자바스크립트 표준 개발을 감독하는 표준 기구에 합류했다. ‘디노(Deno)’는 노드.js(Node.js)의 대안으로 개발된 자바스크립트/타입스크립트 런타임이다.    디노 컴퍼니의 엔지니어 루카 카소나토는 지난 12월 13일 공식 블로그에 (디노 컴퍼니가) ECMA 인터내셔널 회원이라고 밝혔다. 이는 자바스크립트의 기초가 되는 ECMA스크립트(ECMAScript) 표준인 ECMA-262를 감독하는 조직이다. 회사에 따르면 디노 컴퍼니는 TC39 워킹 그룹을 통해 자바스크립트의 다음 버전에서 다른 ECMA 회원 및 더 넓은 JS 커뮤니티와 협력할 계획이다. 디노는 모든 사용자, 특히 서버 측 자바스크립트 사용자를 지원하는 기능 및 언어 개선을 추진할 예정이라고 카소나토는 전했다.  디노에서 작업하고자 하는 기능은 다음과 같다.  • ES 모듈 그래프에서 비-JS 자산 지원 개선 • 명시적 리소스 관리 지원 개선 • 비동기 반복을 위한 광범위한 표준 라이브러리 함수 아울러 (타입스크립트가 디노 에코시스템의 핵심 부분이기 때문에) 타입스크립트와 자바스크립트를 긴밀하게 정렬할 계획이 있다고 회사 측은 덧붙였다. 카소나토는 TC39 워킹 그룹에서 디노의 핵심 대표자가 될 예정이다.  한편 자바스크립트 표준의 최신 버전 ‘ECMA스크립트 2021(ECMAScript 2021)’은 지난 6월 승인됐다. 또한 지난 7월 TC39 워킹 그룹은 개발자가 보안 프로그램을 생성할 수 있도록 지원하기 위해 자바스크립트 보안에 중점을 둔 TC39-TG3 워킹 그룹을 구성했다. ciokr@idg.co.kr  

디노 디노 컴퍼니 자바스크립트 타입스트립트 개발자 개발 언어 프로그래밍 언어 ECMA 인터내셔널

2021.12.15

디노 컴퍼니(Deno Company)가 자바스크립트 표준 개발을 감독하는 표준 기구에 합류했다. ‘디노(Deno)’는 노드.js(Node.js)의 대안으로 개발된 자바스크립트/타입스크립트 런타임이다.    디노 컴퍼니의 엔지니어 루카 카소나토는 지난 12월 13일 공식 블로그에 (디노 컴퍼니가) ECMA 인터내셔널 회원이라고 밝혔다. 이는 자바스크립트의 기초가 되는 ECMA스크립트(ECMAScript) 표준인 ECMA-262를 감독하는 조직이다. 회사에 따르면 디노 컴퍼니는 TC39 워킹 그룹을 통해 자바스크립트의 다음 버전에서 다른 ECMA 회원 및 더 넓은 JS 커뮤니티와 협력할 계획이다. 디노는 모든 사용자, 특히 서버 측 자바스크립트 사용자를 지원하는 기능 및 언어 개선을 추진할 예정이라고 카소나토는 전했다.  디노에서 작업하고자 하는 기능은 다음과 같다.  • ES 모듈 그래프에서 비-JS 자산 지원 개선 • 명시적 리소스 관리 지원 개선 • 비동기 반복을 위한 광범위한 표준 라이브러리 함수 아울러 (타입스크립트가 디노 에코시스템의 핵심 부분이기 때문에) 타입스크립트와 자바스크립트를 긴밀하게 정렬할 계획이 있다고 회사 측은 덧붙였다. 카소나토는 TC39 워킹 그룹에서 디노의 핵심 대표자가 될 예정이다.  한편 자바스크립트 표준의 최신 버전 ‘ECMA스크립트 2021(ECMAScript 2021)’은 지난 6월 승인됐다. 또한 지난 7월 TC39 워킹 그룹은 개발자가 보안 프로그램을 생성할 수 있도록 지원하기 위해 자바스크립트 보안에 중점을 둔 TC39-TG3 워킹 그룹을 구성했다. ciokr@idg.co.kr  

2021.12.15

젯브레인, ‘코틀린 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

타입스크립트 4.5 정식 출시··· “프로미스 개선 外”

‘타입스크립트(TypeScript)’의 최신 GA 릴리즈에 Promise 재귀를 모델링하기 위한 새로운 Awaited 유틸리티 유형이 도입됐다. 한편 노드.js용 ESCA스크립트 모듈 지원은 다음 버전으로 연기됐다.  자바스크립트에 정적 타입 문법을 적용한 오픈소스 프로그래밍 언어의 최신 릴리즈 ‘타입스크립트 4.5’가 정식 출시됐다.    이번 릴리즈에는 새로운 유틸리티 유형(Awaited)이 추가됐다. async 함수의 await 또는 Promises 객체의 .then() 메소드와 같은 모델링 작업을 지원한다. 하지만 이와 함께 타입스크립트 4.5에서 지원될 예정이었던 노드.js 12의 ECMA스크립트 모듈(ECMAScript Module; ESM)은 다음 버전으로 미뤄졌다.  마이크로소프트에 따르면 타입스크립트와 연동할 수 있는 노드.js는 지난 몇 년 동안 재사용을 위해 자바스크립트 코드를 패키징할 수 있는 ECMA스크립트 모듈을 지원하고자 해왔다. 노드.js가 다른 모듈 시스템(CommonJS)에 구축됐기 때문에 이를 지원하기 어려웠지만 이제 노드.js의 ESM 지원이 노드.js 버전 12 이상에서 대부분 구현됐다고 회사 측은 밝힌 바 있다.  타입스크립트 4.5의 릴리즈 캔디데이트는 지난 11월 2일 공개됐으며, GA 버전은 11월 17일 발표됐다. 누겟(NuGet) 또는 NPM을 통해 설치할 수 있다.    npm install typescript 이 밖에 타입스크립트 4.5의 새로운 기능 및 개선사항은 다음과 같다.  • JSON 파일의 과도한 realpath 호출로 인해 --build 모드에서 성능 회귀가 추가됐다.  • node_modules의 lib 설정을 향상하기 위해 특정 내장 lib을 재정의하는 간편한 방법이 추가됐다. • 속도 향상을 위해 노드.js realpathSync 기능의 시스템 네이티브 구현이 이제 모든...

마이크로소프트 타입스크립트 자바스크립트 프로그래밍 언어 개발 언어

2021.11.19

‘타입스크립트(TypeScript)’의 최신 GA 릴리즈에 Promise 재귀를 모델링하기 위한 새로운 Awaited 유틸리티 유형이 도입됐다. 한편 노드.js용 ESCA스크립트 모듈 지원은 다음 버전으로 연기됐다.  자바스크립트에 정적 타입 문법을 적용한 오픈소스 프로그래밍 언어의 최신 릴리즈 ‘타입스크립트 4.5’가 정식 출시됐다.    이번 릴리즈에는 새로운 유틸리티 유형(Awaited)이 추가됐다. async 함수의 await 또는 Promises 객체의 .then() 메소드와 같은 모델링 작업을 지원한다. 하지만 이와 함께 타입스크립트 4.5에서 지원될 예정이었던 노드.js 12의 ECMA스크립트 모듈(ECMAScript Module; ESM)은 다음 버전으로 미뤄졌다.  마이크로소프트에 따르면 타입스크립트와 연동할 수 있는 노드.js는 지난 몇 년 동안 재사용을 위해 자바스크립트 코드를 패키징할 수 있는 ECMA스크립트 모듈을 지원하고자 해왔다. 노드.js가 다른 모듈 시스템(CommonJS)에 구축됐기 때문에 이를 지원하기 어려웠지만 이제 노드.js의 ESM 지원이 노드.js 버전 12 이상에서 대부분 구현됐다고 회사 측은 밝힌 바 있다.  타입스크립트 4.5의 릴리즈 캔디데이트는 지난 11월 2일 공개됐으며, GA 버전은 11월 17일 발표됐다. 누겟(NuGet) 또는 NPM을 통해 설치할 수 있다.    npm install typescript 이 밖에 타입스크립트 4.5의 새로운 기능 및 개선사항은 다음과 같다.  • JSON 파일의 과도한 realpath 호출로 인해 --build 모드에서 성능 회귀가 추가됐다.  • node_modules의 lib 설정을 향상하기 위해 특정 내장 lib을 재정의하는 간편한 방법이 추가됐다. • 속도 향상을 위해 노드.js realpathSync 기능의 시스템 네이티브 구현이 이제 모든...

2021.11.19

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

젯브레인에서 만든 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

파이썬이 마침내 ‘GIL’을 제거할 수 있을까?··· 새 제안 공개 

C파이썬 런타임을 변경해 멀티스레드 성능을 강화하는 새로운 프로젝트가 제안됐다. 파이썬 개발팀도 해당 개념 증명에 관심을 보였다.  파이썬의 고질적인 약점(멀티스레드 환경에서 잘 확장되지 않는다는 것)이 해당 프로그래밍 언어 개발팀의 새로운 목표가 될지도 모른다. 지난 10월 7일(현지 시각) 개발자 샘 그로스가 파이썬의 참조 구현 C파이썬의 핵심 구성요소 ‘GIL(Global Interpreter Lock)’에 관한 변경사항을 제안했다.    만약 파이썬 개발팀에서 그의 제안을 받아들인다면 이는 파이썬이 런타임에서 멀티스레드로부터 객체 액세스를 직렬화하는 방식을 변경하고, 멀티스레드 성능을 크게 향상시킬 것으로 예상된다.  GIL은 오랫동안 C파이썬(그리고 파이썬)에서 더 나은 멀티스레드 성능의 장애물로 간주돼 왔다. 수년 동안 이를 제거하려는 많은 시도가 있었다. 하지만 대다수의 기존 파이썬 애플리케이션을 느리게 만들어 단일 스레드 성능을 저하시키는 문제를 해결할 수 없었다. 스레드 및 멀티프로세싱을 다루는 파이썬의 현 메타포는 높은 병렬처리가 불가능한 건 아니다. 하지만 개발자가 작업을 완료하기 위해서는 다스크(Dask) 등의 서드파티 모듈을 사용해야 했다. 새로운 제안은 파이썬 객체의 참조 카운팅 방식을 변경하여 객체를 소유한 스레드의 참조가 다른 스레드의 참조와 다르게 처리되도록 한다.  그로스에 따르면 단일 스레드 성능 벤치마크에서 GIL를 제거한 새로운 인터프리터는 C파이썬 3.9 인터프리터보다 약 10% 빠른 것으로 나타났다.  또한 일부 벤치마크에서 멀티스레드 성능은 새로운 스레드에 따라 거의 선형적으로 확장됐다. 예를 들면 20개의 스레드를 사용할 때 한 벤치마크에서는 최대 18.1배, 다른 벤치마크에서는 최대 19.8배 빨라졌다고 그는 언급했다. 이어서 이는 파이썬의 내부(예: C파이썬)에서 작동하는 기존 파이썬 라이브러리를 상당 수 다시 작성해야 할 만큼 큰 변경사항이라...

파이썬 프로그래밍 언어 개발 언어 C파이썬 GIL 멀티스레드

2021.10.15

C파이썬 런타임을 변경해 멀티스레드 성능을 강화하는 새로운 프로젝트가 제안됐다. 파이썬 개발팀도 해당 개념 증명에 관심을 보였다.  파이썬의 고질적인 약점(멀티스레드 환경에서 잘 확장되지 않는다는 것)이 해당 프로그래밍 언어 개발팀의 새로운 목표가 될지도 모른다. 지난 10월 7일(현지 시각) 개발자 샘 그로스가 파이썬의 참조 구현 C파이썬의 핵심 구성요소 ‘GIL(Global Interpreter Lock)’에 관한 변경사항을 제안했다.    만약 파이썬 개발팀에서 그의 제안을 받아들인다면 이는 파이썬이 런타임에서 멀티스레드로부터 객체 액세스를 직렬화하는 방식을 변경하고, 멀티스레드 성능을 크게 향상시킬 것으로 예상된다.  GIL은 오랫동안 C파이썬(그리고 파이썬)에서 더 나은 멀티스레드 성능의 장애물로 간주돼 왔다. 수년 동안 이를 제거하려는 많은 시도가 있었다. 하지만 대다수의 기존 파이썬 애플리케이션을 느리게 만들어 단일 스레드 성능을 저하시키는 문제를 해결할 수 없었다. 스레드 및 멀티프로세싱을 다루는 파이썬의 현 메타포는 높은 병렬처리가 불가능한 건 아니다. 하지만 개발자가 작업을 완료하기 위해서는 다스크(Dask) 등의 서드파티 모듈을 사용해야 했다. 새로운 제안은 파이썬 객체의 참조 카운팅 방식을 변경하여 객체를 소유한 스레드의 참조가 다른 스레드의 참조와 다르게 처리되도록 한다.  그로스에 따르면 단일 스레드 성능 벤치마크에서 GIL를 제거한 새로운 인터프리터는 C파이썬 3.9 인터프리터보다 약 10% 빠른 것으로 나타났다.  또한 일부 벤치마크에서 멀티스레드 성능은 새로운 스레드에 따라 거의 선형적으로 확장됐다. 예를 들면 20개의 스레드를 사용할 때 한 벤치마크에서는 최대 18.1배, 다른 벤치마크에서는 최대 19.8배 빨라졌다고 그는 언급했다. 이어서 이는 파이썬의 내부(예: C파이썬)에서 작동하는 기존 파이썬 라이브러리를 상당 수 다시 작성해야 할 만큼 큰 변경사항이라...

2021.10.15

“파이썬, C언어·자바 제치고 1위 등극” 티오베 

파이썬이 2021년 10월 티오베 인덱스에서 C언어와 자바를 제치고 처음으로 선두에 올라섰다.    파이썬이 이번 달 티오베 프로그래밍 언어 인기 지수에서 1위를 차지했다. 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바’가 선두를 지키고 있던 이 지수에서 1위를 기록한 세 번째 언어가 됐다고 티오베는 밝혔다.  10월 6일(현지 시각) 공개된 인덱스를 통해 파이썬은 지난 2001년 6월 처음 발표된 티오베 인덱스에서 1위를 차지한 언어로 C 그리고 자바와 어깨를 나란히 하게 됐다. 한편 티오베 언어 순위는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 파이썬의 순위 상승은 예상치 못한 결과가 아니었다. 최근 몇 년 동안 이 언어가 큰 인기를 얻었기 때문이다. 티오베는 파이썬의 이점으로 우수한 생태계, 사용 편의성, 풍부한 라이브러리, 빠른 편집 실행 주기 등을 꼽았다. 이어서 “C와 자바의 장기 집권은 끝났다”라고 회사 측은 말했다. 이 소프트웨어 품질 서비스 회사는 파이썬이 향후 몇 달 동안 C와 엎치락뒤치락 할 순 있지만 결국에는 1위 자리를 차지할 것으로 예상하고 있다. 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 2021년 10월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(11.27%) 2. C 언어(11.16%) 3. 자바(10.46%) 4. C++(7.5%) 5. C#(5.26%) 6. 비주얼 베이직(5.24%) 7. 자바스크립트(2.19%) 8. SQL(2.17%) 9. PHP(2.1%) 10. 어셈블리(2.06%) 2021년 10월 PYPL 인덱스 톱 10은 다음과 같다. 1. 파이썬(29.6...

파이썬 C 자바 티오베 프로그래밍 언어 개발 언어

2021.10.13

파이썬이 2021년 10월 티오베 인덱스에서 C언어와 자바를 제치고 처음으로 선두에 올라섰다.    파이썬이 이번 달 티오베 프로그래밍 언어 인기 지수에서 1위를 차지했다. 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바’가 선두를 지키고 있던 이 지수에서 1위를 기록한 세 번째 언어가 됐다고 티오베는 밝혔다.  10월 6일(현지 시각) 공개된 인덱스를 통해 파이썬은 지난 2001년 6월 처음 발표된 티오베 인덱스에서 1위를 차지한 언어로 C 그리고 자바와 어깨를 나란히 하게 됐다. 한편 티오베 언어 순위는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 파이썬의 순위 상승은 예상치 못한 결과가 아니었다. 최근 몇 년 동안 이 언어가 큰 인기를 얻었기 때문이다. 티오베는 파이썬의 이점으로 우수한 생태계, 사용 편의성, 풍부한 라이브러리, 빠른 편집 실행 주기 등을 꼽았다. 이어서 “C와 자바의 장기 집권은 끝났다”라고 회사 측은 말했다. 이 소프트웨어 품질 서비스 회사는 파이썬이 향후 몇 달 동안 C와 엎치락뒤치락 할 순 있지만 결국에는 1위 자리를 차지할 것으로 예상하고 있다. 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 2021년 10월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(11.27%) 2. C 언어(11.16%) 3. 자바(10.46%) 4. C++(7.5%) 5. C#(5.26%) 6. 비주얼 베이직(5.24%) 7. 자바스크립트(2.19%) 8. SQL(2.17%) 9. PHP(2.1%) 10. 어셈블리(2.06%) 2021년 10월 PYPL 인덱스 톱 10은 다음과 같다. 1. 파이썬(29.6...

2021.10.13

패턴 매칭 지원 外··· '파이썬 3.10', 무엇이 달라졌을까

파이썬의 최신 버전(v3.10)은 강력한 패턴 매칭, 개선된 오류 보고, 래핑된 함수에 관한 스마트한 입력 구문 등을 제공한다.   파이썬 3.10(Python 3.10)이 지난 10월 4일 출시됐다. 용감무쌍한 파이썬 개발자라고 해도 적절한 예방 조치(예: 가상 환경 사용 등)와 함께 코드를 테스트하는 게 좋다.  엄밀히 말해서 파이썬 3.10에는 진정으로 새로운 기능이 많진 않지만 그중 하나인 ‘구조적 패턴 매칭(Structural Pattern Matching)’은 async 이후 언어 구문에 가장 중요한 추가 기능일지도 모른다. 여기에서는 파이썬 3.10의 모든 새로운 기능과 코드를 지원하는 방법을 살펴본다.    구조적 패턴 매칭  구조적 패턴 매칭을 사용하면 가능한 값 세트 중 하나와 변수를 일치시킬 수 있다. 또 값의 패턴(예: 특정 속성이 특정 값으로 설정된 객체)과도 일치시킬 수 있다. 이를 통해 가능성의 범위가 크게 확장되고, 다양한 시나리오를 포함하는 코드를 신속하게 작성할 수 있다. 예는 아래와 같다. 패턴 매칭을 사용하는 방법에 관한 자세한 내용은 이곳에서 확인할 수 있다.    command = input() match command.split():     case ["quit"]:         quit()     case ["load", filename]:         load_from(filename)     case ["save", filename]:         save_to(filename)     case _:         print (f"Command '{command}' ...

파이썬 개발 언어 프로그래밍 언어 패턴 매칭

2021.10.06

파이썬의 최신 버전(v3.10)은 강력한 패턴 매칭, 개선된 오류 보고, 래핑된 함수에 관한 스마트한 입력 구문 등을 제공한다.   파이썬 3.10(Python 3.10)이 지난 10월 4일 출시됐다. 용감무쌍한 파이썬 개발자라고 해도 적절한 예방 조치(예: 가상 환경 사용 등)와 함께 코드를 테스트하는 게 좋다.  엄밀히 말해서 파이썬 3.10에는 진정으로 새로운 기능이 많진 않지만 그중 하나인 ‘구조적 패턴 매칭(Structural Pattern Matching)’은 async 이후 언어 구문에 가장 중요한 추가 기능일지도 모른다. 여기에서는 파이썬 3.10의 모든 새로운 기능과 코드를 지원하는 방법을 살펴본다.    구조적 패턴 매칭  구조적 패턴 매칭을 사용하면 가능한 값 세트 중 하나와 변수를 일치시킬 수 있다. 또 값의 패턴(예: 특정 속성이 특정 값으로 설정된 객체)과도 일치시킬 수 있다. 이를 통해 가능성의 범위가 크게 확장되고, 다양한 시나리오를 포함하는 코드를 신속하게 작성할 수 있다. 예는 아래와 같다. 패턴 매칭을 사용하는 방법에 관한 자세한 내용은 이곳에서 확인할 수 있다.    command = input() match command.split():     case ["quit"]:         quit()     case ["load", filename]:         load_from(filename)     case ["save", filename]:         save_to(filename)     case _:         print (f"Command '{command}' ...

2021.10.06

스위프트 5.5 출시··· “비동기 함수 및 구조적 동시성 제공”

애플에서 C 기반 언어를 대체하기 위해 개발한 프로그래밍 언어 스위프트의 최신 버전이 공개됐다. 이번 업데이트는 동시성과 패키지 컬렉션을 중심으로 한 기능을 지원한다.    지난 9월 20일 ‘대규모 릴리즈(massive release)’라고 기술된 ‘스위프트 5.5(Swift 5.5)’가 출시됐다. 이곳에서 액세스할 수 있다. 해당 릴리즈는 스위프트의 이전 버전인 ‘오브젝티브-C(Objective-C)’와의 동시성 상호운용성을 제공한다.  이는 오브젝티브-C의 비동기 기능에 관한 규칙 기반 표현과 스위프트 동시성 기능을 연결하는 제안이다. 스위프트의 동시성 모델에서 비동기 오브젝티드-C API를 즉시 사용할 수 있도록 하는 게 목표라고 개발팀은 설명했다.  릴리즈 노트에 따르면 최신 스위프트 개발에는 많은 비동기 프로그래밍이 포함되지만 API는 사용하기 어려웠다. 스위프트 5.5의 async/await 기능은 비동기 함수의 의미를 정의한다. 이 제안은 전체 프로세스를 더 자연스럽게 그리고 오류가 덜 발생하도록 하기 위한 것이다. 스위프트 async/await 기능을 통해 시간 경과에 따라 많은 값을 반환하는 함수를 작성하고 사용할 수도 있다. 이 작업은 Async/Await Sequences 제안을 통해 수행됐다.  또 다른 새로운 기능인 구조적 동시성을 사용하면 인간공학적이고 예측 가능하며 효율적인 구현을 허용하는 모델과 비동기 코드를 동시에 실행할 수 있다고 개발팀은 전했다. 이 밖에 스위프트 5.5의 새로운 기능은 다음과 같다.  • ‘스위프트 패키지 관리자(Swift Package Manager; SwiftPM)’에서 패키지 컬렉션(Package Collections) 개념이 패키지 에코시스템에 도입됐다. 컬렉션은 정적 JSON 문서로 작성되며, 패키지 목록과 패키지당 추가 메타데이터를 포함한다. 웹 서버 또는 CDN과 유사한 인프라에 퍼블리싱된다. 또 스위프트PM에는 컬렉션 추가 및 제...

애플 프로그래밍 언어 개발 언어 개발자 스위프트

2021.09.23

애플에서 C 기반 언어를 대체하기 위해 개발한 프로그래밍 언어 스위프트의 최신 버전이 공개됐다. 이번 업데이트는 동시성과 패키지 컬렉션을 중심으로 한 기능을 지원한다.    지난 9월 20일 ‘대규모 릴리즈(massive release)’라고 기술된 ‘스위프트 5.5(Swift 5.5)’가 출시됐다. 이곳에서 액세스할 수 있다. 해당 릴리즈는 스위프트의 이전 버전인 ‘오브젝티브-C(Objective-C)’와의 동시성 상호운용성을 제공한다.  이는 오브젝티브-C의 비동기 기능에 관한 규칙 기반 표현과 스위프트 동시성 기능을 연결하는 제안이다. 스위프트의 동시성 모델에서 비동기 오브젝티드-C API를 즉시 사용할 수 있도록 하는 게 목표라고 개발팀은 설명했다.  릴리즈 노트에 따르면 최신 스위프트 개발에는 많은 비동기 프로그래밍이 포함되지만 API는 사용하기 어려웠다. 스위프트 5.5의 async/await 기능은 비동기 함수의 의미를 정의한다. 이 제안은 전체 프로세스를 더 자연스럽게 그리고 오류가 덜 발생하도록 하기 위한 것이다. 스위프트 async/await 기능을 통해 시간 경과에 따라 많은 값을 반환하는 함수를 작성하고 사용할 수도 있다. 이 작업은 Async/Await Sequences 제안을 통해 수행됐다.  또 다른 새로운 기능인 구조적 동시성을 사용하면 인간공학적이고 예측 가능하며 효율적인 구현을 허용하는 모델과 비동기 코드를 동시에 실행할 수 있다고 개발팀은 전했다. 이 밖에 스위프트 5.5의 새로운 기능은 다음과 같다.  • ‘스위프트 패키지 관리자(Swift Package Manager; SwiftPM)’에서 패키지 컬렉션(Package Collections) 개념이 패키지 에코시스템에 도입됐다. 컬렉션은 정적 JSON 문서로 작성되며, 패키지 목록과 패키지당 추가 메타데이터를 포함한다. 웹 서버 또는 CDN과 유사한 인프라에 퍼블리싱된다. 또 스위프트PM에는 컬렉션 추가 및 제...

2021.09.23

블로그ㅣ‘러스트(Rust)’의 미래

러스타시안 원칙(The Rustacean Principles)은 좋은 아이디어 그 이상이다. 이는 개발자들이 ‘러스트(Rust)’에 계속해서 왕관을 수여하는 이유의 핵심이다.  러스트(사전적 의미: 녹슬다)라는 이름에도 불구하고 이 프로그래밍 언어가 이렇게 빛나고 새로워 보인 적은 없었다. 지난 2016년 스택 오버플로우(Stack Overflow)의 개발자 연례 설문조사에서 러스트는 ‘가장 사랑받는(most loved)’ 언어로 선정됐다. 뒤를 이어 2017년, 2018년, 2019년, 2020년, 2021년에도 ‘가장 사랑받는’ 언어로 뽑혔다. 2022년에도 러스트를 향한 사랑은 계속될 전망이다.    러스트 커뮤니티는 여기에 안주하지 않는다. 러스트 프로그래밍 언어 프로젝트의 공동 리더 니코 마사키스, 러스트 재단의 회장 셰인 밀러, 그리고 러스트 커뮤니티의 핵심 구성원들은 러스트가 몇 년, 더 나아가 수십 년 동안 사랑받을 수 있도록 열심히 일하고 있다. 그리고 이를 실천하는 한 가지 방법이 ‘러스타시안 원칙’이다(편집자 주: 러스타시안은 러스트 사용자를 일컫는 별칭이다).  러스타시안 원칙은 이상과 현실이 부딪힐 때마다 대수롭지 않게 버려지는 모토로 취급될 수 있지만 실제로는 러스트의 장기적인 발전을 위한 강력한 가이드 역할을 한다.  러스트의 원칙적 행동 러스트 커뮤니티는 러스트를 구축 시 때때로 경쟁적인 개발 우선순위 간의 균형을 맞추기 위해 ‘러스타시안 원칙’을 발전시켰다. 이는 다음과 같다.  • 안정성(Reliable): 컴파일하면 작동한다.  • 성능(Performant): 관용적 코드가 효율적으로 실행된다.  • 지원(Supportive): 언어, 도구, 커뮤니티가 도움을 준다.  • 생산성(Productive): 적은 노력으로 많은 일을 한다.  • 투명성(Transparent): 낮은 수준의 세부 사항을 예측하고 제어할 수 있다.&nbs...

러스트 러스타시안 원칙 러스타시안 프로그래밍 언어 개발 언어 소프트웨어 개발

2021.09.14

러스타시안 원칙(The Rustacean Principles)은 좋은 아이디어 그 이상이다. 이는 개발자들이 ‘러스트(Rust)’에 계속해서 왕관을 수여하는 이유의 핵심이다.  러스트(사전적 의미: 녹슬다)라는 이름에도 불구하고 이 프로그래밍 언어가 이렇게 빛나고 새로워 보인 적은 없었다. 지난 2016년 스택 오버플로우(Stack Overflow)의 개발자 연례 설문조사에서 러스트는 ‘가장 사랑받는(most loved)’ 언어로 선정됐다. 뒤를 이어 2017년, 2018년, 2019년, 2020년, 2021년에도 ‘가장 사랑받는’ 언어로 뽑혔다. 2022년에도 러스트를 향한 사랑은 계속될 전망이다.    러스트 커뮤니티는 여기에 안주하지 않는다. 러스트 프로그래밍 언어 프로젝트의 공동 리더 니코 마사키스, 러스트 재단의 회장 셰인 밀러, 그리고 러스트 커뮤니티의 핵심 구성원들은 러스트가 몇 년, 더 나아가 수십 년 동안 사랑받을 수 있도록 열심히 일하고 있다. 그리고 이를 실천하는 한 가지 방법이 ‘러스타시안 원칙’이다(편집자 주: 러스타시안은 러스트 사용자를 일컫는 별칭이다).  러스타시안 원칙은 이상과 현실이 부딪힐 때마다 대수롭지 않게 버려지는 모토로 취급될 수 있지만 실제로는 러스트의 장기적인 발전을 위한 강력한 가이드 역할을 한다.  러스트의 원칙적 행동 러스트 커뮤니티는 러스트를 구축 시 때때로 경쟁적인 개발 우선순위 간의 균형을 맞추기 위해 ‘러스타시안 원칙’을 발전시켰다. 이는 다음과 같다.  • 안정성(Reliable): 컴파일하면 작동한다.  • 성능(Performant): 관용적 코드가 효율적으로 실행된다.  • 지원(Supportive): 언어, 도구, 커뮤니티가 도움을 준다.  • 생산성(Productive): 적은 노력으로 많은 일을 한다.  • 투명성(Transparent): 낮은 수준의 세부 사항을 예측하고 제어할 수 있다.&nbs...

2021.09.14

“파이썬, 선두 탈환에 바짝 다가섰다” 티오베

파이썬이 2021년 9월 티오베 인덱스에서 1위에 바짝 다가섰다. 티오베는 파이썬이 선두 C에 이렇게 근접한 적은 없었다고 밝혔다.  파이썬이 티오베 프로그래밍 언어 인기 지수의 정상을 코앞에 두고 있다. 파이썬은 2021년 9월 인덱스에서 현 랭킹 1위 C 언어(11.83%)에 불과 0.16%P 뒤지며 2위(11.67%)를 차지했다.     티오베는 파이썬이 언제든지 C를 능가할 수 있으며, (파이썬이 1위로 올라가면) 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바(이번 달에는 3위)’에 의해 주도되고 있었던 이 지수를 이끄는 세 번째 언어가 될 것이라고 말했다.  회사에 따르면 파이썬은 2개월 연속 2위를 차지했다. 지난해 11월 처음으로 2위에 올랐다. 티오베 언어 순위는 구글, 빙, 야후 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 또 2021년 6월 레드몽크(RedMonk) 언어 순위에서는 자바스크립트에 이어 2위를 기록했다.  이 밖에 다른 언어를 살펴보자면, 2021년 9월 티오베 인덱스에서 구글 고(Go) 언어는 지난달 18위에서 이번 달 14위로 4계단 올라섰다. 어셈블리(Assembly) 언어는 지난달 9위에서 이번 달 8위로, 루비(Ruby)는 15위에서 13위로 상승했다.  2021년 9월 티오베 인덱스 톱 10은 다음과 같다. 1. C 언어(11.83%) 2. 파이썬(11.67%) 3. 자바(11.12%) 4. C++(7.13%) 5. C#(5.78%) 6. 비주얼 베이직(4.62%) 7. 자바스크립트(2.55%) 8. 어셈블리(2.42%) 9. P...

티오베 인덱스 프로그래밍 언어 개발 언어 파이썬 C 자바

2021.09.14

파이썬이 2021년 9월 티오베 인덱스에서 1위에 바짝 다가섰다. 티오베는 파이썬이 선두 C에 이렇게 근접한 적은 없었다고 밝혔다.  파이썬이 티오베 프로그래밍 언어 인기 지수의 정상을 코앞에 두고 있다. 파이썬은 2021년 9월 인덱스에서 현 랭킹 1위 C 언어(11.83%)에 불과 0.16%P 뒤지며 2위(11.67%)를 차지했다.     티오베는 파이썬이 언제든지 C를 능가할 수 있으며, (파이썬이 1위로 올라가면) 지금까지 20년 넘는 기간 동안 ‘C’와 ‘자바(이번 달에는 3위)’에 의해 주도되고 있었던 이 지수를 이끄는 세 번째 언어가 될 것이라고 말했다.  회사에 따르면 파이썬은 2개월 연속 2위를 차지했다. 지난해 11월 처음으로 2위에 올랐다. 티오베 언어 순위는 구글, 빙, 야후 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스에서 파이썬은 이미 1위를 차지하고 있다. 또 2021년 6월 레드몽크(RedMonk) 언어 순위에서는 자바스크립트에 이어 2위를 기록했다.  이 밖에 다른 언어를 살펴보자면, 2021년 9월 티오베 인덱스에서 구글 고(Go) 언어는 지난달 18위에서 이번 달 14위로 4계단 올라섰다. 어셈블리(Assembly) 언어는 지난달 9위에서 이번 달 8위로, 루비(Ruby)는 15위에서 13위로 상승했다.  2021년 9월 티오베 인덱스 톱 10은 다음과 같다. 1. C 언어(11.83%) 2. 파이썬(11.67%) 3. 자바(11.12%) 4. C++(7.13%) 5. C#(5.78%) 6. 비주얼 베이직(4.62%) 7. 자바스크립트(2.55%) 8. 어셈블리(2.42%) 9. P...

2021.09.14

"네이티브에 가까운 성능" 웹어셈블리 활용한 언어 프로젝트 12선

오늘날 웹 애플리케이션은 네이티브 데스크톱 애플리케이션만큼 빠르고 반응적이지 않다. 하지만 그렇게 될 수 있다면 어떨까? 이게 바로 ‘웹어셈블리(WebAssembly)’가 약속하는 바다.  ‘웹어셈블리’는 컴팩트 바이너리 형식의 저수준 어셈블리형 언어다. 웹 브라우저에서 네이티브에 가까운 성능으로 실행된다. 또한 웹어셈블리는 C/C++, C#, 러스트(Rust), 고(Go), 코틀린(Kotlin), 스위프트(Swift) 등의 프로그래밍 언어에 이식 가능한 컴파일 타깃을 제공한다.  웹어셈블리는 웹 애플리케이션 성능을 향상할 뿐만 아니라 브라우저 앱 개발에서 자바스크립트 이외의 언어를 사용할 수 있도록 한다는 점에서 환영받아 왔다. 구글, 모질라, 애플, 마이크로소프트 등 거의 모든 메이저 브라우저 회사가 이 기술을 지원하고 있다.  더 나아가 웹어셈블리는 그 위력을 활용하는 여러 신기술 개발로 이어졌고, 여기에는 완전히 새로운 프로그래밍 언어도 포함된다. 웹어셈블리를 바탕으로 한 12가지 언어 프로젝트를 살펴본다.    1. 바이너리엔(Binaryen)  ‘바이너리엔’은 웹어셈블리용 컴파일러 툴체인 인프라 라이브러리다. C++로 작성된 바이너리엔은 쉽고 효과적이며 빠르게 웹어셈블리로 컴파일할 수 있도록 설계됐다.  이는 단일 헤더에 C API가 있으며, 자바스크립트에서 사용할 수 있다. 입력은 웹어셈블리와 유사한 형식으로 허용되지만 이를 채택한 컴파일러의 경우 일반 제어 그래프도 허용된다.  바이너리엔의 내부 IR은 컴팩트 데이터 구조를 사용하고, 병렬 코드 생성 및 최적화를 위해 모든 CPU 코어를 사용한다. 또한 IR은 본질적으로 웹어셈블리의 하위 집합이기 때문에 웹어셈블리로 쉽게 컴파일된다. 웹어셈블리에 특화된 최적화는 코드 크기와 속도를 모두 향상시켜 바이너리엔을 컴파일러 백엔드로 사용할 수 있도록 지원한다.  바이너리엔은 깃허브에서 다운로드할 수 있다.&nb...

웹 애플리케이션 데스크톱 애플리케이션 웹어셈블리 프로그래밍 언어 개발 언어 바이너리엔 블레이저 웹어셈블리 치어프 치어프제이 엠스트립튼 포레스트 그레인 자바 웹어셈블리 파이오다이드 티브이엠 우노 플랫폼 웹어셈블리 클라우드

2021.08.30

오늘날 웹 애플리케이션은 네이티브 데스크톱 애플리케이션만큼 빠르고 반응적이지 않다. 하지만 그렇게 될 수 있다면 어떨까? 이게 바로 ‘웹어셈블리(WebAssembly)’가 약속하는 바다.  ‘웹어셈블리’는 컴팩트 바이너리 형식의 저수준 어셈블리형 언어다. 웹 브라우저에서 네이티브에 가까운 성능으로 실행된다. 또한 웹어셈블리는 C/C++, C#, 러스트(Rust), 고(Go), 코틀린(Kotlin), 스위프트(Swift) 등의 프로그래밍 언어에 이식 가능한 컴파일 타깃을 제공한다.  웹어셈블리는 웹 애플리케이션 성능을 향상할 뿐만 아니라 브라우저 앱 개발에서 자바스크립트 이외의 언어를 사용할 수 있도록 한다는 점에서 환영받아 왔다. 구글, 모질라, 애플, 마이크로소프트 등 거의 모든 메이저 브라우저 회사가 이 기술을 지원하고 있다.  더 나아가 웹어셈블리는 그 위력을 활용하는 여러 신기술 개발로 이어졌고, 여기에는 완전히 새로운 프로그래밍 언어도 포함된다. 웹어셈블리를 바탕으로 한 12가지 언어 프로젝트를 살펴본다.    1. 바이너리엔(Binaryen)  ‘바이너리엔’은 웹어셈블리용 컴파일러 툴체인 인프라 라이브러리다. C++로 작성된 바이너리엔은 쉽고 효과적이며 빠르게 웹어셈블리로 컴파일할 수 있도록 설계됐다.  이는 단일 헤더에 C API가 있으며, 자바스크립트에서 사용할 수 있다. 입력은 웹어셈블리와 유사한 형식으로 허용되지만 이를 채택한 컴파일러의 경우 일반 제어 그래프도 허용된다.  바이너리엔의 내부 IR은 컴팩트 데이터 구조를 사용하고, 병렬 코드 생성 및 최적화를 위해 모든 CPU 코어를 사용한다. 또한 IR은 본질적으로 웹어셈블리의 하위 집합이기 때문에 웹어셈블리로 쉽게 컴파일된다. 웹어셈블리에 특화된 최적화는 코드 크기와 속도를 모두 향상시켜 바이너리엔을 컴파일러 백엔드로 사용할 수 있도록 지원한다.  바이너리엔은 깃허브에서 다운로드할 수 있다.&nb...

2021.08.30

고(Go) 1.17 출시··· “언어 및 컴파일러 개선”

구글에서 개발한 오픈소스 프로그래밍 언어 ‘고(GO)’의 최신 버전이 8월 16일(현지 시각) 프로덕션 릴리즈로 출시됐다.    ‘고 1.17(Go 1.17)’ 릴리즈 노트에 따르면 unsafe.Pointer 안전 규칙을 준수하는 코드 작성 간소화를 포함해 언어와 관련한 3가지 작은 개선사항이 있다. 다음과 같다.  • 슬라이스에서 배열 포인터로의 변환: s 유형의 표현식 []T는 이제 배열 포인터 유형 *[N]T로 변환될 수 있다. 만약 이러한 변환의 결과가 a라면 범위에 있는 해당 인덱스는 동일한 기본 요소를 참조한다(&a[i] == &s[i] for 0 <= i < N). 단 if len(s)이 N보다 작으면 변환 오류가 발생한다.  • unsafe.Add: unsafe.Add(ptr, len)는 ptr에 len을 추가하고, 업데이트된 포인터 unsafe.Pointer(uintptr(ptr) + uintptr(len))를 반환한다.  • unsafe.Slice: ptr 유형의 표현식 *T에서 unsafe.Slice(ptr, len)는 기본 배열이 ptr에서 시작하고, 길이와 용량이 len인 유형 []T의 슬라이스를 반환한다.  고 1.17에서 컴파일러는 스택 대신 레지스터를 사용하여 함수 인수와 결과를 패싱하는 새로운 방법을 구축했다. 이 기능은 64-비트 x86 아키텍처의 리눅스, 맥OS, 윈도우에서 사용할 수 있다. 개발팀에 의하면 벤치마크 결과 약 5%의 성능 향상과 2%가량의 바이너리 크기 감소가 나타났다. 이 변경사항은 안전한 고(GO) 코드의 기능에는 영향을 미치지 않는다.  또한 컴파일러를 사용하면 클로저를 포함하는 함수를 인라인할 수 있다. 이를 통해 클로저를 포함하는 함수가 (함수를 인라인한 각 위치에서) 별개의 클로저 코드 포인터 함수를 생성할 수 있다고 개발팀은 설명했다.  이번 릴리즈에는 정리된 모듈 그래프도 도입됐다. g...

구글 오픈소스 프로그래밍 언어 개발 언어 고랭 고 언어

2021.08.19

구글에서 개발한 오픈소스 프로그래밍 언어 ‘고(GO)’의 최신 버전이 8월 16일(현지 시각) 프로덕션 릴리즈로 출시됐다.    ‘고 1.17(Go 1.17)’ 릴리즈 노트에 따르면 unsafe.Pointer 안전 규칙을 준수하는 코드 작성 간소화를 포함해 언어와 관련한 3가지 작은 개선사항이 있다. 다음과 같다.  • 슬라이스에서 배열 포인터로의 변환: s 유형의 표현식 []T는 이제 배열 포인터 유형 *[N]T로 변환될 수 있다. 만약 이러한 변환의 결과가 a라면 범위에 있는 해당 인덱스는 동일한 기본 요소를 참조한다(&a[i] == &s[i] for 0 <= i < N). 단 if len(s)이 N보다 작으면 변환 오류가 발생한다.  • unsafe.Add: unsafe.Add(ptr, len)는 ptr에 len을 추가하고, 업데이트된 포인터 unsafe.Pointer(uintptr(ptr) + uintptr(len))를 반환한다.  • unsafe.Slice: ptr 유형의 표현식 *T에서 unsafe.Slice(ptr, len)는 기본 배열이 ptr에서 시작하고, 길이와 용량이 len인 유형 []T의 슬라이스를 반환한다.  고 1.17에서 컴파일러는 스택 대신 레지스터를 사용하여 함수 인수와 결과를 패싱하는 새로운 방법을 구축했다. 이 기능은 64-비트 x86 아키텍처의 리눅스, 맥OS, 윈도우에서 사용할 수 있다. 개발팀에 의하면 벤치마크 결과 약 5%의 성능 향상과 2%가량의 바이너리 크기 감소가 나타났다. 이 변경사항은 안전한 고(GO) 코드의 기능에는 영향을 미치지 않는다.  또한 컴파일러를 사용하면 클로저를 포함하는 함수를 인라인할 수 있다. 이를 통해 클로저를 포함하는 함수가 (함수를 인라인한 각 위치에서) 별개의 클로저 코드 포인터 함수를 생성할 수 있다고 개발팀은 설명했다.  이번 릴리즈에는 정리된 모듈 그래프도 도입됐다. g...

2021.08.19

“개발자들, 러스트·스벨트 선호하지만 앵귤러JS는 그닥” 스택 오버플로우

지난 8월 2일 발표된 ‘2021 스택 오버플로우 개발자 설문조사(Stack Overflow 2021 Developer Survey)’에 따르면 개발자의 학습 방식에서 큰 변화가 있었다. 보고서는 18세 미만 코더의 경우 (책과 학교를 합친 것보다) 동영상 및 블로그 등의 온라인 리소스가 기술을 배우는 데 더 중요한 것으로 나타났다고 밝혔다.    전체 응답자의 약 60%는 온라인 리소스를 통해 코딩을 배웠다고 말했다. 온라인 학습이 1위를 차지했지만 학교도 여전히 중요했다. 약 54%는 학교에서 코딩을 배웠다고 답했다.  또한 보고서는 소프트웨어 개발자의 수가 비약적으로 증가하고 있다고 전했다. 전체 응답자의 50%는 프로그래밍 경력이 10년 이하라고 말했으며, 절반 이상(53.6%)은 11세에서 17세 사이에 첫 코드 라인을 작성했다고 답했다. 대다수는(전체 응답자의 91%, 전문 개발자의 92%) 남성인 것으로 조사됐다.  한편 2021 스택 오버플로우 설문조사는 5월 말부터 6월 중순까지 진행됐으며, 총 8만 3,439명의 개발자가 참여했다. 이 밖에 살펴볼 만한 내용은 다음과 같다.  • ‘자바스크립트(JavaScript)’가 9년 연속 가장 일반적으로 사용되는 프로그래밍 언어(64.96%)로 꼽혔다. 러스트(Rust)도 6년 연속 가장 사랑받는 언어 1위를 차지했다.  • ‘리액트(React)’는 2021년 가장 일반적으로 사용되는 웹 프레임워크(40.14%)로 선정됐다. 제이쿼리(jQuery)가 그 뒤를 이었다. 가장 사랑받는 웹 프레임워크는 ‘스벨트(Svelte)’였다. ‘앵귤러JS(AngularJS)’는 현재 사용 중이지만 더 사용하고 싶지 않은 언어로 꼽혔다.  • 가장 많은 급여를 받는 언어는 클로저(Clojure), F#, 엘릭서(Elixir), 얼랭(Erlang), 펄(Perl)인 것으로 나타났다.  • 전문 개발자의 81%가 정규직이며, 이는...

스택 오버플로우 개발자 프로그래머 프로그래밍 언어 개발 언어 러스트 스벨트 앵귤러JS 자바스클비트 리액트 제이쿼리 클로저 엘릭서 얼랭 구글 클라우드 마이크로소프트 애저 AWS

2021.08.06

지난 8월 2일 발표된 ‘2021 스택 오버플로우 개발자 설문조사(Stack Overflow 2021 Developer Survey)’에 따르면 개발자의 학습 방식에서 큰 변화가 있었다. 보고서는 18세 미만 코더의 경우 (책과 학교를 합친 것보다) 동영상 및 블로그 등의 온라인 리소스가 기술을 배우는 데 더 중요한 것으로 나타났다고 밝혔다.    전체 응답자의 약 60%는 온라인 리소스를 통해 코딩을 배웠다고 말했다. 온라인 학습이 1위를 차지했지만 학교도 여전히 중요했다. 약 54%는 학교에서 코딩을 배웠다고 답했다.  또한 보고서는 소프트웨어 개발자의 수가 비약적으로 증가하고 있다고 전했다. 전체 응답자의 50%는 프로그래밍 경력이 10년 이하라고 말했으며, 절반 이상(53.6%)은 11세에서 17세 사이에 첫 코드 라인을 작성했다고 답했다. 대다수는(전체 응답자의 91%, 전문 개발자의 92%) 남성인 것으로 조사됐다.  한편 2021 스택 오버플로우 설문조사는 5월 말부터 6월 중순까지 진행됐으며, 총 8만 3,439명의 개발자가 참여했다. 이 밖에 살펴볼 만한 내용은 다음과 같다.  • ‘자바스크립트(JavaScript)’가 9년 연속 가장 일반적으로 사용되는 프로그래밍 언어(64.96%)로 꼽혔다. 러스트(Rust)도 6년 연속 가장 사랑받는 언어 1위를 차지했다.  • ‘리액트(React)’는 2021년 가장 일반적으로 사용되는 웹 프레임워크(40.14%)로 선정됐다. 제이쿼리(jQuery)가 그 뒤를 이었다. 가장 사랑받는 웹 프레임워크는 ‘스벨트(Svelte)’였다. ‘앵귤러JS(AngularJS)’는 현재 사용 중이지만 더 사용하고 싶지 않은 언어로 꼽혔다.  • 가장 많은 급여를 받는 언어는 클로저(Clojure), F#, 엘릭서(Elixir), 얼랭(Erlang), 펄(Perl)인 것으로 나타났다.  • 전문 개발자의 81%가 정규직이며, 이는...

2021.08.06

오픈AI, 파이썬 기반 언어 ‘트리톤’ 출시··· “GPU 프로그래밍 지원”

오픈AI(OpenAI)가 7월 28일 머신러닝용 GPU 프로그래밍의 복잡성 없이 GPU 기반 딥러닝 프로젝트를 직접 작성할 수 있는 오픈소스 프로그래밍 언어 ‘트리톤(Triton)’의 첫 번째 버전을 출시했다.    ‘트리톤 1.0’은 파이썬(버전 3.6 이상)을 기반으로 한다. 오픈AI에 따르면 개발자는 트리톤의 라이브러리를 사용해 파이썬으로 코드를 작성한 다음 GPU에서 실행되도록 JIT 컴파일할 수 있다. 또 새로운 도메인 특정 언어를 개발하느라 시간 낭비할 필요 없이 파이썬 언어 자체를 활용할 수 있다.  트리톤의 라이브러리는 넘파이(NumPy)를 연상시키는 일련의 기본 요소를 제공한다. 이를테면 다양한 행렬 연산이나 특정 기준에 따라 배열을 축소하는 함수 등이다. 사용자는 이러한 기본 요소를 코드에 결합해 GPU에서 실행되도록 컴파일된 @triton.jit 데코레이터를 추가할 수 있다. 이러한 점에서 트리톤은 넘바(Numba)와 유사하다고 개발팀은 전했다. 넘바는 속도를 위해 숫자 집약적인 파이썬 코드를 머신-네이티브 어셈블리로 JIT 컴파일할 수 있는 프로젝트다.  트리톤의 간단한 예로는 벡터 추가 커널과 융합된 소프트맥스 연산 등을 들 수 있다. 개발팀은 후자의 경우 전적으로 GPU 메모리에서 수행할 수 있는 작업을 네이티브 파이토치와 융합된 소프트맥스보다 몇 배 더 빠르게 실행할 수 있다고 밝혔다.  트리톤은 현재 리눅스에서만 사용할 수 있다. 이제 막 출시된 프로젝트이기 때문에 문서화가 아직 완료되지 않았다. 이를 초기에 채택하는 개발자는 소스와 예제를 자세히 검토해야 할 수 있다. 예를 들면 함수의 JIT 컴파일을 최적화하기 위한 매개변수를 정의하는 데 사용할 수 있는 triton.autotune 함수는 라이브러리의 파이썬 API 섹션에 아직 문서화돼 있지 않다. 하지만 triton.autotune 은 트리톤의 행렬 곱셈 예제에서 사용되고 있다. ciokr@idg.co.kr ...

머신러닝 GPU GPU 프로그래밍 오픈AI 인공지능 프로그래밍 언어 개발 언어 파이썬 트리톤

2021.07.30

오픈AI(OpenAI)가 7월 28일 머신러닝용 GPU 프로그래밍의 복잡성 없이 GPU 기반 딥러닝 프로젝트를 직접 작성할 수 있는 오픈소스 프로그래밍 언어 ‘트리톤(Triton)’의 첫 번째 버전을 출시했다.    ‘트리톤 1.0’은 파이썬(버전 3.6 이상)을 기반으로 한다. 오픈AI에 따르면 개발자는 트리톤의 라이브러리를 사용해 파이썬으로 코드를 작성한 다음 GPU에서 실행되도록 JIT 컴파일할 수 있다. 또 새로운 도메인 특정 언어를 개발하느라 시간 낭비할 필요 없이 파이썬 언어 자체를 활용할 수 있다.  트리톤의 라이브러리는 넘파이(NumPy)를 연상시키는 일련의 기본 요소를 제공한다. 이를테면 다양한 행렬 연산이나 특정 기준에 따라 배열을 축소하는 함수 등이다. 사용자는 이러한 기본 요소를 코드에 결합해 GPU에서 실행되도록 컴파일된 @triton.jit 데코레이터를 추가할 수 있다. 이러한 점에서 트리톤은 넘바(Numba)와 유사하다고 개발팀은 전했다. 넘바는 속도를 위해 숫자 집약적인 파이썬 코드를 머신-네이티브 어셈블리로 JIT 컴파일할 수 있는 프로젝트다.  트리톤의 간단한 예로는 벡터 추가 커널과 융합된 소프트맥스 연산 등을 들 수 있다. 개발팀은 후자의 경우 전적으로 GPU 메모리에서 수행할 수 있는 작업을 네이티브 파이토치와 융합된 소프트맥스보다 몇 배 더 빠르게 실행할 수 있다고 밝혔다.  트리톤은 현재 리눅스에서만 사용할 수 있다. 이제 막 출시된 프로젝트이기 때문에 문서화가 아직 완료되지 않았다. 이를 초기에 채택하는 개발자는 소스와 예제를 자세히 검토해야 할 수 있다. 예를 들면 함수의 JIT 컴파일을 최적화하기 위한 매개변수를 정의하는 데 사용할 수 있는 triton.autotune 함수는 라이브러리의 파이썬 API 섹션에 아직 문서화돼 있지 않다. 하지만 triton.autotune 은 트리톤의 행렬 곱셈 예제에서 사용되고 있다. ciokr@idg.co.kr ...

2021.07.30

MS, 타입스크립트 4.4 베타 출시··· “성능 개선 및 제어 흐름 분석 지원”

마이크로소프트가 ‘타입스크립트 4.4’의 베타 버전을 출시했다. 성능 향상 및 제어 흐름 분석 지원 등을 비롯한 여러 개선사항이 포함됐다. 타입스크립트(TypeScript)는 자바스크립트(JavaScript)에 타입을 추가하는 오픈소스 프로그래밍 언어다.   회사에 따르면 더 빠른 선언을 위해 타입스크립트는 이제 다양한 컨텍스트에서 내부 기호에 액세스할 수 있는지 그리고 특정 타입이 프린트되어야 하는 방법을 캐시한다.  이렇게 하면 상당히 복잡한 타입의 코드에서 타입스크립트의 일반적인 성능을 향상시킬 수 있다고 회사 측은 설명했다. 또한 성능 개선을 위해 더 빠른 증분 빌드와 함께 더 빠른 경로 정규화 및 경로 매핑을 지원한다고 덧붙였다. 큰 출력 파일의 소스 맵 생성을 위한 최적화도 추가됐다.  타입스크립트 4.4 베타는 누겟(NuGet)에서 다운로드받거나 또는 NPM을 통해 아래의 명령을 사용하여 설치할 수 있다.   npm install typescript@beta 타입스크립트 4.4의 GA 버전은 8월 말 공개될 예정이다. 이 밖에 타입스크립트 4.4의 새로운 기능은 다음과 같다.  • 별칭 조건의 제어 흐름 분석을 위해 타입스크립트는 상수 값이 테스트되고 있는 것으로 확인되면 타입 가드가 있는지 확인하기 위해 추가 작업을 수행한다. 타입 가드가 상수(const), 읽기 전용(readonly) 속성 또는 수정되지 않은 매개변수에서 작동하는 경우 타입스크립트는 해당 값 속성의 범위를 좁힐 수 있다. typeof 검사뿐만 아니라 다른 타입 가드 조건도 유지된다.  • 이제 맞춤법 제안(Spelling suggestions)이 일반 자바스크립트 파일로 발행된다. 이러한 맞춤법 제안은 코드가 잘못됐다는 것을 알려줄 수 있다고 회사 측은 전했다.  • 타입스크립트 4.4는 매개변수 이름과 같은 정보를 코드에서 인라인으로 표시할 수 있는 인레이 텍스트에 관한 편...

마이크로소프트 타입스크립트 자바스크립트 타입 개발자 개발 언어 프로그래밍 언어

2021.07.27

마이크로소프트가 ‘타입스크립트 4.4’의 베타 버전을 출시했다. 성능 향상 및 제어 흐름 분석 지원 등을 비롯한 여러 개선사항이 포함됐다. 타입스크립트(TypeScript)는 자바스크립트(JavaScript)에 타입을 추가하는 오픈소스 프로그래밍 언어다.   회사에 따르면 더 빠른 선언을 위해 타입스크립트는 이제 다양한 컨텍스트에서 내부 기호에 액세스할 수 있는지 그리고 특정 타입이 프린트되어야 하는 방법을 캐시한다.  이렇게 하면 상당히 복잡한 타입의 코드에서 타입스크립트의 일반적인 성능을 향상시킬 수 있다고 회사 측은 설명했다. 또한 성능 개선을 위해 더 빠른 증분 빌드와 함께 더 빠른 경로 정규화 및 경로 매핑을 지원한다고 덧붙였다. 큰 출력 파일의 소스 맵 생성을 위한 최적화도 추가됐다.  타입스크립트 4.4 베타는 누겟(NuGet)에서 다운로드받거나 또는 NPM을 통해 아래의 명령을 사용하여 설치할 수 있다.   npm install typescript@beta 타입스크립트 4.4의 GA 버전은 8월 말 공개될 예정이다. 이 밖에 타입스크립트 4.4의 새로운 기능은 다음과 같다.  • 별칭 조건의 제어 흐름 분석을 위해 타입스크립트는 상수 값이 테스트되고 있는 것으로 확인되면 타입 가드가 있는지 확인하기 위해 추가 작업을 수행한다. 타입 가드가 상수(const), 읽기 전용(readonly) 속성 또는 수정되지 않은 매개변수에서 작동하는 경우 타입스크립트는 해당 값 속성의 범위를 좁힐 수 있다. typeof 검사뿐만 아니라 다른 타입 가드 조건도 유지된다.  • 이제 맞춤법 제안(Spelling suggestions)이 일반 자바스크립트 파일로 발행된다. 이러한 맞춤법 제안은 코드가 잘못됐다는 것을 알려줄 수 있다고 회사 측은 전했다.  • 타입스크립트 4.4는 매개변수 이름과 같은 정보를 코드에서 인라인으로 표시할 수 있는 인레이 텍스트에 관한 편...

2021.07.27

코틀린 버전 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

회사명:한국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.4.0.31