IT이야기/입코딩2017. 7. 11. 10:25

-[IT용어]스프링부트(Spring Boot)


요 몇년전부터 스프링 프레임워크가 아니라 스프링 부트라는 이름을 어디선가 들어봤었습니다.

그래서 무언가 찾아보니 스프링 프레임워크에 잡다하게 xml 설정하고, 세팅할 필요없이 손쉽게 만들수 있다고 하더군요. 인터넷에 예제를 보거나 Github에 보면 스프링 부트로 만든 게시판이나 블로그 소스들 예제를 볼수 있습니다.

설정을 최소하 하여 pom.xml, web.xml 수정하고 왜 안되는지 구글링해보고 하던 시간을 상당히 단축시킬수 있다는 이야기군요.



Spring Tool Suite에서 발췌하였습니다.

링크


영어 능력이 별로 안되다 보니, 긁어서 구글번역을 돌리고 몇몇 말이 안되는 부분만 수정했습니다.



제작 준비가 된 Spring 애플리케이션을 구축하는 것에 대한 의견이 많습니다. 

Spring Boot는 컨벤션보다 컨벤션을 선호하며, 가능한 한 빨리 당신을 기동시키고 실행할 수 있도록 고안되었습니다.

Spring Boot를 사용하면 "바로 실행"할 수있는 독립 실행 형, 프로덕션 급 Spring 기반 응용 프로그램을 쉽게 만들 수 있습니다. 우리는 Spring 플랫폼 및 써드 파티 라이브러리에 대한 의견이 많으므로 최소한의 소동으로 시작할 수 있습니다. 대부분의 Spring Boot 응용 프로그램은 Spring 구성이 거의 필요하지 않습니다.


Features

독립 실행 형 Spring 애플리케이션 작성

Tomcat, Jetty 또는 Undertow를 직접 임베드 (WAR 파일을 배치 할 필요 없음)

의견이 분명한 '스타터'POM을 제공하여 Maven 구성을 간소화하십시오.

가능한 경우 자동으로 Spring 설정

메트릭, 상태 확인 및 외부 구성과 같은 프로덕션 기능을 제공합니다.

XML 생성을위한 절대 코드 생성 및 요구 사항 없음

참조 가이드에는 모든 기능에 대한 자세한 설명과 일반적인 사용 사례를위한 광범위한 하우투가 포함되어 있습니다.


Quick Start

자바 개발자 인 경우 start.spring.io를 사용하여 기본 프로젝트를 생성하거나 아래 "빠른 시작"예제를 따르거나 참조 설명서 시작 안내서를 읽으십시오.

프로젝트에서 spring-boot를 사용하기 시작하는 데 권장되는 방법은 종속성 관리 시스템을 사용하는 것입니다. 

아래의 스 니펫을 복사하여 빌드에 붙여 넣을 수 있습니다. 

도움이 필요하다? Maven 및 Gradle을 사용하여 빌드하는 방법에 대한 시작 안내서를 참조하십시오.


<parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>1.5.4.RELEASE</version>

</parent>

<dependencies>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

</dependencies>


스프링 부트 CLI

스프링 부트는 스프링으로 신속하게 프로토 타입을 작성하려는 경우 사용할 수있는 명령 행 도구와 함께 제공됩니다. 

Groovy 스크립트를 실행할 수 있습니다. 

즉, 코드가 너무 많이 작성되지 않아도 익숙한 Java와 유사한 구문을 사용할 수 있습니다. 

Spring Boot CLI를 설치하려면 주요 문서의 지침을 따르십시오.


저 사이트에 들어가보면 레퍼런스들도 제공되고 있네요.



스프링 부트에 관한 설명입니다.


이클립스에 STS를 설치하거나, STS용으로 나온 이클립스를 받아서, Spring Starter Project를 실행해서 만들면 됩니다.

이렇게 편하고 좋은 방법들이 나오는데, 저는 익숙하지 않다고 안쓰고 있었네요.




Posted by Joseph514
IT이야기/입코딩2017. 7. 7. 13:47

-[IT용어]전자정부 표준프레임워크


간혹, 속칭 보도방이라 불리는 인력업체에서는, 어디서 주워 들었는지. 전자정부프레임워크 할줄 아느냐 라고 물어보는 경우가 있습니다.

요즘은 스프링 안쓴다고, 전자정부프레임워크 쓴다고. 마치 제가 시대에 뒤떨어져 있는 사람인양 이야기 하는데 막상 털어보면 스프링과 큰 차이는 없습니다.

스프링 기반에, 플랫폼을 표준화해서 만든 프레임워크입니다.



전자정부 표준프레임워크는 대한민국의 공공부문 정보화 사업 시 플랫폼별 표준화된 개발 프레임워크를 말합니다.

JAVA 언어는 사설 표준으로 우후죽순으로 업체의 자체 프레임워크를 개발하여 적용되다 보니 각 개발프레임워크의 구조 및 수준의 차이에 의하여 여러 가지 문제점이 발생할 수 있습니다.

현재 배포되고 있는 프레임워크는 과거 JAVA 플랫폼 기반의 정보화 구축 사업 시 수행업체의 자체 개발프레임워크를 사용하여 정보시스템이 구축되어 유지보수 등 여러 가지 문제점이 있어, 2008년에 스프링 프레임워크 등의 오픈소스를 기반으로 웹 사이트 개발 시 필요한 여러 가지 기능들을 미리 구현해 놓았으며 최근에는 모바일 개발을 위한 프레임워크도 출시되었습니다.


전자정부 프레임워크 홈페이지


-역사

2009년 대한민국 안전행정부에서 국내 공공부문 국가정보화사업(전자정부) JAVA 플랫폼 기반의 추진 시에 개발 프레임워크의 표준 정립으로 응용 소프트웨어의 표준화, 품질 및 재사용성을 향상을 목표로 하며 특정 업체의 종속성 심화와 사업별 공통 컴포넌트 중복 개발을 막기 위해 개발하여 아파치 라이선스 2.0으로 배포하고 있습니다.

2007년 12월에서 2008년 6월까지 정보화 전략계획(ISP)을 수립하였고 2008년 11월부터 2009년 11월까지 1, 2단계 구축사업을 추진하여 대기업(삼성 SDS, LG CNS, SK C&C) 및 중소기업(티맥스소프트 등 6개)이 공동으로 JAVA 플랫폼 기반의 표준프레임워크 실행/개발/관리환경 및 공통 컴포넌트 172종을 개발하여 1.0 버전을 발표하였습니다.

그 후 2010년 4월부터 11월까지 3단계 구축사업을 통해 공통 컴포넌트 47종을 구축하고 CMMI 인증을 획득하였으며 2011년 4월부터 11월까지 4단계 구축사업을 통해 오픈소스의 버전 업그레이드, 경량화, 모바일 프레임워크 등을 구축하고 2.0 버전을 발표하였으며 배치 프레임워크를 포함한 2012년 5단계 구축사업이 완료되었다. 2015년 6월 표준프레임워크 버전 3.5가 배포되었습니다.


-특징

개방형 표준 준수 : 오픈소스 기반의 범용화되고 공개된 기술의 활용으로 특정 사업자에 대한 종속성 배제

상용 솔루션 연계 : 상용 솔루션과 연계가 가능한 표준을 제시하여 상호운용성 보장

표준화 지향 : 민, 관, 학계로 구성된 자문협의회를 통해 표준화 수행

변화 유연성 : 각 서비스의 모듈화로 교체가 용이하며 인터페이스 기반 연동으로 모듈간 변경 영향 최소화

편리하고 다양한 환경 제공 : 이클립스 기반의 모델링(UML, ERD), 에디팅, 컴파일링, 디버깅 환경 제공


기본적으로 사용되는 게시판 등의 기능이 예제로 다 정의되어 있습니다.


-출처 위키피디아



잠자리 채널이라는 유튜브 방송으로 강좌를 보았는데, 엄청 쉽게 잘 설명해 주시더군요.

확실히 세팅하고, 예제 파일 뜯어보느라 할애할 시간에 좀 더 개발에 집중할 수 있게 도와줍니다.

Posted by Joseph514
IT이야기/입코딩2017. 5. 7. 15:22

-부트스트랩 프레임워크(Bootstrap Framework)에 대해서 알아보겠습니다.

요즘 웹에서 유행하고 있는 부트스트랩 프레임워크에 대해서 한번 알아보겠습니다. 

일단 부트스트랩 프레임워크는 트위터에서 시작된 HTML5 기반의 오픈 소스 웹 디자인 프레임워크입니다. 

시작은 디자이너 하나와 트위터의 한 개발자였지만 지금은 트위터에서 주도적으로 개발하고 있지는 않다고 합니다.

일단 부트스트랩의 장점들을 한번 알아보겠습니다.

트위터에서 사용하는 각종 레이아웃, 버튼, 입력창 등의 디자인을 CSS와 JavaScript로 만들어 놓은 것이라고합니다. 

웹 디자이너나 개발자 사이에서는 웹 디자인의 혁명이라고 불릴 정도로 폭발적인 반응을 얻는 프레임워크입니다.

그 이유는, 글자, 인용문, 목록, 표, 입력폼, 버튼, 이미지, 아이콘 등의 자잘한 것 뿐만이 아니라, 드롭다운 메뉴, 버튼, 탭, 리스트, 메뉴바, 페이지 이동 바, 알림 메시지, 썸네일, 진행 바 등의 웹 페이지에서 많이 쓰이는 요소를 거의 전부 내장하고 있기 때문입니다. 이 때문에 웬만한 웹 페이지는 부트스트랩의 CSS와 JavaScript, 관련 이미지만 설치하고 미리 지정된 CSS 클래스나 JavaScript 함수만 불러오면 트위터에서 쓰는 것과 엇비슷한 디자인이 뚝딱 만들어집니다. 거기다 PC용 디자인 뿐만 아니라 태블릿이나 스마트폰 같은 모바일용 디자인도 지원합니다. 

이 때문에 디자인을 할 시간이 크게 줄어들고, 여러 웹 브라우저를 지원하기 위한 크로스 브라우징에 골머리를 썩일 필요가 없습니다. 

크로스 브라우징을 위한 각종 핵도 들어 있기 때문이라고 합니다. 거기다 웹 브라우저 크기에 따라 자동으로 정렬되는 "그리드 시스템"을 채용하고 있기 때문에 하나의 웹 페이지를 데스크탑, 태블릿, 스마트폰 모두에서 무리없이 보게 만들 수 있습니다. 즉 반응형 웹 디자인을 지원한다는 의미입니다.

다들 아시겠지만 반응형 웹이란 웹 디자인 기법 중 하나로 웹(Web)에 접속하는 디바이스에 반응하는(Responsive) 디자인(Design)을 말합니다. 모바일 페이지를 따로 만들필요없이, 웹페이지 하나로 다 나온다는 이야기군요.

거기다 이게 오픈소스입니다. GPL은 아니고 MIT 허가서를 사용하는데, 재배포 면에서는 GPL보다 휠씬 자유로운 라이선스입니다. 

단 같이 들어 있는 아이콘은 CCL BY 3.0을 사용하므로 출처를 밝혀야 한다고 합니다. 소스까지 오픈되어있다 보니 여기서 파생된 프로젝트만 해도 수백 개를 넘어가더군요.

그렇다면 부트스트랩의 단점들은 어떤것이 있는지 알아보겠습니다.

단점은 디자인이 정형화 되어 있다 보니 비슷한 디자인의 페이지가 양산될 수 있다는 것입니다. 대게 부트스트랩으로 만든 사이트들은 모양이 고만고만합니다. 그러나 이건 오픈소스의 힘으로 극복이 가능하다고 합니다. 오픈소스이다 보니 사용자가 커스터마이징 하는 것도 자유롭고, 이 커스터마이징 한 것을 재배포해도 됩니다. 심지어는 상업적으로 판매하는 것도 허용한다고 합니다. 

하지만 우리나라에서는 심플한 디자인보다는 이미지를 많이 쓰는 화려한 디자인을 선호하는지라 부트스트랩으로 만드려면 소스를 처음부터 뜯어 고치다시피 코딩을 해야하다보니 인기가 없다고 합니다. 이것 이외에는 HTML5에 맞춰져 있다 보니 구형 브라우저 지원이 미흡하다고 합니다. 이 때문에 HTML5가 제대로 지원되지 않는 IE7,8의 경우에는 강제로 HTML5를 인식시키는 JavaScript 코드가 필요하고, 가뜩이나 JavaScript 해석이 느린 IE 구버전을 더 느려지게 하는 주범이 됩니다. 결국 이 때문인지 3.0에서는 IE8부터 정식 지원합니다.

부트스트랩이 적용된 사이트로는 나무위키, 리그베다위키, 리브레 위키, 티비플, 위키닷, XpressEngine 공식홈페이지 등이 있다고 합니다.

디자인에 크게 신경쓰지 않고 사이트를 뚝딱만들수 있어서 참 유용했는데, 웹디자인 프레임워크 치고는 좀 불편하다는 이야기도 있더군요.


출처 : 나무위키, 본인생각

Posted by Joseph514