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.
TOPIC

개발자

자바ㆍ자바스크립트용 풀 스택 프레임워크, 제이힙스터의 이해

제이힙스터(JHipster)는 리액티브 프론트 엔드를 사용한 풀 스택 자바 애플리케이션 개발을 쉽게 한다는 원대한 목표로 오래 전에 시작된 자바/자바스크립트 하이브리드 프로젝트다. 제이힙스터 개발팀은 업계의 변화에 보조를 맞춰 꾸준히 새 버전을 내놨는데, 여기서는 간단한 애플리케이션을 만들면서 이 프레임워크로 무엇을 할 수 있는지 알아보자.    제이힙스터란 기본적으로 제이힙스터(JHipster)는 프론트 엔드용 리액트(React), 뷰(Vue), 앵귤러(Angular)를 지원하며 스벨트(Svelte)를 비롯한 다른 프레임워크는 블루프린트(blueprints)라는 플러그인을 통해 지원한다. 백엔드의 경우 스프링 부트(Spring Boot)의 비중이 크다. 힐라(Hilla) 프레임워크와 비슷하지만, 광범위한 프론트 엔드 스택을 지원한다는 더 큰 목표를 갖고 있다. 기본적으로 제이힙스터는 자바 및 자바스크립트 빌드 툴체인을 통합하고 그 위에 다양한 관리 기능을 덧씌우는 고급 빌드 툴이다.  제이힙스터는 풀 스택 애플리케이션 외에 마이크로서비스 구성요소를 지원하며 JPA 기반 관계형 데이터베이스와 몽고DB(MongoDB), 카산드라(Cassandra) 같은 NoSQL 데이터스토어를 위한 골격을 제공한다. 로깅과 분석을 위한 기능도 있다.  제이힙스터의 툴셋에는 명령줄 및 도메인별 언어(DSL)와 시각적 데이터 모델러 및 웹 기반 생성자(constructor)가 포함된다(스프링 이니셜라이저(Spring Initializr)의 강화된 형태라고 보면 된다). 여기서는 명령줄을 사용해 시작한다. 참고로 비교적 최신 자바, Node.js, 깃 버전이 설치된 시스템이 필요하다.    제이힙스터 예제 애플리케이션  제이힙스터 퀵스타트에 따라 generator-jhipster NPM 패키지를 설치하고 생성기를 실행할 새 디렉터리를 만든다. <화면 1>과 비슷한 인터랙티브 프롬프트가 표시될 것이다.&nbs...

제이힙스터 JHipster 2022.06.14

"이번엔 성공할까" 구글, 로우코드 플랫폼 '버텍스 AI' 업데이트

로우코드/노코드 플랫폼에 대한 관심 증가에 따라 구글이 ‘버텍스 AI(Vertex AI)’ 플랫폼을 업데이트했다. 약 1년 전, 구글은 ‘버텍스 AI’를 출시하면서 로우코드 및 노코드 소프트웨어 개발에 큰 베팅을 했다. 한편 업계 애널리스트들은 인터넷 업계의 거물이 새로운 릴리즈를 통해 이 경쟁이 치열한 시장에서 새로운 입지를 확보할 수 있을 것으로 예상했다.    지난 목요일 ‘어플라이드 ML 서밋(Applied ML Summit)’에서 구글 클라우드가 학습 단축 서버(Training Reduction Server), 테이블 형식의 워크플로우(Tabular Workflow), 예제 기반 설명(Example-Based Explanations) 등을 포함해 버텍스 AI의 새로운 기능을 발표했다. 이는 고객들이 머신러닝 모델을 제대로 활용하고, 숙련된 전문가 의존도를 낮추는 것을 목표로 한다.  “성능 테스트 결과 2021년 버텍스 AI 및 빅쿼리를 통해 생성된 ML 예측 (모델) 수가 2.5배 증가했고, 지난 6개월 동안 버텍스 AI 워크벤치(Vertex AI Workbench)의 활성 고객이 25배 늘어났다. 고객들은 관리형 및 통합형 ML 플랫폼이 프로덕션 환경에서 ML 배포를 가속하는 데 중요하다는 점을 분명하게 알고 있다”라고 회사 측은 밝혔다.  구글은 2020년 초 (당시 8년 된 회사였던) 앱시트(AppSheet)를 인수하면서 로우코드/노코드 시장에 뛰어들었다. 하지만 해당 인수에도 불구하고 이 회사는 로우코드/노코드 시장에서 아직은 강력한 경쟁상대로 여겨지진 않고 있다. 애널리스트들은 버텍스가 구글에게 로우코드/노코드 소프트웨어 개발 시장에서의 영향력을 넓힐 기회를 제공할 수 있다고 봤다. 파릭 컨설팅(Pareekh Consulting)의 설립자 파릭 자인은 “사용자 정의 라이브러리로 모델을 학습시키는 데 다른 플랫폼보다 코드 요건이 80% 더 적은 버텍스 AI는 로우코드/노코드 시장에서 구글의...

구글 로우코드 노코드 2022.06.14

로지텍-우아한형제들, 개발자 대상 브랜드 콜라보 진행

로지텍 코리아가 배달의민족 운영사인 우아한형제들의 기술조직을 알리는 ‘우아한테크’와 브랜드 콜라보를 진행한다고 밝혔다.   콜라보의 시작으로 지난 7일 우아한형제들의 ‘테크살롱’에 로지텍의 신제품 체험존을 열었다. 테크살롱은 우아한형제들이 개발자들을 위해 지난 2월 선릉역 인근에 오픈한 공간으로, 우아한형제들의 개발자뿐 아니라 여러 기업의 개발자, 취업 준비생, 학생이 함께할 수 있는 네트워킹의 장으로 운영될 예정이다. 테크살롱 내 로지텍 체험존에서는 로지텍이 최근 출시한 MX 메커니컬(Mechanical) 무선 기계식 키보드와 MX 마스터(Master) 3S 무선 마우스 제품을 체험할 수 있다. 체험존 운영과 함께 우수 개발자를 위한 시상식도 진행된다. 우아한형제들 기술조직에서 운영하는 개발자 대상 프로그램에서 우수 참여자를 선정해 로지텍 MX 메커니컬과 MX 마스터 3S 제품을 증정하는 ‘우아한 X 로지텍 MX 어워드’를 수여할 계획이다. 이와 더불어, 개발자들을 대상으로 한 로지텍 신제품 테스트 또한 실시한다. 우아한형제들 소속 내부 개발자들을 대상으로 MX 메커니컬과 MX 마스터 3S 제품에 대한 필드 테스트를 진행하고, 피드백 수렴 과정을 거쳐 전문 개발자들의 니즈를 정확하게 파악해 향후 로지텍의 개발자 관련 제품군 출시에 참고할 예정이다. 또한 이번 콜라보를 기점으로 로지텍과 우아한형제들은 앞으로도 개발자 관련 행사 부문에서의 지속적인 마케팅 파트너십을 이어 나갈 계획이다. 로지텍 코리아 조정훈 지사장은 “개발자 양성에 아낌 없는 관심과 지원을 쏟고 있는 우아한형제들과 함께할 기회를 마련하게 되어 영광”이라며 “앞으로 전문 개발자를 꿈꾸는 이들 모두가 로지텍의 MX 메커니컬, MX 마스터 3S와 함께 원하는 목표를 달성하길 바란다”고 말했다.  editor@itworld.co.kr

로지텍 우아한형제들 배달의민족 2022.06.13

"너무 복잡해" 클라우드 앱 개발 문제⋯그래프QLㆍ슈퍼그래프로 해법 찾는다

우리는 클라우드 컴퓨팅의 황금시대에 살고 있다. 사용자에겐 경이롭다. 그러나 개발자에게는 총체적 난국이다.   전통적인 모놀리식(monolithic) 애플리케이션 아키텍처는 문제가 많은 대신 비교적 간단하다. 앱 서버와 데이터베이스를 브라우저 인터페이스에 연결하면 된다. 반면 오늘날의 애플리케이션은 이렇게 간단하지 않다. 백엔드 마이크로서비스, 퍼스트파티와 서드파티 API, 데이터베이스는 변화무쌍하고 브라우저, 셋톱 박스, 모바일 앱별로 해당 데이터를 위한 다양한 프론트엔드 랜딩존(landing zone)을 사용한다. 리액트(React)를 비롯한 여러 프론트엔드 프레임워크 덕분에 개발이 다소 쉬워졌지만, 혼란스러운 백엔드 복잡성을 프론트엔드 경험에 연결하는 일은 오히려 더 어려워졌다. 그래프QL(GraphQL)에 고마움(?)을 표시해야 하는 것도 이 때문이다. 2015년 페이스북이 공개한 그래프QL은 API를 위한 유연한 질의 언어 역할을 한다. 관계형 데이터베이스 질의에 사용하는 SQL과 달리, 그래프QL은 개발자가 다양한 데이터 소스를 질의할 수 있으며 클라이언트(프론트엔드 개발)와 서버(백엔드 개발)를 분리한다. 단, 이처럼 멋진 그래프QL도 슈퍼그래프(supergraph) 없이는 불완전하다. 아폴로 그래프QL(Apollo GraphQL) CTO 맷 드버갈리스에 따르면, 슈퍼그래프는 한 기업의 데이터, 마이크로서비스, 디지털 기능을 통합해 전체 조직의 ‘구성 계층’ 역할을 하는 네트워크다. 아폴로 그래프QL의 CEO 제오프 슈미트는 한 인터뷰에서 슈퍼그래프를 '살아 숨 쉬는 것'으로 표현하면서 “슈퍼그래프를 통해 기업은 계속 변화하는 요건에 맞게 인프라를 단계적으로 개선할 수 있다. 또한, 그린필드(greenfield, ​​완전히 새로운 설정이나 환경을 위한 시스템을 만드는 것) 같은 것이 없어 그 새로운 인프라를 구형 인프라와 연결할 수도 있다”라고 말했다.   슈퍼그래프와 그린필드에 대한 오해 잠시 슈미트의 말을 짚고...

그래프QL 슈퍼그래프 2022.06.10

웹 앱 프레임워크 ‘앵귤러 14’ 출시⋯“형식화된 폼과 독립형 요소 지원”

구글에서 개발한 타입스크립트(TypeScript) 기반 웹 애플리케이션 프레임워크의 최신 버전 ‘앵귤러 14(Angular 14)’가 출시됐다. 최신 프레임워크는 독립 실행형 구성 요소의 개발자 미리보기와 형식화된 폼 등을 제공한다.    개발팀에 따르면 독립실행형 구성 요소는 NgModules의 필요성을 줄여 앵귤러 애플리케이션 개발을 간소화한다. 독립실행형 구성 요소, 명령어, 파이프와 함께 standalone: true 플래그를 사용하면 @NgModule() 없이 @component()에 직접 가져오기를 추가할 수 있다. 현재 이 구성 요소는 안정적인 API가 아니며, 앵귤러의 일반적인 하위 호환성 모델 외부에서 변경될 수 있기 때문에 테스트 용도로만 활용해야 한다고 개발팀은 덧붙였다.  또 지난 6월 2일(현지 시각) 공개된 앵귤러 14에서는 반응형 폼이 엄격하게 입력된다. 형식화된 폼은 폼 컨트롤, 그룹, 배열 내부 값이 전체 API 표면에서 타입 세이프 하도록 하여, 특히 깊게 중첩된 복잡한 케이스에서 안전한 폼을 가능하게 한다. 업데이트된 스키매틱을 사용하면 형식화된 폼으로 점진적 마이그레이션을 할 수 있다. 즉, 개발자는 하위 호환성을 갖춘 기존 폼에 점진적으로 입력을 추가할 수 있다. 아울러 ng udpate는 모든 폼 클래스를 형식이 지정되지 않은 버전으로 대체해 개발자가 원하는 대로 타입을 활성화할 수 있도록 지원한다.  새로운 타이핑 지원을 사용하려면 Untyped 폼 컨트롤 인스턴스를 검색하고, 가능하다면 새로운 형식화된 폼 API 표면으로 마이그레이션하라고 앵귤러 개발팀은 권장했다. 한편 앵귤러 설정 지침은 이곳에서 확인할 수 있다. 이 밖에 앵귤러 14의 새로운 기능 및 개선사항은 다음과 같다.    최신 타입스크립트 4.7 릴리즈를 지원한다. 앵귤러 14는 기본적으로 ES2020을 대상으로 하기 때문에 CLI에서 다운레벨을 수행할 필요 없이 더 작은 코드를 제...

구글 타입스크립트 프레임워크 2022.06.10

개발자가 알아야 할 클라우드 비용 절감 팁 12가지

일부 개발자는 컴퓨팅 비용의 관리를 데브옵스팀의 책임이라고 생각한다. 소프트웨어를 코딩하고 배포하지만 비용은 걱정하지 않는 것이다. 잘못된 생각이다. 현명한 개발자는 자신의 코딩 결과물이 회사의 재무에 큰 차이를 만든다는 사실을 알고 있다. 용량이 큰 코드는 더 느리고 실행할 때 더 많은 클라우드 자원을 요구한다. 우수한 알고리즘을 선택하고 간결한 코드를 작성하는 일은 단순히 속도 이상의 의미를 가진다. 적절히 쓰여진 코드는 실행하는 데 비용이 덜 든다. 그러나 개발자가 비용을 계속 생각하기란 어렵다. 자신의 디바이스에서 코드를 작성하기는 쉽다. 디바이스를 구매할 때 RAM과 추가 디스크 공간도 같이 결제됐다. 디스크 공간이 2TB 정도라면, 코드가 얼마나 많은 공간을 소비하는 지 알아차리지 못할 수 있다. 새 알고리즘이 실행되는 데 2배 더 오랜 시간이 걸리더라도 자신의 디바이스에는 아무 영향도 없을 것이다. 몇 ms가 더 걸린다고 해도 누가 이를 감지할 수 있겠는가? 그러나 연산을 2배로 늘리면 클라우드 요금만큼은 확실히 더 늘어난다. 클라우드 개발자는 코드를 작성할 때 현명한 결정을 내릴 역량이 있음을 알고 있다. 프로파일러를 실행해 느린 부분을 식별하거나 불필요한 데이터 스토리지를 회피하며 메모리 풋프린트를 줄이는 것처럼 단순한 작업일 수도 있다. 코드를 간소화시켜 빠르면서도 비용을 줄이게 하는 12가지 방법을 소개한다.    더 빠른 코드의 작성  대다수 개발자는 코드를 최적화하는 데 그렇게 많은 시간을 쓰지 않는다. 자신의 노트북에서 순식간에 실행되기 때문이다. 시간이 지나면서 20%, 30%, 심지어 300% 더 느려지는 것을 실감하지 못한다. 프로그램은 여전히 빠르게 반응하는 것처럼 보인다.  그러나 서버 상에서 수백만 번 실행되면, 차이가 누적된다. 세심한 프로파일링은 느린 부분을 파악할 수 있다. 이들을 다시 작성하면 애플리케이션에 필요한 인스턴스의 수를 줄일 수 있다. RAM 풋프린...

클라우드 비용 코딩 프로그래머 2022.06.09

슬랙∙깃허브∙구글 드라이브를 따로 검색하는 데 지쳤다면? "SQL로 한꺼번에"

누구나 항상 겪는 일이다. 찾는 단어가 도대체 어디에 있는지 알 수 없어서 슬랙, 깃허브, 구글 드라이브, 구글 시트, 젠데스크 등 다양한 서비스를 일일이 다 뒤져 보는 일이다. 이때 스팀파이프(Steampipe) 대시보드를 사용하면 이 과정을 매끄럽게 실행할 수 있다. 이번이 첫 시도는 아니다. 필자는 1996년에 이 여정을 시작했고 이후 주기적으로 아이디어를 다듬었다. 2018년에는 실제 기능할 수 있는 가장 단순한 버전에 관한 기사를 썼다. 다양한 서비스에 대한 검색 URL을 몰아넣은 다음 각각의 자체 탭에서 각 서비스를 방문하는 형태의 웹 페이지다. 바보 같은 생각처럼 들릴 수도 있지만 도움이 되는 부분도 있어서 필자 외에도 사용하는 사람들이 생겼다.   물론 필자는 기반 API를 사용하고 결과를 정규화하고 이를 하나의 공통적인 뷰로 병합하고자 했다. 하지만 이렇게 하기 위해 온갖 API와 씨름해야 했는데 프로젝트가 가진 가치에 비해 난관이 너무 많았다. 이와 같은 작업을 해본 사람은 알겠지만 대부분의 서비스는 내가 선호하는 프로그래밍 언어를 위한 어댑터와 함께 검색 API를 제공한다. 그러나 각 서비스마다 API를 호출하고 결과를 페이지로 나누고 서식을 적용하는 각자의 방식이 있다. 이와 같은 차이점으로 인해 마찰이 발생한다. 결과를 일관적으로 다루기 위해서는 이 마찰을 극복해야 한다. API 작업이 마찰 없이 된다면 많은 것이 가능해진다. 효과적인 메타검색이 그 중 하나다. 스팀파이프는 API 호출, 결과 페이지 구분, JSON 객체 압축 해제와 같은 작업에서 벗어날 수 있게 해준다. API를 대신 호출해주고 결과를 데이터베이스 테이블로 스트리밍해주므로 데이터 작업에만 온전히 집중할 수 있다. 즉, 메타검색 대시보드를 만들 때 직면하는 가장 큰 문제가 해결된다.   스키마로 수렴 다음 과제는 검색 결과를 공통된 스키마에 바인딩하는 것이다. SQL은 이를 위한 훌륭한 환경이다. 스크린캐스트의 대시보드를 만든 쿼리에는 SQL에 ...

SQL 슬랙 깃허브 2022.06.09

머신러닝 라이브러리 대표주자, 텐서플로우의 이해

머신러닝은 복잡한 분야지만 머신러닝 모델을 구현하는 과정은 데이터 수집, 모델 교육, 예측 수행, 이후 결과 조정 과정을 쉽게 해주는 구글 텐서플로우(TensorFlow)와 같은 머신러닝 프레임워크 덕분에 과거에 비해 훨씬 더 간편해졌다.   구글 브레인(Brain) 팀이 개발해 2015년에 처음 공개한 텐서플로우는 수치 계산과 대규모 머신러닝을 위한 오픈소스 라이브러리다. 텐서플로우는 다양한 머신러닝 및 딥러닝 모델과 알고리즘(신경망)을 묶어 공통 프로그래밍 메타포를 통해 사용할 수 있도록 한다. 파이썬 또는 자바스크립트를 사용해 애플리케이션을 구축하기 위한 편리한 프론트엔드 API를 제공하며 애플리케이션을 실행하는 데는 고성능 C++를 사용한다. 파이토치(PyTorch), 아파치 MX넷(MXNet) 등의 프레임워크와 경쟁하는 텐서플로우는 수기 숫자 분류, 이미지 인식, 단어 임베딩, 순환 신경망, 기계 번역을 위한 시퀀스-시퀀스 모델, 자연어 처리 및 편미분방정식(PDE)을 위한 심층 신경망을 학습시키고 실행할 수 있다. 무엇보다 텐서플로우는 학습에 사용한 것과 같은 모델로 대규모 프로덕션 예측을 지원한다. 또한 텐서플로우에는 프로젝트에 사용 가능한 사전 학습된 모델 라이브러리가 풍부하다. 텐서플로우 모델 가든(Model Garden)의 코드를 모델 학습 예제로 사용할 수도 있다.   텐서플로우의 작동 방식 텐서플로우에서 개발자는 데이터가 그래프 또는 일련의 처리 노드를 어떻게 이동하는지를 설명하는 구조인 데이터플로우 그래프를 만들 수 있다. 그래프의 각 노드는 수학 연산을 나타내며 노드 간의 각 연결 또는 가장자리가 바로 다차원 데이터 배열 즉 텐서(tensor)다. 텐서플로우 애플리케이션은 로컬 머신, 클라우드의 클러스터, iOS, 안드로이드 기기, CPU, GPU 등 거의 모든 타깃에서 실행이 가능하다. 구글 클라우드를 사용한다면 구글의 맞춤형 텐서플로우 프로세싱 유닛(TPU) 실리콘에서 텐서플로우를 실행해 더 빠른 속도를 얻...

텐서플로우 TensorFlow 2022.06.09

깃허브, 러스트 언어용 공급망 보안 도구 추가

깃허브의 여러 공급망 보안 기능을 러스트 카고(Rust Cargo) 파일에 사용할 수 있게 됐다. 자문 데이터베이스(Advisory Database), 디펜더봇 경보(Dependabot Alerts), 디펜던시 그래프(Dependency Graph) 등의 활용처가 넓어진 셈이다.   깃허브가 러스트(Rust) 언어를 위한 일련의 공급망 보안 기능을 추가했다. 요즘 성장세를 타고 있는 러스트 개발자가 보안 취약성을 발견하고 예방할 수 있도록 지원하기 위해서다. 여기에는 깃허브 자문 데이터베이스가 포함된다. 이 데이터베이스는 400개 이상의 러스트 보안 권고 사항, 디펜더봇 경보 및 업데이트, 디펜던시 그래프를 지원하며, 러스트 카고 패키지 파일의 취약한 의존성에 대한 경고를 제공한다. 깃허브 자문 데이터베이스는 개발자가 조치를 취할 수 있는 취약점 정보를 제공하는 보안 데이터베이스이다. 데이터베이스에 기재된 취약점 대부분은 러스트 라이브러리와 관련된 보안 권고 사항을 게재하는 러스트섹(RustSec)에서 제공한다. 러스트 패키지 메인테이너는 보안 권고 사항을 참고해 취약점을 공개적으로 발표하기 전에 제보자와 협력한 뒤 서로 논의을 거쳐 취약점을 수정할 수 있다. 개발자는 커뮤니티 기여를 통해 러스트 취약점을 CVE(Common Vulnerabilities and Exposures)로 보고할 수 있다.  깃허브 디펜던시 그래프는 저장소의 Cargo.toml 및 Cargo.lock 파일을 분석해 프로젝트의 의존관계를 판단한다. 디펜더봇은 이 디펜던시 그래프를 이용해 개발자에게 알려진 취약성을 경고하고 풀 요청(pull request)을 생성해 영향을 받는 의존성을 업데이트한다. 디펜던시 그래프는 공용 저장소에서 사용하도록 기본 설정되지만, 개인 저장소에서 사용하려면 따로 설정해야 한다.  깃허브는 공용 저장소의 디펜던시 그래프가 아직 업데이트되지 않았다면 곧 업데이트되는 모습을 확인할 수 있을 것이라고 밝혔다....

러스트 깃허브 자문데이터베이스 2022.06.09

“자바가 더 좋아지는 방법” JDK 개선 제안 프로세스와 최신 JEP

자바는 널리 사용되며 많은 요소가 자바에 의존하는 만큼 소프트웨어 인프라의 중요한 한 부분이다. 이 때문에 자바 플랫폼은 안정성을 중시하지만, 한편으로는 변화하는 환경에 적극적으로 대응하고 있다. 자바를 사용하는 사람들의 창의성도 이런 변화에 한몫한다. 이때문에 자바에는 높은 수준의 안정성을 달성하면서 변화를 수용하기 위해 공식적인 프로세스가 있다. 여기서는 자바 플랫폼이 어떤 방식으로 향상되는지를 대략적으로 알아보고, 앞으로 적용될 가장 중요한 새로운 기능에 대해서도 살펴본다.      자바 커뮤니티 프로세스  오랜 경력의 자바 개발자라 해도 자바 플랫폼이 개발, 유지되는 방식에 대해서는 잘 모를 수 있다. 큰 그림으로 들어가기 전에 자바 프로세스가 어떻게 동작하는지부터 알아보자. 핵심은 자바가 실질적으로 오픈소스라는 데 있다. 즉, 마음만 먹으면 자바에 기여할 수 있다. 기여자에게 말하고 그룹에 가입하고 제안을 제출하고 버그를 수정하면 된다.  자바 개발의 뿌리는 자바 커뮤니티 프로세스(Java Community Process, JCP)다. JCP는 수정 사항을 자바 플랫폼에 적용하는 방법을 정의하고, 이 프로세스 자체의 수정도 허용하는 일종의 자기인식적 문서라고 할 수 있다. JCP 최신 버전은 2019년에 채택된 2.11이다.  JCP는 사람들이 맡을 수 있는 다양한 역할에 대한 정의를 포함해서 자바의 새로운 기능과 변경(즉, 기술 사양)을 제안, 검토, 승인하는 방식을 공식화한다. 이와 같은 역할은 자바 사용자 커뮤니티가 플랫폼 관리에 참여할 수 있는 환경을 제공하는 데 도움이 된다.    자바 사양 요청  JCP는 새로운 기능과 변경 제안을 위해 자바 사양 요청(Java Specification Request, JSR)을 사용한다. JSR은 표준화된 양식을 통해 만들 수 있으며, 양식을 사용하려면 무료 JCP 계정을 만들어야 한다.  짐작할 수 있겠지...

자바 JDK 오픈소스 2022.06.08

블로그 | 서버리스와 컨테이너의 결합에 주목하라

서버리스 컴퓨팅이 클라우드 업계의 핵심 서비스로 자리 잡고 있다. 클라우드 모니터링 서비스 업체 데이터도그(DataDog)가 6월에 공개한 보고서에 따르면, 기업 절반 이상이 아마존, 마이크로소프트, 구글 중 한 곳에서 서버리스 컴퓨팅을 사용하고 있는 걸로 나타났다.    불과 2년 전만 해도 서버리스 컴퓨팅 수요는 특정 클라우드 서비스 업체에 몰려 있었는데, 이제 주류 클라우드 업체 3곳 모두 폭발적으로 늘어나는 서버리스 기술 수요에 적극 대응하고 있다. 덕분에 사용자는 선택할 수 있는 기술이 많아졌고, 특정 업체에 종속되는 부담 없이 서버리스 기술을 도입 중이다. 과거 컨테이너 기술이 기업에 확산됐던 것처럼, 서버리스 컴퓨팅도 기업의 핵심 인프라로 여겨지고 있는 셈이다.  데이터도그의 자료를 보면 기업 대부분이 서버리스 컴퓨팅을 컨테이너와 함께 이용하고 있다는 것을 알 수 있다. 가령 2022년 1월 기준 AWS의 서버리스 서비스 람다(Lambda)를 이용하는 고객 중 20%는 AWS의 컨테이너 서비스인 ECS 파게이트(ECS Fargate)를 동시에 사용하고 있었다. 2018년도에 람다와 ECS 파게이트를 함께 이용하는 경우가 거의 0%였다는 점을 고려하면, 수치가 눈에 띄게 증가했다.  두 기술이 함께 쓰이는 이유는 보완할 수 있는 요소가 많기 때문이다. 특히 서버리스는 자동으로 리소스를 관리해주기 때문에 사용자가 직접 프로비저닝할 때 겪는 문제점을 대부분 해소해준다.  예를 들어 컨테이너를 이용할 때는 스토리지나 컴퓨팅 자원의 양을 구체적으로 생각해두지 않는다. 반면에 서버리스에서는 리소스 양을 자동으로 할당하고 관리할 수 있다. 따라서 클라우드 및 컨테이너 기반 시스템을 운영하는 과정에서 자원이 너무 많이 배치되지 않게 어느 정도 도움받을 수 있다.  서버리스와 컨테이너를 동시에 이용할 경우, 장단점은 모두 존재한다.  먼저 장점부터 보자. 컨테이너는 애플리...

AWS 람다 컨테이너 2022.06.08

그렙, 글로벌 개발자 오픈 교육 플랫폼 ‘비욘드캠퍼스’ 공개

그렙이 소프트웨어 개발자를 위한 글로벌 오픈 교육 플랫폼 ‘비욘드캠퍼스(BeyondCampus)’를 출시하고 첫 온라인 클래스 ‘DW(Data Warehouse) & SQL’을 개강했다고 밝혔다.   비욘드캠퍼스는 소프트웨어 개발에 대한 다양한 주제를 전 세계 어디서든 자유롭게 학습할 수 있도록 개발한 글로벌 개발자 오픈 교육 플랫폼이다. 비욘드캠퍼스에서는 교육 콘텐츠 보유와 관계없이 프로젝트 기반의 교육을 제공할 수 있는 교육자라면 누구나 클래스를 열고 학습자와 만날 수 있다. 학습자들은 짧은 기간에 효과적인 개발 역량 향상 학습을 진행하고, 그렙의 축적된 데이터 기반의 학습 평가로 성과를 확인할 수 있다. 특히 비욘드캠퍼스는 일방적인 동영상 콘텐츠 위주의 온라인 소프트웨어 개발 교육의 한계점을 극복하고자 ▲웹IDE 기반의 실습 ▲코딩 테스트 ▲페어 프로그래밍 ▲코드 리뷰 ▲코딩 관련 질의응답 ▲온라인 시험 감독 기능 ▲영상 기반 라이브 클래스룸 기능을 제공하는 온라인 코호트 기반의 학습 관리 시스템(LMS, Learning Management System)을 구축했다.  이 기능은 기존 온라인 LMS 업체에서 제공하지 않지만, 소프트웨어 개발 교육을 위해 필요한 비욘드캠퍼스만의 핵심 경쟁력이라고 업체 측은 설명했다. 그렙은 북미 시장의 성장 가능성을 보고 2019년 3월 그렙 미국 지사를 설립해 운영하고 있다. 그렙 미국 지사는 국내에서 입증된 서비스의 글로벌 진출을 돕고 현지에서 직접 영업 및 서비스 출시·운영을 추진할 계획이다.  editor@itworld.co.kr

그렙 에듀테크 개발자 2022.06.08

매스웍스코리아, 엔지니어·과학자·연구자를 위한 ‘매트랩 엑스포 2022 코리아’ 개최

매스웍스코리아가 6월 15일 ‘매트랩 엑스포 2022 코리아(MATLAB EXPO 2022 Korea)’를 온라인으로 개최한다고 밝혔다. ‘매트랩 엑스포’는 연례 기술 컨퍼런스로, 약 1,500여 명의 다양한 산업·학계 및 연구기관의 엔지니어·과학자·연구자가 참여해 매스웍스 솔루션을 활용한 연구개발 성과, 핵심적인 기술 트렌드와 비전을 소개한다. 아울러 실제 매스웍스 도입 성공사례를 시연한다. 이를 기반으로 최신 기술에 대한 인사이트를 공유하고 매스웍스 기술 전문가와 소통하는 자리도 진행된다.   이번 매트랩 엑스포 2022 코리아의 핵심 주제는 ‘기후 과학의 가속화 및 모든 것의 전동화를 통한 지구 살리기’다. 이 밖에도 약 24개의 다채로운 세션이 진행된다. 특히, 주요 산업에서 매트랩(MATLAB) 및 시뮬링크(Simulink)의 신규 및 업데이트된 기능을 도입한 사례를 발표하는 세션도 진행된다. 첫번째 기조연설로 매스웍스 태냐 모턴 고객 성공 엔지니어링 이사가 ‘기후 과학의 가속화 및 모든 것의 전동화를 통한 지구 살리기’를 주제로 발표에 나선다. 또한, 매스웍스 헤더 고르 선임 제품 마케팅 매니저와 마이클 카론 수석 제품 마케팅 매니저는 ‘매트랩 및 시뮬링크 R2022a의 새로운 기능’에 대한 기조연설을 한다. 고르와 카론은 매트랩에서 코드 작성 없이 작업 및 계산을 자동화하는 대화형 방식 애플리케이션, 라이브 편집기 작업 등 생산성 향상을 위한 새로운 툴을 공유한다. 시뮬링크에서 병렬 시뮬레이션을 실행하는 새로운 기능도 소개한다. 6개의 핵심 주제 영역별 세션에서는 매스웍스코리아 기술 전문가와 한국생산기술연구원·한국산업기술시험원 전문가, 학계 인사들이 발표할 예정이다. 특히, 매스웍스코리아 기술 전문가는 ▲‘임베디드 시스템 적용을 위한 인공지능(AI) 개발’ ▲‘자율 주행 시스템을 위한 테스트 시나리오 개발’ ▲‘매트랩과 시뮬링크 환경에서의 그린 수소 공급망에 대한 솔루션’ 등 세션을 통해 매스웍스 솔루션 기반 친환경 워크플로우를...

매스웍스코리아 2022.06.08

C++ 23에서 컴파일 더 빨라진다

오는 2023년 완성될 예정인 C++ 프로그래밍 언어의 차기 버전 ‘C++ 23’은 표준 라이브러리 모듈과 더 빠른 컴파일을 지원한다. C++을 개발한 비얀 스트로스트룹은 이번 업그레이드에 표준 라이브러리 모듈(std)과 코루틴 일부 지원이 포함될 것이라고 밝혔다. 표준 라이브러리 모듈을 사용하면 “Hello World”라는 문자열을 출력하는 간단한 프로그램을 다음과 같이 만들 수 있다. 이는 #include <iostream>을 사용하는 이전 버전보다 10배 더 빠르게 컴파일된다고 그는 설명했다.    import std: int main() {    Std::cout<< "Hello, World!\n"; } 아울러 스트로스트룹에 따르면 모듈은 향상된 컴파일 속도와 코드 위생을 제공할 뿐만 아니라 일반 기능 및 템플릿의 소스 구성을 통합한다. 그는 “.h/.cpp 구분이 사라지고 C++ 소스 코드가 근본적으로 단순화된다. 결국 모듈은 코드를 구성하는 방식에 있어 가장 중요한 개선사항이 될 것이다. 또한, ISO(International Organization for Standardization)에 따라 개발 중인 C++ 23에는 사소한 개선사항이 많지만 몇몇은 사소하지 않을 것이다”라고 말했다. 한편 스트로스트룹은 C++ 11과 C++ 20 같은 방식으로 C++의 주요 업그레이드가 돼선 안 된다고 언급했다. 오히려 C++ 20을 완성하고 몇 가지 중요한 기능을 제공할 예정이었다는 게 그의 설명이다. 하지만 팬데믹이 발목을 잡았다. 스트로스트룹은 “가상으로 심도 깊은 설계 논의를 하기가 어려웠다. 대면 접촉이 없었던 게 큰 핸디캡으로 작용했다. 그 결과 패턴 매칭, 계약, 동시성(실행자)을 위한 일반 모델 등의 기능은 C++ 26까지 기다려야 할 것으로 보인다”라고 말했다. ciokr@idg.co.kr

C++ C++ 23 프로그래밍 언어 2022.06.07

블로그 | 애플이 앱스토어 해킹 통계를 공개한 이유

애플이 수백만 건에 해당하는 부정행위가 매해 앱 스토어와 사용자에게 시도되고 있다며 관련 수치를 공개했다. 또한 2021년 기준 15억 달러 규모의 사기 거래를 막아냈으며, 2020년에도 비슷한 규모의 조치를 취했다고 밝혔다.     점점 다양해지는 앱스토어 해킹 수법 애플은 해커가 어떻게 앱스토어에서 부정행위를 시도하는지 수법을 공개했다.  해킹 수법은 다양하다. 단순한 방법으로는 도난 카드나 가짜 카드를 이용해 결제를 시도하는 사례가 있다. 정교한 수법 중에는 평소에는 잘 작동하는 사기용 앱을 개발해 뒤에서 몰래 데이터를 빼내거나, 악성 프로그램을 심어서 사용자를 속이거나 사기를 시도하는 경우가 있다.  2022년에는 특히 악성 프로그램으로 기기를 해킹하려는 시도가 많아졌다. 안드로이드 기기에서 해킹용 악성 프로그램이 설치되는 사례가 올해 40% 이상 증가했다는 점도 주목할 만하다. 애플이 앱 사기를 우려하는 이유도 이런 환경 때문이다.  앱스토어에는 숨겨진 코드를 넣거나 오해할 소지가 있는 앱, 다른 앱을 베꼈거나 개인정보 남용과 관련된 앱 등이 등록되고 있으며, 애플은 이런 앱 수만 개를 승인 거부했다. 애플이 발표한 내용에 따르면, 매년 부정행위를 저지르기 위해 고객 및 개발자용 계정이 수백만 개 이상 생성됐으며, 도난당한 신용카드 330만 개가 사용됐다.  애플은 앱 개발사들이 불법적인 형태의 평점이나 리뷰를 올리고 있다고 언급했다. 경쟁 업체들의 앱 판매를 방해하거나 문제 있는 앱을 사용자가 다운로드하도록 유도하기 위한 활동이었다.  2021년 기준 앱스토어엔 10억 건이 넘는 평점과 리뷰가 올라왔는데, 그중 9,400만 건의 리뷰와 1억 7,000만 건의 평점이 ‘검토 기준을 통과하지 못한 것’으로 파악되어 차단됐다. 애플은 또한 불만 사항과 후속 평가를 살펴보고 61만 건의 리뷰를 삭제했다. 해당 통계는 허위 리뷰의 규모가 비교적 크다는 것을 시사한다. 10억...

애플 앱스토어 개발자 2022.06.03

우리가 알던 '기술 부채' 통념은 모두 틀렸다

“빚은 여느 덫과 다르지 않다. 들어가기는 쉽고, 빠져나오기는 어렵다.” (조시 빌링스, 미국의 유머 작가) IT 분야에서도 마찬가지다. 삶에서와 똑같이 말 자체만으로도 스트레스를 받고 짐스러운 느낌이 든다. 소프트웨어 엔지니어링에서 '기술 부채(Technical Debt)'는 일반적으로 노화하면서 엔지니어의 귀중한 시간을 잡아먹는 시스템을 가리킨다. 기술 부채는 관리되고 바람직하게 유지되고 최소화돼야 한다. 이것은 남은 업무의 가장 아래에 위치하며, 궁극적으로 시스템을 실패로 이끌기도 한다.   그러나 꼭 이런 식일 필요가 있을까? 진보적인 엔지니어링 기업은 오히려 기술 부채가 모든 소프트웨어 개발자의 핵심 업무여야 하고 기술 부채를 선제적으로 관리해 실패를 피할 수 있을 뿐 아니라,실제로 경쟁에서 우위를 점할 수 있다고 말한다. 어떻게 해서 가능한 것일까? 지금부터 차근차근 살펴보자.   기술 부채의 정의 '기술 부채'라는 용어는 1992년 컴퓨터 과학자 와드 커닝험이 처음 만들었다. 단기적 솔루션을 기술 시스템에 구축하는 업무에는 일련의 취사선택이 필요한데 선택받지 못한 업무가 결국 미래 엔지니어링 작업 형태로 남아 마치 갚아야 할 부채처럼 된다는 생각이다. 2003년 소프트웨어 개발자인 마틴 파울러는 기술 부채를 다음과 같이 설명했다.   "일을 성급하고 지저분하게 처리하면 기술 부채가 쌓이는데, 이는 금융 부채와 비슷하다. 금융 부채처럼 이자를 지불해야 하고, 결국은 나중에 개발해야만 하는 추가적인 업무의 형태로 남는다. 2018년 스트라이프(Stripe)의 개발자 계수(Developer Coefficient) 보고서에 따르면, 평균적인 소프트웨어 개발자는 기술 부채를 처리하는 데 일주일에 13시간 이상을 쓴다. 애플리케이션이 갈수록 복잡해지면서 부채를 관리하는 일이 매우 중요해졌다. 스텝사이즈(Stepsize)의 CEO인 알렉산더 오메여는 “개발자가 처리하리라 결정한 코드는 무엇이든 기술 부채다”라고 말했다...

기술부채 TechnicalDebt 2022.06.03

자바19에 추가될 핵심 기능 7가지

올 9월 출시될 자바 개발 키트(JDK) 19 버전의 7번째 기능으로 구조적 동시성이 추가됐다. 멀티쓰레드 프로그래밍을 간편하게 지원하기 위한 요소다. 구조적 동시성 외에 미리 공개된 6가지 핵심 기능에는 레코드 패턴, 외부 함수와 메모리API(프리뷰), 오픈소스 기반의 리눅스/RISC-V 명령어 집합 구조(ISA) 지원 등이 있다.  자바 공식 개발 계획에 따르면 JDK19(‘자바19’라고도 표현)에는 확장된 제네릭스나 밸류 오브젝트(VO) 등 향후 더 많은 기능이 제공될 것으로 보인다.    오픈JDK 커뮤니티가 발표한 JDK19 공식 일정을 살펴보면 6월 9일부터 21일까지는 자바 기술에 대한 조정 기간을 갖는다. 최종 기술 후보는 8월 11일과 25일 사이 공개되며, 9월 20일에는 최종 버전이 배포된다.  JDK19를 미리 이용하고 싶은 경우 jdk.java.net/19에서 다운로드 가능하다.  JDK19에 추가된 기능은 다음과 같다.  구조적 동시성(인큐베이터) : 아직 인큐베이터 단계로 구조를 갖춘 동시성 라이브러리를 이용해 멀티쓰레드 프로그래밍을 제공한다. 동시성이라는 기능 덕에 여러 태스크를 서로 다른 쓰레드 안에 운영하고 동시에 단일한 유닛 형태로 관리할 수 있다. 따라서 사용자는 에러 관리나 취소 관련 작업을 효율적으로 운영할 수 있다. 안정성이 높아지고 문제의 탐지나 조사도 더 쉬워진다.  레코드 패턴(프리뷰) : 레코드 값을 분석하기 위해 개발됐다. 레코드 패턴이나 타입 패턴은 중첩 사용돼 선언적이면서 강력하고 조합 가능한 데이터 형태를 만들 수 있다. 데이터 탐색이나 처리 과정에도 쓰인다. 레코드 패턴의 핵심 목표는 타입 패턴의 신텍스나 시멘틱 요소를 바꾸지 않으면서도 패턴 매칭을 확장하고 정교하게 분리해서 사용할 수 있는 데이터 쿼리를 표현하는 것이다.  이 기능은 2021년 3월 자바16에서 지원됐던 instanceof 패턴 매칭...

자바 자바19 java 2022.06.03

IDG 설문조사

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

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

Copyright © 2022 International Data Group. All rights reserved.