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.

개발 도구

“강력하지만 오용하기 쉽다” 그래프QL의 장단점 5가지

그래프QL(GraphQL)을 좋아하는 개발자도 있고, 싫어하는 개발자도 있을 것이다. 이 REST API 대체제의 좋은 점, 나쁜 점, 이상한 점을 살펴본다.  페이스북(현 메타플랫폼)은 거대한 소셜 그래프에서 데이터 구조를 검색할 간결하고 강력한 방법이 필요했고, 2012년 ‘그래프QL(GraphQL)’을 처음 만들었다. 이 회사는 2015년부터 그래프QL을 공개적으로 공유하기 시작했고, 2019년에는 비영리 단체 ‘그래프QL 재단(GraphQL Foundation)’에 소유권을 기부했다.  그리하여 오늘날 많은 기업이 그래프QL을 사용해 데이터 검색 서비스를 구축하고 있다. 이 쿼리 언어는 계속 발전하고 있으며, 그래프QL 재단은 개선 사항을 꾸준하게 발표하고 있다.     좋아하는 이유 1. 그래프QL은 간결하다 데이터를 검색해야 하는 개발자는 그래프QL가 간결하다는 점에서 이를 좋아하는데, 특히 사용자 인터페이스를 개선하기 위해 새 기능과 데이터를 계속 추가하는 프론트엔드 개발자가 그러하다. 구문(syntax)은 복잡하고 [때로는] 중첩된 데이터 구조에서 응답을 요청하는 가장 간단한 방법이다. 이렇게 하면 코드를 다시 작성하지 않고도 더 많은 데이터를 쉽게 요청할 수 있다. 또 그래프QL의 쿼리 메커니즘은 기존 쿼리의 복잡성을 많이 완화하도록 설계됐다. 데이터베이스 쿼리에서 내부 및 외부 조인으로 어려움을 겪는 개발자가 있을 것이다. 전 세계 서너 개의 서로 다른 데이터베이스에서 데이터를 찾기 위해 3~4개의 요청을 보내는 데 지친 개발자도 있을 것이다. 그래프QL은 이러한 모든 복잡성을 눈에 띄지 않게 처리하기 때문에 이를 고려할 필요가 없다.    싫어하는 이유 1. 쿼리를 위험할 정도로 쉽게 만든다 개발자는 백엔드가 모든 복잡성을 처리한다는 점에서 그래프QL 요청에 더 많은 필드를 쉽게 추가할 수 있어 [그래프QL을] 좋아한다. 그리고서 결과가 5배, 10배 또는 100배씩 느려지면 놀...

오픈소스 개발 도구 API 2023.01.12

칼럼ㅣ로그4j 이후 반격에 나선 오픈소스 보안

역사상 최악이라고 평가됐던 로그4j(Log4j) 사태가 1주년을 맞았다. 그 이후로 소프트웨어 세계는 이런 일이 다시는 일어나지 않도록 필사적으로 달려왔고, 그간 소프트웨어 공급망 보안에서 빠져있던 연결고리가 채워지기 시작하고 있다.   로그4j는 자체 환경에서 널리 사용되는 오픈소스 로깅 유틸리티를 어디서 실행하고 있는지조차 파악하기 어려웠던 많은 기업에 치명적인 문제였다. 하지만 동시에 업계가 소프트웨어 공급망 악용의 전이적 특성 그리고 익스플로잇이 소프트웨어 종속성을 뛰어넘는 것이 얼마나 쉬운지 깨달은 기회이기도 했다. 보안팀은 순탄치 않게 2021년을 마무리해야 했다.  보안 공급업체도 마찬가지였다. 초반에는 일부 기회주의적인 보안 소프트웨어 마케터가 자사 제품을 직접적인 해결책으로 서둘러 홍보했다. 하지만 소프트웨어 공급망 보안 스타트업 체인가드(Chainguard) CEO 댄 로런츠는 “대부분의 스캐너는 패키지 데이터베이스로 컨테이너 내부에 어떤 패키지가 설치돼 있는지 확인한다. 이때 시스템 외부에 설치된 소프트웨어는 쉽게 식별할 수 없어 스캐너에 보이지 않는다"라고 조언했다. 즉, 보안 공급업체는 실제 해결책이 아니라 개념이나 희망을 판매하고 있었다.  소프트웨어 공급망 문제는 특히 오픈소스와 관련돼 있다. 문제는 최신 애플리케이션이 대부분 ‘보안 출처가 알려지지 않은’ 오픈소스 프레임워크로 구축된다는 점이다. 모든 오픈소스를 안전하게 보호하는 엔터프라이즈 솔루션은 있을 수 없다. 정답은 오픈소스 커뮤니티 자체에서 나올 필요가 있었다.  커뮤니티의 반응 2022년에는 소프트웨어 공급망 보안과 관련해 엄청난 양의 활동이 있었고, 오픈소스 커뮤니티가 똘똘 뭉쳐 방어벽을 쌓은 사례도 수도 없이 많았다.  그중 일부는 환영할 만한 처사였지만 대체로 정치권의 공허한 메아리이기도 했다. 소프트웨어 공급망을 보호하라는 美 백악관의 행정명령과 2022년 미국 상원의 오픈소스 소프트웨어 보...

오픈소스 보안 소프트웨어 개발 2022.12.14

“목표는 C++ 현대화” 새 컴파일러 ‘Cpp프론트’ 공개

‘Cpp프론트(Cppfront)’는 유서 깊은 프로그래밍 언어인 C++를 ‘10배 더 간단하고, 안전하며, 도구를 사용하기 쉽게’ 만드는 대체 C++ 구문용 실험적 컴파일러다.    C++ 언어가 ‘Cpp프론트’라는 제안에 따라 더 간단하고 안전해질 예정이다. 이는 유명 C++ 개발자 허브 셔터가 제안한 실험적인 C++ 프론트엔드다. 그는 ISO C++ 위원회 의장, C++ 기능 설계자, 마이크로소프트 소프트웨어 아키텍트 등을 맡고 있다. 셔터는 해당 프로젝트의 깃허브 리포지토리에서 이를 C++의 중요한 발전이라고 언급하면서, “Cpp프론트는 C++이 10배 더 간단하고, 안전하며, 쉽게 도구를 사용할 수 있게 진화할 수 있는지 탐구하도록 설계된 실험적인 컴파일러다”라고 설명했다.  그에 따르면 대체 C++ 구문은 ‘오늘날 존재하지 않는 새로운 코드의 거품’을 제공하여, C++ 언어 설계자가 기본값을 변경하거나, 안전하지 않은 파트를 제거하거나, 언어를 문맥에서 자유롭거나 순서 독립적으로 만드는 등 임의적인 개선을 할 수 있게 한다. 유형 및 메모리 안전은 기본으로 지원된다. 이어 셔터는 “또한 두 번째 구문을 통해 파서(parser), 리팩토링 및 기타 도구를 쉽게 작성할 수 있도록 한다. 아울러 구문이 현 C++보다 2배로 줄어들어 C++ 20 모듈과 C++ 23 import std를 기본값으로 만든다”라고 전했다.  Cpp프론트 컴파일러는 현재 진행 중인 프로젝트다. 이 프로젝트 자체는 지난 7년 동안 개발돼 왔지만 지난주 미국 콜로라도주 오로라시에서 열린 컨퍼런스(CppCon)에서 일종의 ‘데뷔 파티’가 있었다. Cpp프론트는 MSVG, GCC, Clang을 포함한 메이저 C++ 20 컴파일러로 빌드된다. 지침은 깃허브에서 확인할 수 있다.  한편 지난 7월 말 구글은 C++의 후계자를 목표로 개발 중인 카본(Carbon)을 공개한 바 있다. 카본을 통해 C++와의 원활한 양방향 상...

C++ 프로그래밍 언어 개발 언어 2022.09.23

AWS, ‘앰플리파이 스튜디오’ GA 버전 출시

아마존 웹 서비스(AWS)가 ‘AWS 앰플리파이 스튜디오(AWS Amplify Studio)’의 GA 버전을 출시했다. AWS 앰플리파이 스튜디오는 웹과 모바일 애플리케이션의 프론트엔드 및 백엔드 개발을 단순화하기 위한 AWS 앰플리파이용 시각적 개발 인터페이스다.    마우스로 클릭하기만 하면 되는 방식(point-and-click)의 시각적 개발 환경은 웹 및 모바일 애플리케이션 구축을 위한 AWS 앰플리파이 도구 세트를 확장하여 개발자가 백엔드와 프론트엔드를 시각적으로 빌드하고, AWS 서비스(예: 사용자 인증, 실시간 데이터, AI/ML, 파일 스토리지 등)를 통합할 수 있도록 지원한다. 앰플리파이 스튜디오를 사용하면 몇 시간 만에 앱을 완성할 수 있다고 업체 측은 밝혔다. 프론트엔드의 경우 개발자는 수십 개의 사전 빌드된 리액트 UI(React UI) 구성요소를 사용하고, 구성요소를 사용자 지정할 수도 있다.  업체에 따르면 AWS 앰플리파이 스튜디오는 해당 제품 웹사이트를 통해 시작할 수 있다. 앰플리파이 스튜디오는 작년 12월부터 프리뷰 단계에 있었다. GA 버전에는 UI 이벤트 핸들러 지원, 구성요소 테마 지정, 생성된 구성요소 확장 및 사용자 지정 개선 등의 기능이 추가됐다. 아울러 피그마(Figma) 디자인 플랫폼과의 통합으로 개발자와 디자이너는 앱 UI에서 협업할 수 있다. 개발자는 앰플리파이 스튜디오에서 피그마의 새 구성요소 디자인을 애플리케이션으로 가져올 수 있다. 이 밖에 개발자는 (앰플리파이 스튜디오 내에서) 웹 앱용 CI/CD 플랫폼인 AWS 앰플리파이 호스팅 서비스(AWS Amplify Hosting Services)를 활용할 수도 있다. ciokr@idg.co.kr

AWS 아마존 웹 서비스 클라우드 2022.04.26

개발 방식을 바꾸는 15가지 기술

아주 오래전에 개발자들은 빠르고 가벼운 어셈블리 언어로 개발했다. 코드를 입력하기 위해 기계 전면의 스위치를 조작해 줄 사람을 고용할 수 있을 정도로 예산이 많은 적도 있었고, 상황이 좋지 않을 때는 개발자가 직접 그 일을 했다. 복잡할 것이 전혀 없었다. 당시의 소프트웨어는 메모리에서 데이터를 읽어 들여 약간의 연산을 한 뒤 결과물을 반환하는 것이 전부였다. 오늘날의 개발자는 전세계 출신의 다양한 언어를 구사하는, 무엇보다 제각기 다른 버전의 컴파일러를 사용하는 팀원들과 함께 일해야만 한다. 게다가 어떤 코드는 새로 개발된 것이고, 어떤 코드는 소스 코드가 제공되지 않는, 십 년도 넘은 라이브러리를 활용한 것일 수도 있다. 오늘날 개발자가 되기 위해서는 협동심과 인내력부터 키워야 한다. 불과 5년 전과 비교하더라도 컴퓨터에 작업을 지시하는 것에는 대단한 차이가 있다. 지난 10년 동안 영화 ‘올드보이’의 오대수처럼 어딘가에 납치됐다 풀려난 개발자가 오늘날의 컴퓨팅 세계에서 아무것도 할 수 없다 해도 놀라지 않을 정도다. 모든 것이 그 어느 때보다 빠르게 변하고 있다. 지금부터 개발 방식 자체를 바꾸는 15가지 기술을 살펴볼 것이다. 이 기술들로 인해 개발자의 협업 방식, 고객 지원 방식, 코딩 방식이 바뀌고 있다. 개발자라면 정신을 바짝 차리기 바란다. editor@itworld.co.kr

개발자 개방 방식 개발 도구 2014.11.12

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

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

Copyright © 2023 International Data Group. All rights reserved.