Offcanvas

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

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

‘AWS 앰플리파이 스튜디오(AWS Amplify Studio)’는 개발자에게 마우스 클릭 방식으로 풀스택, 웹, 모바일 앱을 구축할 수 있는 시각적 인터페이스를 제공한다.  아마존 웹 서비스(AWS)가 ‘AWS 앰플리파이 스튜디오’의 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.25

‘AWS 앰플리파이 스튜디오(AWS Amplify Studio)’는 개발자에게 마우스 클릭 방식으로 풀스택, 웹, 모바일 앱을 구축할 수 있는 시각적 인터페이스를 제공한다.  아마존 웹 서비스(AWS)가 ‘AWS 앰플리파이 스튜디오’의 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

2022.04.25

구글 플러터 2.8 출시··· “모바일 성능 향상”

웹, 모바일, 데스크톱 애플리케이션 개발용 오픈소스 크로스 플랫폼 툴킷의 최신 버전 ‘구글 플래터 2.8’이 지난 12월 8일(현지 시각) 출시됐다. 최신 릴리즈에서는 백엔드 서비스와의 호환성 및 모바일 성능 향상을 포함해 여러 개선사항이 제공된다.    구글은 ‘플러터 2.8’로 구축된 모바일 앱이 더 빠르게 시작하고, 메모리를 덜 사용할 것이라고 밝혔다. 이어서 100만 줄 이상의 코드가 포함된 구글 페이(Google Pay) 테스트를 통해 플러터의 성능을 높이고, 프로파일링 및 최적화를 가이드하는 향상된 도구를 지원한다고 회사 측은 덧붙였다.  또 최신 릴리즈를 사용하면 파이어베이스(Firebase), 구글 클라우드(Google Cloud)를 비롯한 백엔드 서비스에 더 쉽게 연결할 수 있다고 구글은 말했다. 이 밖에 카메라 및 내장 웹 플러그인 주요 업데이트, 플러터용 구글 모바일 광고 SDK도 제공된다.   아울러 플러터 2.8 릴리즈에는 동시성 개선, 향상된 열거, 메모리 사용률 10% 감소를 지원하는 최적화 등의 기능을 제공하는 ‘다트 2.15(Dart 2.15)’도 포함돼 있다.   개발자 생산성과 관련해 플러터 2.8에서는 스테이트풀 핫 리로드를 포함한 기능들이 업데이트됐다. 또한 구글은 개발자가 더 빠르게 실행할 수 있도록 더 높은 수준의 추상화를 검토하고 있다고 전했다. 그중에는 파이어베이스를 사용하여 인증을 처리하는 로그인 위젯 등이 있다. 이 위젯은 이중인증(2FA) 및 사용자 비밀번호 재설정 등의 작업을 처리한다.  플러터는 단일 코드베이스에서 멀티 플랫폼 애플리케이션을 구축하고, 단일 툴킷을 사용하여 모바일, 웹, 데스크톱, 임베디드 애플리케이션을 개발할 수 있도록 앱 개발 방식을 바꾸기 위해 고안됐다. 이 프레임워크는 현재 구글 플레이(Google Play) 스토어에서 37만 5,000개의 앱을 제공할 뿐만 아니라 애플 앱 스토어(Apple App Store)에서 사용...

구글 플러터 애플리케이션 개발

2021.12.09

웹, 모바일, 데스크톱 애플리케이션 개발용 오픈소스 크로스 플랫폼 툴킷의 최신 버전 ‘구글 플래터 2.8’이 지난 12월 8일(현지 시각) 출시됐다. 최신 릴리즈에서는 백엔드 서비스와의 호환성 및 모바일 성능 향상을 포함해 여러 개선사항이 제공된다.    구글은 ‘플러터 2.8’로 구축된 모바일 앱이 더 빠르게 시작하고, 메모리를 덜 사용할 것이라고 밝혔다. 이어서 100만 줄 이상의 코드가 포함된 구글 페이(Google Pay) 테스트를 통해 플러터의 성능을 높이고, 프로파일링 및 최적화를 가이드하는 향상된 도구를 지원한다고 회사 측은 덧붙였다.  또 최신 릴리즈를 사용하면 파이어베이스(Firebase), 구글 클라우드(Google Cloud)를 비롯한 백엔드 서비스에 더 쉽게 연결할 수 있다고 구글은 말했다. 이 밖에 카메라 및 내장 웹 플러그인 주요 업데이트, 플러터용 구글 모바일 광고 SDK도 제공된다.   아울러 플러터 2.8 릴리즈에는 동시성 개선, 향상된 열거, 메모리 사용률 10% 감소를 지원하는 최적화 등의 기능을 제공하는 ‘다트 2.15(Dart 2.15)’도 포함돼 있다.   개발자 생산성과 관련해 플러터 2.8에서는 스테이트풀 핫 리로드를 포함한 기능들이 업데이트됐다. 또한 구글은 개발자가 더 빠르게 실행할 수 있도록 더 높은 수준의 추상화를 검토하고 있다고 전했다. 그중에는 파이어베이스를 사용하여 인증을 처리하는 로그인 위젯 등이 있다. 이 위젯은 이중인증(2FA) 및 사용자 비밀번호 재설정 등의 작업을 처리한다.  플러터는 단일 코드베이스에서 멀티 플랫폼 애플리케이션을 구축하고, 단일 툴킷을 사용하여 모바일, 웹, 데스크톱, 임베디드 애플리케이션을 개발할 수 있도록 앱 개발 방식을 바꾸기 위해 고안됐다. 이 프레임워크는 현재 구글 플레이(Google Play) 스토어에서 37만 5,000개의 앱을 제공할 뿐만 아니라 애플 앱 스토어(Apple App Store)에서 사용...

2021.12.09

젯브레인, 코틀린용 크로스 플랫폼 UI 프레임워크 출시

컴포즈 멀티플랫폼(Compose Multiplatform) 버전 1.0을 사용하면 단일 코드베이스에서 데스크톱, 안드로이드, 웹용 사용자 인터페이스(UI)를 구축할 수 있다.  젯브레인이 (자사에서 개발한 프로그래밍 언어) 코틀린을 사용해 데스크톱, 안드로이드, 웹 애플리케이션용 사용자 인터페이스(UI) 개발 속도를 높이는 도구 ‘컴포즈 멀티플랫폼 1.0’을 지난 12월 2일 공식 출시했다.    회사에 따르면 이 코틀린용 UI 프레임워크는 선언적, 반응적 접근 방식을 사용하여 UI를 빌드하기 때문에 플랫폼 간에 UI 코드를 공유할 수 있고, UI 업데이트 로직을 다루지 않아도 된다. 또한 컴포즈 멀티플랫폼을 활용하면 전체 앱을 개발하지 않고도 UI 일부를 미리 볼 수 있다. 공통 API가 구글의 젯팩 컴포즈(Jetpack Compose)와 공유돼 컴포즈 멀티플랫폼을 사용하기가 간편하다.  아울러 그래들(Gradle) 플러그인은 기존 자바 프레임워크와의 상호운용성을 제공하는 한편 이를 통해 주요 운영체제용으로 애플리케이션을 패키징할 수 있다. 개발자는 자바 앱에서 컴포즈 멀티플랫폼을 사용하거나, 컴포즈 멀티플랫폼 앱에서 자바 구성요소를 사용할 수도 있다.  이 밖에 컴포즈 멀티플랫폼은 내장 CSS-in-JS 지원, SVG 지원 등을 포함해 DOM을 조작하기 위한 반응형 코틀린 API를 제공한다. UI 및 상태 관리용 코드는 안드로이드, 데스크톱, 웹 간에 공유할 수 있으며, 안드로이드용 젯팩 컴포즈 기반 앱은 데스크톱으로 이식할 수 있다.  젯브레인은 2021년 여름 컴포즈 멀티플랫폼의 알파 버전을 릴리즈한 이후, 이 프레임워크를 더 강력하게 만들고 더 많은 엣지 케이스를 처리할 수 있도록 개선했다고 밝혔다. 주요 문제가 수정되고 윈도우용 접근성 기능이 추가된 베타 버전은 지난가을 초 공개됐다.  젯브레인 툴박스 앱(JetBrains Toolbox App) 애플리케이션 관리자는 이제 ...

젯브레인 코틀린 안드로이드 웹 개발 애플리케이션 개발 사용자 인터페이스

2021.12.06

컴포즈 멀티플랫폼(Compose Multiplatform) 버전 1.0을 사용하면 단일 코드베이스에서 데스크톱, 안드로이드, 웹용 사용자 인터페이스(UI)를 구축할 수 있다.  젯브레인이 (자사에서 개발한 프로그래밍 언어) 코틀린을 사용해 데스크톱, 안드로이드, 웹 애플리케이션용 사용자 인터페이스(UI) 개발 속도를 높이는 도구 ‘컴포즈 멀티플랫폼 1.0’을 지난 12월 2일 공식 출시했다.    회사에 따르면 이 코틀린용 UI 프레임워크는 선언적, 반응적 접근 방식을 사용하여 UI를 빌드하기 때문에 플랫폼 간에 UI 코드를 공유할 수 있고, UI 업데이트 로직을 다루지 않아도 된다. 또한 컴포즈 멀티플랫폼을 활용하면 전체 앱을 개발하지 않고도 UI 일부를 미리 볼 수 있다. 공통 API가 구글의 젯팩 컴포즈(Jetpack Compose)와 공유돼 컴포즈 멀티플랫폼을 사용하기가 간편하다.  아울러 그래들(Gradle) 플러그인은 기존 자바 프레임워크와의 상호운용성을 제공하는 한편 이를 통해 주요 운영체제용으로 애플리케이션을 패키징할 수 있다. 개발자는 자바 앱에서 컴포즈 멀티플랫폼을 사용하거나, 컴포즈 멀티플랫폼 앱에서 자바 구성요소를 사용할 수도 있다.  이 밖에 컴포즈 멀티플랫폼은 내장 CSS-in-JS 지원, SVG 지원 등을 포함해 DOM을 조작하기 위한 반응형 코틀린 API를 제공한다. UI 및 상태 관리용 코드는 안드로이드, 데스크톱, 웹 간에 공유할 수 있으며, 안드로이드용 젯팩 컴포즈 기반 앱은 데스크톱으로 이식할 수 있다.  젯브레인은 2021년 여름 컴포즈 멀티플랫폼의 알파 버전을 릴리즈한 이후, 이 프레임워크를 더 강력하게 만들고 더 많은 엣지 케이스를 처리할 수 있도록 개선했다고 밝혔다. 주요 문제가 수정되고 윈도우용 접근성 기능이 추가된 베타 버전은 지난가을 초 공개됐다.  젯브레인 툴박스 앱(JetBrains Toolbox App) 애플리케이션 관리자는 이제 ...

2021.12.06

구글, ‘플러터 2.5’ 안정화 버전 출시

구글의 네이티브 애플리케이션 개발용 UI 툴킷의 최신 버전 ‘플러터(Flutter) 2.5’가 출시됐다. 이는 향상된 성능과 안드로이드용 전체 화면 개선사항 등을 제공한다.    지난 9월 8일 공개된 ‘플러터 2.5’는 메탈(Metal) 렌더링을 통해 셰이딩 사전 컴파일을 연결하여 프레임 래스터화 시간을 줄인다. 플러터 개발팀은 이 개선사항이 iOS 버벅거림을 줄이기 위한 또 다른 단계라고 전했다. 또한 이제 (UI 격리 이벤트 루프에서) 프레임 처리가 다른 비동기 이벤트보다 우선돼 플러터 테스트에서 이 소스의 버벅거림을 제거한다.  개발팀은 이 밖에 가비지 컬렉터(GC)에서 메모리를 회수하기 위해 UI 스레드를 일시 중지할 때 버벅거림이 발생한다고 언급했다. 이번 릴리즈에서는 사용하지 않는 이미지 메모리를 적극적으로 회수해 GC가 크게 줄어든다.  플러터 2.5는 ‘다트(Dart)’와 ‘오브젝티브-C/스위프트(iOS)’ 또는 ‘다트’와 ‘코틀린/안드로이드’ 간 메시지를 보낼 때의 지연 시간도 개선했다. 메시지 채널 조정의 일환으로 메시징 코덱에서 불필요한 복사본을 제거하면 메시지 크기 및 기기에 따라 지연 시간이 최대 50%까지 감소한다는 설명이다.  또 다른 성능 개선 사항은 iOS 타깃팅과 관련돼 있다. 애플 실리콘 M1 맥에 구축된 플러터 앱은 기본적으로 ARM iOS 시뮬레이터에서 실행된다. 즉, 인텔 x86_64 명령어와 ARM 사이에 로제타(Rosetta) 변환이 없으므로 iOS 앱 테스트 중 성능을 향상시키고 감지하기 힘든 로제타 문제를 방지할 수 있다. 이는 완전한 애플 실리콘용 플러터 지원을 위한 단계라고 개발팀은 덧붙였다.  플러터 2.5 지침은 이곳(flutter.dev)에서 확인할 수 있다. 이 밖에 플러터 2.5의 개선 사항은 다음과 같다.  • 안드로이드에서 전체 화면 모드와 관련된 문제가 수정됐다. 상태 및 하단 탐색 표시줄 등 UI 오버레이의 가시성에 영...

구글 플러터 다트 애플리케이션 UI 툴킷 모바일 개발 애플리케이션 개발 안드로이드 iOS 애플 실리콘

2021.09.13

구글의 네이티브 애플리케이션 개발용 UI 툴킷의 최신 버전 ‘플러터(Flutter) 2.5’가 출시됐다. 이는 향상된 성능과 안드로이드용 전체 화면 개선사항 등을 제공한다.    지난 9월 8일 공개된 ‘플러터 2.5’는 메탈(Metal) 렌더링을 통해 셰이딩 사전 컴파일을 연결하여 프레임 래스터화 시간을 줄인다. 플러터 개발팀은 이 개선사항이 iOS 버벅거림을 줄이기 위한 또 다른 단계라고 전했다. 또한 이제 (UI 격리 이벤트 루프에서) 프레임 처리가 다른 비동기 이벤트보다 우선돼 플러터 테스트에서 이 소스의 버벅거림을 제거한다.  개발팀은 이 밖에 가비지 컬렉터(GC)에서 메모리를 회수하기 위해 UI 스레드를 일시 중지할 때 버벅거림이 발생한다고 언급했다. 이번 릴리즈에서는 사용하지 않는 이미지 메모리를 적극적으로 회수해 GC가 크게 줄어든다.  플러터 2.5는 ‘다트(Dart)’와 ‘오브젝티브-C/스위프트(iOS)’ 또는 ‘다트’와 ‘코틀린/안드로이드’ 간 메시지를 보낼 때의 지연 시간도 개선했다. 메시지 채널 조정의 일환으로 메시징 코덱에서 불필요한 복사본을 제거하면 메시지 크기 및 기기에 따라 지연 시간이 최대 50%까지 감소한다는 설명이다.  또 다른 성능 개선 사항은 iOS 타깃팅과 관련돼 있다. 애플 실리콘 M1 맥에 구축된 플러터 앱은 기본적으로 ARM iOS 시뮬레이터에서 실행된다. 즉, 인텔 x86_64 명령어와 ARM 사이에 로제타(Rosetta) 변환이 없으므로 iOS 앱 테스트 중 성능을 향상시키고 감지하기 힘든 로제타 문제를 방지할 수 있다. 이는 완전한 애플 실리콘용 플러터 지원을 위한 단계라고 개발팀은 덧붙였다.  플러터 2.5 지침은 이곳(flutter.dev)에서 확인할 수 있다. 이 밖에 플러터 2.5의 개선 사항은 다음과 같다.  • 안드로이드에서 전체 화면 모드와 관련된 문제가 수정됐다. 상태 및 하단 탐색 표시줄 등 UI 오버레이의 가시성에 영...

2021.09.13

"로우코드는 유연성과 통제의 교차점" 아웃시스템즈 CEO

아웃시스템즈(OutSystems)의 창업자 겸 CEO 파울로 로사도는 ‘로우코드(Low-code)’가 유연성과 통제의 교차점에 있다고 말했다. 올해로 창립 20주년을 맞은 아웃시스템즈는 이 교차점이 비즈니스에 큰 기회일 뿐만 아니라 오늘날 CIO와 CTO가 직면한 가장 큰 문제의 핵심이기도 하다고 전했다.   그는 “비즈니스에 유연성을 제공해야 하지만 역량이 부족한 시점에서 이를 구축해야 한다는 문제가 있다”라면서, CIO와 CTO가 변화를 가능하게 하고 주도해야 하지만 리소스 부족으로 제약을 받고 있다고 언급했다.  이어서 로사도는 팬데믹 이후 많은 기업이 계속해서 디지털 트랜스포메이션을 가속화하면서 앞으로 몇 달 또는 몇 년 동안 이러한 상황이 더욱 악화될 것이라고 예측했다.    즉 새로운 디지털 서비스 및 운영 모델의 필요성이 CIO와 CTO에게 애플리케이션을 생성하라는 압박을 가하게 될 것이라는 설명이다. 하지만 규제 및 경제회복에 관한 불확실성 때문에 거버넌스가 혁신을 위한 길을 열어주지 못할 것이라고 그는 덧붙였다.  로사도는 “혁신이 비즈니스의 가장자리에 가깝기 때문에 플랫폼 공급업체로서 통제를 잃을 순 없다”라면서, “현재 소프트웨어의 모든 부분에서 과거엔 경험하지 못했던 일이 벌어지고 있다. 모든 것이 제품이어야 하는 것이다”라고 말했다.  다소 회의적인 비즈니스 기술 리더는 ‘애플리케이션 개발 플랫폼’과 ‘로우코드’를 기술 부채 및 숨겨진 비용과 함께 섀도우 IT와 애플리케이션 스프롤 현상의 전조 증상이라고 보는 경우가 있다. 아웃시스템즈는 이러한 인식에 정면으로 맞서고 있다고 그는 밝혔다.  로사도는 “아웃시스템즈가 하는 일 중 하나는 소프트웨어의 라이프사이클을 살펴보는 것이다. 기술이 성장하면서 부채가 축적되기 때문이다. 미래를 위해 어떻게 구축할지 파악하는 데 많은 시간을 투자한다”라고 전했다.  그에 따르면 아웃시스템즈에서 해결하길 원하고, 목소리를...

로우코드 노코드 아웃시스템즈 디지털 트랜스포메이션 팬데믹 애플리케이션 애플리케이션 개발 개발자 IT 관리 IT 리더십

2021.09.07

아웃시스템즈(OutSystems)의 창업자 겸 CEO 파울로 로사도는 ‘로우코드(Low-code)’가 유연성과 통제의 교차점에 있다고 말했다. 올해로 창립 20주년을 맞은 아웃시스템즈는 이 교차점이 비즈니스에 큰 기회일 뿐만 아니라 오늘날 CIO와 CTO가 직면한 가장 큰 문제의 핵심이기도 하다고 전했다.   그는 “비즈니스에 유연성을 제공해야 하지만 역량이 부족한 시점에서 이를 구축해야 한다는 문제가 있다”라면서, CIO와 CTO가 변화를 가능하게 하고 주도해야 하지만 리소스 부족으로 제약을 받고 있다고 언급했다.  이어서 로사도는 팬데믹 이후 많은 기업이 계속해서 디지털 트랜스포메이션을 가속화하면서 앞으로 몇 달 또는 몇 년 동안 이러한 상황이 더욱 악화될 것이라고 예측했다.    즉 새로운 디지털 서비스 및 운영 모델의 필요성이 CIO와 CTO에게 애플리케이션을 생성하라는 압박을 가하게 될 것이라는 설명이다. 하지만 규제 및 경제회복에 관한 불확실성 때문에 거버넌스가 혁신을 위한 길을 열어주지 못할 것이라고 그는 덧붙였다.  로사도는 “혁신이 비즈니스의 가장자리에 가깝기 때문에 플랫폼 공급업체로서 통제를 잃을 순 없다”라면서, “현재 소프트웨어의 모든 부분에서 과거엔 경험하지 못했던 일이 벌어지고 있다. 모든 것이 제품이어야 하는 것이다”라고 말했다.  다소 회의적인 비즈니스 기술 리더는 ‘애플리케이션 개발 플랫폼’과 ‘로우코드’를 기술 부채 및 숨겨진 비용과 함께 섀도우 IT와 애플리케이션 스프롤 현상의 전조 증상이라고 보는 경우가 있다. 아웃시스템즈는 이러한 인식에 정면으로 맞서고 있다고 그는 밝혔다.  로사도는 “아웃시스템즈가 하는 일 중 하나는 소프트웨어의 라이프사이클을 살펴보는 것이다. 기술이 성장하면서 부채가 축적되기 때문이다. 미래를 위해 어떻게 구축할지 파악하는 데 많은 시간을 투자한다”라고 전했다.  그에 따르면 아웃시스템즈에서 해결하길 원하고, 목소리를...

2021.09.07

백지장도 'AI'가 맞들면 더 낫다··· 코딩 돕는 ML 도구 3가지

깃허브 코파일럿(Github Copilot), 딥데브(DeepDev), 인텔리코드(IntelliCode) 등 코드에 중점을 둔 머신러닝 애플리케이션이 더 나은 코드를 더 빠르게 제공할 수 있도록 지원하고 있다.  코로나19 팬데믹으로 인한 디지털 트랜스포메이션 가속화는 대부분의 기업이 얼마나 준비되지 않았는지를 보여줬다. 여전히 해결되지 않은 큰 문제는 ‘앱 공백(App gap)’, 즉 최종 사용자가 효율적으로 업무를 처리하는 데 필요한 애플리케이션의 부족이다. 로우코드 및 노코드 도구가 UI 빌더와 RPA와 함께 격차를 메우는 데 어느 정도 역할을 했지만 아직 해야 할 일이 많다.    한 가지 옵션은 머신러닝을 사용해 개발자의 생산성을 향상시키는 것이다. 예를 들면 이미 기본 규칙 기반 도구가 코드 자동 완성과 메서드 노출에 사용되고 있다. 그렇다면 여기서 나아가 대규모 퍼블릭 코드 데이터세트를 구축해 일반적인 설계 패턴이 어떻게 적용되는지, 어떤 알고리즘이 어떤 컨텍스트에서 사용되는지 그리고 개발자가 퍼블릭 API를 어떻게 활용하는지 공유하는 건 어떨까?  깃허브 코파일럿(GitHub Copilot): AI 코딩 비서  그것이 깃허브가 한 일이다. 코드 편집기와 함께 작동하면서 다음 단계를 제안하는 서비스를 구축하고 학습시킨 것이다. 이는 오픈 AI의 코덱스(Codex) 머신러닝 모델을 사용한다. 코덱스는 널리 알려져 있는 GPT-3와 같은 코드 중심 언어 모델이다.  해당 서비스는 ‘코파일럿’이라고 명명됐고, ‘AI 파트너 프로그래머(AI pair programmer)’ 역할을 한다. 코파일럿은 퍼블릭 리포지터리에 있는 수백만 줄의 코드를 학습했다. 비주얼 스튜디오 코드(Visual Studio Code) 확장 프로그램으로 설치해 사용할 수 있다.  이는 현재 편집기 창의 컨텍스트 내에서 작동하며, 입력 내용을 기반으로 제안을 제공하고, 사용 내역에 관한 세부 사항을 피드백 해준...

인공지능 머신러닝 코딩 코드 작성 깃허브 깃허브 코파일럿 딥데브 인텔리코드 디지털 트랜스포메이션 애플리케이션 애플리케이션 개발 로우코드 노코드 RPA 마이크로소프트 오픈 AI

2021.07.09

깃허브 코파일럿(Github Copilot), 딥데브(DeepDev), 인텔리코드(IntelliCode) 등 코드에 중점을 둔 머신러닝 애플리케이션이 더 나은 코드를 더 빠르게 제공할 수 있도록 지원하고 있다.  코로나19 팬데믹으로 인한 디지털 트랜스포메이션 가속화는 대부분의 기업이 얼마나 준비되지 않았는지를 보여줬다. 여전히 해결되지 않은 큰 문제는 ‘앱 공백(App gap)’, 즉 최종 사용자가 효율적으로 업무를 처리하는 데 필요한 애플리케이션의 부족이다. 로우코드 및 노코드 도구가 UI 빌더와 RPA와 함께 격차를 메우는 데 어느 정도 역할을 했지만 아직 해야 할 일이 많다.    한 가지 옵션은 머신러닝을 사용해 개발자의 생산성을 향상시키는 것이다. 예를 들면 이미 기본 규칙 기반 도구가 코드 자동 완성과 메서드 노출에 사용되고 있다. 그렇다면 여기서 나아가 대규모 퍼블릭 코드 데이터세트를 구축해 일반적인 설계 패턴이 어떻게 적용되는지, 어떤 알고리즘이 어떤 컨텍스트에서 사용되는지 그리고 개발자가 퍼블릭 API를 어떻게 활용하는지 공유하는 건 어떨까?  깃허브 코파일럿(GitHub Copilot): AI 코딩 비서  그것이 깃허브가 한 일이다. 코드 편집기와 함께 작동하면서 다음 단계를 제안하는 서비스를 구축하고 학습시킨 것이다. 이는 오픈 AI의 코덱스(Codex) 머신러닝 모델을 사용한다. 코덱스는 널리 알려져 있는 GPT-3와 같은 코드 중심 언어 모델이다.  해당 서비스는 ‘코파일럿’이라고 명명됐고, ‘AI 파트너 프로그래머(AI pair programmer)’ 역할을 한다. 코파일럿은 퍼블릭 리포지터리에 있는 수백만 줄의 코드를 학습했다. 비주얼 스튜디오 코드(Visual Studio Code) 확장 프로그램으로 설치해 사용할 수 있다.  이는 현재 편집기 창의 컨텍스트 내에서 작동하며, 입력 내용을 기반으로 제안을 제공하고, 사용 내역에 관한 세부 사항을 피드백 해준...

2021.07.09

엑스코드 IDE에 CI/CD 가져온다··· 애플 ‘엑스코드 클라우드’ 공개

‘엑스코드 클라우드(Xcode Cloud)’를 사용하면 엑스코드에서 직접 애플리케이션을 구축하고 자동화된 테스트를 병렬로 실행할 수 있다.  애플이 WWDC 2021에서 ‘엑스코드 클라우드(Xcode Cloud)’를 공개했다. 이는 애플의 맥OS, iOS, 워치OS, tvOS용 소프트웨어 개발 전용 통합개발환경(IDE) 엑스코드(Xcode)의 버전 13에 통합된 클라우드 기반 CI/CD 서비스다. 회사에 따르면 ‘엑스코드 클라우드’는 클라우드에서 앱을 구축하고 자동화된 테스트를 병렬로 실행하기 위한 도구를 제공한다.     또한 엑스코드 클라우드를 통해 개발 프로세스에 맞게 워크플로우를 구성하거나 또는 빌트인 워크플로우를 사용해 시작한 다음 프로세스 진행 상황에 따라 커스텀할 수 있다고 애플은 설명했다.  코드에 변경 사항을 커밋하는 할 때도 엑스코드 클라우드는 자동으로 앱을 빌드하고 문제 발생 시 개발자에게 이를 알려 버그를 찾는 시간을 절약한다. 자동화된 테스트는 시간 절약을 위해 병렬로 실행된다. 앱이 모든 테스트를 통과하면 엑스코드 클라우드는 앱을 개발팀의 내부 테스터와 테스트플라이트(TestFlight)를 사용하는 외부 베타 테스터에게 자동으로 배포할 수 있다.  이 밖에 엑스코드 클라우드는 프로젝트 상태를 신속하게 확인하기 위해 1개 또는 2개의 기기 유형을 테스트하도록 설정할 수 있다고 회사 측은 말했다. 다양한 기기 구성도 테스트할 수 있다. 빌드 및 테스트 결과와 충돌 관련 피드백은 엑스코드에서 확인할 수 있다. 보안을 위해 앱 소스코드는 임시 빌드 환경에서만 사용되며, 엑스코드 클라우드는 빌드 제품만 저장한다.  엑스코드 클라우드는 현재 제한된 베타 버전으로 제공된다. 베타 액세스는 올해 여름과 가을 동안 확장될 예정이다. 개발자는 이곳(developer.apple.com)에서 베타 프로그램에 등록할 수 있다. GA 버전 출시는 2022년으로 계획돼 있다. ciokr@idg.co...

애플 엑스코드 통합개발환경 IDE CI/CD 엑스코드 클라우드 클라우드 애플리케이션 데브옵스 스위프트 애플리케이션 개발 iOS 맥OS

2021.06.09

‘엑스코드 클라우드(Xcode Cloud)’를 사용하면 엑스코드에서 직접 애플리케이션을 구축하고 자동화된 테스트를 병렬로 실행할 수 있다.  애플이 WWDC 2021에서 ‘엑스코드 클라우드(Xcode Cloud)’를 공개했다. 이는 애플의 맥OS, iOS, 워치OS, tvOS용 소프트웨어 개발 전용 통합개발환경(IDE) 엑스코드(Xcode)의 버전 13에 통합된 클라우드 기반 CI/CD 서비스다. 회사에 따르면 ‘엑스코드 클라우드’는 클라우드에서 앱을 구축하고 자동화된 테스트를 병렬로 실행하기 위한 도구를 제공한다.     또한 엑스코드 클라우드를 통해 개발 프로세스에 맞게 워크플로우를 구성하거나 또는 빌트인 워크플로우를 사용해 시작한 다음 프로세스 진행 상황에 따라 커스텀할 수 있다고 애플은 설명했다.  코드에 변경 사항을 커밋하는 할 때도 엑스코드 클라우드는 자동으로 앱을 빌드하고 문제 발생 시 개발자에게 이를 알려 버그를 찾는 시간을 절약한다. 자동화된 테스트는 시간 절약을 위해 병렬로 실행된다. 앱이 모든 테스트를 통과하면 엑스코드 클라우드는 앱을 개발팀의 내부 테스터와 테스트플라이트(TestFlight)를 사용하는 외부 베타 테스터에게 자동으로 배포할 수 있다.  이 밖에 엑스코드 클라우드는 프로젝트 상태를 신속하게 확인하기 위해 1개 또는 2개의 기기 유형을 테스트하도록 설정할 수 있다고 회사 측은 말했다. 다양한 기기 구성도 테스트할 수 있다. 빌드 및 테스트 결과와 충돌 관련 피드백은 엑스코드에서 확인할 수 있다. 보안을 위해 앱 소스코드는 임시 빌드 환경에서만 사용되며, 엑스코드 클라우드는 빌드 제품만 저장한다.  엑스코드 클라우드는 현재 제한된 베타 버전으로 제공된다. 베타 액세스는 올해 여름과 가을 동안 확장될 예정이다. 개발자는 이곳(developer.apple.com)에서 베타 프로그램에 등록할 수 있다. GA 버전 출시는 2022년으로 계획돼 있다. ciokr@idg.co...

2021.06.09

노드.js 및 타입스크립트용 ORM, 프로덕션 릴리즈 출시

노드.js(Node.js) 및 타입스크립트(TypeScript)용 오픈소스 ORM(Object-Relational Mapping) 툴셋 ‘프리즈마(Prisma)’가 이제 프로덕션 릴리즈로 제공된다.  관계형 데이터베이스 작업의 병목현상을 해결하고자 고안된 프리즈마는 현재 마이SQL(MySQL), 포스트그레SQL(PostgreSQL), SQ라이트(SQLite) 및 SLQ 서버(SQL Server)를 프리뷰로 지원한다. 몽고DB(MongoDB)용 커넥터는 현재 작업 중이다.    2년간의 작업 끝에 지난 4월 21일 프로덕션 릴리즈를 출시한 프리즈마 개발사는 “애플리케이션 개발에서 데이터베이스 작업은 가장 어려운 영역”이라면서, “데이터 모델링, 스키마 마이그레이션, 데이터베이스 쿼리 생성은 개발자가 매일 처리해야 하는 일반적인 작업이다”라고 말했다.  이어서 데이터베이스 기반 애플리케이션 구축에서 점점 더 널리 사용되고 있는 노드.js 생태계가 이런 작업을 처리하는 도구를 제공하지 않는다고 회사 측은 밝혔다. 그리고 프리즈마는 이 틈새를 메우는 도구라면서, 애플리케이션 개발자가 ‘SQL’보다 ‘데이터’에 관심을 가져야 한다고 덧붙였다.  회사에 따르면 프리즈마 ORM은 데이터베이스 쿼리를 제출하고 이전 자바스크립트 객체를 반환하기 위한 타입 안정성을 갖춘 API를 제공한다. 노드.js나 타입스크립트 프로젝트에서 함께 또는 개별적으로 사용할 수 있는 다음의 3가지 도구가 제공된다. • 프리즈마 클라이언트(Prisma Client): 자동 생성되며 타입 안정성을 갖춘 쿼리 빌더 • 프리즈마 마이그레이트(Prisma Migrate): 데이터베이스 스키마를 프리즘 스키마와 동기화하고 데이터베이스의 기존 데이터를 유지하는 필수 데이터베이스 스키마 마이그레이션 도구 • 프리즈마 스튜디오(Prisma Studio): 데이터베이스의 데이터를 확인하고 편집할 수 있는 GUI 한편 프리즈마를 사용하는 모든 프로젝트는 프...

프리즈마 ORM 노드.js 타입스크립트 데이터베이스 애플리케이션 개발

2021.04.28

노드.js(Node.js) 및 타입스크립트(TypeScript)용 오픈소스 ORM(Object-Relational Mapping) 툴셋 ‘프리즈마(Prisma)’가 이제 프로덕션 릴리즈로 제공된다.  관계형 데이터베이스 작업의 병목현상을 해결하고자 고안된 프리즈마는 현재 마이SQL(MySQL), 포스트그레SQL(PostgreSQL), SQ라이트(SQLite) 및 SLQ 서버(SQL Server)를 프리뷰로 지원한다. 몽고DB(MongoDB)용 커넥터는 현재 작업 중이다.    2년간의 작업 끝에 지난 4월 21일 프로덕션 릴리즈를 출시한 프리즈마 개발사는 “애플리케이션 개발에서 데이터베이스 작업은 가장 어려운 영역”이라면서, “데이터 모델링, 스키마 마이그레이션, 데이터베이스 쿼리 생성은 개발자가 매일 처리해야 하는 일반적인 작업이다”라고 말했다.  이어서 데이터베이스 기반 애플리케이션 구축에서 점점 더 널리 사용되고 있는 노드.js 생태계가 이런 작업을 처리하는 도구를 제공하지 않는다고 회사 측은 밝혔다. 그리고 프리즈마는 이 틈새를 메우는 도구라면서, 애플리케이션 개발자가 ‘SQL’보다 ‘데이터’에 관심을 가져야 한다고 덧붙였다.  회사에 따르면 프리즈마 ORM은 데이터베이스 쿼리를 제출하고 이전 자바스크립트 객체를 반환하기 위한 타입 안정성을 갖춘 API를 제공한다. 노드.js나 타입스크립트 프로젝트에서 함께 또는 개별적으로 사용할 수 있는 다음의 3가지 도구가 제공된다. • 프리즈마 클라이언트(Prisma Client): 자동 생성되며 타입 안정성을 갖춘 쿼리 빌더 • 프리즈마 마이그레이트(Prisma Migrate): 데이터베이스 스키마를 프리즘 스키마와 동기화하고 데이터베이스의 기존 데이터를 유지하는 필수 데이터베이스 스키마 마이그레이션 도구 • 프리즈마 스튜디오(Prisma Studio): 데이터베이스의 데이터를 확인하고 편집할 수 있는 GUI 한편 프리즈마를 사용하는 모든 프로젝트는 프...

2021.04.28

데브옵스 잘하는 조직의 비결··· '내부 개발자 플랫폼’이란?

빠르고 안정적인 소프트웨어 릴리즈를 위해 데브옵스 문화를 성공적으로 구축한 조직들은 ‘내부 개발자 플랫폼(Internal Developer Platform; IDP)’을 사용해 코드를 배포한다. 여기서 IDP는 무엇이며, 이를 어떻게 확보할 수 있는가?  현대적인 애플리케이션 개발에서 클라우드 컴퓨팅, 컨테이너화, 데브옵스, 마이크로서비스 아키텍처가 중요한 구성 요소로 자리 잡으면서 내부 소프트웨어 개발자 팀을 위해 이러한 리소스를 간단하게 관리할 방법이 필요해지고 있다.    많은 엘리트 엔지니어링 조직(예: 구글, 넷플릭스 아마존 등)에서 내부 개발자 플랫폼은 데브옵스 팀의 운영 부하를 완화해주는 한편 소프트웨어 개발자들이 불필요한 의사결정을 내릴 필요가 없도록 해준다. 美 전 대통령 버락 오바마가 과도한 의사결정으로 인한 피로감을 줄이기 위해 회색 또는 파란색 양복만 입었던 것처럼, 좋은 내부 개발자 플랫폼을 가지고 일하는 개발자들은 코드와 깃 리포지토리에 관해서만 걱정하고 기반 인프라 관리는 플랫폼에 맡길 수 있다.   IDP란 무엇인가? ‘어떤 눈송이도 똑같이 생긴 것이 없다’라는 말처럼 IDP 역시 동일한 게 없다는 점에서 눈송이 같다. 인프라, 문화, 코드 베이스, 도구 등에 따라 조직마다 내부 플랫폼이 다르기 때문에 공통된 정의를 찾기란 다소 어렵다.  美 기술 전문 컨설팅 업체 쏘우트웍스(ThoughtWorks)의 엔지니어링 책임자 에반 뵈트허는 한 블로그에 기고한 글에서 “말이 어렵게 보이긴 하지만 ‘플랫폼’은 규모에 맞게 딜리버리 속도와 효율성을 높이는 데 중요한 접근법에 사용할 수 있는 가장 모호한 개념이다”라고 말했다.  이어서 그는 (비록 ‘내부 플랫폼’보다 ‘디지털 플랫폼’이라는 표현을 선호하긴 했지만) 내부 제품에 따라 셀프-서비스 API, 툴, 서비스, 지식, 지원 등을 제공하는 기반으로 이를 정의했다.  美 헤지펀드 투 시그마(Two Sigma)의 플랫...

내부 플랫폼 내부 개발자 플랫폼 IDP 데브옵스 클라우드 컨테이너화 마이크로서비스 애플리케이션 개발 소프트웨어 개발 셀프 서비스 서비스형 플랫폼

2021.03.08

빠르고 안정적인 소프트웨어 릴리즈를 위해 데브옵스 문화를 성공적으로 구축한 조직들은 ‘내부 개발자 플랫폼(Internal Developer Platform; IDP)’을 사용해 코드를 배포한다. 여기서 IDP는 무엇이며, 이를 어떻게 확보할 수 있는가?  현대적인 애플리케이션 개발에서 클라우드 컴퓨팅, 컨테이너화, 데브옵스, 마이크로서비스 아키텍처가 중요한 구성 요소로 자리 잡으면서 내부 소프트웨어 개발자 팀을 위해 이러한 리소스를 간단하게 관리할 방법이 필요해지고 있다.    많은 엘리트 엔지니어링 조직(예: 구글, 넷플릭스 아마존 등)에서 내부 개발자 플랫폼은 데브옵스 팀의 운영 부하를 완화해주는 한편 소프트웨어 개발자들이 불필요한 의사결정을 내릴 필요가 없도록 해준다. 美 전 대통령 버락 오바마가 과도한 의사결정으로 인한 피로감을 줄이기 위해 회색 또는 파란색 양복만 입었던 것처럼, 좋은 내부 개발자 플랫폼을 가지고 일하는 개발자들은 코드와 깃 리포지토리에 관해서만 걱정하고 기반 인프라 관리는 플랫폼에 맡길 수 있다.   IDP란 무엇인가? ‘어떤 눈송이도 똑같이 생긴 것이 없다’라는 말처럼 IDP 역시 동일한 게 없다는 점에서 눈송이 같다. 인프라, 문화, 코드 베이스, 도구 등에 따라 조직마다 내부 플랫폼이 다르기 때문에 공통된 정의를 찾기란 다소 어렵다.  美 기술 전문 컨설팅 업체 쏘우트웍스(ThoughtWorks)의 엔지니어링 책임자 에반 뵈트허는 한 블로그에 기고한 글에서 “말이 어렵게 보이긴 하지만 ‘플랫폼’은 규모에 맞게 딜리버리 속도와 효율성을 높이는 데 중요한 접근법에 사용할 수 있는 가장 모호한 개념이다”라고 말했다.  이어서 그는 (비록 ‘내부 플랫폼’보다 ‘디지털 플랫폼’이라는 표현을 선호하긴 했지만) 내부 제품에 따라 셀프-서비스 API, 툴, 서비스, 지식, 지원 등을 제공하는 기반으로 이를 정의했다.  美 헤지펀드 투 시그마(Two Sigma)의 플랫...

2021.03.08

“다섯 마리 토끼 잡아라”··· CIO가 앱 개발자에 원하는 것들

CIO와 IT 리더는 애플리케이션 개발, 보강, 현대화를 두고 우선순위 문제로 골머리를 앓고 있다. 한편으론 혁신, 우수한 사용자 경험, 애자일 데브옵스 관행을 추진 중이다. 또 다른 한편으로는 쌓여가는 기술 부채, 애플리케이션의 적절한 보안 검증, 프로덕션 환경에서의 프로토타입 실행 및 확장 가능 여부를 우려하기도 한다.    CIO와 IT 리더는 비유하자면 ‘모든 토끼를 잡길’ 원한다. 물론 이들은 개발자와 딜리버리 리더가 요구하는 것부터 해야만 하는 것, 원하는 것까지 속속들이 알고 있다. 코드를 제대로 개발하기 위해 더 많은 시간과 인력, 민첩한 개발 인프라와 현대적인 애플리케이션 개발 툴, 이해관계자의 적극적인 개입, 적절한 교육, 잘 정의된 우선순위 등을 바라는 것을 예로 들 수 있다.    그러나 IT 리더는 디지털 트랜스포메이션을 주도해야 하고, 예산 제약을 고려해야 하며, 컴플라이언스 요건을 충족해야 하는 비즈니스 현실에 직면해 있다.  또한 CIO는 애플리케이션 개발팀이 ‘절충(Trade-off)’과 관련해 신중한 결정을 내리는 방법, 개발 대상을 지원하기 위해 취해야 할 조치들 그리고 애플리케이션을 완성하는 것만큼이나 엔드유저, 이해관계자, 아키텍트, 운영팀과의 협력이 중요한 이유를 알길 원한다.  여기서는 이런 과제와 관련해 CIO가 개발팀에 원하는 다섯 가지 요소를 살펴본다.  1. 기술 부채와 혁신 사이의 균형을 맞춰라  예를 들면 혁신 전략을 추진하거나 혹은 새 기술에 관한 스파이크를 제품 백로그에 추가할 때 개발팀은 흥분하기 십상이다. CIO와 IT 리더도 혁신을 바라지만 개발팀이 기술 부채를 처리하지 않는다면 이를 우려할 수밖에 없다.  다시 말해, ‘건전한’ 제품 백로그라면 애자일 팀이 스파이크, 기술 부채, 신기능, 운영 개선 사이의 균형을 유지하고 있음을 보여줘야 한다는 뜻이다.  애자일 팀의 우선순위는 제품 소유자에게 있다...

CIO IT 리더 애플리케이션 개발 애플리케이션 현대화 혁신 사용자 경험 애자일 데브옵스 기술 부채 디지털 트랜스포메이션 컴플라이언스 스파이크 제품 백로그 스파게티 코드 데이터 레이크 로우코드 데이터 부채

2020.10.19

CIO와 IT 리더는 애플리케이션 개발, 보강, 현대화를 두고 우선순위 문제로 골머리를 앓고 있다. 한편으론 혁신, 우수한 사용자 경험, 애자일 데브옵스 관행을 추진 중이다. 또 다른 한편으로는 쌓여가는 기술 부채, 애플리케이션의 적절한 보안 검증, 프로덕션 환경에서의 프로토타입 실행 및 확장 가능 여부를 우려하기도 한다.    CIO와 IT 리더는 비유하자면 ‘모든 토끼를 잡길’ 원한다. 물론 이들은 개발자와 딜리버리 리더가 요구하는 것부터 해야만 하는 것, 원하는 것까지 속속들이 알고 있다. 코드를 제대로 개발하기 위해 더 많은 시간과 인력, 민첩한 개발 인프라와 현대적인 애플리케이션 개발 툴, 이해관계자의 적극적인 개입, 적절한 교육, 잘 정의된 우선순위 등을 바라는 것을 예로 들 수 있다.    그러나 IT 리더는 디지털 트랜스포메이션을 주도해야 하고, 예산 제약을 고려해야 하며, 컴플라이언스 요건을 충족해야 하는 비즈니스 현실에 직면해 있다.  또한 CIO는 애플리케이션 개발팀이 ‘절충(Trade-off)’과 관련해 신중한 결정을 내리는 방법, 개발 대상을 지원하기 위해 취해야 할 조치들 그리고 애플리케이션을 완성하는 것만큼이나 엔드유저, 이해관계자, 아키텍트, 운영팀과의 협력이 중요한 이유를 알길 원한다.  여기서는 이런 과제와 관련해 CIO가 개발팀에 원하는 다섯 가지 요소를 살펴본다.  1. 기술 부채와 혁신 사이의 균형을 맞춰라  예를 들면 혁신 전략을 추진하거나 혹은 새 기술에 관한 스파이크를 제품 백로그에 추가할 때 개발팀은 흥분하기 십상이다. CIO와 IT 리더도 혁신을 바라지만 개발팀이 기술 부채를 처리하지 않는다면 이를 우려할 수밖에 없다.  다시 말해, ‘건전한’ 제품 백로그라면 애자일 팀이 스파이크, 기술 부채, 신기능, 운영 개선 사이의 균형을 유지하고 있음을 보여줘야 한다는 뜻이다.  애자일 팀의 우선순위는 제품 소유자에게 있다...

2020.10.19

로우코드 플랫폼이 소프트웨어 개발을 혁신하는 방법

개발자는 드래그 앤드 드롭(Drag-and-drop) 플랫폼으로 애플리케이션을 이른바 ‘조립(assemble)’할 수 있다. 직접 프로그래밍할 필요가 없다. 실제로 도요타(Toyota), 코노코필립스(ConocoPhillips), 글로벌트랜즈(GlobalTranz)는 로우코드를 활용해 비즈니스 가치를 창출하고 있다.  애자일 방법론에 따라 스프린트(Sprint)를 반복하는 것만이 애플리케이션 개발 속도를 가속하는 유일한 옵션은 아니다.    데이터 및 로직을 포함한 애플리케이션 구성요소를 드래그 앤드 드롭 인터페이스로 처리하고자 로우코드(low-code) 개발 플랫폼을 사용하는 기업들이 갈수록 늘어나고 있다. 마우스를 움직여서 끼워 넣는 가상의 레고 블록을 생각하면 이해하기 쉬울 것이다.  ‘로우코드’는 소위 시민 개발자(citizen developers)라 부르는, 즉 프로그래밍 경험이 거의 또는 전혀 없는 현업 부문이 유사한 드래그 앤드 드롭 툴을 사용해 애플리케이션을 제작하는 ‘노코드(no-code)’ 개발과는 다르다.   시장조사업체 포레스터 리서치는 로우코드 개발에선 여전히 코딩해야 할 필요가 있다고 설명했다. 이를테면 기존 애플리케이션 액세스, 보고 및 특별 사용자 인터페이스 요건을 통합하기 위해서다.  또한 로우코드 개발은 경쟁사보다 먼저 소프트웨어를 출시하려는 기업, 레거시 앱을 현대화하려는 기업에 상당한 도움이 될 수 있다. 시간을 절약해주기 때문이다.  포레스터에 따르면 설문조사에 응답한 애플리케이션 개발자 가운데 31%는 프로그래밍 언어, 프레임워크, 미들웨어와 함께 전통적인 코딩을 사용해 애플리케이션을 구축하다가 비즈니스 요구사항을 시간에 맞춰 충족하는 데 어려움을 겪었다고 밝혔다. 한편 36%의 개발자는 고객용 모바일 또는 웹 애플리케이션을 개발하기 위해 로우코드를 사용한다고 말했다.  로우코드 시장 전망 코로나19 사태 이전, 포레스터는 로우코드 개발...

로우코드 노코드 도요타 코노코필립스 글로벌트랜즈 애자일 스프린트 애플리케이션 개발 시민 개발자 세일즈포스 마이크로소프트 애피언 멘딕스 아웃시스템즈

2020.10.12

개발자는 드래그 앤드 드롭(Drag-and-drop) 플랫폼으로 애플리케이션을 이른바 ‘조립(assemble)’할 수 있다. 직접 프로그래밍할 필요가 없다. 실제로 도요타(Toyota), 코노코필립스(ConocoPhillips), 글로벌트랜즈(GlobalTranz)는 로우코드를 활용해 비즈니스 가치를 창출하고 있다.  애자일 방법론에 따라 스프린트(Sprint)를 반복하는 것만이 애플리케이션 개발 속도를 가속하는 유일한 옵션은 아니다.    데이터 및 로직을 포함한 애플리케이션 구성요소를 드래그 앤드 드롭 인터페이스로 처리하고자 로우코드(low-code) 개발 플랫폼을 사용하는 기업들이 갈수록 늘어나고 있다. 마우스를 움직여서 끼워 넣는 가상의 레고 블록을 생각하면 이해하기 쉬울 것이다.  ‘로우코드’는 소위 시민 개발자(citizen developers)라 부르는, 즉 프로그래밍 경험이 거의 또는 전혀 없는 현업 부문이 유사한 드래그 앤드 드롭 툴을 사용해 애플리케이션을 제작하는 ‘노코드(no-code)’ 개발과는 다르다.   시장조사업체 포레스터 리서치는 로우코드 개발에선 여전히 코딩해야 할 필요가 있다고 설명했다. 이를테면 기존 애플리케이션 액세스, 보고 및 특별 사용자 인터페이스 요건을 통합하기 위해서다.  또한 로우코드 개발은 경쟁사보다 먼저 소프트웨어를 출시하려는 기업, 레거시 앱을 현대화하려는 기업에 상당한 도움이 될 수 있다. 시간을 절약해주기 때문이다.  포레스터에 따르면 설문조사에 응답한 애플리케이션 개발자 가운데 31%는 프로그래밍 언어, 프레임워크, 미들웨어와 함께 전통적인 코딩을 사용해 애플리케이션을 구축하다가 비즈니스 요구사항을 시간에 맞춰 충족하는 데 어려움을 겪었다고 밝혔다. 한편 36%의 개발자는 고객용 모바일 또는 웹 애플리케이션을 개발하기 위해 로우코드를 사용한다고 말했다.  로우코드 시장 전망 코로나19 사태 이전, 포레스터는 로우코드 개발...

2020.10.12

‘혹하는 약속, 그러나 반대급부도 있다’··· 로우 코드의 장단점 각 7가지

기한과 일정에 대한 스트레스, 유지관리에 대한 압박이 심하다. 그러니 로우코드 개발 도구에 대한 ‘잠재력’이 아주 근사하게 들린다. 개발자가 아닌 사람도 클릭 몇 번으로 쉽게 간단한 앱을 구현할 수 있다는 ‘약속’을 이야기하는 것이다. 수많은 벤더들이 ‘로우 코드’라는 유행어를 내세우며 자사의 개발 도구 구입을 권유하고 있다. 실제로 최소한의 노력으로 마법 같이 모든 일들을 처리할 수 있는 도구들이 꽤 많다. 다루기 까다로운 개발자들 없이 괜찮은 품질의 소프트웨어를 쉽게 만드는 것이 가능해지기는 했다.   그러나 하기는 쉽지만, 지키기는 어려운 것이 약속이다. 많은 경험 많은 CIO들이 과거 이런 약속을 들었고, 이런 약속이 때때로 지켜지지 않는 것을 봤다. 컴퓨터의 역사는 앞선 프로그래머가 만든 계층의 거친 부분을 고치기 위해, 새로운 코드 계층을 추가해 나간 역사나 다름없다.  첫 번째 소프트웨어 컴파일러는 머신 코드를 쓰는 것에 대한 로우 코드적 대안으로 간주됐었다. 그런데 머신 코드 역시 ‘튜브’ 간 연결을 바꾸는 것에 대한 로우 코드적 대안이었다. 이런 식으로 새로운 도구들이 과거 구현된 것의 ‘손쉬운’ 버전으로 홍보됐었다. 좋은 소식은 멀찌감치에서 보면 도구들의 발전이 꽤 긍정적이었다는 것이다. 실제로 더 적은 노력으로 더 많은 것을 할 수 있게 되었다. 그러나 가까이에서 보면 조금 혼동스럽다. 큰 개선 및 향상과 함께 이를 관리하는 책임이 수반되는 경우가 많다. 최상의 구성 방법과 도구를 ‘마스터’하는 데 무언가를 처음부터 구현하는 것과 거의 비슷한 노력을 들여야 하는 때가 많다. 이 둘 사이의 ‘마찰’에 대해 이해하고 관리하는 것이 로우 코드를 고려하는 기업들이 풀어야 할 도전과제다. 로우 코드가 제공하는 혜택이 비용에 상응하는 가치를 제공할까? 현재 제시된 약속과 잠재력을 어느 정도 수용할지 결정하기 위해, 지금부터 소개할 로우 코드 도구를 수용해야 하는 7가지 이유, 피해야 할 7가지 이유를 균형 있게 고려...

로우코드 로우 코드 애플리케이션 개발 소프트웨어 개발 노코드 개발 플랫폼

2020.08.27

기한과 일정에 대한 스트레스, 유지관리에 대한 압박이 심하다. 그러니 로우코드 개발 도구에 대한 ‘잠재력’이 아주 근사하게 들린다. 개발자가 아닌 사람도 클릭 몇 번으로 쉽게 간단한 앱을 구현할 수 있다는 ‘약속’을 이야기하는 것이다. 수많은 벤더들이 ‘로우 코드’라는 유행어를 내세우며 자사의 개발 도구 구입을 권유하고 있다. 실제로 최소한의 노력으로 마법 같이 모든 일들을 처리할 수 있는 도구들이 꽤 많다. 다루기 까다로운 개발자들 없이 괜찮은 품질의 소프트웨어를 쉽게 만드는 것이 가능해지기는 했다.   그러나 하기는 쉽지만, 지키기는 어려운 것이 약속이다. 많은 경험 많은 CIO들이 과거 이런 약속을 들었고, 이런 약속이 때때로 지켜지지 않는 것을 봤다. 컴퓨터의 역사는 앞선 프로그래머가 만든 계층의 거친 부분을 고치기 위해, 새로운 코드 계층을 추가해 나간 역사나 다름없다.  첫 번째 소프트웨어 컴파일러는 머신 코드를 쓰는 것에 대한 로우 코드적 대안으로 간주됐었다. 그런데 머신 코드 역시 ‘튜브’ 간 연결을 바꾸는 것에 대한 로우 코드적 대안이었다. 이런 식으로 새로운 도구들이 과거 구현된 것의 ‘손쉬운’ 버전으로 홍보됐었다. 좋은 소식은 멀찌감치에서 보면 도구들의 발전이 꽤 긍정적이었다는 것이다. 실제로 더 적은 노력으로 더 많은 것을 할 수 있게 되었다. 그러나 가까이에서 보면 조금 혼동스럽다. 큰 개선 및 향상과 함께 이를 관리하는 책임이 수반되는 경우가 많다. 최상의 구성 방법과 도구를 ‘마스터’하는 데 무언가를 처음부터 구현하는 것과 거의 비슷한 노력을 들여야 하는 때가 많다. 이 둘 사이의 ‘마찰’에 대해 이해하고 관리하는 것이 로우 코드를 고려하는 기업들이 풀어야 할 도전과제다. 로우 코드가 제공하는 혜택이 비용에 상응하는 가치를 제공할까? 현재 제시된 약속과 잠재력을 어느 정도 수용할지 결정하기 위해, 지금부터 소개할 로우 코드 도구를 수용해야 하는 7가지 이유, 피해야 할 7가지 이유를 균형 있게 고려...

2020.08.27

수요 높은 박학다능··· 풀스택 개발자란? 되는 방법은?

풀스택 개발자란 GUI 프론트엔드부터 데이터베이스 백엔드에 이르는 모든 소프트웨어 스택을 이해하는 개발자를 말한다. 그러나 이 용어가 남발됨에 따라 일부 논란이 일고 있다.  다재다능한 ‘풀스택’ 개발자(Full-stack developer)는 많은 기업이 원하는 인재(입사 지원자)이다. 이렇듯 광범위한 지식을 갖추고 있는 사람들은 인적자원이 부족한 신생 창업 회사는 물론 복잡한 앱 환경을 관리해야 하는 대기업에 모두에서 값진 역할을 할 수 있다. 그러나 개발자들 사이에서는 이 ‘풀스택’ 개발자라는 개념에 대한 논란이 있다. 일부는 전체 소프트웨어 스택에서 동등하게 경쟁력을 갖출 수 있다는 개념 자체를 인정하지 않는다. 또 다른 일부는 직원과 고용주 모두 이 용어를 너무 많이 사용하는 바람에 의미가 없어졌다고 믿고 있다.   정의 : 풀스택 개발자란? 풀스택 개발자는 전체 애플리케이션 스택 이면의 기술들, 즉 현대적인 애플리케이션을 구성하는 다양한 기술 계층을 다룰 수 있는 역량을 갖고 있는 사람이다. 애플리케이션의 프론트 엔드(UI, 통상 웹사이트나 모바일 앱), 백엔드(애플리케이션에 필요한 정보가 저장된 데이터베이스와 애플리케이션을 견인하는 비즈니스 로직)에만 초점을 맞추는 개발자와 대비시키기 위해 활용되곤 했다. ‘이론적’으로 보면, 풀스택 개발자는 사용자의 브라우저에 실행되는 자바스크립트 코드, 사용자가 데이터베이스에서 원하는 정보를 가져오는 MySQL 쿼리 모두를 처리할 수 있는 역량을 갖추고 있다. 당연히 이를 위해서는 여러 기술에 정통해야 하며, 그만큼 드물다. 그래서 몇몇 사람들은 이런 사람들을 ‘유니콘(unicorn)”으로 부른다. 개발자인 앤디 쇼라는 장문의 글에서 진짜 풀스택 개발자는 존재하지 않는 '허구’라고  비판했다. 그는 누가 되었든 스택에서 특정 부분에 더 정통할 수밖에 없으며, 풀스택 개발...

채용 연봉 일자리 애플리케이션 개발 풀스택 개발자

2019.02.13

풀스택 개발자란 GUI 프론트엔드부터 데이터베이스 백엔드에 이르는 모든 소프트웨어 스택을 이해하는 개발자를 말한다. 그러나 이 용어가 남발됨에 따라 일부 논란이 일고 있다.  다재다능한 ‘풀스택’ 개발자(Full-stack developer)는 많은 기업이 원하는 인재(입사 지원자)이다. 이렇듯 광범위한 지식을 갖추고 있는 사람들은 인적자원이 부족한 신생 창업 회사는 물론 복잡한 앱 환경을 관리해야 하는 대기업에 모두에서 값진 역할을 할 수 있다. 그러나 개발자들 사이에서는 이 ‘풀스택’ 개발자라는 개념에 대한 논란이 있다. 일부는 전체 소프트웨어 스택에서 동등하게 경쟁력을 갖출 수 있다는 개념 자체를 인정하지 않는다. 또 다른 일부는 직원과 고용주 모두 이 용어를 너무 많이 사용하는 바람에 의미가 없어졌다고 믿고 있다.   정의 : 풀스택 개발자란? 풀스택 개발자는 전체 애플리케이션 스택 이면의 기술들, 즉 현대적인 애플리케이션을 구성하는 다양한 기술 계층을 다룰 수 있는 역량을 갖고 있는 사람이다. 애플리케이션의 프론트 엔드(UI, 통상 웹사이트나 모바일 앱), 백엔드(애플리케이션에 필요한 정보가 저장된 데이터베이스와 애플리케이션을 견인하는 비즈니스 로직)에만 초점을 맞추는 개발자와 대비시키기 위해 활용되곤 했다. ‘이론적’으로 보면, 풀스택 개발자는 사용자의 브라우저에 실행되는 자바스크립트 코드, 사용자가 데이터베이스에서 원하는 정보를 가져오는 MySQL 쿼리 모두를 처리할 수 있는 역량을 갖추고 있다. 당연히 이를 위해서는 여러 기술에 정통해야 하며, 그만큼 드물다. 그래서 몇몇 사람들은 이런 사람들을 ‘유니콘(unicorn)”으로 부른다. 개발자인 앤디 쇼라는 장문의 글에서 진짜 풀스택 개발자는 존재하지 않는 '허구’라고  비판했다. 그는 누가 되었든 스택에서 특정 부분에 더 정통할 수밖에 없으며, 풀스택 개발...

2019.02.13

1만 이상의 기업 사용자, SAP 클라우드 플랫폼 사용

전세계 1만 이상의 기업 사용자가 SAP 클라우드 플랫폼을 사용 중으로 알려졌다. SAP의 CTO인 비요른 게르케 SAP의 PaaS는 모바일 구현 클라우드 애플리케이션을 구축하고 확장하기 위한 인메모리 기능, 핵심 플랫폼 서비스, 마이크로서비스를 제공하도록 설계됐다. 주요 글로벌 고객으로는 스위스 포스트, NTT그룹, 지멘스 이외에 재규어 랜드로버, 엑슨모빌, 어베스트가 있다. SAP의 CTO인 비요른 게르케는 "혁신과 고객 성공은 SAP에서 하는 모든 일의 핵심이다. SAP 클라우드 플랫폼은 고객이 디지털 변혁 계획을 쉽게 성취하여 최고의 비즈니스가 되도록 돕기 위해 고안되었다"고 설명했다. "이제 1만 명이 넘는 기업 사용자가 SAP 클라우드 플랫폼이 제공하는 유연성과 가치를 입증할 수 있다"고 그는 전했다. 게르케는 이 제품이 애플리케이션 프로그램 인터페이스(API)를 통해 좀더 광범위한 개발자 생태계에 ‘데이터 가치를 제공’할 수 있는 개방적이고 민첩한 플랫폼을 제공한다고 밝혔다. 이어서 "SAP 클라우드 플랫폼의 경우 오픈소스 및 개방형 표준은 고객 및 파트너가 클라우드 기술의 최신 개발을 무중단 방식으로 활용할 수 있도록 항상 원칙을 지키고 있다. 동시에 우리는 앱 개발자를 복잡하게 만들지 않으므로 앱을 실행하는 데 필요한 인프라가 아니라 앱 기능에 집중할 수 있다"고 덧붙였다. 그는 "미래 지향적인 최첨단 플랫폼이 기술 혁신과 업계 리더 간의 긴밀한 협력과 공동 혁신을 통해서만 성취될 수 있다고 믿는다"고 강조했다. 게르케에 따르면 2014년에 클라우드 파운드리 재단의 플래티넘 창립 회원으로, 2017년 클라우드 네이티브 컴퓨팅 재단(CNCF)의 플래티넘 회원으로 가입한 이유도 바로 이러한 업계 리더 간의 협력과 공동 혁신을 위해서다. 게르케는 "CNCF에서 관리하는 인기 있는 컨테이너 오케...

인메모리 SAP 클라우드 플랫폼 엑슨모빌 NTT그룹 마이크로서비스 재규어 랜드로버 클라우드 파운드리 디지털 변혁 어베스트 API 지멘스 애플리케이션 개발 스위스 포스트

2018.09.21

전세계 1만 이상의 기업 사용자가 SAP 클라우드 플랫폼을 사용 중으로 알려졌다. SAP의 CTO인 비요른 게르케 SAP의 PaaS는 모바일 구현 클라우드 애플리케이션을 구축하고 확장하기 위한 인메모리 기능, 핵심 플랫폼 서비스, 마이크로서비스를 제공하도록 설계됐다. 주요 글로벌 고객으로는 스위스 포스트, NTT그룹, 지멘스 이외에 재규어 랜드로버, 엑슨모빌, 어베스트가 있다. SAP의 CTO인 비요른 게르케는 "혁신과 고객 성공은 SAP에서 하는 모든 일의 핵심이다. SAP 클라우드 플랫폼은 고객이 디지털 변혁 계획을 쉽게 성취하여 최고의 비즈니스가 되도록 돕기 위해 고안되었다"고 설명했다. "이제 1만 명이 넘는 기업 사용자가 SAP 클라우드 플랫폼이 제공하는 유연성과 가치를 입증할 수 있다"고 그는 전했다. 게르케는 이 제품이 애플리케이션 프로그램 인터페이스(API)를 통해 좀더 광범위한 개발자 생태계에 ‘데이터 가치를 제공’할 수 있는 개방적이고 민첩한 플랫폼을 제공한다고 밝혔다. 이어서 "SAP 클라우드 플랫폼의 경우 오픈소스 및 개방형 표준은 고객 및 파트너가 클라우드 기술의 최신 개발을 무중단 방식으로 활용할 수 있도록 항상 원칙을 지키고 있다. 동시에 우리는 앱 개발자를 복잡하게 만들지 않으므로 앱을 실행하는 데 필요한 인프라가 아니라 앱 기능에 집중할 수 있다"고 덧붙였다. 그는 "미래 지향적인 최첨단 플랫폼이 기술 혁신과 업계 리더 간의 긴밀한 협력과 공동 혁신을 통해서만 성취될 수 있다고 믿는다"고 강조했다. 게르케에 따르면 2014년에 클라우드 파운드리 재단의 플래티넘 창립 회원으로, 2017년 클라우드 네이티브 컴퓨팅 재단(CNCF)의 플래티넘 회원으로 가입한 이유도 바로 이러한 업계 리더 간의 협력과 공동 혁신을 위해서다. 게르케는 "CNCF에서 관리하는 인기 있는 컨테이너 오케...

2018.09.21

개발자 임금 높은 10개국은 어디? 미국은 2위

소프트웨어 개발자, 웹 개발자, 모바일 개발자라면, 어느 나라가 개발자 임금이 높은지 궁금할 것이다. 페이스케일닷컴(Payscale.com)의 데이터를 기반으로 개발자 임금이 높은 10개국을 정리했다. 대부분 주니어 직급과 시니어 이상의 급여를 취합한 결과로 구간으로 나타냈다. 개발자 임금 수준이 높은 10개국에 관해 알아보자.  

임금 연봉 애플리케이션 개발 소프트웨어 개발 급여 국가 모바일 개발자 페이스케일닷컴

2018.03.15

소프트웨어 개발자, 웹 개발자, 모바일 개발자라면, 어느 나라가 개발자 임금이 높은지 궁금할 것이다. 페이스케일닷컴(Payscale.com)의 데이터를 기반으로 개발자 임금이 높은 10개국을 정리했다. 대부분 주니어 직급과 시니어 이상의 급여를 취합한 결과로 구간으로 나타냈다. 개발자 임금 수준이 높은 10개국에 관해 알아보자.  

2018.03.15

'소프트웨어 개발을 가뿐하게'··· 마이크로서비스 이해하기

지금 수 천, 수 만에 달하는 C++ 명령을 처리해야 한다고 가정해보자. C++가 싫다면, 1970년대 IBM이 개발한 포트란(Fortran)의 ‘변종’인 벡트란(Vectran) 수백 만 줄을 처리한다고 가정하자. 명령에 아무 문제가 없을지라도 항상 문제가 있다. 다른 사람이 피처(기능)를 추가하려 할 때마다 문제가 발생한다. 또한 버그를 고치려 할 때마다 버그가 증가한다. 손을 대지 않아야 한다. 그러면 문제 없이 작동할 것이다. 그런데 혁신에는 애질리티(민첩성)와 속도가 요구된다는 점이 문제이다. 밀레니엄 버그를 걱정할 필요가 없었던 신생 기업들이 문제 많은 오래된 레가시 소프트웨어를 보유한 당신 회사를 가뿐히 압도하고 있다. 투자자들은 ‘넥스트 빅 씽’을 요구한다. 고객들이 대량으로 이탈한다. 이를 해결할 방법은 비대한 애플리케이션 덩어리를 없애는 것이다. 그러나 더 이상 새로운 덩어리를 만들어서는 안 된다. 마이크로 서비스 아키텍처를 이용하면 이런 목표를 달성할 수 있다. ‘큰’ 애플리케이션들을 수평으로 확장할 수 있는 ‘가벼운’ 앱으로 분리해주는 기법이다. 마이크로서비스에 대한 정의 마이크로서비스는 여러 기능을 RESTful API로 느슨하게 연동된 별개의 애플리케이션으로 분리한다. 이베이가 2006년 사용자, 아이템, 계정, 피드백, 트랜젝션, 기타 70여 요소들을 처리하는 별개의 Java Servlet 애플리케이션들을 구현한 것을 예로 들 수 있다. 이 각각의 논리 함수 애플리케이션들이 마이크로서비스다. 각 마이크로서비스는 독립돼 있다. 마이크로서비스는 데이터 계층을 공유하지 않는다. 각자의 데이터베이스와 로드 밸런스를 가지고 있다. 이런 ‘분리’가 마이크로서비스 아키텍처의 핵심 요소다. 마이크로서비스마다 각기 다른 스케일링 기법이 필요하다. 예를 들어, 일부 마이크로서비스는 관계형 데이터베이...

애플리케이션 개발 소프트웨어 개발 마이크로서비스 RESTful API

2017.12.01

지금 수 천, 수 만에 달하는 C++ 명령을 처리해야 한다고 가정해보자. C++가 싫다면, 1970년대 IBM이 개발한 포트란(Fortran)의 ‘변종’인 벡트란(Vectran) 수백 만 줄을 처리한다고 가정하자. 명령에 아무 문제가 없을지라도 항상 문제가 있다. 다른 사람이 피처(기능)를 추가하려 할 때마다 문제가 발생한다. 또한 버그를 고치려 할 때마다 버그가 증가한다. 손을 대지 않아야 한다. 그러면 문제 없이 작동할 것이다. 그런데 혁신에는 애질리티(민첩성)와 속도가 요구된다는 점이 문제이다. 밀레니엄 버그를 걱정할 필요가 없었던 신생 기업들이 문제 많은 오래된 레가시 소프트웨어를 보유한 당신 회사를 가뿐히 압도하고 있다. 투자자들은 ‘넥스트 빅 씽’을 요구한다. 고객들이 대량으로 이탈한다. 이를 해결할 방법은 비대한 애플리케이션 덩어리를 없애는 것이다. 그러나 더 이상 새로운 덩어리를 만들어서는 안 된다. 마이크로 서비스 아키텍처를 이용하면 이런 목표를 달성할 수 있다. ‘큰’ 애플리케이션들을 수평으로 확장할 수 있는 ‘가벼운’ 앱으로 분리해주는 기법이다. 마이크로서비스에 대한 정의 마이크로서비스는 여러 기능을 RESTful API로 느슨하게 연동된 별개의 애플리케이션으로 분리한다. 이베이가 2006년 사용자, 아이템, 계정, 피드백, 트랜젝션, 기타 70여 요소들을 처리하는 별개의 Java Servlet 애플리케이션들을 구현한 것을 예로 들 수 있다. 이 각각의 논리 함수 애플리케이션들이 마이크로서비스다. 각 마이크로서비스는 독립돼 있다. 마이크로서비스는 데이터 계층을 공유하지 않는다. 각자의 데이터베이스와 로드 밸런스를 가지고 있다. 이런 ‘분리’가 마이크로서비스 아키텍처의 핵심 요소다. 마이크로서비스마다 각기 다른 스케일링 기법이 필요하다. 예를 들어, 일부 마이크로서비스는 관계형 데이터베이...

2017.12.01

블로그 | 좋은 소프트웨어 개발자 선언문

소프트웨어 개발이란 어떤 APIs를 호출하고 기본 구문을 알고 있는지를 넘어서는 작업이다. 애플리케이션 개발의 실제 모습은 아래와 같다. 제임스 다모어와 그의 '구글 선언문'(The Google Manifesto)에 대한 글을 이미 많이 쓰였고 앞으로도 많이 쓰일 것이다. 다모어의 장광한 논설은 이미 과거에 연구되고 반박된 재활용 쓰레기에 가깝다. 역사속에서 그의 주장은 데이터에 의해 반박된다. 다모어가 보여주는 도덕적 혼란과 별개로 그는 또 공학을 이해하는 것처럼 보이지도 않는다. 과거 구글 직원이었던 요나탄 준거는 다모어의 선언문에 대해 훌륭히 반박하기도 했다. 준거가 맞다. 다모어는 훌륭한 엔지니어도, 탁월한 소프트웨어 개발자도 아니다. 소프트웨어 개발은 호출할 APIs를 알거나 기본 구문을 아는 것 이상의 작업이다. 그렇다면 훌륭한 소프트웨어 개발자를 만드는 것은 무엇일까? 여기 우리가 참고해야 할 선언문이 있다. 나는 이를 '좋은 소프트웨어 개발 선언문'(Good Software Development Manifesto)라고 부른다. 1. 데이터를 믿어라 스스로를 다른 어떤 사람보다 '더 나은 사람'이라고 여기거나 시스템이 제대로 동작한다고 믿고 싶을 수 있다. 그러나 이러한 생각을 뒷받침하는 데이터를 가질 필요가 있다. 무엇보다도 사실(또는 연구와 역사)가 스스로의 오류를 증명하면 이러한 생각을 기꺼이 포기할 수 있어야 한다. 즉, 코드 작동을 증명하는 테스트가 필요하며 코드의 정합성을 증명하는 데이터를 만들어내는 프로세서가 필요하다. 당신이 하는 모든 일은 당신이 더 옳은 결정을 내릴 수 있는 데이터를 만들어내고 있어야 한다. 그렇지 않다면 당신이 옳은 일을 하고 있는지 어떻게 알 수 있겠는가? 2. 소프트웨어 개발은 코딩 이상이다 편지 쓰기가 키보드에서 타이핑하는 분당 단어수나 어휘 또는 문법을 이해하는 작업 이상인 것처럼, 소프트웨어 개발 또한 코딩 이상이다. ...

애플리케이션 개발 소프트웨어 개발 선언문 매니페스토

2017.08.11

소프트웨어 개발이란 어떤 APIs를 호출하고 기본 구문을 알고 있는지를 넘어서는 작업이다. 애플리케이션 개발의 실제 모습은 아래와 같다. 제임스 다모어와 그의 '구글 선언문'(The Google Manifesto)에 대한 글을 이미 많이 쓰였고 앞으로도 많이 쓰일 것이다. 다모어의 장광한 논설은 이미 과거에 연구되고 반박된 재활용 쓰레기에 가깝다. 역사속에서 그의 주장은 데이터에 의해 반박된다. 다모어가 보여주는 도덕적 혼란과 별개로 그는 또 공학을 이해하는 것처럼 보이지도 않는다. 과거 구글 직원이었던 요나탄 준거는 다모어의 선언문에 대해 훌륭히 반박하기도 했다. 준거가 맞다. 다모어는 훌륭한 엔지니어도, 탁월한 소프트웨어 개발자도 아니다. 소프트웨어 개발은 호출할 APIs를 알거나 기본 구문을 아는 것 이상의 작업이다. 그렇다면 훌륭한 소프트웨어 개발자를 만드는 것은 무엇일까? 여기 우리가 참고해야 할 선언문이 있다. 나는 이를 '좋은 소프트웨어 개발 선언문'(Good Software Development Manifesto)라고 부른다. 1. 데이터를 믿어라 스스로를 다른 어떤 사람보다 '더 나은 사람'이라고 여기거나 시스템이 제대로 동작한다고 믿고 싶을 수 있다. 그러나 이러한 생각을 뒷받침하는 데이터를 가질 필요가 있다. 무엇보다도 사실(또는 연구와 역사)가 스스로의 오류를 증명하면 이러한 생각을 기꺼이 포기할 수 있어야 한다. 즉, 코드 작동을 증명하는 테스트가 필요하며 코드의 정합성을 증명하는 데이터를 만들어내는 프로세서가 필요하다. 당신이 하는 모든 일은 당신이 더 옳은 결정을 내릴 수 있는 데이터를 만들어내고 있어야 한다. 그렇지 않다면 당신이 옳은 일을 하고 있는지 어떻게 알 수 있겠는가? 2. 소프트웨어 개발은 코딩 이상이다 편지 쓰기가 키보드에서 타이핑하는 분당 단어수나 어휘 또는 문법을 이해하는 작업 이상인 것처럼, 소프트웨어 개발 또한 코딩 이상이다. ...

2017.08.11

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