Offcanvas

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

‘앵귤러JS’ 11년 만에 종료··· “서드파티 지원 옵션은 사용 가능”

웹 개발에 ’혁신을 일으킨’ 자바스크립트 프레임워크가 더 이상 유지되지 않는다. 단, 서드파티 지원 옵션은 사용할 수 있다.  ‘앵귤러JS(AngularJS)’ 자바스크립트 프레임워크가 수명 종료(End-of-Life; EoL)에 도달했다. 그다음 세대인 타입스크립트 기반 앵귤러(Angular) 프레임워크 개발팀은 앵귤러JS 사용자가 후속 제품을 사용하길 바란다고 말했다.    지난 2010년 구글에서 출시된 ‘앵귤러 JS’는 11년 만인 2021년 12월 31일 EOL에 도달했으며, 해당 커뮤니티의 장기 지원도 중단됐다. 하지만 앵귤러 JS 사용자는 엑스엘티에스닷데브(XLTS.dev), 퍼포스(Perforce) 등의 지원 서비스 업체를 포함한 서드파티 지원을 받을 수 있다고 개발팀은 전했다. 앵귤러JS 소스 코드도 NPM, CDN, Bower를 통해 깃허브에서 사용할 수 있다.  구글의 후속작 ‘앵귤러’는 동일한 철학을 사용하지만 지난 2016년에 타입스크립트로 다시 작성된 다른 프레임워크다. 구글 개발자 관계 엔지니어 민코 게체브에 따르면 “타입스크립트는 정적 타이핑을 제공해 개발 경험을 지원하고, 프로덕션 환경에 배포하기 전에 버그를 식별하는 데 도움을 준다.” 퍼포스의 오픈소스 에반젤리티스트 하비에르 페레즈는 EOL 버전의 앵귤러JS를 계속 사용하면 위험할 수 있다고 지적했다. 그는 “오픈소스 커뮤니티의 장기 지원이 EOL에 도달하면 더 이상 패치가 릴리즈되지 않는다. 사용자가 EOL 버전의 소프트웨어를 사용할 경우 심각도가 높거나 치명적인 취약점이 새로 발견됐을 때 패치를 사용할 수 없게 될 위험이 있다”라고 설명했다.  또 앵귤러JS는 웹 애플리케이션에서 널리 사용되기 때문에 브라우저를 변경하면 기능에 영향을 미칠 수 있다고 페레즈는 덧붙였다. 그는 앵귤러JS 사용자는 위험할 수 있는 앵귤러JS에 앱을 유지하거나, 최신 버전의 앵귤러로 앱을 다시 작성하거나, 다른 자바스크립트 프레임워크를 사용하...

구글 앵귤러JS 앵귤러 웹 개발 자바스크립트 프레임워크 퍼포스 깃허브 타입스크립트 자바스크립트 웹 애플리케이션

2022.01.11

웹 개발에 ’혁신을 일으킨’ 자바스크립트 프레임워크가 더 이상 유지되지 않는다. 단, 서드파티 지원 옵션은 사용할 수 있다.  ‘앵귤러JS(AngularJS)’ 자바스크립트 프레임워크가 수명 종료(End-of-Life; EoL)에 도달했다. 그다음 세대인 타입스크립트 기반 앵귤러(Angular) 프레임워크 개발팀은 앵귤러JS 사용자가 후속 제품을 사용하길 바란다고 말했다.    지난 2010년 구글에서 출시된 ‘앵귤러 JS’는 11년 만인 2021년 12월 31일 EOL에 도달했으며, 해당 커뮤니티의 장기 지원도 중단됐다. 하지만 앵귤러 JS 사용자는 엑스엘티에스닷데브(XLTS.dev), 퍼포스(Perforce) 등의 지원 서비스 업체를 포함한 서드파티 지원을 받을 수 있다고 개발팀은 전했다. 앵귤러JS 소스 코드도 NPM, CDN, Bower를 통해 깃허브에서 사용할 수 있다.  구글의 후속작 ‘앵귤러’는 동일한 철학을 사용하지만 지난 2016년에 타입스크립트로 다시 작성된 다른 프레임워크다. 구글 개발자 관계 엔지니어 민코 게체브에 따르면 “타입스크립트는 정적 타이핑을 제공해 개발 경험을 지원하고, 프로덕션 환경에 배포하기 전에 버그를 식별하는 데 도움을 준다.” 퍼포스의 오픈소스 에반젤리티스트 하비에르 페레즈는 EOL 버전의 앵귤러JS를 계속 사용하면 위험할 수 있다고 지적했다. 그는 “오픈소스 커뮤니티의 장기 지원이 EOL에 도달하면 더 이상 패치가 릴리즈되지 않는다. 사용자가 EOL 버전의 소프트웨어를 사용할 경우 심각도가 높거나 치명적인 취약점이 새로 발견됐을 때 패치를 사용할 수 없게 될 위험이 있다”라고 설명했다.  또 앵귤러JS는 웹 애플리케이션에서 널리 사용되기 때문에 브라우저를 변경하면 기능에 영향을 미칠 수 있다고 페레즈는 덧붙였다. 그는 앵귤러JS 사용자는 위험할 수 있는 앵귤러JS에 앱을 유지하거나, 최신 버전의 앵귤러로 앱을 다시 작성하거나, 다른 자바스크립트 프레임워크를 사용하...

2022.01.11

‘루비 온 레일즈 7’ 출시··· “자바스크립트 지원 개선”

웹 애플리케이션 프레임워크의 최신 버전 ‘루비 온 레일즈 7(Ruby on Rails 7)’이 프로덕션 릴리즈로 출시됐다. 이번 업데이트는 자바스크립트 발전을 지원하는 웹 개발 풀스택 접근법을 제시한다.    ECMA스크립트 6 자바스크립트 표준 및 ECMA스크립트 모듈을 위한 브라우저 지원, 광범위한 HTTP/2 채택, 자바스크립트 모듈 가져오기를 위한 가져오기 맵 표준 등을 활용하는 ‘레일즈 7’이 지난 12월 15일(현지 시각) 공개됐다.  개발팀에 따르면 레일즈 7은 이러한 기술을 활용해 NPM 패키지 및 최신 자바스크립트 액세스를 계속 제공하면서 (개발자에게) 프론트엔드 개발에 ‘노드가 없는’ 접근법을 지원한다. 아울러 레일즈 7은 프론트엔드에서 터보링크(TurboLinks) 및 레일즈 UJS(Rails UJS)를 핫와이어(Hotwire)의 터보(Turbo) 및 스티뮬러스(Stimulus)로 대체한다.  이러한 새 기본값을 통해 대부분의 레일즈 애플리케이션에서는 노드.js를 필요로 하지 않게 됐다. 즉, 웹팩이 더 이상 필요하지 않기 때문에 선호하는 자바스크립트 번들러를 사용할 수 있다고 개발팀은 설명했다.  노드.js를 활용하는 CSS 번들러에도 동일한 접근법이 적용됐다. 레일즈 7에서는 컴파일된 application.css 파일만 생성하면 완벽하게 통합할 수 있다고 개발팀은 전했다. 테일윈드(Tailwind) 또는 부트스트랩(Bootstrap) 등의 번들러를 사용할 수 있다.  레일즈 7.0 가이드는 이곳(guides.rubyonrails.org)에서, 릴리즈 노트는 프로젝트 웹 사이트에서 확인할 수 있다. 이 밖에 루비 온 레일즈 7의 개선사항은 다음과 같다.  • 암호화된 속성이 액티브 레코드(Active Record)에 추가됐다. 애플리케이션이 기존의 미사용 및 전송 중 커버리지 외에 추가로 작업 중 암호화를 제공할 수 있다. 이를 통해 추가 보안 계층이 지원된다.&n...

웹 애플리케이션 프레임워크 루비 온 레일즈 자바스크립트 노드.js

2021.12.20

웹 애플리케이션 프레임워크의 최신 버전 ‘루비 온 레일즈 7(Ruby on Rails 7)’이 프로덕션 릴리즈로 출시됐다. 이번 업데이트는 자바스크립트 발전을 지원하는 웹 개발 풀스택 접근법을 제시한다.    ECMA스크립트 6 자바스크립트 표준 및 ECMA스크립트 모듈을 위한 브라우저 지원, 광범위한 HTTP/2 채택, 자바스크립트 모듈 가져오기를 위한 가져오기 맵 표준 등을 활용하는 ‘레일즈 7’이 지난 12월 15일(현지 시각) 공개됐다.  개발팀에 따르면 레일즈 7은 이러한 기술을 활용해 NPM 패키지 및 최신 자바스크립트 액세스를 계속 제공하면서 (개발자에게) 프론트엔드 개발에 ‘노드가 없는’ 접근법을 지원한다. 아울러 레일즈 7은 프론트엔드에서 터보링크(TurboLinks) 및 레일즈 UJS(Rails UJS)를 핫와이어(Hotwire)의 터보(Turbo) 및 스티뮬러스(Stimulus)로 대체한다.  이러한 새 기본값을 통해 대부분의 레일즈 애플리케이션에서는 노드.js를 필요로 하지 않게 됐다. 즉, 웹팩이 더 이상 필요하지 않기 때문에 선호하는 자바스크립트 번들러를 사용할 수 있다고 개발팀은 설명했다.  노드.js를 활용하는 CSS 번들러에도 동일한 접근법이 적용됐다. 레일즈 7에서는 컴파일된 application.css 파일만 생성하면 완벽하게 통합할 수 있다고 개발팀은 전했다. 테일윈드(Tailwind) 또는 부트스트랩(Bootstrap) 등의 번들러를 사용할 수 있다.  레일즈 7.0 가이드는 이곳(guides.rubyonrails.org)에서, 릴리즈 노트는 프로젝트 웹 사이트에서 확인할 수 있다. 이 밖에 루비 온 레일즈 7의 개선사항은 다음과 같다.  • 암호화된 속성이 액티브 레코드(Active Record)에 추가됐다. 애플리케이션이 기존의 미사용 및 전송 중 커버리지 외에 추가로 작업 중 암호화를 제공할 수 있다. 이를 통해 추가 보안 계층이 지원된다.&n...

2021.12.20

“클라우드가 컴퓨터인 세상, 웹 앱과 API 보안의 현실 직시하라” 퀄시스

클라우드와 웹이 ‘컴퓨터’인 세상이다. 이 새로운 세상에서 시스템 보안이 어디에 어떻게 강구되어야 하는지에 대한 이해가 요구되고 있다. 보안 및 컴플라이언스 기업 퀄시스(Qualys)가 현대 엔터프라이즈를 위한 보안 전략에 대해 제시했다.  엘비스(Elvis) 뿐 아니라 이제 애플리케이션도 건물을 떠났다. 이제 극장에서 나올 때라는 첫 알림음이 울려 퍼지고 있다. 지금은 앙코르나 다른 배우들의 무대 인사를 보기 위해 남아 있을 때가 아니라는 것이다. 그 알림의 두 번째 부분은 이제 엔터프라이즈 소프트웨어 자산 중 많은 수가 그 자체로 인터넷을 형성하는 더 광범위한 웹의 일부로 존재한다는 사실이다. 그런데 자명하면서도 중요한 이 말에는 함축하는 바가 있다. 웹 애플리케이션이 등장하고 웹 애플리케이션의 여러 시냅스를 결합하는 API가 등장하면서 예전에는 상상할 수 없던 수준의 유연성과 운영 민첩성이 가능해지고 있다. 그러나 유연성에는 대가나 희생이 따르기 마련이다. 즉, 취약점이 존재한다. API 초고속도로는 통행량이 매우 많다. 2018년 10월 아카마이(Akamai) 트래픽 리뷰에 따르면, 전체 웹 트래픽에서 API 호출이 차지하는 비율이 83%였다. 지금은 85%나 90%에 가까울 수 있겠다. 컨텐츠 전송 네트워크 전문업체 아카마이는 API 트래픽의 대부분은 디지털 서비스와 클라우드 기반 애플리케이션 배치의 결과물인 맞춤형 애플리케이션용이라고 밝혔다. 웹 앱, 해킹 벡터로 부상했다 퀄시스(Qualsys) 웹 애플리케이션 보안 제품 관리 책임자 존 델라로더리는 이러한 현실의 문제점을 공론화했다. 그는 특정 취약점이 파악되어 해결된 후에도 웹 상의 다른 시스템(콘텐츠 관리 시스템(CMS) 등)에서는 해당 취약점이 패치 되지 않은 형태로 존재하는 점을 지적했다. 그 결과 보안 문제가 자꾸만 생기는 영화 ‘사랑의 블랙홀’과 같은 상황을 겪게 될 우려가 있다는 진단이다. 이러한 지적은 (오픈소스인 경우가 많은) CMS의 보안 완성도에 대한 것이 아...

퀄시스 웹 앱 API 보안 웹 애플리케이션 취약점

2021.11.24

클라우드와 웹이 ‘컴퓨터’인 세상이다. 이 새로운 세상에서 시스템 보안이 어디에 어떻게 강구되어야 하는지에 대한 이해가 요구되고 있다. 보안 및 컴플라이언스 기업 퀄시스(Qualys)가 현대 엔터프라이즈를 위한 보안 전략에 대해 제시했다.  엘비스(Elvis) 뿐 아니라 이제 애플리케이션도 건물을 떠났다. 이제 극장에서 나올 때라는 첫 알림음이 울려 퍼지고 있다. 지금은 앙코르나 다른 배우들의 무대 인사를 보기 위해 남아 있을 때가 아니라는 것이다. 그 알림의 두 번째 부분은 이제 엔터프라이즈 소프트웨어 자산 중 많은 수가 그 자체로 인터넷을 형성하는 더 광범위한 웹의 일부로 존재한다는 사실이다. 그런데 자명하면서도 중요한 이 말에는 함축하는 바가 있다. 웹 애플리케이션이 등장하고 웹 애플리케이션의 여러 시냅스를 결합하는 API가 등장하면서 예전에는 상상할 수 없던 수준의 유연성과 운영 민첩성이 가능해지고 있다. 그러나 유연성에는 대가나 희생이 따르기 마련이다. 즉, 취약점이 존재한다. API 초고속도로는 통행량이 매우 많다. 2018년 10월 아카마이(Akamai) 트래픽 리뷰에 따르면, 전체 웹 트래픽에서 API 호출이 차지하는 비율이 83%였다. 지금은 85%나 90%에 가까울 수 있겠다. 컨텐츠 전송 네트워크 전문업체 아카마이는 API 트래픽의 대부분은 디지털 서비스와 클라우드 기반 애플리케이션 배치의 결과물인 맞춤형 애플리케이션용이라고 밝혔다. 웹 앱, 해킹 벡터로 부상했다 퀄시스(Qualsys) 웹 애플리케이션 보안 제품 관리 책임자 존 델라로더리는 이러한 현실의 문제점을 공론화했다. 그는 특정 취약점이 파악되어 해결된 후에도 웹 상의 다른 시스템(콘텐츠 관리 시스템(CMS) 등)에서는 해당 취약점이 패치 되지 않은 형태로 존재하는 점을 지적했다. 그 결과 보안 문제가 자꾸만 생기는 영화 ‘사랑의 블랙홀’과 같은 상황을 겪게 될 우려가 있다는 진단이다. 이러한 지적은 (오픈소스인 경우가 많은) CMS의 보안 완성도에 대한 것이 아...

2021.11.24

"네이티브에 가까운 성능" 웹어셈블리 활용한 언어 프로젝트 12선

오늘날 웹 애플리케이션은 네이티브 데스크톱 애플리케이션만큼 빠르고 반응적이지 않다. 하지만 그렇게 될 수 있다면 어떨까? 이게 바로 ‘웹어셈블리(WebAssembly)’가 약속하는 바다.  ‘웹어셈블리’는 컴팩트 바이너리 형식의 저수준 어셈블리형 언어다. 웹 브라우저에서 네이티브에 가까운 성능으로 실행된다. 또한 웹어셈블리는 C/C++, C#, 러스트(Rust), 고(Go), 코틀린(Kotlin), 스위프트(Swift) 등의 프로그래밍 언어에 이식 가능한 컴파일 타깃을 제공한다.  웹어셈블리는 웹 애플리케이션 성능을 향상할 뿐만 아니라 브라우저 앱 개발에서 자바스크립트 이외의 언어를 사용할 수 있도록 한다는 점에서 환영받아 왔다. 구글, 모질라, 애플, 마이크로소프트 등 거의 모든 메이저 브라우저 회사가 이 기술을 지원하고 있다.  더 나아가 웹어셈블리는 그 위력을 활용하는 여러 신기술 개발로 이어졌고, 여기에는 완전히 새로운 프로그래밍 언어도 포함된다. 웹어셈블리를 바탕으로 한 12가지 언어 프로젝트를 살펴본다.    1. 바이너리엔(Binaryen)  ‘바이너리엔’은 웹어셈블리용 컴파일러 툴체인 인프라 라이브러리다. C++로 작성된 바이너리엔은 쉽고 효과적이며 빠르게 웹어셈블리로 컴파일할 수 있도록 설계됐다.  이는 단일 헤더에 C API가 있으며, 자바스크립트에서 사용할 수 있다. 입력은 웹어셈블리와 유사한 형식으로 허용되지만 이를 채택한 컴파일러의 경우 일반 제어 그래프도 허용된다.  바이너리엔의 내부 IR은 컴팩트 데이터 구조를 사용하고, 병렬 코드 생성 및 최적화를 위해 모든 CPU 코어를 사용한다. 또한 IR은 본질적으로 웹어셈블리의 하위 집합이기 때문에 웹어셈블리로 쉽게 컴파일된다. 웹어셈블리에 특화된 최적화는 코드 크기와 속도를 모두 향상시켜 바이너리엔을 컴파일러 백엔드로 사용할 수 있도록 지원한다.  바이너리엔은 깃허브에서 다운로드할 수 있다.&nb...

웹 애플리케이션 데스크톱 애플리케이션 웹어셈블리 프로그래밍 언어 개발 언어 바이너리엔 블레이저 웹어셈블리 치어프 치어프제이 엠스트립튼 포레스트 그레인 자바 웹어셈블리 파이오다이드 티브이엠 우노 플랫폼 웹어셈블리 클라우드

2021.08.30

오늘날 웹 애플리케이션은 네이티브 데스크톱 애플리케이션만큼 빠르고 반응적이지 않다. 하지만 그렇게 될 수 있다면 어떨까? 이게 바로 ‘웹어셈블리(WebAssembly)’가 약속하는 바다.  ‘웹어셈블리’는 컴팩트 바이너리 형식의 저수준 어셈블리형 언어다. 웹 브라우저에서 네이티브에 가까운 성능으로 실행된다. 또한 웹어셈블리는 C/C++, C#, 러스트(Rust), 고(Go), 코틀린(Kotlin), 스위프트(Swift) 등의 프로그래밍 언어에 이식 가능한 컴파일 타깃을 제공한다.  웹어셈블리는 웹 애플리케이션 성능을 향상할 뿐만 아니라 브라우저 앱 개발에서 자바스크립트 이외의 언어를 사용할 수 있도록 한다는 점에서 환영받아 왔다. 구글, 모질라, 애플, 마이크로소프트 등 거의 모든 메이저 브라우저 회사가 이 기술을 지원하고 있다.  더 나아가 웹어셈블리는 그 위력을 활용하는 여러 신기술 개발로 이어졌고, 여기에는 완전히 새로운 프로그래밍 언어도 포함된다. 웹어셈블리를 바탕으로 한 12가지 언어 프로젝트를 살펴본다.    1. 바이너리엔(Binaryen)  ‘바이너리엔’은 웹어셈블리용 컴파일러 툴체인 인프라 라이브러리다. C++로 작성된 바이너리엔은 쉽고 효과적이며 빠르게 웹어셈블리로 컴파일할 수 있도록 설계됐다.  이는 단일 헤더에 C API가 있으며, 자바스크립트에서 사용할 수 있다. 입력은 웹어셈블리와 유사한 형식으로 허용되지만 이를 채택한 컴파일러의 경우 일반 제어 그래프도 허용된다.  바이너리엔의 내부 IR은 컴팩트 데이터 구조를 사용하고, 병렬 코드 생성 및 최적화를 위해 모든 CPU 코어를 사용한다. 또한 IR은 본질적으로 웹어셈블리의 하위 집합이기 때문에 웹어셈블리로 쉽게 컴파일된다. 웹어셈블리에 특화된 최적화는 코드 크기와 속도를 모두 향상시켜 바이너리엔을 컴파일러 백엔드로 사용할 수 있도록 지원한다.  바이너리엔은 깃허브에서 다운로드할 수 있다.&nb...

2021.08.30

디노 컴퍼니, 서버측 자바스크립트 호스팅 서비스 공개

‘디노 디플로이(Deno Deploy)’를 사용하면 전 세계 25개 데이터센터에 디노 기반 웹 애플리케이션을 배포할 수 있다.  디노 자바스크립트/타입스크립트 런타임 개발팀이 ‘디노 디플로이’를 통해 엣지에서 자바스크립트, 타입스트립트, 웹어셈블리를 실행하는 글로벌 분산형 가상머신(VM) 서비스를 제공한다. 목표는 디노 디플로이가 최신 서버측 자바스크립트를 호스팅할 수 있는 최적의 장소가 되는 것이다.    지난 6월 23일(현지 시각) 디노 디플로이가 첫 번째 베타 버전(Beta 1)으로 출시됐다. GA 버전은 2021년 4분기 공개될 예정이다.  대만, 몬트리올, 로스앤젤레스, 런던 등 전 세계 25개 데이터센터에서 실행되는 다중 테넌트 자바스크립트 엔진 ‘디노 디플로이’는 클라우드 인프라를 구글 V8 가상머신과 통합, 개발자가 로컬에서 개발하고 전 세계로 배포할 수 있도록 지원한다.  디노 CLI(Deno CLI)와 동일한 시스템에 구축된 디노 디플로이의 첫 번째 베타는 깃허브를 통해 무료로 사용할 수 있다. 디노 개발팀은 지난 8개월 동안 오픈소스 디노 CLI로 워크플로우를 보완하기 위해 호스팅 서비스를 설계해왔다고 밝혔다.  개발팀에 따르면 디노 디플로이는 AWS 람다(AWS Lamda)에서 실행되지 않으며 클라우드플레어 워커(Cloudflare Workers)를 사용하지도 않는 독특한 디자인의 새로운 시스템이다. 따라서 대략적인 초기 UI를 살펴보고 이 새로운 자바스크립트 런타임을 탐색하라고 디노 개발팀은 권고했다. 디노 디플로이에서 제공하는 기능은 다음과 같다. • URL을 통한 코드 배포 • 타입스크립트, JSX, ES 모듈 및 원격 HTTPS 가져오기 즉시 지원 • 실시간 통신을 위한 브로드캐스트 채널(Broadcast Channel) 지원(탭 간의 실시간 통신을 위한 브라우저 API인 브로드캐스트 채널 API는 서버측 자바스크립트에 적합하다고 디노 개발팀은 전했다.) • ...

디노 디노 디플로이 데이터센터 웹 애플리케이션 자바스크립트 타입스크립트 런타임 엣지 웹어셈블리 서버측 자바스크립트 다중 테넌트 클라우드 구글 가상머신 AWS 람다 클라우드플레어 라이언 달

2021.06.28

‘디노 디플로이(Deno Deploy)’를 사용하면 전 세계 25개 데이터센터에 디노 기반 웹 애플리케이션을 배포할 수 있다.  디노 자바스크립트/타입스크립트 런타임 개발팀이 ‘디노 디플로이’를 통해 엣지에서 자바스크립트, 타입스트립트, 웹어셈블리를 실행하는 글로벌 분산형 가상머신(VM) 서비스를 제공한다. 목표는 디노 디플로이가 최신 서버측 자바스크립트를 호스팅할 수 있는 최적의 장소가 되는 것이다.    지난 6월 23일(현지 시각) 디노 디플로이가 첫 번째 베타 버전(Beta 1)으로 출시됐다. GA 버전은 2021년 4분기 공개될 예정이다.  대만, 몬트리올, 로스앤젤레스, 런던 등 전 세계 25개 데이터센터에서 실행되는 다중 테넌트 자바스크립트 엔진 ‘디노 디플로이’는 클라우드 인프라를 구글 V8 가상머신과 통합, 개발자가 로컬에서 개발하고 전 세계로 배포할 수 있도록 지원한다.  디노 CLI(Deno CLI)와 동일한 시스템에 구축된 디노 디플로이의 첫 번째 베타는 깃허브를 통해 무료로 사용할 수 있다. 디노 개발팀은 지난 8개월 동안 오픈소스 디노 CLI로 워크플로우를 보완하기 위해 호스팅 서비스를 설계해왔다고 밝혔다.  개발팀에 따르면 디노 디플로이는 AWS 람다(AWS Lamda)에서 실행되지 않으며 클라우드플레어 워커(Cloudflare Workers)를 사용하지도 않는 독특한 디자인의 새로운 시스템이다. 따라서 대략적인 초기 UI를 살펴보고 이 새로운 자바스크립트 런타임을 탐색하라고 디노 개발팀은 권고했다. 디노 디플로이에서 제공하는 기능은 다음과 같다. • URL을 통한 코드 배포 • 타입스크립트, JSX, ES 모듈 및 원격 HTTPS 가져오기 즉시 지원 • 실시간 통신을 위한 브로드캐스트 채널(Broadcast Channel) 지원(탭 간의 실시간 통신을 위한 브라우저 API인 브로드캐스트 채널 API는 서버측 자바스크립트에 적합하다고 디노 개발팀은 전했다.) • ...

2021.06.28

‘강력하고 방대한’ 파이썬 웹 프레임워크 5종

웹 사이트 또는 서비스를 위한 백엔드를 구축해보면 처음에는 대단해 보이지 않는 것도 곧 결코 그렇지 않다는 사실을 알게 된다. ‘단순한’ 사이트도 복잡한 실타래처럼 보인다. 사용자 관리, 데이터 디자인, 서식 제출, 보안 등 이 모든 것을 수동으로 구현하는 것은 지루하고 힘든 작업이다. 특히 대형 웹 프로젝트의 경우 온갖 요소를 내장한 프레임워크로 전향하는 것이 최선이다. 탄탄한 웹 애플리케이션 등을 구축하기 위해 필요한 모든 것이 갖춰진 파이썬용 웹 프레임워크 5종에 관해 살펴본다.   큐빅웹(CubicWeb) 큐빅웹은 ‘재사용 및 객체 지향적 디자인에 유리한 의미론적(semantic) 웹 애플리케이션’이라 불린다. 릭 그레한이 2011년에 인포월드에서 이것을 리뷰했을 때 말했던 것처럼, 이는 ‘큐브’라 불리는 재사용 가능한 코드 블록과 앱스트랙션(abstractions )의 사용을 강조하는 매우 흥미로운 시스템이다. 사실, 큐빅웹은 개발자에 따라 너무 추상적이거나 특이할 수 있으며, 개발 속도와 기능이 다른 프레임워크보다 뒤쳐진다. 큐브는 스키마(Schema, 데이터 모델), 실체(Entity, 프로그래밍 로직), 뷰(View)가 특징인 소프트웨어 구성요소이다. 각각 작업을 수행하는 여러 개의 큐브를 조합함으로써 자신과 타인의 코드를 재사용하여 소프트웨어 애플리케이션을 구성할 수 있다. 큐빅웹은 모든 웹 앱이 사용하는 기본적인 스캐폴딩, 데이터 연결 및 저장을 위한 ‘저장소’, 기본적인 HTTP 요청/응답과 CRUD 동작을 위한 ‘웹 엔진’, 모델링 데이터를 위한 스키마를 제공한다. 이 모든 것이 파이썬 클래스 정의에 설명되어 있다. 큐빅웹 인스턴스를 설정하고 관리하려면 장고에 사용하는 것과 같은 명령줄 도구를 사용한다. 내장된 템플레이팅(Tamplating) 시스템을 통해 HTML 출력을 프로그램으로 생성할 수 있다. 또한 부트스트랩(Bootstrap) HTML 프레임워크 등의 웹 UI를 위한 도구를 제공하는 큐브도 사용할 수 있다....

파이썬 웹 프레임워크 큐빅웹 장고 웹투파이 웨피 조프 웹 애플리케이션

2021.01.13

웹 사이트 또는 서비스를 위한 백엔드를 구축해보면 처음에는 대단해 보이지 않는 것도 곧 결코 그렇지 않다는 사실을 알게 된다. ‘단순한’ 사이트도 복잡한 실타래처럼 보인다. 사용자 관리, 데이터 디자인, 서식 제출, 보안 등 이 모든 것을 수동으로 구현하는 것은 지루하고 힘든 작업이다. 특히 대형 웹 프로젝트의 경우 온갖 요소를 내장한 프레임워크로 전향하는 것이 최선이다. 탄탄한 웹 애플리케이션 등을 구축하기 위해 필요한 모든 것이 갖춰진 파이썬용 웹 프레임워크 5종에 관해 살펴본다.   큐빅웹(CubicWeb) 큐빅웹은 ‘재사용 및 객체 지향적 디자인에 유리한 의미론적(semantic) 웹 애플리케이션’이라 불린다. 릭 그레한이 2011년에 인포월드에서 이것을 리뷰했을 때 말했던 것처럼, 이는 ‘큐브’라 불리는 재사용 가능한 코드 블록과 앱스트랙션(abstractions )의 사용을 강조하는 매우 흥미로운 시스템이다. 사실, 큐빅웹은 개발자에 따라 너무 추상적이거나 특이할 수 있으며, 개발 속도와 기능이 다른 프레임워크보다 뒤쳐진다. 큐브는 스키마(Schema, 데이터 모델), 실체(Entity, 프로그래밍 로직), 뷰(View)가 특징인 소프트웨어 구성요소이다. 각각 작업을 수행하는 여러 개의 큐브를 조합함으로써 자신과 타인의 코드를 재사용하여 소프트웨어 애플리케이션을 구성할 수 있다. 큐빅웹은 모든 웹 앱이 사용하는 기본적인 스캐폴딩, 데이터 연결 및 저장을 위한 ‘저장소’, 기본적인 HTTP 요청/응답과 CRUD 동작을 위한 ‘웹 엔진’, 모델링 데이터를 위한 스키마를 제공한다. 이 모든 것이 파이썬 클래스 정의에 설명되어 있다. 큐빅웹 인스턴스를 설정하고 관리하려면 장고에 사용하는 것과 같은 명령줄 도구를 사용한다. 내장된 템플레이팅(Tamplating) 시스템을 통해 HTML 출력을 프로그램으로 생성할 수 있다. 또한 부트스트랩(Bootstrap) HTML 프레임워크 등의 웹 UI를 위한 도구를 제공하는 큐브도 사용할 수 있다....

2021.01.13

애저와 기트허브의 결합 ··· ‘애저 정적 웹앱’ 첫걸음  

마이크로소프트의 새 서비스가 애저(Azure)와 기트허브(GitHub)를 결합해 정적 웹 콘텐츠를 제공한다.  최근 가장 흥미로운 웹 개발 개념을 하나 꼽으라면 바로 ‘잼스택(Javascript, API, Markup Stack; Jamstack)’이라고 할 수 있다. 이는 웹 애플리케이션 플랫폼 넷틀리파이(Netlify)에 의해 널리 알려졌다.   구체적으로 살펴보자면 잼스틱은 자바스크립트, API, 마크업 스택을 사용하는 웹 애플리케이션 모델이다. 서버에서 생성된 동적 콘텐츠로는 전달되지 않는 정적 웹사이트를 전달할 수 있다. 즉 외부에서 구축돼 애저나 클라우드플레어(Cloudflare) 등의 콘텐츠 전송 네트워크(CDN)로 제공되는 효과적인 앱 전달 방식이라고 할 수 있다.  차세대 정적 웹 콘텐츠  잼스택을 사용하면 앱 서버나 노드.js 등에 의존할 필요가 없다. 표준 마크업 언어로 구성됐기 때문에 콘텐츠와 코드를 업데이트할 때 어디서나 구축하고 테스트한 후 서버로 푸시할 수 있다. 또 이 모델은 데브옵스(Devops) 기반 구축 프로세스와 잘 작동하며 기트허브와 같은 CI/CD 플랫폼과도 잘 호환된다.  잼스택은 흥미롭다. 페이지 코드는 정적이지만 콘텐츠는 그렇지 않다. 동적 콘텐츠는 다른 서비스에 느슨하게 결합된 API 연결과 함께 자바스크립트를 사용해 로컬로 렌더링된다. 예를 들어 정적 사이트가 전자상거래 매장을 호스팅한다고 가정해보자. 이때 RESTful 쿼리로 검색된 카탈로그 콘텐츠를 자바스크립트로 렌더링할 수 있다. API 호출을 제외하고 사이트와 백엔드 사이의 직접적인 연결이 없고 페이지 내의 코드가 오류를 감지해 사용자에게 알린다.  이렇게 잘 정의된 값의 API로 웹과 애플리케이션을 분리한다면 애플리케이션 및 웹 개발이 병렬로 진행될 수 있어 개발은 간소화되고 전달 속도는 빨라진다. 즉 느슨하게 결합된 모델은 클라우드 네이티브 애플리케이션에 프론트엔드를 추...

마이크로소프트 애저 클라우드 기트허브 정적 웹앱 프로그레시브 웹앱 잼스택 웹 애플리케이션 넷틀리파이 자바스크립트 API 마크업 스택 클라우드플레어 CDN 데브옵스 웹사이트 소프트웨어 개발 웹 개발 애저 펑션

2020.07.13

마이크로소프트의 새 서비스가 애저(Azure)와 기트허브(GitHub)를 결합해 정적 웹 콘텐츠를 제공한다.  최근 가장 흥미로운 웹 개발 개념을 하나 꼽으라면 바로 ‘잼스택(Javascript, API, Markup Stack; Jamstack)’이라고 할 수 있다. 이는 웹 애플리케이션 플랫폼 넷틀리파이(Netlify)에 의해 널리 알려졌다.   구체적으로 살펴보자면 잼스틱은 자바스크립트, API, 마크업 스택을 사용하는 웹 애플리케이션 모델이다. 서버에서 생성된 동적 콘텐츠로는 전달되지 않는 정적 웹사이트를 전달할 수 있다. 즉 외부에서 구축돼 애저나 클라우드플레어(Cloudflare) 등의 콘텐츠 전송 네트워크(CDN)로 제공되는 효과적인 앱 전달 방식이라고 할 수 있다.  차세대 정적 웹 콘텐츠  잼스택을 사용하면 앱 서버나 노드.js 등에 의존할 필요가 없다. 표준 마크업 언어로 구성됐기 때문에 콘텐츠와 코드를 업데이트할 때 어디서나 구축하고 테스트한 후 서버로 푸시할 수 있다. 또 이 모델은 데브옵스(Devops) 기반 구축 프로세스와 잘 작동하며 기트허브와 같은 CI/CD 플랫폼과도 잘 호환된다.  잼스택은 흥미롭다. 페이지 코드는 정적이지만 콘텐츠는 그렇지 않다. 동적 콘텐츠는 다른 서비스에 느슨하게 결합된 API 연결과 함께 자바스크립트를 사용해 로컬로 렌더링된다. 예를 들어 정적 사이트가 전자상거래 매장을 호스팅한다고 가정해보자. 이때 RESTful 쿼리로 검색된 카탈로그 콘텐츠를 자바스크립트로 렌더링할 수 있다. API 호출을 제외하고 사이트와 백엔드 사이의 직접적인 연결이 없고 페이지 내의 코드가 오류를 감지해 사용자에게 알린다.  이렇게 잘 정의된 값의 API로 웹과 애플리케이션을 분리한다면 애플리케이션 및 웹 개발이 병렬로 진행될 수 있어 개발은 간소화되고 전달 속도는 빨라진다. 즉 느슨하게 결합된 모델은 클라우드 네이티브 애플리케이션에 프론트엔드를 추...

2020.07.13

강은성의 보안 아키텍트 | 소프트웨어 보안과 보안 개발프로세스(1)

작년 9월에 휴대폰 장터로 잘 알려진 커뮤니티에서 195만여 명의 개인정보가 유출되는 사고가 발생했다. 미래부가 발표한 민ㆍ관합동조사단의 조사결과에 따르면 이 곳의 홈페이지에는 비정상적인 DB 질의에 대한 검증절차가 없어서 이를 통해 SQL 삽입 공격이 이뤄졌다고 한다. 방통위는 이 곳이 정보통신망법에서 규정한 개인정보 보호조치(제28조 제1항)를 위반했다는 이유로 과징금 1억 200만 원, 과태료 1,500만 원의 행정처분을 결정했다. SQL 삽입 취약점은 오래되었을 뿐 아니라 유명한 글로벌 프로젝트인 OWASP(Open Web Application Security Project) 10에서도 2010년과 2013년 연속 1위를 차지할 정도로 잘 알려졌음에도 불구하고 이로 인한 사고가 끊이지 않은 것이 우리의 보안 현실이다. (OWASP 10은 2004년, 2007년, 2010년, 2013년에 진행됐다.) 웹 애플리케이션은 불특정 다수의 이용자가 서비스를 이용하는 공간이기 때문에 공인 IP로 인터넷에 공개된 서버에서 작동한다. 이용자와의 접점(인터페이스)인 동시에 범행자들의 보안 공격의 통로이기도 하다는 말이다. 따라서 웹 애플리케이션은 이용자에게 필요한 기능, 사용 편의성, 적절한 성능을 제공할 뿐 아니라 경계선에 있는 제1차 방어 기제로서 보안 공격에 최소한의 방어를 할 수 있어야 한다. 그래야 서비스 제공자가 이용자에게 온전한 서비스를 제공할 수 있다. 따라서 개발조직의 개발 목표에 기능, 편의성, 성능뿐 아니라 보안이 들어가야 한다. SQL 삽입 공격에 대해서도 그에 대한 취약점이 없도록 웹 서비스를 개발하는 것이 가장 좋은 방어책이다. 웹 애플리케이션뿐 아니라 일반 소프트웨어에도 방어 기제로서의 성격이 있다. 많은 소프트웨어들이 이용자와 직접적인 접점을 갖거나 다른 소프트웨어 모듈을 통해 간접적으로 연결되어 있기 때문이다. 메신저 같이 PC나 스마트폰에서 작동하는 애플리케이션도 이용자에게 서비스를 제공하는 동시에 이용자 정보...

CSO 보안 소프트웨어 개발 생명주기 Open Web Application Security Project 크라이슬러 웹 애플리케이션 오작동 보안 아키텍트 OWASP 강은성 소프트웨어 개발 취약점 CISO 리콜 테스팅 자동차 해킹 SSDL

2016.01.22

작년 9월에 휴대폰 장터로 잘 알려진 커뮤니티에서 195만여 명의 개인정보가 유출되는 사고가 발생했다. 미래부가 발표한 민ㆍ관합동조사단의 조사결과에 따르면 이 곳의 홈페이지에는 비정상적인 DB 질의에 대한 검증절차가 없어서 이를 통해 SQL 삽입 공격이 이뤄졌다고 한다. 방통위는 이 곳이 정보통신망법에서 규정한 개인정보 보호조치(제28조 제1항)를 위반했다는 이유로 과징금 1억 200만 원, 과태료 1,500만 원의 행정처분을 결정했다. SQL 삽입 취약점은 오래되었을 뿐 아니라 유명한 글로벌 프로젝트인 OWASP(Open Web Application Security Project) 10에서도 2010년과 2013년 연속 1위를 차지할 정도로 잘 알려졌음에도 불구하고 이로 인한 사고가 끊이지 않은 것이 우리의 보안 현실이다. (OWASP 10은 2004년, 2007년, 2010년, 2013년에 진행됐다.) 웹 애플리케이션은 불특정 다수의 이용자가 서비스를 이용하는 공간이기 때문에 공인 IP로 인터넷에 공개된 서버에서 작동한다. 이용자와의 접점(인터페이스)인 동시에 범행자들의 보안 공격의 통로이기도 하다는 말이다. 따라서 웹 애플리케이션은 이용자에게 필요한 기능, 사용 편의성, 적절한 성능을 제공할 뿐 아니라 경계선에 있는 제1차 방어 기제로서 보안 공격에 최소한의 방어를 할 수 있어야 한다. 그래야 서비스 제공자가 이용자에게 온전한 서비스를 제공할 수 있다. 따라서 개발조직의 개발 목표에 기능, 편의성, 성능뿐 아니라 보안이 들어가야 한다. SQL 삽입 공격에 대해서도 그에 대한 취약점이 없도록 웹 서비스를 개발하는 것이 가장 좋은 방어책이다. 웹 애플리케이션뿐 아니라 일반 소프트웨어에도 방어 기제로서의 성격이 있다. 많은 소프트웨어들이 이용자와 직접적인 접점을 갖거나 다른 소프트웨어 모듈을 통해 간접적으로 연결되어 있기 때문이다. 메신저 같이 PC나 스마트폰에서 작동하는 애플리케이션도 이용자에게 서비스를 제공하는 동시에 이용자 정보...

2016.01.22

'웹 애플리케이션이 해킹됐을 때' 5가지 징후와 대응 방안

웹 사이트 변조, 데이터베이스에서 발견된 이상한 정보, 미심쩍은 파일 등 웹 애플리케이션이 해킹됐을 때 나타나는 몇 가지 징후들이 있다. 이 징후들에 대해 알아보자. 이미지 출처 : Thinkstock 웹 애플리케이션으로 소비자가 기업을 처음으로 접하는 경우가 많다. 때문에 웹 애플리케이션은 그 기업의 얼굴이다. 하지만 이 앱은 외부에 공개돼 있기 때문에 취약점이 되기도 한다. 대부분의 웹 애플리케이션 공격은 은밀해서 포착하기 어렵다. 버라이즌의 2015년 데이터 침해 사고 보고서(Data Breach Investigations Report)에 따르면, 해커들은 네트워크에 침입한 후 평균 205일 동안 숨어 있는다. 그리고 바로 이 부분이 문제다. 법 집행 기관이나 화가 난 고객에게 연락을 받고 나서야, 누군가 기업 네트워크 환경을 침해했다는 사실을 알아채기 때문이다. 그렇다면 웹 애플리케이션이 해킹 당했는지 알 수 있는 방법이 있을까? 인포메이션 시큐리티 포럼(Information Security Forum)의 매니징 디렉터 스티브 더빈은 "웹 애플리케이션이 해킹 당하면 이상 행동이 감지되기 시작한다"고 밝혔다. 따라서 애플리케이션의 정상 행동이 뭔지 철저히 파악한 후, 이상 행동에 주의를 기울이는 것이 아주 중요하다. 다음은 애플리케이션이 감염됐음을 알려주는 5가지 징후다. 여기에 웹 애플리케이션 보안에서 '일반 상식'이나 다름 없는 조언 몇 가지를 덧붙였다. 징후 1: 애플리케이션이 해야 할 일을 하지 않는다 애플리케이션에 의심스러운 일이 발생했는지 알아채는 가장 좋은 방법 중 하나는 모니터링이다. 예를 들어, 데이터베이스에서 결과를 가져오는데 과거보다 더 많은 시간이 걸리는 현상이 발생할 수 있다. 예기치 않은 때 페이지를 표시하고, 사용자를 다른 페이지로 인도하는 현상도 있다. 또 트래픽을 폭증시킬 마케팅 활동이 없었음에도 트래픽이 증가한다. 하루 평균 주문량이 50건인 작은 ...

데이터베이스 웹 애플리케이션 로그 감염 징후 디도스 대응 예방 공격 웹사이트 트래픽 해커 해킹 변조

2015.11.04

웹 사이트 변조, 데이터베이스에서 발견된 이상한 정보, 미심쩍은 파일 등 웹 애플리케이션이 해킹됐을 때 나타나는 몇 가지 징후들이 있다. 이 징후들에 대해 알아보자. 이미지 출처 : Thinkstock 웹 애플리케이션으로 소비자가 기업을 처음으로 접하는 경우가 많다. 때문에 웹 애플리케이션은 그 기업의 얼굴이다. 하지만 이 앱은 외부에 공개돼 있기 때문에 취약점이 되기도 한다. 대부분의 웹 애플리케이션 공격은 은밀해서 포착하기 어렵다. 버라이즌의 2015년 데이터 침해 사고 보고서(Data Breach Investigations Report)에 따르면, 해커들은 네트워크에 침입한 후 평균 205일 동안 숨어 있는다. 그리고 바로 이 부분이 문제다. 법 집행 기관이나 화가 난 고객에게 연락을 받고 나서야, 누군가 기업 네트워크 환경을 침해했다는 사실을 알아채기 때문이다. 그렇다면 웹 애플리케이션이 해킹 당했는지 알 수 있는 방법이 있을까? 인포메이션 시큐리티 포럼(Information Security Forum)의 매니징 디렉터 스티브 더빈은 "웹 애플리케이션이 해킹 당하면 이상 행동이 감지되기 시작한다"고 밝혔다. 따라서 애플리케이션의 정상 행동이 뭔지 철저히 파악한 후, 이상 행동에 주의를 기울이는 것이 아주 중요하다. 다음은 애플리케이션이 감염됐음을 알려주는 5가지 징후다. 여기에 웹 애플리케이션 보안에서 '일반 상식'이나 다름 없는 조언 몇 가지를 덧붙였다. 징후 1: 애플리케이션이 해야 할 일을 하지 않는다 애플리케이션에 의심스러운 일이 발생했는지 알아채는 가장 좋은 방법 중 하나는 모니터링이다. 예를 들어, 데이터베이스에서 결과를 가져오는데 과거보다 더 많은 시간이 걸리는 현상이 발생할 수 있다. 예기치 않은 때 페이지를 표시하고, 사용자를 다른 페이지로 인도하는 현상도 있다. 또 트래픽을 폭증시킬 마케팅 활동이 없었음에도 트래픽이 증가한다. 하루 평균 주문량이 50건인 작은 ...

2015.11.04

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