피보탈(Pivotal) 엔지니어이면서, 스프링부트 책을 작성한 마키 토시아키(槇俊明, Toshiaki Maki)씨가 발표한 스프링 프레이워크와 스프링 부트 슬라이드 입니다.


#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach


아래는 "What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach" 슬라이드를 공개한 트윗 링크입니다.



마키 토시아키(槇俊明, Toshiaki Maki)씨가 작성한 스프링부트 책의 한국어 번역판 소개

가장 빨리 만나는 스프링부트
국내도서
저자 : 마키 토시아키 / 김범준역
출판 : 길벗 2015.07.02
상세보기


위의 "가장 빨리 만나는 스프링부트"책의 원본 표지입니다.



ps. 마키 토시아키(槇俊明, Toshiaki Maki)씨의 트윗을 보니 조만간에 위의 책의 개정판을 Spring Boot 1.4 기준으로 내놓는다는군요


Buy me a coffeeBuy me a coffee

관련링크

Project Sagan: open-sourcing spring.io - https://spring.io/blog/2014/03/27/project-sagan-open-sourcing-spring-io

Sagan Project Repository: https://github.com/spring-io/sagan


Sagan Project(세이건 프로젝트)는 Spring Framework를 개발/운영하는 팀이 참여한 spring.io 의 레퍼런스 앱 프로젝트입니다.

인터넷에 검색하면 수 많은 Spring Framework로 된 많은 예제 파일들이 많으나, 돌아가지 않는 예제가 많거나, 오래된 코드.라이브러리 사용으로 최신 버전의 Java와 충돌되거나 라이브러리들의 충돌로 작동이 안되는 경우가 많습니다.

위의 문제를 해결하고자 Spring.io에서 Spring Framework로 된 레퍼런스 앱인 Sagan Project를 오픈소스화를 하여 출시하였습니다.

아래는 Sagan Project에 대한 SpringOne2GX 2014 동영상과 슬라이드입니다. 


Inside spring.io: a Production Spring Reference Application

Recorded at SpringOne2GX 2014.
Speaker: Brian Clozel
Slides: http://www.slideshare.net/SpringCentr...
Core Spring Track
Come take a look inside the newly open-sourced reference application that powers the http://spring.iosite, including:

Idiomatic use of Spring Boot
Taking advantage of Spring Framework 4 features
A tour of our JavaScript frontend using cujoJS's curl, Bower and Gulp for a clean and modular design
Zero-downtime deployment to Cloud Foundry using blue/green deployments
And more, with plenty of time for Q&A


Slide 자료

Inside spring.io: a Production Spring Reference Application


2015년 4월 18일 Spring Camp(http://www.springcamp.io/2015/) 에서 위의  SpringOne2GX 2014 발표자료를 참고하여 만든 한국어 자료

spring.io를 통해 배우는 spring 개발사례



Spring 2.x부터 개발을 해본 사람으로서 Spring 4.X까지의 발전을 보니 7년사이에 엄청 많이 바뀌었다는 걸 느꼈음.

(대학원때부터 Spring Framework에 대하여 보긴했음 처음에 IoC(Inversion of Control), DL(Dependency Lookup),DP(Dependency Pull), DI(Dependency Injection) 개념이 책에 나오니 이거 뭥미 하며 헤메던 기억이 나군요 (MVC 소스코드만 Copy & Paste만 하면 되긴 하다만 그런건 학원에서 언제든지 배울수 있는 내용들 -_-;;)

ps. 참고할만한 아래의 자료들  

Spring Camp 2014(http://www.springcamp.io/2014/)에서 발표된 Spring Boot 

Spring-Boot (springcamp2014)



Buy me a coffeeBuy me a coffee

2014년 12월 20일자로

Docker(도커)에 Spring-boot(스프링 부트)를 올려서 실행시키는 방법에 대하여 소개한 슬라이드

Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)


이제 Spring Framework쪽에서 Spring-boot가 유행이 될것이라고 본다.

Buy me a coffeeBuy me a coffee

InfoQ에 나온 "Building Microservices with Spring Boot"글 링크


Spring-boot에 대한 2015년 2월 10일자 따끈따끈한 자료입니다.

이거 보고 웹서비스 도입해봐야할듯 

Buy me a coffeeBuy me a coffee
Buy me a coffeeBuy me a coffee


아니 이게 뭐시당께? 이게 뭐꼬? 이게 뭐에유? 이게 뭐야? 這是什麼? 这是什么? 何それ? What is it? 


Psy(싸이)의 "강남스타일(GangNam Style)"에 영감을 얻어 만들어진 자바스크립트 프레임워크 Opa(오빠)가 있습니다

Opa(오빠)와 개발을 해보세요 :)

Opa framework는 이름으로 인기를 노린건가? -_-;;


추가. opa는 2011년도에 이미 있었다는데, 싸이의 강남스타일이 뜨면서 저렇게 변했다는 제보가 있었습니다


ps. 이거 뭐야! 싸이의 강남스타일이 서양인들에게 얼마나 강력하게 다가왔으면, 뇌리에 심하게 박혀있어! 

어튼 서양인들에게 강남스타일이 정말 인기가 있는건 확실함

Buy me a coffeeBuy me a coffee

스프링 프레임워크(Spring Framework)에서 빈(Bean)의 생활 주기(Life Cycle)


Java Bean을 자바섬의 커피콩으로 생각하면...... -ㅁ-

Buy me a coffeeBuy me a coffee

Android Platform의 기본 개념에 대해서 매우 깔끔하게 정리한 문서


Android Platform의 4부분인 Kernel, HAL(Hardware Abstract Layer), Libraries, Application Framework를 구분하여 설명을 하였음


Android Internals Reference

http://code.google.com/intl/ko/android/

http://groups.google.com/group/android-internals

http://www.android-internals.org/

http://groups.google.com/groups/profile?enc_user=_EKOshMAAADzFnauhYxa0ga8JtF8CI5fWMj6vob75xS36mXc24h6ww

http://groups.google.com/groups/profile?enc_user=lYDbNxEAAAD8uJiqPP7Wd-bc9b1O3waCkdEasx1kiYTQavV7mdW13Q


Buy me a coffeeBuy me a coffee

저는 SKT로 출시된 hTC Desire를 사용하고 있습니다.

그러나 hTC Desire에 SKT USIM대신 KT USIM을 넣고 사용중이였지요.

우연히 KT SHOW 홈페이지에 있는 SHOW Store(쇼스토어)에서 Google NexusOne용 쇼앱스토어 이벤트가 열리는 걸고 NexusOne과 쌍둥이 폰인 Desire에도 설치를 하면 되겠구나 해서 설치를 해보게 되었습니다.  


KT에서 Google NexusOne을 출시한 후에, KT에서 나온 WM폰인 삼성 쇼옴니아와 LG 라일라 2개만 지원하고 WM 어플만 있던 SHOW Appstore에서 Android용 앱도 지원을 하게 되었습니다.

안드로이드용 쇼 앱스토어가 나왔다는 이야기는 Android OS에서 KT의 과금 모델을 지원하는 프레임워크인 KAF(KT Application Framework)가 완성되었다는 이야기일수도 있겠군요.

 KT에서 나온 KAF는 악명이 자자한 SKT의 SKAF와는 다르게 쇼앱스토어에 접속할 수 있는 인터페이스 역할을 하고, 보통 앱처럼 다운로드 받아서 설치하는 식의 그냥 단순히 쇼앱스토어를 이용할 수 있게 해주는 앱일뿐입니다.


 http://appstoresupport.show.co.kr:8080/store.html 에서 안드로이드용 쇼앱스토어 파일을 받아 설치하게 되었습니다.

안드로이드폰에 쇼 앱스토어 한방에 설치해봅시다.


설치파일을 다운 받아 실행하면 아래와 같은 화면이 나오면서 설치가 됩니다.


설치가 끝난후, 메모리 차지 용량을 보니, SKAF와 다르게 용량을 작게 먹더군요. SKT의 SKAF는 뭔가 이상한 ㅎㄷㄷ 


참고로 SKAF의 용량은 아래와 같이 프로그램들어 여러개 깔리며 어마어마한 용량을 차지합니다 orz

SKAF를 설치하면 TStore관련 어플들이 여러개 설치되며 엄청난 용량을 차지합니다.


쇼 앱스토어를 설치하고 나서 실행하면 아래와 같은 화면이 나옵니다.

쇼앱스토어(SHOW Appstore) 초기화면


SHOW Appstore(쇼 앱스토어) 초기화면


앱을 선택할수도 있으며 앱 선택후에 다운로드도 가능합니다.


물론 앱을 구입할수도 있으며 앱을 구입을 위한 성인인증도 보입니다.

19세 미만 경고 - 성인인증

앱 구입 화면



안드로이드용 쇼앱스토어에 접속해본 결과, 아직 초기 단계라 경쟁업체인 SKT의 Tstore보다 앱이 매우 적습니다.

그러나 Tstore와 다르게 Show Store는 앱 단위에서 꼭 설치해야한다는 것이 별로 없다는게 단말기 개발자들에겐 장점? SKAF와 다르게 요구하는 수준이 적기때문에 휴대폰 폰 최적화 하는데에 문제점이 없을듯 합니다.
(참고로 SKT에서 처음으로 나온 안드로이드폰인 모토로이는 WIPI까지 지원하는 SKAF를 넣다 보니 휴대폰 용량중 90M가 SKAF를 차지하였고, 폰 최적화가 덜된 상태로 나와 엄청난 욕바가지를 먹었습니다)

KT에서 Android용 단말기를 많이 출시하면 Show Appstore(쇼앱스토어)도 많이 사용될것 같습니다.

이상으로 안드로이드용 KT Show Appstore(쇼앱스토어) 앱 리뷰였습니다^^

Buy me a coffeeBuy me a coffee

에이콘출판사 - 웹 개발 2.0 루비 온 레일스

웹 개발 2.0 루비 온 레일스
카테고리 컴퓨터/인터넷
지은이 황대산 (에이콘출판, 2007년)
상세보기

 예전에 루비가 대세라는 말이 뜨면서 작년인 2007년 12월 20일에 사본 책이다.

책에 있는 예제를 따라하면서 루비가 엄청 쉽구나를 알게 되었지만, 프레임워크(Framework)이라는 용어도 생소하고, MVC라는 용어도, Model, View, Controller[각주:1]의 역할에 대해 이해 못한채로 따라만 하고 덮은 책이였다.

Ruby라는 언어라는 것을 처음 알게 된 책이면서, 책을 열심히 보면서 Ruby란 언어가 예전에 써보았던 Perl의 강력한 정규표현식처리, Prolog의 함수형 프로그래밍언어의 내용, C++, JAVA에서 볼 수 있는 객체지향성을 통합시킨 것을 알게 되었다.

Perl을 써보면서 강력한 문자 처리에 감동하고 이번 학기 프로그래밍 과제하는데 Perl을 가지고 파일 옮기고 유사도 검사를 해보았던 생각을 해보면서 루비로도 해볼까라는 생각을 해보았다. Prolog와 같이 다른 함수를 정의하는 함수를 정의하는 함수를 작성하는 프로그래밍기법을 사용하여 다양한 종류의 함수 정의를 자동화 시키는 기법에 대해서도 신기하게 느꼈다.
(프로그래밍언어 시간에 Prolog로 과제 하다 함수정의하다 이해안되는 부분때문에 몇일동안 고생한 기억이 나서 Prolog에 대해서 기억이 안좋다만, Ruby를 다뤄보니 Prolog과 유사한 부분이 많아서 신기했음)

프로그래밍 언어인 Ruby의 문법을 보면서 일본사람이 정말 Ruby란 언어 잘만들었다는 생각이 들었다.

이분이 Ruby를 만드신 마츠모토 유키히로(松本 行弘, Yukihiro Matsumoto)

이번에 다시 루비언어를 다시 기억을 다시 되살린다고 책을 다시보게 되었다. (루비를 써봐야 하는 입장이 되어서 급하게 책을 펼쳐보았다.)

책에 있는 예제를 그대로 따라하는데에 오류가 생긴 것이다. ㅠㅠ

책에 있는 내용대로 따라해서 ruby 1.8.4를 설치한 다음에 rails를 gem으로 설치하는 것인데 gem으로 rails를 설치하면 책에서 설치하는 것 같은 rails-1.2.2가 설치되지 않고 rails-2.0으로 설치되는 것이다.
rails-2.0으로 설치가 되니 rails-1.2에서 없는 문제가 생겼다.

그것은 책에서 쓰는 scaffold가 rails-2.0에는 없다는 치명적인 에러이다.

그래서 책의 예제를 따라하기 위해서는 책에 있는 내용을 아래와같이 수정을 해야할 것 같다.

c:\> gem install rails --include-dependencies

현재 위에서 같이 쓰여진 책의 내용을 쓰면 rails-2.0이 깔려져서 책의 예제를 따라하기 어렵다. 책의 예제를 따라하기 위해서 (특히 scaffold 부분의 경우) 레일스 1.2.3을 다시 설치해야 한다.

c:\> gem uninstall rails
c:\> gem install rails --version '= 1.2.3' --include-dependencies

위의 설치명령어로 설치를 하면 책에 있는 예제가 잘 될 것이다.

책은 잘 써진 것 같은데 버전 문제가 껄끄럽긴 합니다. 책 쓸 당시에는 이렇게 바뀔줄은 몰랐기 때문이라고 생각됩니다.

Ruby on Rails를 프로그래밍을 해야할 상황인데 Ruby를 빠르게 배우고 싶다면 이 책을 추천하긴 한데 책의 내용을 약간 바뀌어서 내야 할것 같다.

아래는 Rails Framework에 대한 출판사의 설명이다.

[ 레일스 프레임워크에 대해 ]

레일스는 루비 프로그래밍 언어로 만들어진 웹 개발 프레임워크로 덴마크의 데이빗 해너마이어 한슨(David Heinemeier Hansson)에 의해 2004년 7월 처음 공개되었다. 지난 3년간 레일스는 전 세계적으로 빠르게 확산되어 왔으며, 현재까지 레일스로 구축된 B2C 사이트만도 수백여개에 이르고 있다.

레일스가 이처럼 빠른 성공을 거둘 수 있었던 데에는 몇 가지 이유가 있다. 첫째로 오늘날의 웹 개발은 너무나도 복잡해져서 수많은 개발자들이 웹 개발에 넌더리를 내고 있었다. 자바, PHP, .NET 등 개발 환경을 막론하고 많은 웹 개발자들은 뭔가 새로운 것을 시도해 볼 마음의 채비를 하고 있었다.

둘째로 레일스는 개발자의 생산성을 획기적으로 높여 준다. 레일스는 ORM(객체/관계 매핑, Object/Relational Mapping), 코드 생성(Code Generation), 메타프로그래밍 등 최신 프로그래밍 기법을 사용해 개발자가 코딩에 들이는 시간을 현저히 줄여주고 있다. 비슷한 코드를 계속해서 반복적으로 작성하는 일은 개발자의 사기를 떨어뜨리는 일이다. 레일스는 위에서 언급한 프로그래밍 기법을 활용하여, DRY(반복적인 코딩 작업은 피하시오, Don’t Repeat Yourself) 원칙을 적극적으로 장려하고 있다.

셋째로 레일스는 웹 2.0 애플리케이션의 개발에 최적화된 프레임워크이다. 레일스에는 Ajax와 웹 서비스 개발을 위한 컴포넌트가 포함되어 있어서 웹 2.0 서비스를 구축하는 작업을 매우 편리하게 해준다. 실제로 레일스에서는 Ajax 애플리케이션을 개발하기 위해 자바스크립트를 직접 코딩하는 일은 하지 않아도 된다.

마지막으로 레일스를 사용한 웹 개발은 즐겁다. 지금 이 글을 읽는 독자는 다소 회의적인 생각이 들지도 모르겠지만, 이는 레일스를 접해본 수많은 웹 개발자들의 공통된 반응이다. 이 책을 통해 독자 여러분이 레일스가 선사하는 즐거운 웹 개발의 세계를 발견하게 된다면 필자는 그보다 더 큰 보람이 없을 것 같다.
  1. MVC에 대해서는 소프트웨어공학시간에 나오는 개념이다. Model, View, Controller의 약자로서 애플리케이션 코드를 기능별로 분산하여 관리하는 프로그래밍을 말한다. 코드를 분산해서 관리하는 이유는 용도에 따라서 코드의 형태나 구성이 달라지기 때문이다. 결국 이렇게 코드를 나눠 작업함으로써 코드를 좀더 효율적으로 관리하게 되면서 프로그래밍 개발이 효율적으로 진행된다. 자세한 내용은 소프트웨어공학책에 나옵니다. (뇌이버 검색하면 MVC패턴에 대해서 나옵니다.) [본문으로]
Buy me a coffeeBuy me a coffee

+ Recent posts