Offcanvas

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

‘코틀린 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

틈새 파고든다, 새로운 프로그래밍 언어 11선

웹어셈블리를 훨씬 더 쉽게 작성하는 법부터 머신러닝을 지원하는 시각적 언어까지 새로운 프로그래밍 도구 11가지를 살펴본다. 이는 어쩌면 소프트웨어 작성 방식을 재정의할지도 모른다.  영국의 시인 알렉산더 포프는 “희망은 인간의 가슴에서 영원히 샘솟는다(Hope springs eternal in the human breast)”라고 말했으니 해커가 아닌 시인이라 할지라도 새로운 프로그래밍 언어 발견에 대한 희망을 이해할 것이라 본다. 소프트웨어 개발자들은 유니코드 문자의 독특한 조합으로 만들어진 언어가 마침내 모든 문제를 해결하여 몇 번의 클릭만으로 쉽게 코딩할 수 있길 영원히 희망하고 있다.  포프는 분명 답을 상상하기만 하면 될 정도로 직관적인 구문에 대한 희망을 이해할 것이다. 또한 그는 올림픽에서 볼 수 있는 트리플 악셀 혹은 대회전 활강처럼 (사실은 그렇지 않지만) 힘들지 않고 우아해 보이는 새로운 코드를 손에 넣으려는 열망을 높이 평가할 것이다.    하지만 오늘날의 언어 대부분은 기발함이나 코딩 역량을 보여주기 위해 만들어지진 않았다. 이는 개발자(창작자)가 간절하게 해결하고자 했던 문제에 해결책을 내놓으면서 만들어졌다. 대다수의 개발자가 하나 이상의 오래된 기성 언어로 코딩을 계속하겠지만 코딩 문제를 해결하는 데 도움이 되는 새로운 도구도 ‘영원히’ 찾고 있다. 특히, 도메인별 언어(DSL)의 부상에서 이러한 경향을 볼 수 있다. 이러한 언어는 특정 도메인에 초점을 맞추고 있으며, 범용적으로 사용하진 못한다. 하지만 바로 그런 이유로 도구 상자에서 특별한 위치를 차지할 수 있다.  여기서는 틈새시장을 찾은 11개의 새로운 언어를 살펴본다. 비록 지금 당장 필요한 것은 아니지만 이 모두는 현재 하는 일을 개선할 무언가를 갖고 있다. 리액티브 클로저(Reactive Clojure) 이는 클로저(Clojure)와 리액트(React)를 결합한 결과다. 즉, 리액티브 프론트엔드의 모든 가능성과 클로저의...

개발자 소프트웨어 개발 프로그래밍 언어 개발 언어 웹어셈블리 리액티브 클로저 니켈 코브라 바이셉 프링크 파우스트 멜로즈 글리콜 웨이스 자바

2022.05.11

웹어셈블리를 훨씬 더 쉽게 작성하는 법부터 머신러닝을 지원하는 시각적 언어까지 새로운 프로그래밍 도구 11가지를 살펴본다. 이는 어쩌면 소프트웨어 작성 방식을 재정의할지도 모른다.  영국의 시인 알렉산더 포프는 “희망은 인간의 가슴에서 영원히 샘솟는다(Hope springs eternal in the human breast)”라고 말했으니 해커가 아닌 시인이라 할지라도 새로운 프로그래밍 언어 발견에 대한 희망을 이해할 것이라 본다. 소프트웨어 개발자들은 유니코드 문자의 독특한 조합으로 만들어진 언어가 마침내 모든 문제를 해결하여 몇 번의 클릭만으로 쉽게 코딩할 수 있길 영원히 희망하고 있다.  포프는 분명 답을 상상하기만 하면 될 정도로 직관적인 구문에 대한 희망을 이해할 것이다. 또한 그는 올림픽에서 볼 수 있는 트리플 악셀 혹은 대회전 활강처럼 (사실은 그렇지 않지만) 힘들지 않고 우아해 보이는 새로운 코드를 손에 넣으려는 열망을 높이 평가할 것이다.    하지만 오늘날의 언어 대부분은 기발함이나 코딩 역량을 보여주기 위해 만들어지진 않았다. 이는 개발자(창작자)가 간절하게 해결하고자 했던 문제에 해결책을 내놓으면서 만들어졌다. 대다수의 개발자가 하나 이상의 오래된 기성 언어로 코딩을 계속하겠지만 코딩 문제를 해결하는 데 도움이 되는 새로운 도구도 ‘영원히’ 찾고 있다. 특히, 도메인별 언어(DSL)의 부상에서 이러한 경향을 볼 수 있다. 이러한 언어는 특정 도메인에 초점을 맞추고 있으며, 범용적으로 사용하진 못한다. 하지만 바로 그런 이유로 도구 상자에서 특별한 위치를 차지할 수 있다.  여기서는 틈새시장을 찾은 11개의 새로운 언어를 살펴본다. 비록 지금 당장 필요한 것은 아니지만 이 모두는 현재 하는 일을 개선할 무언가를 갖고 있다. 리액티브 클로저(Reactive Clojure) 이는 클로저(Clojure)와 리액트(React)를 결합한 결과다. 즉, 리액티브 프론트엔드의 모든 가능성과 클로저의...

2022.05.11

“C# 무서운 상승세, C 대체할 수도” 티오베 인덱스

티오베 인덱스(Tiobe Index)에 따르면 마이크로소프트의 프로그래밍 언어 ‘C#’의 인기가 심상치 않다. 2022년 5월 C#의 순위는 작년 5월과 동일하게 5위(6.39%)를 기록했지만 이를 지목한 비율은 1년 전(4.41%)에 비해 2%P 가까이 증가했다.    소프트웨어 품질 서비스 회사 티오베는 C#을 “현존하는 가장 성숙한 언어이며, 많은 현대 프로그래밍 패러다임을 지원한다”라고 설명하면서, 더 많은 고객이 지난 2년 동안 리눅스에서 C#을 실행하기 시작했다고 밝혔다. 이어서 “C#이 티오베 인덱스의 상위 3개 언어 중 C를 대체할 수 있는 가능성이 크다”라고 내다봤다. 아울러 C#과 마찬가지로 상승세를 보이고 있는 ‘C++’은 작년 대비 1.01%P 증가했다. 전년 동기 대비 2위에서 1위로 올라선 파이썬은 0.86%P 증가했으며, 1위에서 2위로 내려간 C는 1.80%P 감소했다. 3위를 지킨 자바도 0.74% 감소했다.  티오베 인덱스는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 2022년 5월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(12.74%) 2. C(11.59%) 3. 자바(10.99%) 4. C++(8.83%) 5. C#(6.39%) 6. 비주얼 베이직(5.86%) 7. 자바스크립트(2.12%) 8. 어셈블리(1.92%) 9. SQL(1.87%) 10. PHP(1.52%) 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스의 톱 10은 다음과 같다. C#은 해당 인덱스에서도 상위 5위 안에 들었다.  1. 파이선(27.85%) 2. 자바(17.86%) 3. 자바스크립트(9.17%) 4. C#(7.62...

프로그래밍 언어 개발 언어 티오베 인덱스 C#

2022.05.11

티오베 인덱스(Tiobe Index)에 따르면 마이크로소프트의 프로그래밍 언어 ‘C#’의 인기가 심상치 않다. 2022년 5월 C#의 순위는 작년 5월과 동일하게 5위(6.39%)를 기록했지만 이를 지목한 비율은 1년 전(4.41%)에 비해 2%P 가까이 증가했다.    소프트웨어 품질 서비스 회사 티오베는 C#을 “현존하는 가장 성숙한 언어이며, 많은 현대 프로그래밍 패러다임을 지원한다”라고 설명하면서, 더 많은 고객이 지난 2년 동안 리눅스에서 C#을 실행하기 시작했다고 밝혔다. 이어서 “C#이 티오베 인덱스의 상위 3개 언어 중 C를 대체할 수 있는 가능성이 크다”라고 내다봤다. 아울러 C#과 마찬가지로 상승세를 보이고 있는 ‘C++’은 작년 대비 1.01%P 증가했다. 전년 동기 대비 2위에서 1위로 올라선 파이썬은 0.86%P 증가했으며, 1위에서 2위로 내려간 C는 1.80%P 감소했다. 3위를 지킨 자바도 0.74% 감소했다.  티오베 인덱스는 구글, 빙, 야후, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 개발업체 수도 순위 산정에 반영한다. 2022년 5월 티오베 인덱스 톱 10은 다음과 같다. 1. 파이썬(12.74%) 2. C(11.59%) 3. 자바(10.99%) 4. C++(8.83%) 5. C#(6.39%) 6. 비주얼 베이직(5.86%) 7. 자바스크립트(2.12%) 8. 어셈블리(1.92%) 9. SQL(1.87%) 10. PHP(1.52%) 한편 구글에서 특정 프로그래밍 언어 튜토리얼이 얼마나 많이 검색됐는지를 기준으로 하는 PYPL(Popularity of Programming Language) 인덱스의 톱 10은 다음과 같다. C#은 해당 인덱스에서도 상위 5위 안에 들었다.  1. 파이선(27.85%) 2. 자바(17.86%) 3. 자바스크립트(9.17%) 4. C#(7.62...

2022.05.11

“열에 아홉은 여전히 만족” 고(Go) 언어 개발자 설문조사

‘고(Go) 언어 개발자 설문조사 2021(Go Developer Survey 2021)’에 따르면 10명 중 9명 이상의 개발자가 고 언어 사용에 만족하는 것으로 나타났다. 기능 및 라이브러리 부족은 여전한 단점으로 지적됐다.    지난주 고 언어 개발자 설문조사 2021(Go Developer Survey 2021) 결과가 발표됐다. 구글에서 개발한 고 언어의 개발자 만족도는 매우 높은 수준을 유지하고 있지만 주요 라이브러리, 기능, 인프라 부족 등의 사용 장벽도 여전했다.  전체 응답자의 92%는 고 언어를 사용하는 것이 매우 또는 다소 만족스럽다고 밝혔다. 지난해 설문조사 결과와 동일한 수치다. 반면에 특정 프로젝트에서 이 언어를 쓰지 않는다고 답한 개발자의 39%는 그 이유로 필요한 기능 부족을 꼽았다. 라이브러리 부족(34%)이 그 뒤를 이었다. 물론 가장 많이 언급됐던 기능은 제네릭이었으나, 이는 설문조사 종료 이후(3월) 고 1.18에서 공식적으로 도입됐다.   이번 고 언어 개발자 설문조사는 2021년 10월 26일부터 11월 16일까지 3주 동안 진행됐으며, 총 참여 인원은 1만 1,840명으로 역대 최대 규모였다. 이 밖에 살펴볼 만한 다른 설문조사 결과는 다음과 같다.  • 모듈 사용 시 가장 큰 문제는 버전 관리, 개인 저장소 및 다중모듈 워크플로우 사용인 것으로 조사됐다. 하지만 고 1.18은 워크스페이스를 도입하면서 많은 문제를 해결했다고 고 언어 개발팀은 전했다.  • 고 언어의 주요 사용 사례에는 API/RPC 서비스(49%), 데이터 처리(10%), 웹 서비스(10%), CLI(8%) 등이 있었다.  • 전체 응답자의 절반은 고 언어 성능 최적화 및 프로젝트 디렉터리 구조의 베스트 프랙티스에 관한 추가 가이드라인을 원한다고 밝혔다.  • 리눅스에서 고 언어를 주로 사용하여 개발한다고 답한 비율이 2019년, 2020년, 2021년에 각각 66%...

프로그래밍 언어 개발 언어 고 언어 고랭

2022.04.27

‘고(Go) 언어 개발자 설문조사 2021(Go Developer Survey 2021)’에 따르면 10명 중 9명 이상의 개발자가 고 언어 사용에 만족하는 것으로 나타났다. 기능 및 라이브러리 부족은 여전한 단점으로 지적됐다.    지난주 고 언어 개발자 설문조사 2021(Go Developer Survey 2021) 결과가 발표됐다. 구글에서 개발한 고 언어의 개발자 만족도는 매우 높은 수준을 유지하고 있지만 주요 라이브러리, 기능, 인프라 부족 등의 사용 장벽도 여전했다.  전체 응답자의 92%는 고 언어를 사용하는 것이 매우 또는 다소 만족스럽다고 밝혔다. 지난해 설문조사 결과와 동일한 수치다. 반면에 특정 프로젝트에서 이 언어를 쓰지 않는다고 답한 개발자의 39%는 그 이유로 필요한 기능 부족을 꼽았다. 라이브러리 부족(34%)이 그 뒤를 이었다. 물론 가장 많이 언급됐던 기능은 제네릭이었으나, 이는 설문조사 종료 이후(3월) 고 1.18에서 공식적으로 도입됐다.   이번 고 언어 개발자 설문조사는 2021년 10월 26일부터 11월 16일까지 3주 동안 진행됐으며, 총 참여 인원은 1만 1,840명으로 역대 최대 규모였다. 이 밖에 살펴볼 만한 다른 설문조사 결과는 다음과 같다.  • 모듈 사용 시 가장 큰 문제는 버전 관리, 개인 저장소 및 다중모듈 워크플로우 사용인 것으로 조사됐다. 하지만 고 1.18은 워크스페이스를 도입하면서 많은 문제를 해결했다고 고 언어 개발팀은 전했다.  • 고 언어의 주요 사용 사례에는 API/RPC 서비스(49%), 데이터 처리(10%), 웹 서비스(10%), CLI(8%) 등이 있었다.  • 전체 응답자의 절반은 고 언어 성능 최적화 및 프로젝트 디렉터리 구조의 베스트 프랙티스에 관한 추가 가이드라인을 원한다고 밝혔다.  • 리눅스에서 고 언어를 주로 사용하여 개발한다고 답한 비율이 2019년, 2020년, 2021년에 각각 66%...

2022.04.27

칼럼 | 범용 DB의 귀환? 애초에 물러난 적이 없다

데이터베이스는 범용 모델에서 특화 모델로 발전해왔다. 하지만 최근 범용 모델로 돌아가려는 움직임이 보인다. 정말 그럴까?    작년 레드몽크(RedMonk) 애널리스트 스티븐 오그레이디는 ‘A Return to the General Purpose Database’(범용 데이터베이스의 귀환)이라는 제목의 글을 썼다. 글에 따르면 데이터베이스 시장 요구에 따라 ‘바닐라DB’(VanillaDB) 같은 관계형 데이터베이스를 넘어 NoSQL 같은 수많은 특화 데이터베이스가 만들어졌다(심지어 AWS는 수많은 종류의 맞춤형 데이터베이스를 만들어 판매했다). 그런데 10년 넘게 이어져 왔던 전환의 추세가 뒤집히는 듯했다는 것이 글의 핵심 주장이었다. 실제로 데이터베이스 관리 시스템별 사용률을 추적하는 DB엔진을 살펴보면 한때는 소수였던 데이터베이스가 2022년에는 무려 391개로 늘어났다. 오그레이디에 따르면 이제 소수의 범용 데이터베이스로 다시 간추려질 차례다. 과연 그럴까?  애초에 시장은 범용 데이터베이스를 떠난 적이 없다.  데이터 관리 도구를 만드는 모달 랩스(Modal Labs)의 CEO 에릭 베른하르트는 “궁극적으로 범용 도구(프로그래밍 언어, 데이터베이스, 프레임워크 등등)는 특화된 도구보다 더 많이 쓰일 수밖에 없다. 성능과 같은 특정한 측면에서 10배가 넘는 우위를 가졌더라도 말이다”라고 설명했다. 그는 “지난 10년 동안 데이터베이스, 프로그래밍 언어, 프레임워크의 역사를 통틀어봐도 범용 도구가 대부분 마지막 승자로 이름을 올려왔다”라고 덧붙였다.  왜일까? 개발자가 잡다한 특화 도구를 배울 여력이 없기 때문이다.   10년이 지나도 같은 도구가 상위권 유지  DB 엔진에 따르면 2012년 10월에 가장 많이 쓰인 데이터베이스는 다음과 같다.   오라클(Oracle) 마이크로소프트 SQL 서버(Microsoft SQL Server) 마이SQL(MySQL)&...

데이터베이스 백엔드 프로그래밍 언어

2022.04.19

데이터베이스는 범용 모델에서 특화 모델로 발전해왔다. 하지만 최근 범용 모델로 돌아가려는 움직임이 보인다. 정말 그럴까?    작년 레드몽크(RedMonk) 애널리스트 스티븐 오그레이디는 ‘A Return to the General Purpose Database’(범용 데이터베이스의 귀환)이라는 제목의 글을 썼다. 글에 따르면 데이터베이스 시장 요구에 따라 ‘바닐라DB’(VanillaDB) 같은 관계형 데이터베이스를 넘어 NoSQL 같은 수많은 특화 데이터베이스가 만들어졌다(심지어 AWS는 수많은 종류의 맞춤형 데이터베이스를 만들어 판매했다). 그런데 10년 넘게 이어져 왔던 전환의 추세가 뒤집히는 듯했다는 것이 글의 핵심 주장이었다. 실제로 데이터베이스 관리 시스템별 사용률을 추적하는 DB엔진을 살펴보면 한때는 소수였던 데이터베이스가 2022년에는 무려 391개로 늘어났다. 오그레이디에 따르면 이제 소수의 범용 데이터베이스로 다시 간추려질 차례다. 과연 그럴까?  애초에 시장은 범용 데이터베이스를 떠난 적이 없다.  데이터 관리 도구를 만드는 모달 랩스(Modal Labs)의 CEO 에릭 베른하르트는 “궁극적으로 범용 도구(프로그래밍 언어, 데이터베이스, 프레임워크 등등)는 특화된 도구보다 더 많이 쓰일 수밖에 없다. 성능과 같은 특정한 측면에서 10배가 넘는 우위를 가졌더라도 말이다”라고 설명했다. 그는 “지난 10년 동안 데이터베이스, 프로그래밍 언어, 프레임워크의 역사를 통틀어봐도 범용 도구가 대부분 마지막 승자로 이름을 올려왔다”라고 덧붙였다.  왜일까? 개발자가 잡다한 특화 도구를 배울 여력이 없기 때문이다.   10년이 지나도 같은 도구가 상위권 유지  DB 엔진에 따르면 2012년 10월에 가장 많이 쓰인 데이터베이스는 다음과 같다.   오라클(Oracle) 마이크로소프트 SQL 서버(Microsoft SQL Server) 마이SQL(MySQL)&...

2022.04.19

타입스크립트 4.7, 마침내 '노드.js용 ESM 지원' 도입한다

현재 베타 릴리즈 상태인 마이크로소프트의 ‘타입스크립트(TypeScript)’ 최신 버전은 노드.js 12(Node.js 12)의 ECMA스크립트 모듈(ECMAScript module; ESM) 지원뿐만 아니라 여러 개선사항을 제공한다.    지난 4월 8일(현지 시각) 베타 릴리즈로 공개된 ‘타입스크립트 4.7’는 자바스크립트(JavaScript)에 정적 타입 문법을 추가한 오픈소스 프로그래밍 언어의 (계획된) 최신 버전이다. 타입스크립트 4.7는 (타입스크립트와 연동할 수 있는) 노드.js 12의 ESM 지원을 제공한다.  사실상 이는 작년 말 타입스크립트 4.5에서 계획돼 있었지만 이번 릴리즈로 연기됐다. 아울러 타입스크립트 4.5에서는 개발자용 노드.js ECMA스크립트 모듈 지원 버전도 공개된 바 있다. 이 모듈을 활용하면 패키징을 통해 자바스크립트 코드를 재사용할 수 있다. 하지만 노드.js가 다른 모듈 시스템인 커먼JS(commonJS)에 구축됐기 때문에 이를 지원하기가 어려웠다. 타입스크립트 4.7은 노드12(node12)와 노드넥스트(nodenext)라는 2가지 모듈 설정으로 이 기능을 추가했다고 개발팀은 전했다.  한편 타입스크립트 4.7의 릴리즈 캔디데이트는 5월 10일, 정식 버전은 5월 24일 출시될 예정이다. 베타 릴리즈는 다음의 NPM을 통해 액세스할 수 있다(npm install typescript@beta). 이 밖에 타입스크립트 4.7의 새로운 기능 및 개선사항은 아래와 같다.  • 모듈 탐지를 제어하기 위한 moduleDetection 옵션이 도입됐다.  • 모듈 지정자의 룩업을 사용자 정의하는 moduleSuffixes 옵션이 지원된다.  • 컴퓨터 속성의 제어 흐름 분석을 통해 연산된 속성의 유형을 분석하고 정확하게 범위를 좁힐 수 있다.  • 이제 타입스크립트에서 객체 및 배열을 사용한 더 세분화된 함수 추론을 수행할 수 있다....

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

2022.04.13

현재 베타 릴리즈 상태인 마이크로소프트의 ‘타입스크립트(TypeScript)’ 최신 버전은 노드.js 12(Node.js 12)의 ECMA스크립트 모듈(ECMAScript module; ESM) 지원뿐만 아니라 여러 개선사항을 제공한다.    지난 4월 8일(현지 시각) 베타 릴리즈로 공개된 ‘타입스크립트 4.7’는 자바스크립트(JavaScript)에 정적 타입 문법을 추가한 오픈소스 프로그래밍 언어의 (계획된) 최신 버전이다. 타입스크립트 4.7는 (타입스크립트와 연동할 수 있는) 노드.js 12의 ESM 지원을 제공한다.  사실상 이는 작년 말 타입스크립트 4.5에서 계획돼 있었지만 이번 릴리즈로 연기됐다. 아울러 타입스크립트 4.5에서는 개발자용 노드.js ECMA스크립트 모듈 지원 버전도 공개된 바 있다. 이 모듈을 활용하면 패키징을 통해 자바스크립트 코드를 재사용할 수 있다. 하지만 노드.js가 다른 모듈 시스템인 커먼JS(commonJS)에 구축됐기 때문에 이를 지원하기가 어려웠다. 타입스크립트 4.7은 노드12(node12)와 노드넥스트(nodenext)라는 2가지 모듈 설정으로 이 기능을 추가했다고 개발팀은 전했다.  한편 타입스크립트 4.7의 릴리즈 캔디데이트는 5월 10일, 정식 버전은 5월 24일 출시될 예정이다. 베타 릴리즈는 다음의 NPM을 통해 액세스할 수 있다(npm install typescript@beta). 이 밖에 타입스크립트 4.7의 새로운 기능 및 개선사항은 아래와 같다.  • 모듈 탐지를 제어하기 위한 moduleDetection 옵션이 도입됐다.  • 모듈 지정자의 룩업을 사용자 정의하는 moduleSuffixes 옵션이 지원된다.  • 컴퓨터 속성의 제어 흐름 분석을 통해 연산된 속성의 유형을 분석하고 정확하게 범위를 좁힐 수 있다.  • 이제 타입스크립트에서 객체 및 배열을 사용한 더 세분화된 함수 추론을 수행할 수 있다....

2022.04.13

“제네릭 자바 클래스 호환성 향상 外” 코틀린 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

파이썬, 표준 라이브러리에서 ‘사용하지 않는 배터리’ 제거한다

사용되지 않는 많은 모듈이 파이썬에서 삭제될 예정이다. 이는 표준 라이브러리를 더 깨끗하게 유지하기 위한 프로세스의 서막일 수 있다.    파이썬의 표준 라이브러리에서 오래되고 유지관리되지 않는 모듈을 제거하기 위한 이니셔티브가 ‘PEP(Python Enhancement Proposal) 594’로 승인됐다. 정리될 모듈은 모두 구식이거나, 유지관리되지 않거나, 다른 모듈로 대체된 것이다. 해당 변경으로 인해 파이썬 개발자가 기존 앱을 다시 작성하게 될 가능성은 거의 없다. 어쨌든, 제거될 예정인 모듈은 지금부터 2년이 지나야 완전히 삭제된다.  파이썬에는 ‘배터리 포함(batteries included)’이라는 기본 개념이 있다. 이는 일반적인 개발 작업에 사용할 수 있는 표준 라이브러리를 제공한다는 의미다. 하지만 이 표준 라이브러리의 ‘사용되지 않는 배터리(오래되고 유지관리하기 어려운 모듈)’가 더 이상 유용하지 않다는 점에서 제거돼야 한다는 지적이 제기돼 왔다.  파이썬 기여자 크리스찬 헤임스와 브렛 캐넌이 작성한 ‘PEP 594’는 지난 2019년 제출됐으나 2022년 3월 11일 파이썬 3.11(Python 3.11)에서 최종 승인됐다. 이 PEP를 통해 파이썬 3.11에서는 특정 모듈을 더 이상 사용하지 않는 것으로 표시하며, 파이썬 3.12(Python 3.12)는 이러한 모듈을 포함하는 마지막 버전이 된다. 파이썬 3.13에서 사용되지 않는 모듈은 완전히 제거될 예정이다. 즉, 이러한 모듈을 아직 사용 중인 모든 곳에서 (이를) 교체할 수 있는 2년의 기간이 제공된다.  더 이상 사용되지 않는 모듈 중에서 오늘날 파이썬 개발자가 들어본 적 있는 모듈은 많지 않을 것이다. 이를테면 uu 모듈은 원래 이메일에서 바이너리를 인코딩하는 데 사용되는 uuencode 형식에 인코딩 메커니즘을 제공한다. Uuencode는 오늘날 거의 사용되지 않는다. 동일한 기능의 코덱이 파이썬의 다른 표준 라이브러리에...

파이썬 표준 라이브러리 모듈 개발 언어 프로그래밍 언어 소프트웨어 개발

2022.03.15

사용되지 않는 많은 모듈이 파이썬에서 삭제될 예정이다. 이는 표준 라이브러리를 더 깨끗하게 유지하기 위한 프로세스의 서막일 수 있다.    파이썬의 표준 라이브러리에서 오래되고 유지관리되지 않는 모듈을 제거하기 위한 이니셔티브가 ‘PEP(Python Enhancement Proposal) 594’로 승인됐다. 정리될 모듈은 모두 구식이거나, 유지관리되지 않거나, 다른 모듈로 대체된 것이다. 해당 변경으로 인해 파이썬 개발자가 기존 앱을 다시 작성하게 될 가능성은 거의 없다. 어쨌든, 제거될 예정인 모듈은 지금부터 2년이 지나야 완전히 삭제된다.  파이썬에는 ‘배터리 포함(batteries included)’이라는 기본 개념이 있다. 이는 일반적인 개발 작업에 사용할 수 있는 표준 라이브러리를 제공한다는 의미다. 하지만 이 표준 라이브러리의 ‘사용되지 않는 배터리(오래되고 유지관리하기 어려운 모듈)’가 더 이상 유용하지 않다는 점에서 제거돼야 한다는 지적이 제기돼 왔다.  파이썬 기여자 크리스찬 헤임스와 브렛 캐넌이 작성한 ‘PEP 594’는 지난 2019년 제출됐으나 2022년 3월 11일 파이썬 3.11(Python 3.11)에서 최종 승인됐다. 이 PEP를 통해 파이썬 3.11에서는 특정 모듈을 더 이상 사용하지 않는 것으로 표시하며, 파이썬 3.12(Python 3.12)는 이러한 모듈을 포함하는 마지막 버전이 된다. 파이썬 3.13에서 사용되지 않는 모듈은 완전히 제거될 예정이다. 즉, 이러한 모듈을 아직 사용 중인 모든 곳에서 (이를) 교체할 수 있는 2년의 기간이 제공된다.  더 이상 사용되지 않는 모듈 중에서 오늘날 파이썬 개발자가 들어본 적 있는 모듈은 많지 않을 것이다. 이를테면 uu 모듈은 원래 이메일에서 바이너리를 인코딩하는 데 사용되는 uuencode 형식에 인코딩 메커니즘을 제공한다. Uuencode는 오늘날 거의 사용되지 않는다. 동일한 기능의 코덱이 파이썬의 다른 표준 라이브러리에...

2022.03.15

“‘자바 8’이 여전히 우세하지만 ‘자바 17’의 물결이 오고 있다”

제이레벨(JRebel)의 설문조사 결과에 따르면 전문 자바 개발자의 3분의 1 이상이 메인 애플리케이션에 8년 된 자바 버전을 사용하고 있는 것으로 나타났다.  8년 전 출시된 자바 8이 여전히 가장 많이 사용되는 자바 버전인 것으로 조사됐다. 하지만 설문 조사 결과 자바 17로 업그레이드할 계획인 기업도 많은 것으로 드러났다.     ‘메인 애플리케이션에 어떤 JDK(Java Development Kit) 프로그래밍 언어를 사용하는가?’라는 질문에 전체 응답자의 37%가 자바 8이라고 밝혔다. 2위는 자바 11(29%)이었다. 그다음으로는 자바 12 이상(12%), 코틀린(8%), 그루비(6%), 자바 7 이상(5%), 스칼라(3%) 순이었다.  ‘2022 자바 개발자 생산성 보고서(2022 Java Developer Productivity Report)’는 지난 2012년 10월부터 2022년 1월까지 전문 자바 개발자 876명을 대상으로 실시한 설문조사 결과를 담았다.  자바 8(2014년 3월 출시)과 자바 11(2018년 9월 출시)은 모두 수년간 오라클의 지원을 받는 LTS(Long-Term Support) 릴리즈다. 비 LTS 릴리즈(자바 9, 자바 10, 자바 12, 자바 15 등)는 6개월 동안만 지원을 받는다.  한편 소속 기업의 업그레이드 계획을 알고 있다고 밝힌 응답자 가운데 37%는 향후 6개월 안에 작년 9월 출시된 LTS 릴리즈인 ‘JDK 17’로 업데이트할 계획이라고 언급했다. 아울러 향후 6개월에서 12개월 안에 JDK 17로 업그레이드할 예정이라고 지목한 비율도 25%에 달했다. ‘JDK 18’은 비 LTS 릴리즈이며, 오는 3월 22일 공개된다.  회사에 따르면 ‘2022 자바 개발자 생산성 보고서’는 자바 기술과 자바 애플리케이션 개발에 관한 현 접근 방식에 초점을 맞추고 있다. 제이레벨(JRebel)은 퍼포스에서 만든 자바 개발 도구다. 이 밖에 다...

소프트웨어 개발 자바 오라클 JDK 자바 8 자바 17 프로그래밍 언어 개발 언어

2022.03.04

제이레벨(JRebel)의 설문조사 결과에 따르면 전문 자바 개발자의 3분의 1 이상이 메인 애플리케이션에 8년 된 자바 버전을 사용하고 있는 것으로 나타났다.  8년 전 출시된 자바 8이 여전히 가장 많이 사용되는 자바 버전인 것으로 조사됐다. 하지만 설문 조사 결과 자바 17로 업그레이드할 계획인 기업도 많은 것으로 드러났다.     ‘메인 애플리케이션에 어떤 JDK(Java Development Kit) 프로그래밍 언어를 사용하는가?’라는 질문에 전체 응답자의 37%가 자바 8이라고 밝혔다. 2위는 자바 11(29%)이었다. 그다음으로는 자바 12 이상(12%), 코틀린(8%), 그루비(6%), 자바 7 이상(5%), 스칼라(3%) 순이었다.  ‘2022 자바 개발자 생산성 보고서(2022 Java Developer Productivity Report)’는 지난 2012년 10월부터 2022년 1월까지 전문 자바 개발자 876명을 대상으로 실시한 설문조사 결과를 담았다.  자바 8(2014년 3월 출시)과 자바 11(2018년 9월 출시)은 모두 수년간 오라클의 지원을 받는 LTS(Long-Term Support) 릴리즈다. 비 LTS 릴리즈(자바 9, 자바 10, 자바 12, 자바 15 등)는 6개월 동안만 지원을 받는다.  한편 소속 기업의 업그레이드 계획을 알고 있다고 밝힌 응답자 가운데 37%는 향후 6개월 안에 작년 9월 출시된 LTS 릴리즈인 ‘JDK 17’로 업데이트할 계획이라고 언급했다. 아울러 향후 6개월에서 12개월 안에 JDK 17로 업그레이드할 예정이라고 지목한 비율도 25%에 달했다. ‘JDK 18’은 비 LTS 릴리즈이며, 오는 3월 22일 공개된다.  회사에 따르면 ‘2022 자바 개발자 생산성 보고서’는 자바 기술과 자바 애플리케이션 개발에 관한 현 접근 방식에 초점을 맞추고 있다. 제이레벨(JRebel)은 퍼포스에서 만든 자바 개발 도구다. 이 밖에 다...

2022.03.04

“타입스크립트 사용, 6년 전에 비해 크게 증가” 2021년 JS 현황 조사

자바스크립트 개발자를 대상으로 실시한 ‘2021년 JS 현황(2021 State of JS)’ 설문조사에서 마이크로소프트의 자바스크립트 기반 프로그래밍 언어 ‘타입스크립트(TypeScript)’ 사용이 6년 전에 비해 급증한 것으로 나타났다. 아울러 웹어셈블리 및 프로그레시브 웹 앱 사용도 크게 증가했다.    지난 2월 15일(현지 시각) 발표된 2021 JS 현황 보고서에 따르면 어떤 ‘자바스크립트 기반 언어(JavaScript flavors)’를 사용하는지 묻는 질문에 전체 설문조사 응답자의 69%가 타입스크립트를 쓰고 있다고 밝혔다. 6년 전에는 21%에 불과했다. 여기서 ‘자바스크립트 기반 언어(JavaScript flavors)’는 자바스크립트로 컴파일하는 언어를 의미한다. 그 뒤를 이어 엘름(Elm), 플로우(Flow), 커피스크립트(CoffeScript)가 각각 2.4%, 1.7%, 1.5%로 큰 차이를 보였다.  한편 타입스크립트는 2012년 오픈소스로 공개됐다. 최신 버전은 타입스크립트 4.5.5이며, 타입스크립트 4.6은 릴리즈 캔디데이트 상태다. 이번 설문조사는 2022년 1월 13일부터 2월까지 진행됐으며, 총 1만 6,085명이 참여했다.  이 밖에 ‘2021 JS 현황’ 보고서의 내용은 다음과 같다.  • 오늘날 자바스크립트는 지난 2016년보다 훨씬 더 나은 상태에 있다고 보고서는 언급했다. 이어서 첫 JS 현황 설문조사가 이뤄졌을 당시에는 타입스크립트를 사용하는 비율이 21%에 불과했지만 현재는 69%에 달한다고 설명했다.  • 전체 응답자의 15.6%가 웹어셈블리(WebAssembly)를 사용하고 있다고 말했다. 2020년과 2019년에 각각 10.5%, 7.2%에서 증가한 수치다.  • 올해 설문조사에서 프로그레시브 웹 앱(Progressive Web Apps)을 사용하고 있다고 밝힌 응답자는 62.2%에 달했다. 작년과 재작년은 각각 55.9%, 48...

타입스크립트 마이크로소프트 프로그래밍 언어 개발 언어 웹어셈블리 프로그레시브 웹 앱 자바스크립트 파이썬 자바

2022.02.22

자바스크립트 개발자를 대상으로 실시한 ‘2021년 JS 현황(2021 State of JS)’ 설문조사에서 마이크로소프트의 자바스크립트 기반 프로그래밍 언어 ‘타입스크립트(TypeScript)’ 사용이 6년 전에 비해 급증한 것으로 나타났다. 아울러 웹어셈블리 및 프로그레시브 웹 앱 사용도 크게 증가했다.    지난 2월 15일(현지 시각) 발표된 2021 JS 현황 보고서에 따르면 어떤 ‘자바스크립트 기반 언어(JavaScript flavors)’를 사용하는지 묻는 질문에 전체 설문조사 응답자의 69%가 타입스크립트를 쓰고 있다고 밝혔다. 6년 전에는 21%에 불과했다. 여기서 ‘자바스크립트 기반 언어(JavaScript flavors)’는 자바스크립트로 컴파일하는 언어를 의미한다. 그 뒤를 이어 엘름(Elm), 플로우(Flow), 커피스크립트(CoffeScript)가 각각 2.4%, 1.7%, 1.5%로 큰 차이를 보였다.  한편 타입스크립트는 2012년 오픈소스로 공개됐다. 최신 버전은 타입스크립트 4.5.5이며, 타입스크립트 4.6은 릴리즈 캔디데이트 상태다. 이번 설문조사는 2022년 1월 13일부터 2월까지 진행됐으며, 총 1만 6,085명이 참여했다.  이 밖에 ‘2021 JS 현황’ 보고서의 내용은 다음과 같다.  • 오늘날 자바스크립트는 지난 2016년보다 훨씬 더 나은 상태에 있다고 보고서는 언급했다. 이어서 첫 JS 현황 설문조사가 이뤄졌을 당시에는 타입스크립트를 사용하는 비율이 21%에 불과했지만 현재는 69%에 달한다고 설명했다.  • 전체 응답자의 15.6%가 웹어셈블리(WebAssembly)를 사용하고 있다고 말했다. 2020년과 2019년에 각각 10.5%, 7.2%에서 증가한 수치다.  • 올해 설문조사에서 프로그레시브 웹 앱(Progressive Web Apps)을 사용하고 있다고 밝힌 응답자는 62.2%에 달했다. 작년과 재작년은 각각 55.9%, 48...

2022.02.22

“러스트(Rust) 프로그래밍 언어, 재미있지만 어렵다”

‘러스트(Rust)’ 프로그래머를 대상으로 한 설문조사 결과에 따르면 개발자들은 이 프로그래밍 언어를 사용하는 것을 즐기지만 프로덕션 환경에서 사용 가능한 코드를 작성하는 데 때때로 어려움을 겪고 있었다.    보고서에 따르면 러스트를 사용하는 개발자가 증가하고 있다. 하지만 일부 개발자는 어려움을 토로했다. 전체 응답자 가운데 81%가 최소한 매주 러스트를 쓰고 있다고 답했다. 이는 작년 설문조사의 72%보다 높은 수치다. 아울러 75%는 프로덕션 환경에서 사용 가능한 코드를 작성할 수 있다고 밝혔다. 반면에 27%는 프로덕션 환경에서 사용 가능한 코드를 작성하는 데 어려움을 겪을 때도 있다고 전했다.  이러한 결과는 지난 2월 15일 발간된 러스트 커뮤니티의 언어 사용 현황을 조사하는 연례 보고서 최신판 ‘2021 러스트 서베이 결과(Rust Survey 2021 Results)’에서 나왔다. 해당 보고서는 이번 설문조사 결과를 통해 러스타시안(Rustaceans; 러스트 사용자를 일컫는 별칭) 커뮤니티가 건강하게 성장하고 있음을 확인했지만 이와 동시에 해결해야 할 문제도 있다고 언급했다. 특히, 러스트 사용자들은 컴파일 시간(61%), 디스크 공간(45%), 디버깅(40%), GUI 개발(56%)에서 개선 작업이 이뤄져야 한다고 말했다.  한편 ‘2021 러스트 서베이 결과’ 보고서는 지난 2021년 12월 개발자 총 9,345명을 대상으로 실시한 설문조사 결과를 담았다. 이 밖에 다른 결과는 다음과 같다.  • 회사에서 러스트를 사용하고 있다고 밝힌 개발자의 83%가 (러스트를) ‘어렵다’라고 답했다. 하지만 이 문제가 러스트 고유의 문제인지 아니면 새로운 언어 도입으로 발생하는 일반적인 문제인지는 분명하지 않다고 보고서는 전했다. 이 가운데 13%는 러스트로 인해 팀의 (개발) 속도가 느려졌다고 말했고, 82%는 러스트가 팀의 목표를 달성하는 데 도움이 됐다고 밝혔다.  • 러스트 개발자...

러스트 프로그래밍 프로그래밍 언어 개발 언어

2022.02.18

‘러스트(Rust)’ 프로그래머를 대상으로 한 설문조사 결과에 따르면 개발자들은 이 프로그래밍 언어를 사용하는 것을 즐기지만 프로덕션 환경에서 사용 가능한 코드를 작성하는 데 때때로 어려움을 겪고 있었다.    보고서에 따르면 러스트를 사용하는 개발자가 증가하고 있다. 하지만 일부 개발자는 어려움을 토로했다. 전체 응답자 가운데 81%가 최소한 매주 러스트를 쓰고 있다고 답했다. 이는 작년 설문조사의 72%보다 높은 수치다. 아울러 75%는 프로덕션 환경에서 사용 가능한 코드를 작성할 수 있다고 밝혔다. 반면에 27%는 프로덕션 환경에서 사용 가능한 코드를 작성하는 데 어려움을 겪을 때도 있다고 전했다.  이러한 결과는 지난 2월 15일 발간된 러스트 커뮤니티의 언어 사용 현황을 조사하는 연례 보고서 최신판 ‘2021 러스트 서베이 결과(Rust Survey 2021 Results)’에서 나왔다. 해당 보고서는 이번 설문조사 결과를 통해 러스타시안(Rustaceans; 러스트 사용자를 일컫는 별칭) 커뮤니티가 건강하게 성장하고 있음을 확인했지만 이와 동시에 해결해야 할 문제도 있다고 언급했다. 특히, 러스트 사용자들은 컴파일 시간(61%), 디스크 공간(45%), 디버깅(40%), GUI 개발(56%)에서 개선 작업이 이뤄져야 한다고 말했다.  한편 ‘2021 러스트 서베이 결과’ 보고서는 지난 2021년 12월 개발자 총 9,345명을 대상으로 실시한 설문조사 결과를 담았다. 이 밖에 다른 결과는 다음과 같다.  • 회사에서 러스트를 사용하고 있다고 밝힌 개발자의 83%가 (러스트를) ‘어렵다’라고 답했다. 하지만 이 문제가 러스트 고유의 문제인지 아니면 새로운 언어 도입으로 발생하는 일반적인 문제인지는 분명하지 않다고 보고서는 전했다. 이 가운데 13%는 러스트로 인해 팀의 (개발) 속도가 느려졌다고 말했고, 82%는 러스트가 팀의 목표를 달성하는 데 도움이 됐다고 밝혔다.  • 러스트 개발자...

2022.02.18

“오는 3월 출시”··· 고(Go), 제네릭 도입한 1.18 두 번째 베타 공개

오는 3월 출시될 구글의 ‘고(Go)’ 버전 1.18은 지난 2012년 이 프로그래밍 언어가 공개된 이래 가장 중요한 변화를 도입한다.  제네릭(Generics) 기능을 추가한 ‘고 1.18’이 두 번째 베타 릴리즈로 이동했다. 한편 고 언어 개발팀은 정식 버전 출시를 당초 계획된 2월이 아닌 3월로 연기했다고 전했다. 고 1.18 릴리즈 캔디데이트는 2월 중 나올 예정이다.    개발팀에 따르면 지난 1월 31일 발표된 두 번째 베타 버전에서는 안정적인 최종 릴리즈를 위해 제네릭의 일부 버그가 수정됐다. 제네릭은 이 프로그래밍 언어가 출시된 이래 가장 중요한 변화로 불려왔다. 첫 번째 베타는 2021년 12월 14일 공개됐다. 이제 고 언어 서버 gopls 및 비주얼 스튜디오 코드 고 확장은 제네릭을 지원한다.  고 1.18 베타 1에서 매개변수화된 유형을 사용하는 제네릭 코드 지원이 포함됐다. 제네릭 프로그래밍은 함수과 데이터 구조를 제네릭 형식으로 표현할 수 있도록 하는 향상된 기능이다. 또한 제네릭은 코드를 공유하고 프로그램을 더 쉽게 빌드할 수 있는 빌딩 블록을 제공한다.  첫 번째 고 1.18 베타 버전은 가장 많이 다운로드된 고 베타였으며, 이전 베타보다 2배 많은 다운로드 수를 기록했다고 개발팀은 밝혔다. 기존 도구 체인과 함께 두 번째 베타를 설치하려면 다음을 실행해야 한다.      go install golang.org/dl/go1.18beta2@latest go1.18beta2 download 그다음 개발자는 코드 변환 없이 대체해서 더 좋은 성능을 낼 수 있는(drop-in replacement) ‘고 1.18 베타 2’를 실행할 수 있다. 자세한 다운로드 옵션은 이곳(https://go.dev/dl/#go1.18beta2)을 참조하라.  첫 번째 베타 릴리즈를 발표한 블로그 게시물에서 고 언어 개발팀은 중요한 기...

구글 고 언어 고랭 프로그래밍 개발 프로그래밍 언어 개발 언어 제네릭

2022.02.03

오는 3월 출시될 구글의 ‘고(Go)’ 버전 1.18은 지난 2012년 이 프로그래밍 언어가 공개된 이래 가장 중요한 변화를 도입한다.  제네릭(Generics) 기능을 추가한 ‘고 1.18’이 두 번째 베타 릴리즈로 이동했다. 한편 고 언어 개발팀은 정식 버전 출시를 당초 계획된 2월이 아닌 3월로 연기했다고 전했다. 고 1.18 릴리즈 캔디데이트는 2월 중 나올 예정이다.    개발팀에 따르면 지난 1월 31일 발표된 두 번째 베타 버전에서는 안정적인 최종 릴리즈를 위해 제네릭의 일부 버그가 수정됐다. 제네릭은 이 프로그래밍 언어가 출시된 이래 가장 중요한 변화로 불려왔다. 첫 번째 베타는 2021년 12월 14일 공개됐다. 이제 고 언어 서버 gopls 및 비주얼 스튜디오 코드 고 확장은 제네릭을 지원한다.  고 1.18 베타 1에서 매개변수화된 유형을 사용하는 제네릭 코드 지원이 포함됐다. 제네릭 프로그래밍은 함수과 데이터 구조를 제네릭 형식으로 표현할 수 있도록 하는 향상된 기능이다. 또한 제네릭은 코드를 공유하고 프로그램을 더 쉽게 빌드할 수 있는 빌딩 블록을 제공한다.  첫 번째 고 1.18 베타 버전은 가장 많이 다운로드된 고 베타였으며, 이전 베타보다 2배 많은 다운로드 수를 기록했다고 개발팀은 밝혔다. 기존 도구 체인과 함께 두 번째 베타를 설치하려면 다음을 실행해야 한다.      go install golang.org/dl/go1.18beta2@latest go1.18beta2 download 그다음 개발자는 코드 변환 없이 대체해서 더 좋은 성능을 낼 수 있는(drop-in replacement) ‘고 1.18 베타 2’를 실행할 수 있다. 자세한 다운로드 옵션은 이곳(https://go.dev/dl/#go1.18beta2)을 참조하라.  첫 번째 베타 릴리즈를 발표한 블로그 게시물에서 고 언어 개발팀은 중요한 기...

2022.02.03

최신 ‘파이썬’ 작성 팁 4가지

‘파이썬’의 새롭고 강력한 기능을 모두 활용하는 코드를 작성하고 싶은가? 여기 살펴봐야 할 4가지 기능이 있다. 파이썬(Python)은 작년에 30주년을 맞이했다. 하지만 폭발적인 성장을 기록한 지는 몇 년이 채 되지 않았다. 파이썬의 많은 기능은 처음 그대로 유지되고 있지만 해가 거듭될 때마다 그리고 새로운 버전이 나올 때마다 새로운 작업 방식과 이러한 개선사항을 활용하는 새로운 라이브러리가 제공된다.  그래서 파이썬에는 기존 방식과 새로운 방식이 있다. 당연히 가장 최신의 편리한 기능을 사용하여 파이썬으로 작업하는 방법을 배우는 게 좋다. 여기에서는 최신 파이썬을 작성하기 위해 알아야 하는 핵심 개념을 소개한다.    타입 힌팅(Type Hinting) 최근에 도입된 ‘타입 힌팅’ 구문을 사용하면 린터 및 서드파티 코드 품질 도구를 통해 런타임 전에 코드를 분석하고 발생 가능한 오류를 감지할 수 있다. 다른 사람들과 공유할 파이썬 코드를 많이 만들수록 타입 힌트의 이점을 더 많이 누릴 수 있다. 파이썬이 개선될 때마다 더 정교하고 강력한 타입 주석이 제공된다. 단기간에 타입 주석 사용법을 익히는 습관을 들이면 새로운 타입 힌팅 기능이 도입될 때마다 훨씬 더 잘 활용할 수 있을 것이다.  단, 타입 힌트는 ‘필수’가 아니라 ‘선택’이라는 점을 인지해야 한다. 이는 모든 프로젝트에 필요하진 않다. 타입 힌트를 사용하여 대규모 프로젝트를 쉽게 이해할 수 있지만 50줄짜리 간단한 스크립트에서는 얼마든지 생략할 수 있다. 아울러 타입 힌트는 런타임에 적용되지 않지만 ‘파이단틱(Pydantic)’을 사용하여 이를 가능하게 할 수 있다. 패스트API(FastAPI) 등의 널리 사용되는 많은 파이썬 프로젝트는 파이단틱을 광범위하게 사용한다. 파이썬 가상 환경 및 패키지 관리 간단한 프로젝트와 개발 작업에서는 파이썬에 내장된 venv 도구만 사용하여 프로젝트와 요구 사항을 분리할 수 있다. 최근에는 더 많은 옵션이 제공된다. ...

파이썬 프로그래밍 언어 개발 언어 소프트웨어 개발

2022.01.28

‘파이썬’의 새롭고 강력한 기능을 모두 활용하는 코드를 작성하고 싶은가? 여기 살펴봐야 할 4가지 기능이 있다. 파이썬(Python)은 작년에 30주년을 맞이했다. 하지만 폭발적인 성장을 기록한 지는 몇 년이 채 되지 않았다. 파이썬의 많은 기능은 처음 그대로 유지되고 있지만 해가 거듭될 때마다 그리고 새로운 버전이 나올 때마다 새로운 작업 방식과 이러한 개선사항을 활용하는 새로운 라이브러리가 제공된다.  그래서 파이썬에는 기존 방식과 새로운 방식이 있다. 당연히 가장 최신의 편리한 기능을 사용하여 파이썬으로 작업하는 방법을 배우는 게 좋다. 여기에서는 최신 파이썬을 작성하기 위해 알아야 하는 핵심 개념을 소개한다.    타입 힌팅(Type Hinting) 최근에 도입된 ‘타입 힌팅’ 구문을 사용하면 린터 및 서드파티 코드 품질 도구를 통해 런타임 전에 코드를 분석하고 발생 가능한 오류를 감지할 수 있다. 다른 사람들과 공유할 파이썬 코드를 많이 만들수록 타입 힌트의 이점을 더 많이 누릴 수 있다. 파이썬이 개선될 때마다 더 정교하고 강력한 타입 주석이 제공된다. 단기간에 타입 주석 사용법을 익히는 습관을 들이면 새로운 타입 힌팅 기능이 도입될 때마다 훨씬 더 잘 활용할 수 있을 것이다.  단, 타입 힌트는 ‘필수’가 아니라 ‘선택’이라는 점을 인지해야 한다. 이는 모든 프로젝트에 필요하진 않다. 타입 힌트를 사용하여 대규모 프로젝트를 쉽게 이해할 수 있지만 50줄짜리 간단한 스크립트에서는 얼마든지 생략할 수 있다. 아울러 타입 힌트는 런타임에 적용되지 않지만 ‘파이단틱(Pydantic)’을 사용하여 이를 가능하게 할 수 있다. 패스트API(FastAPI) 등의 널리 사용되는 많은 파이썬 프로젝트는 파이단틱을 광범위하게 사용한다. 파이썬 가상 환경 및 패키지 관리 간단한 프로젝트와 개발 작업에서는 파이썬에 내장된 venv 도구만 사용하여 프로젝트와 요구 사항을 분리할 수 있다. 최근에는 더 많은 옵션이 제공된다. ...

2022.01.28

러스트 1.58.1 공개··· “취약한 경합 조건 수정”

개발팀에 따르면 공격자는 이 취약점을 통해 권한 있는 프로그램을 속여 액세스하거나, 삭제할 수 없는 파일 및 디렉토리를 제거할 수 있다.    러스트 1.58에 이어 지난 1월 20일 공개된 이 포인트 릴리즈는 std::fs::remove_dir_all 표준 라이브러리 함수의 경합 조건(race condition)을 수정했다. 개발팀은 해당 취약점이 CVE-2022-21658로 지정됐다고 밝히면서 권고사항을 게시했다.  이 보안 문제를 통해 공격자는 권한 있는 프로그램을 속여 액세스하거나, 삭제할 수 없는 파일 및 디렉토리를 제거할 수 있다. 러스트 버전 1.0.0~1.58.0은 이 취약점의 영향을 받는다. 사용자는 툴체인을 업데이트하고, 업데이트된 컴파일러로 프로그램을 빌드하는 게 좋다고 개발팀은 권장했다.  또한 러스트 1.58.1은 러스트 1.58에서 도입된 진단 및 도구의 여러 회귀를 해결한다.  • non_send_fields_in_send_ty 클리피 린트(Clippy lint)는 오탐(false positives)이 너무 많은 것으로 확인돼 ‘nursery’라는 실험적 린트 그룹으로 이동됐다.  • useless_format 클리피 린트가 러스트 1.58에 도입된 형식 문자열에서 캡처된 식별자를 처리하도록 업데이트됐다.  • 표준 입력을 통해 전달될 때 생성된 파일이 형식화되는 것을 방지하는 Rustfmt의 회귀가 수정됐다.  • 경우에 따라 rustc에서 잘못된 오류 메시지가 표시되는 문제가 수정됐다.  ciokr@idg.co.kr

러스트 개발자 프로그래밍 언어 개발 언어 취약점

2022.01.24

개발팀에 따르면 공격자는 이 취약점을 통해 권한 있는 프로그램을 속여 액세스하거나, 삭제할 수 없는 파일 및 디렉토리를 제거할 수 있다.    러스트 1.58에 이어 지난 1월 20일 공개된 이 포인트 릴리즈는 std::fs::remove_dir_all 표준 라이브러리 함수의 경합 조건(race condition)을 수정했다. 개발팀은 해당 취약점이 CVE-2022-21658로 지정됐다고 밝히면서 권고사항을 게시했다.  이 보안 문제를 통해 공격자는 권한 있는 프로그램을 속여 액세스하거나, 삭제할 수 없는 파일 및 디렉토리를 제거할 수 있다. 러스트 버전 1.0.0~1.58.0은 이 취약점의 영향을 받는다. 사용자는 툴체인을 업데이트하고, 업데이트된 컴파일러로 프로그램을 빌드하는 게 좋다고 개발팀은 권장했다.  또한 러스트 1.58.1은 러스트 1.58에서 도입된 진단 및 도구의 여러 회귀를 해결한다.  • non_send_fields_in_send_ty 클리피 린트(Clippy lint)는 오탐(false positives)이 너무 많은 것으로 확인돼 ‘nursery’라는 실험적 린트 그룹으로 이동됐다.  • useless_format 클리피 린트가 러스트 1.58에 도입된 형식 문자열에서 캡처된 식별자를 처리하도록 업데이트됐다.  • 표준 입력을 통해 전달될 때 생성된 파일이 형식화되는 것을 방지하는 Rustfmt의 회귀가 수정됐다.  • 경우에 따라 rustc에서 잘못된 오류 메시지가 표시되는 문제가 수정됐다.  ciokr@idg.co.kr

2022.01.24

아이파이썬 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

PHP 8.1 출시··· “열거형 및 읽기 전용 속성 등 지원”

웹 개발용 스크립트 언어의 최신 버전 ‘PHP 8.1’이 릴리즈됐다. 이번 업데이트에서는 열거형부터 읽기 전용 속성, 일급 호출가능 구문까지 다양한 기능을 제공한다.  ‘PHP 8.1’이 지난 11월 25일 공개됐다. 이곳(php.net)에서 소스 코드 및 윈도우 바이너리를 다운로드할 수 있다.    개발팀에 따르면 PHP 8.1에 마침내 열거형(Enums 또는 enumerations) 지원이 추가됐다. 열거형을 사용하면 가능한 값의 개별 개수로 제한되는 사용자 지정 유형을 정의할 수 있다는 설명이다.  PHP 문서에 의하면 이는 “유효하지 않은 상태를 나타낼 수 없게 함으로써” 도메인 모델을 정의할 때 유용하다. PHP에서 열거형 케이스는 유형 검사를 포함해 객체가 사용될 수 있는 모든 곳에서 쓸 수 있는 유효한 객체다.  이 밖에 PHP 8.1의 새로운 기능 및 개선사항은 다음과 같다.  • 파이버(Fiber)가 경량 동시성을 구현하기 위한 기본 요소를 지원한다.  • 일급 호출 가능 구문(first-class callable syntax)이 추가됐다. 이를 사용하면 Closure::fromCallable('myFunc')와 동일한 myfunc(…) 구문을 사용하여 호출 가능 클로저를 생성할 수 있다.  • readonly 전용 속성 제어자 지원이 도입됐다. 초기화 후 속성을 수정할 수 없다.  • Arm64용 JIT(Just In Time) 컴파일러 백엔드, 상속 캐시, 빠른 클래스 이름 확인, 개선된 표준 라이브러리 파일 시스템으로 성능이 향상됐다.  • 이니셜라이저를 사용하면 객체를 속성 인수와 함께 기본 매개변수 값, 정적 변수, 전역 상수로 사용할 수 있다. 이렇게 하면 중첩된 속성을 효과적으로 사용할 수 있다.  • 한 값이 여러 유형의 구속 조건을 동시에 충족해야 할 때 교차 유형을 사용할 수 있다.  • 개발자는 f...

PHP 웹 개발 스크립트 언어 프로그래밍 언어

2021.12.01

웹 개발용 스크립트 언어의 최신 버전 ‘PHP 8.1’이 릴리즈됐다. 이번 업데이트에서는 열거형부터 읽기 전용 속성, 일급 호출가능 구문까지 다양한 기능을 제공한다.  ‘PHP 8.1’이 지난 11월 25일 공개됐다. 이곳(php.net)에서 소스 코드 및 윈도우 바이너리를 다운로드할 수 있다.    개발팀에 따르면 PHP 8.1에 마침내 열거형(Enums 또는 enumerations) 지원이 추가됐다. 열거형을 사용하면 가능한 값의 개별 개수로 제한되는 사용자 지정 유형을 정의할 수 있다는 설명이다.  PHP 문서에 의하면 이는 “유효하지 않은 상태를 나타낼 수 없게 함으로써” 도메인 모델을 정의할 때 유용하다. PHP에서 열거형 케이스는 유형 검사를 포함해 객체가 사용될 수 있는 모든 곳에서 쓸 수 있는 유효한 객체다.  이 밖에 PHP 8.1의 새로운 기능 및 개선사항은 다음과 같다.  • 파이버(Fiber)가 경량 동시성을 구현하기 위한 기본 요소를 지원한다.  • 일급 호출 가능 구문(first-class callable syntax)이 추가됐다. 이를 사용하면 Closure::fromCallable('myFunc')와 동일한 myfunc(…) 구문을 사용하여 호출 가능 클로저를 생성할 수 있다.  • readonly 전용 속성 제어자 지원이 도입됐다. 초기화 후 속성을 수정할 수 없다.  • Arm64용 JIT(Just In Time) 컴파일러 백엔드, 상속 캐시, 빠른 클래스 이름 확인, 개선된 표준 라이브러리 파일 시스템으로 성능이 향상됐다.  • 이니셜라이저를 사용하면 객체를 속성 인수와 함께 기본 매개변수 값, 정적 변수, 전역 상수로 사용할 수 있다. 이렇게 하면 중첩된 속성을 효과적으로 사용할 수 있다.  • 한 값이 여러 유형의 구속 조건을 동시에 충족해야 할 때 교차 유형을 사용할 수 있다.  • 개발자는 f...

2021.12.01

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