CyberImagination BLOG 222

모놀리틱 시스템에서 MSA로 전환

SW산업은 그 어느 산업보다 빠른 속도로 변하고 있다고 느낄지 모르겠지만, Software 개발자로서 IT밒 소프트웨어 개발 트랜드를 면면히 살펴 본다면 사실 하나 하나 계단을 밟아가는 듯이 점진적으로 발전을 해왔다 . 그 동안 계속 필자가 다루고 있는 Micro Service Architecture(이하 MSA)도 지금 개발 패러다임에서 급진적으로 보일지 모르겠지만, 그 동안으로 개발역사를 살펴 본다면 하나씩 하나씩 점진적으로 발전되어 나온 하나의 결과물이다 MSA는 기본 사상은 Service Oriented Architecture (SOA) 사상에서 출발하여 발전 하고 있다. SOA도 기존에 있었던, 1990년대 CORBA( Common Object Request Broker Architecture)..

프론트엔드 2015.12.12

[웹포넌트 그리드] 일반 HTML 테이블의 한계를 뛰어넘는 데이터 그리드!

[웹포넌트 그리드] 일반 HTML 테이블의 한계를 뛰어넘는 데이터 그리드! Q1. 데이터 그리드는 왜 사용할까요? 데이터를 표현하기 위해서 일반 HTML 테이블을 쓰는 것은 보편적인 관행이었습니다. 데이터에 레코드가 많지 않거나 데이터를 사용자가 조작하게 하고 싶지 않는 한 일반적인 테이블을 사용해도 전혀 문제가 없습니다. 그러나 테이블에 수 백 건의 레코드를 사용하는 웹 애플리케이션을 구축할 때라면, 일반 HTML 테이블로 데이터를 표현하는 데에 아주 큰 사용상 결함을 겪게 될 것입니다. 예를 들어, 일반 테이블로 1000건의 데이터를 표현한다고 가정해보겠습니다. 하나의 로우()당 30px 이라고 한다면, 제목(thead)영역까지 포함하여 테이블의 길이는 30,030px이 될 것입니다. 24인치 모니터..

HTML5 로 데스크탑 어플리케이션 만들기 2

HTML5 로 데스크탑 어플리케이션 만들기2 안녕하세요. CX 사업본부 MD 왓썹입니다.지난 포스팅에서 HTML 데스크탑 어플리케이션에 대해 알아보았는데요. 이번 포스팅에서는 node-webkit 을 이용하여 데스크탑 어플리케이션을 직접 만들어 보도록 하겠습니다. 1. 설치NodeJS - https://nodejs.orgnode-webkit 은 NodeJS 를 기반으로 하기 때문에 기본적으로 NodeJS 가 설치되어 있어야 합니다.NodeJS 는 위에 링크된 공식 홈페이지에서 각자의 OS 에 맞는 인스톨러를 다운로드 하여 설치하실 수 있습니다. NodeJS 설치가 완료 되었다면 node-webkit 을 설치하셔야 하는데요. OS (Window, Linux, Mac) 별로 설치법이 다소 차이가 있기 때문에..

프론트엔드 2015.12.04

PDF에 대하여

최근 PDF문서를 생성하는 모듈을 개발하고 유지보수하는 작업이 업무의 큰 부분을 차지하게 되면서, PDF문서와 씨름하는 시간과 빈도가 많아졌다. 현재 webPonent Grid 제품도 기본 기능으로 PDF출력을 제공하고 있는데, 정작 PDF 문서 포맷이 어떤 역사를 가지고 있는지는 모르는게 많았다. 이에 따라 PDF의 배경에 대해 알아보게 되었고 그 내용을 이번 포스팅에서 공유해 보도록 하겠다. PDF의 시작, The Camelot Project PDF 문서포맷은 1991년 Adobe의 공동설립자인 John Warnock의 'The Camelot Project'로부터 시작되었다. 'The Camelot Project'에 대해 설명한 문서에서는 프로젝트의 목적을 당시 기업들이 직면한 서로 다른 시스템과 어..

유용한 정보 2015.11.30

TypeScript를 이용하여 javascript를 객체지향 언어처럼 사용해보자

TypeScript란?TypeScript는 대형 자바스크립트 애플리케이션에 적합한 대안 언어이다. TypeScript를 활용하여 개발하여도 기존의 소프트웨어 컴포넌트와 자바스크립트 라이브러리의 동작 방식과는 충돌하지 않는다. 또한, 동적인 모듈 로딩을 지원하여 네이밍 충돌 문제를 줄일 수 있게 해주며, 추가된 타입 체계를 바탕으로 생산성을 높여주는 여러가지 툴과 사례(정적 타이핑, 심볼 기반 네비게이션, 구문 완성, 코드 리펙토링 등)를 활용할 수 있다.TypeScript는 ES5 (ECMAScript 5) 문법의 상위 집합(Super Set)이다. 모든 자바스크립트 프로그램은 TypeScript 프로그램이기도 하다. TypeScript 컴파일러는 TypeScript 문법을 자바스크립트 문법으로 변환시켜..

프론트엔드 2015.11.19

설날에 듣기 싫은 잔소리 - 학생&직장인

설날 듣기 싫은 말 순위 출처 : JTBC 김제동의 톡투유 JTBC 김제동의 톡투유에 잔소리에 대한 설문조사를 결과와 대처법이 공개가 되었죠. 물론 좀 됐습니다만.. 곧 돌아오기도 하고.. 저 VUD는 명절 뿐만 아니라 평상시에도 오랫만에 만난 분들에게 공격을 당하고 있답니다. 네이버 TV 캐스트 NO 키워드 1 결혼 2 돈 3 청소 4 학생 5 버릇 NO 키워드 1 결혼 2 시댁 3 용돈 4 미혼 5 취업준비 명절이 들어가는 순간 잔소리의 순위가 변경되어버립니다. 그래서 준비했다는 명절때 듣기 싫은 말 순위 설문조사입니다. └ 설날 듣기 싫은 말 순위 - 학생편 웹포넌트, PIE 활용 웹포넌트 보러가기 └ 설날 듣기 싫..

유용한 정보 2015.11.04

Microsoft tech days 2015 Korea 방문기

요즘 날씨가 제법 쌀쌀해졌습니다. 겨울을 재촉하는 가을비가 오기도 하고 말이죠. 촉촉한 비가 내리던 이번주 화요일 세종대학교에서 개발자들의 흥미를 마구 끌어당길 행사가 열렸습니다. 바로 한국 마이크로소프트사에서 주최한 tech days 2015 입니다. 이 행사가 열린다는 소식을 듣고 사전등록 사이트를 들어가보니, 흥미진진한 제목들으로 session들로 가득 차있었습니다. 특히 '70분에 보여준다. 웹표준을 지원하는 Edge 브라우저부터 웹 앱 개발까지'와 'JavaScript에게 형(Type)이 생겼어요. TypeScript'라는 제목의 세션 내용이 궁금해져서, 가기로 마음먹었더랬죠. 다녀온 후기를 어떻게 정리할까 고민했는데, 시간순서의 나열보다는 인상깊었던 점을 주제별로 소개를 해볼까 합니다. 혹시나..

유용한 정보 2015.10.30

도메인 주도 설계 (Domain-Driven Design) 개요

Software란 궁극적으로 사용자의 현실적인 문제를 해결하는데 그 본질을 두고 있다. 따라서 현실의 문제를 잘 파악하고 그 문제 해결이 code로서 잘 구현된다면 가장 이상적이 소프트웨어라고 할 수 있겠다. 하지만 일반적인 현실문제 즉 도메인에 관련된 문제를 잘 아는 사람과, 그것을 실제 코드로 구현하는 사람이 분리되어 일하는 경우가 대부분이고, 이러한 경우 서로 의사소통하기 매우 어려운 현실적인 문제점이 존재한다. 우리가 일반적으로 부르는 현업, 업무전문가, 도메인 전문가가 사용하는 언어 및 사고 방식과, 이를 구현하는 개발자사이의 간극이 큰 것이 사실이며, 이러한 문제점을 해결하기 위한 다양한 방법론이 제시되었다. 제조 (manufacturing) 는 소프트웨어 개발에 대한 메타포로 자주 사용되곤 ..

프론트엔드 2015.10.29

HTML5 로 데스크탑 어플리케이션 만들기!

HTML5 로 데스크탑 어플리케이션 만들기! 안녕하세요. CX 사업본부 MD 왓썹입니다. 이번 포스팅에서는 HTML5 로 데스크탑 어플리케이션을 만드는 방법을 알아보도록 하겠습니다. 어플리케이션은 music player 나 채팅 프로그램 등과 같이 어떤 종류의 작업을 돕기 위해 설계된 프로그램으로 응용 프로그램이라고도 합니다.따라서 데스크탑 어플리케이션은 windows 나 맥, 리눅스와 같은 os 에 설치된 응용 프로그램을 말하는데요. 지금까지 데스크탑 어플리케이션을 만들기 위해 윈도우에서는 C++ 을, 맥에서는 Object C 를 이용해 만들어왔기 때문에 웹개발자의 입장에서는 거리가 먼 존재라는 인식을 가지고 있었죠. 하지만 이제는 C++ 이나 Object C 에 대해 잘 모른다 할지라도 HTML과 C..

프론트엔드 2015.10.26

Java에서 함수형 프로그래밍 사용해보기 - [1 : 함수형프로그래밍?]

안녕하세요. CX사업본부 MD태태입니다.JDK8이 릴리즈된지는 이제 꽤 오래되었지만, 바쁘다는 핑계로 적용해 보지 못하다가 최근 새로운 프로젝트에서 JDK8을 적용하게 되었습니다. 그러면서 자연히 Java 8이 제공하는 새로운 인터페이스들과 기능들을 살펴보게 되었습니다. Java8이 릴리즈 되면서 가장 큰 변화는 역시 Lambda식에 관한 것 일텐데요, Lambda식은 객체지향언어인 Java에 함수형 프로그래밍의 개념을 대입하기위한 인터페이스입니다. 저도 이미 오래전부터 함수형 프로그래밍이라는 말은 많이 들어보았지만 실제로 관심을 가지고 내용을 살펴보거나 사용해보지는 못하고 있었지요. 그래서 이번기회를 통하여 함수형프로그래밍의 개념과 장점, 단점을 알아보고 실제로 적용해보기로 했습니다. 그러한 과정에서 ..

백엔드 2015.10.26