Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

고랭

"성능 최대 20% 향상" 구글, '고' 1.19 버전 공개

구글이 ‘고(Go)’ 프로그래밍 언어의 최신 버전을 선보였다. 이번 업데이트는 최근 추가된 제네릭을 개선하고, 향상된 메모리 모델을 선보였다. 지난 8월 2일(현지 시각) ‘고 1.19’이 공개됐다. 개발팀에 따르면 제네릭 개발은 해당 커뮤니티에서 제기된 몇 가지 문제 그리고 성능 개선(일부 제네릭 프로그램에서 최대 20% 성능 향상)을 해결하는 데 초점을 맞췄다. 제네릭 기능들은 지난 3월 출시된 고 버전 1.18에서 도입됐다.    아울러 고 메모리 모델은 동기화/원자 패키지 동작을 명시적으로 정의한다. 동기화 알고리즘을 구축하기 위한 저수준 원자 메모리 기본 요소도 제공한다. 발생 이전(happens-before) 관계의 공식 정의는 C, C++, 자바, 자바스크립트, 러스트, 스위프트에서 사용되는 메모리 모델에 맞게 수정됐다. 기존 프로그램을 영향을 받지 않는다고 개발팀은 전했다.  메모리 모델 업데이트 외에도 atomic.int64 및 atomic.Pointer(T) 등 새로운 유형이 동기화/원자 패키지에 지원돼 원자 값을 더 쉽게 사용할 수 있다. 고 1.19는 이곳(go.dev)에서 다운로드할 수 있다. 고 1.19의 기타 개선사항 및 새로운 기능은 다음과 같다.    가비지 수집기에 소프트 메모리 제한이 추가됐다. 이 제한을 통해 고 프로그램을 최적화해 메모리 양이 할당된 컨테이너에서 가능한 한 효율적으로 실행되도록 할 수 있다. 스택 카피라이팅을 줄이기 위한 코루틴 스택의 동적 크기 조정, 유닉스 시스템에서의 자동 추가 파일 설명자 사용, x86-64 및 Arm 64 상에서의 스위치 스테이트먼트용 점프 테이블, Arm64에서의 디버거 주입 함수 호출 지원이 지원된다.  메소드 선언의 형식 매개변수가 수정됐다. 기존 프로그램은 영향을 받지 않는다. 이제 문서 주석에서 링크, 목록, 제목 구문을 지원한다. 특히 대규모 API를 갖춘 패키지에서 명확한 문서 주석을 작성할 수...

고 언어 고랭 2022.08.05

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

‘고(Go) 언어 개발자 설문조사 2021(Go Developer Survey 2021)’에 따르면 10명 중 9명 이상의 개발자가 고 언어에 만족하는 것으로 나타났다. 기능 및 라이브러리 부족은 여전한 단점으로 지적됐다.    고 언어 개발자 설문조사 2021(Go Developer Survey 2021) 결과가 발표됐다. 구글에서 개발한 고 언어의 개발자 만족도는 매우 높은 수준을 유지하고 있지만 주요 라이브러리, 기능, 인프라 부족 등의 사용 장벽도 여전했다.  전체 응답자의 92%는 고 언어를 사용하는 것이 매우 또는 다소 만족스럽다고 밝혔다. 2021년 설문조사 결과와 동일한 수치다. 반면에 특정 프로젝트에서 이 언어를 쓰지 않는다고 답한 개발자의 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%, 63%...

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

"고, 무엇에 좋은가" 고 언어의 기능과 제약, 그리고 발전 방향

구글 고(Go), 즉 고랭(Golang)은 출시 직후에는 컴퓨터 전문가를 위한 신기한 언어 정도였지만 9년이 지난 지금은 세계적인 여러 클라우드 중심 프로젝트의 기반 언어로 올라섰다. 도커, 쿠버네티스와 같은 프로젝트 개발자들이 고를 선택한 이유는 무엇일까? 고의 대표적인 특징은 무엇이고, 다른 프로그래밍 언어와 어떻게 다르며, 가장 적합한 프로젝트 종류는 무엇일까? 이번 기사에서는 고의 기능과 최적의 사용 사례, 없는 기능과 제약, 앞으로의 발전 방향을 살펴본다. 작고 간소한 고 언어 고랭이라는 별칭으로도 불리는 고는 오랜 유닉스 권위자이자 구글 특별 엔지니어인 롭 파이크를 중심으로 구글 직원들에 의해 개발됐다. 그러나 커뮤니티가 주축이 된 오픈소스 프로젝트이므로 엄밀히 말해 “구글 프로젝트”는 아니다. 주 개발진은 고의 사용 방법과 방향에 대해 확고한 의견을 갖고 고 프로젝트를 이끌었다. 고는 배우기 용이하고 사용하기 간단하며 다른 개발자가 읽기 쉬운 언어를 목표로 설계됐다. 특히 C++와 같은 언어와 비교하면 기능이 그렇게 많지는 않다. 구문은 C와 비슷해서 C 경험이 풍부한 개발자라면 비교적 쉽게 배울 수 있다. 또한 여러 기능, 특히 동시성과 함수형 프로그래밍 기능은 얼랭(Erlang)과 같은 언어를 연상시키기도 한다. 다양한 크로스 플랫폼 엔터프라이즈 애플리케이션을 빌드하고 유지하기 위한 C 유사 언어인만큼 자바와도 공통점이 많다. 또한 어디서나 실행되는 코드를 신속하게 개발할 수 있게 해준다는 점은 파이썬과 비슷하다. 다만 파이썬의 경우 유사점보다는 차이점이 훨씬 더 많다. 고 언어에는 모든 사람들을 위한 무언가가 있다 고 문서는 고를 “동적 타입의 인터프리트 언어처럼 느껴지는, 빠른 정적 타입의 컴파일 언어”로 설명한다. 용량이 큰 고 프로그램도 컴파일에는 몇 초 정도밖에 걸리지 않는다. 또한 고에는 C 스타일의 파일 및 라이브러리 포함 오버헤드가 거의 없다. 다음과 같은 고의 특징은 개발자가 한결 쉽게 작업할 수 있게 해준다. - ...

ģȭ 구글고 2019.10.18

업데이트 | 구글 고 1.12 프로덕션 릴리즈 공개, 툴체인·런타임· 라이브러리 실행에 변화

구글의 고(Go) 언어(고랭, Golang) 버전 1.12는 2019년 2월 25일 기준으로 프로덕션 릴리즈로 제공되고 있다. 1.12 프로덕션 릴리즈에서 새롭게 툴체인, 런타임, 라이브러리 실행에 변화가 생겼다.   고 다운로드하기 고 프로젝트 사이트에서 고의 프로덕션 릴리즈를 다운로드할 수 있다.   현 버전: 고 1.12의 새로운 기능 컴파일러 툴체인에서 실시간 변수 분석 기능이 개선되었다. 파이널라이저(Finalizer)가 이전 릴리즈보다 더 빨리 실행될 수 있다. 이것이 문제가 된다면 개발자들은 runtime.KeepAlive 호출 추가를 고려하는 것이 좋다. 고 1.12의 기타 새로운 기능과 변경된 기능은 다음과 같다. •    GO111Module을 on으로 설정하면 go 명령이 모듈 디렉터리 밖에서 모듈 인식 작업을 지원한다. 단, 이런 작업은 현 디렉터리와 관련된 가져오기 경로를 리졸브 하거나 명시적으로 mod 파일을 편집할 필요가 없다. 그 목적은 2019년 8월 출시 예정인 고 버전 1.13에 고 모듈 모드를 기본으로 탑재하는 것이다. •    모듈을 다운로드하여 압축을 해제하는 go 명령도 동시에 안전하게 적용할 수 있다. 모듈 캐시(GOPATH/pkg/mod)는 파일 잠금을 지원하는 파일 시스템 안에 존재해야 한다. •    런타임은 스위핑 시 히프(Heap)의 많은 부분이 활성화되어 있을 때 더 나은 성능을 제공한다. 이로 인해 쓰레기 수거 후 할당 지연 속도이 단축된다. •    런타임은 특히 기존 히프를 재사용할 수 없는 대규모 할당 때문에 더욱 공격적으로 메모리를 OS로 반환한다. 리눅스의 경우 이제 OS가 메모리 압박을 받는 경우에만 런타임이 OS로 메모리를 제공한다. •    코드의 레이스 조건을 찾기 위한 고 레이스 감지 장치가...

구글고 고랭 2019.02.28

구글 고 버전 1.12, 무엇이 달라졌나? 구 버전과의 비교분석

툴체인, 런타임, 라이브러리 구현이 변화된 구글 고(Go) 언어(고랭, Golang) 1.12 버전 베타가 공개됐다. 고 버전 1.12의 정식 출시는 2019년 2월로 예정돼 있다.   고 다운로드하기 고 프로젝트 사이트에서 고 정식 릴리스 버전을 다운로드할 수 있다.  컴파일러 툴체인에서 라이브 변수 분석 기능이 개선됐다. 이는 이전 릴리스에 비해 파이널라이저가 더 일찍 실행된다는 것을 의미할 수 있다. 문제가 된다면 개발자는 runtime.KeepAlive 호출을 추가하는 방법을 고려해야 한다.  가비지 수집기에는 드물게 충돌을 유발할 수 있는 알려진 문제점이 있다. 구글은 문제를 발견하면 보고해줄 것을 당부하고 있다. 문제 보고는 고 이슈 트래커에서 가능하다.   그 외에 고 1.12의 새로운 점과 변경된 점은 다음과 같다. •    GO111Module이 on으로 설정되면 go 명령은 모듈 디렉터리 외부의 모듈 인식 작업을 지원한다. 단, 이러한 작업이 현재 디렉토리의 상대 가져오기 경로를 확인하거나 mod 파일을 명시적으로 편집할 필요가 없는 경우에 한해서다. •    모듈을 다운로드해서 추출하는 여러 go 명령을 안전하게 동시 호출할 수 있다. 모듈 캐시(GOPATH/pkg/mod)는 파일 잠금을 지원하는 파일 시스템에 위치해야 한다. •    힙의 많은 부분이 살아있을 때 런타임의 스위핑 성능이 개선됐다. 이는 가비지 수집에 따르는 할당 지연을 줄여준다. •    특히 기존 힙 공간을 재사용할 수 없는 대용량 할당에 대해 런타임이 OS에 더 공격적으로 메모리를 해제해 돌려준다. 리눅스의 경우 이제 런타임은 OS에서 메모리가 넉넉하지 않을 때만 OS에 메모리를 풀어준다. •    코드의 경합 조건을 찾기 위한 고 경합 탐지기가 이제 리눅스 ARM64 아키텍처에서 지원된다...

프로그래밍언어 구글고 2018.12.28

구글 고 언어를 위한 필수 웹 프레임워크 6종

구글 고 언어(Google Go language, 일명 고랭(Golang))는 웹서비스와 API를 저작하는 탁월한 선택이다. 신속 실행되는 네이티브 코드로 컴파일되고, 비동기 프로그래밍과 여타 웹서비스에 유용한 기능을 위한 네이티브 메타포를 가지고 있고, 사용자 층이 폭넓고 확대 중이다. 이번 기사에서는 고 언어로 웹 개발을 하는데 현재 쓰이고 있는 주요 프레임워크를 소개한다. 엔드포인트 API 등 단순한 사용 사례를 목표로 하는 프레임워크가 있는가 하면, 전면 사이트 개발을 위한 프레임워크도 있고, 또는 일정 작업에 필요한 컴포넌트에 따라 확대 내지 축소될 수 있는 프레임워크도 있다. 고 웹 프레임워크: 비고 비고(Beego)는 어떤 면에서 파이썬 기반의 포괄적인 장고 웹 프레임워크(Django web framework)를 연상시킨다. 웹 애플리케이션에 보편적인 기능들을 폭넓게 제공하고, 필요에 따라 사용될 수도, 무시될 수도 있는 8개의 모듈로 조직된다. ▲ 대다수 웹 프레임워크에서 발견되는 일반적인 모델-뷰-컨트롤러(model-view-controller, MVC)는 물론이고 ▲데이터 액세스를 위한 객체-관계 맵(object-relationship map, ORM) ▲빌트-인 캐시 핸들러 ▲세션 핸들링 툴 ▲로깅 메커니즘, ▲HTTP 객체와의 공통 연산을 위한 라이브러리를 포함한다. 비고는 명령-라인 툴에서도 장고와 비슷하다. 예를 들어, 'bee' 명령을 이용해 비고 앱을 처음부터 제작하거나, 기존의 앱을 관리할 수 있다. 고 웹 프레임워크: 진 고 언어의 첫 번째 웹 프레임워크 가운데 하나는 마티니(Martini)였지만, 이는 더 이상 유지되지 않는다. 그러나 그 과정에서, 마티니의 기본 메타포를 이용하면서 보다 우수한 성능과 더 많은 기능을 내세우는 다른 고 프레임워크들이 출현했다. 진(Gin)이 이런 프레임워크 가운데 하나다. 이는 속도를 위해 httprouter 패키지의 커스텀 버전을 이용...

Google Go language Golang 고랭 2018.05.29

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

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

Copyright © 2022 International Data Group. All rights reserved.